Category : Communication (modem) tools and utilities
Archive   : MAT.ZIP
Filename : MAT.DOC

 
Output of file : MAT.DOC contained in archive : MAT.ZIP
- MAT -


It seems that one of the things that BBS Sysops do best is moan
and groan about file uploads.

It also seems that one of the things that BBS callers do best is
moan and groan about how tough it is to find a file to upload.

Sysops often hear lines like, "you already have every file in the
free world on your Bulletin board". Well, it just ain't so. You'd
be surprised how small the intersection of files on any two
bulletin boards really is. I was.

If SET_1 is the set of all files on bulletin board A, and SET_2 is
the set of all files on bulletin board B, then, according to the
diagram below;

Group A are the files which exist only on Board A.
Group B are the files which exist on both Board A and Board B.
Group C are the files which exist only on Board B.

If I wanted to upload a file to Board A, I would be very interested
in knowing the contents of Group C, since every element of this group
is a candidate for uploading to Board A.


ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ SET_1 ³
³ ³
³ ÚÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Group ³ ³ ³
³ A ³ Group ³ ³
³ ³ B ³ Group ³
³ ³ ³ C ³
³ ³ ³ ³
ÀÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÙ ³
³ ³
³ ³
³ SET_2 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ


SET_1 is the set of files which are members of Group A and Group B.
SET_2 is the set of files which are members of Group B and Group C.
Group B is called the intersection of sets 1 and 2.



In fact, if I knew the contents of Group C, I could become an uploading
maniac.

MAT is a program (actually a filter) whose input is SET_2, and whose
output is either Group C, or alternatively, "Group B", the intersection of
the 2 sets.



Here's how to use MAT:
----------------------

mat [-vnd] -f file1 file2 .....

MAT will read the control file (the -f option), and then read
the remaining files named in the command line.

MAT is invoked at the MS-DOS command line in the following
manner;

C> MAT -f mybbs.lst foreign.lst

or,

C> MAT -f mybbs.lst < foreign.lst

MAT will filter the "foreign" list, outputting only those
lines from "foreign.lst" which don't match the first word of
any line in the control file.

Since MAT expects both input and control files to be in this format;

BMGREP2.ARC 29696 12-28-87 Boyer-Moore Search Text Files wit
FBACK.ARC 36864 12-28-87 Best hd backup yet!
HEADHUNT.ARC 36864 12-28-87 Get the proper includes in Turbo C
LEGAL.ARC 70656 12-28-87 many legal documents...fill in the bla
MAGNCART.ARC 9216 12-28-87 The Magna Carta. King John signed it.
OMFDUMP.ARC 23552 12-28-87 Dump .obj files into readable form
CLONINV.ARC 83968 12-27-87 New Version of Space Invaders Game

you can either capture lists with your communications programs, or
use catalogs of files which are provided for downloading by
most BBS's.

MAT will read each line of the control file, discarding everything
beyond the first whitespace (keeping only the file name), and load
the names into a list. Then mat will read the input file(s) and
search for matches, outputting all it matches which it finds.



OPTIONS:
-------
-v Verbose mode. Outputs statistical info to stderr.
-n Intersection. Outputs intersection of 2 sets.
-d Debug mode. Outputs debug info.

If you'd like to see the intersection of 2 lists, just
use the -n option.

Since the control list is kept in memory, the number of control
input lines will be limited depending on how much RAM you have
in your system. I processed an approximately 8000 file list
in a 640K system with no problem.

MAT will accept more than 1 control file, so that you may
invoke MAT by;

mat -f my_bbs1.lst -f my_bbs2.lst < other.lst

If your bulletin board has a large list, or you plan to use
MAT often, you may increase processing efficiency by cutting
the control list with a suitable "cut" utility. I've included
one with MAT.

cut -f1 < my_bbs.lst >short.lst
mat -f short.lst new_bbs.lst

Commands such as those listed above will improve MAT's
processing time.



Examples
--------

Two lists, mybbs.lst, and test.lst have been included to provide examples
of MAT's use.

To find the intersection (those files common to both lists)
of the two lists, type;

MAT -n -f mybbs.lst test.lst

to find files in test.lst which aren't in mybbs.lst,
type;
MAT -f mybbs.lst test.lst

to find files in mybbs.lst which aren't in test.lst,
type;
MAT -f test.lst mybbs.lst





WARNING: Extensive Use of this program will cause all bulletin
boards to contain all the same files.


Any comments, suggestions or criticisms;

Bob Halsall
c/o Eastern 'C' Board
Suffern, NY
(914)-368-0658

If you find that this program has endeared you to the Sysop of
your favorite board, or is partially responsible for your increased
security level, please send a few dollars to :

The American Cancer Society
90 Park Avenue
New York, New York 10016

Let's kick cancer's a**!!!





  3 Responses to “Category : Communication (modem) tools and utilities
Archive   : MAT.ZIP
Filename : MAT.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/