


SIMX(1)             UNIX Programmer's Manual              SIMX(1)



NAME
     simx - search SimTel index by keywords and/or date

SYNOPSIS
     simx [-c] [<keywords>] [since yymmdd]
     simx -m '<perl pattern match expression>'

     -c   Make keyword search upper/lower case sensitive

     <keywords>
          One or more keywords or word fragments, optionally pre-
          ceded by 'not', linked by 'and' or 'or' if more than
          one

     since yymmdd
          Report only items dated on or after the specified date

DESCRIPTION
     Simx searches the comma-delimited index file simibm.idx, a
     database describing the contents of the SimTel Software
     Repository (sm) of publicly distributable software (free or
     shareware), for strings matching the keyword(s) specified on
     the command line.  The matching entries are then written to
     the standard output grouped by the directory in which they
     are contained.  Each group is preceded by a header showing
     the location of the directory and column headings for the
     listed fields.

     e.g. executing the simx command with just the keyword simin-
     dex

%  simx  simindex
          would return something like the following:
Local Directory /nfs/wuarchive/systems/ibmpc/msdos/filedocs/
Filename    Type Length  Date    Description
===============================================================================
simindex.zip B   324452  940327  Comma-delim list of all MSDOS files w/descrip.


     The directory may be listed in two possible forms.  If the
     local system administrator has nfs mounted the SimTel col-
     lection, or has a local mirror, simx will display the direc-
     tory in which the files may be found on the local system.
     One may then access files displayed with a local cd (change
     directory) command.  The previous example shows the direc-
     tory as it would be mounted on Unix systems administered by
     the Computing and Communications Services Office (CCSO) of
     the University of Illinois at Urbana-Champaign.  A CCSO user
     could then immediately view the contents of the described
     zipfile with the command:

     unzip -v /nfs/wuarchive/systems/ibmpc/msdos/filedocs/simindex.zip



Printed 5/25/94            25 May 1994                          1






SIMX(1)             UNIX Programmer's Manual              SIMX(1)



     If the nfs mount is down, or not found, simx will list the
     directory name exactly as it appears in the index file show-
     ing the location one would use to retrieve the file via
     anonymous ftp from the SimTel primary mirror site
     oak.oakland.edu.

     For performance reasons it is not recommended to have simx
     access the simibm.idx file directly.  The system administra-
     tor who installs simx should edit the table of directories
     where simx will look for the simibm.idx file to reflect the
     location of this file on the local system.  Simx will use
     the first file found, so local files should be specified
     before remote mounted copies.  Simx will also check the
     environment variable IDX before searching its internal list,
     so you can specify which index file to search with a command
     like:
     setenv IDX /directory/with/your/file/simibm.idx

     Setting the environment variable SIMX_DEBUG will cause simx
     to print information on how it finds the index file, and the
     internal perl pattern match expression used before listing
     the information found in the index file.

     Csh users who refer to the SimTel collection frequently may
     wish to place aliases like the following in their .cshrc
     files:

     alias  looks   'simx \!* | less '
     alias  m       'cd /nfs/wuarchive/systems/ibmpc/msdos/\!*'

     The first alias is handy for searches that are likely to
     list more than a few software titles, as simx does not
     automatically invoke a pager.

     The second saves some typing in getting to the appropriate
     directory to access the software found
     (e.g.  m filedocs would cd to the directory
     /nfs/wuarchive/systems/ibmpc/msdos/filedocs).

BACKGROUND
      The SimTel Software Repository (sm) is a service of
         Coast to Coast Telecommunications, Inc.
         5850 Dixie Highway Clarkston, MI 48836, U.S.A.
         (313) 623-6700 voice - (313) 623-0040 fax

     A brief history of the collection may be of interest to some
     readers. Keith Petersen began with CP/M archives in late
     1979 on the MIT-MC host with access sponsored by White Sands
     Missile Range (WSMR).  In September 1983 the Macsyma Consor-
     tium, of which WSMR was a member, was dissolved. The collec-
     tion was moved to SIMTEL20 (WSMR-SIMTEL20.ARMY.MIL) a
     DECSYSTEM-20 that ran the TOPS-20 operating system at White



Printed 5/25/94            25 May 1994                          2






SIMX(1)             UNIX Programmer's Manual              SIMX(1)



     Sands Missile Range, New Mexico.

     The SIG/M and PC/Blue collections were added then and Keith
     started the MSDOS collection in the same best-of philosophy
     as the CP/M collection. The Unix/C collection was added in
     the following year under other auspices and separately main-
     tained.  The Ada Software Repository was started by Rick
     Conn in November 1984, and was moved to wuarchive in 1993 as
     the basis for the Public Ada Library maintained by Rick.
     Bob Thum, John Mitchener, and Stan Sobczinski, all of WSMR,
     started the Macintosh collection around 1985 and maintained
     it until 1991.

     Frank Wancho managed the entire SIMTEL20 operation, includ-
     ing coordinating the archivists efforts from February 1983,
     when SIMTEL20 was turned on, until December 1991.  SIMTEL20
     was managed by Teresa Jackson until August 1993, then Thad
     Taylor until it was shut down on September 30, 1993 due to
     lack of funding.

     The name SIMTEL20 was a contraction of "SIMulation and
     TELeprocessing", the name of the branch that originally pur-
     chased the machine and in whose building the system resided,
     and the "20" in DECSYSTEM-20.  The convention of including
     the "20" in some form or another was popular with other
     DECSYSTEM-20 systems at the time SIMTEL20 was named, such as
     MIT-XX at MIT and SCORE at Stanford.

     For legal reasons the names wsmr-simtel20.army.mil, wsmr-
     simtel20, or simtel20 can no longer be used to refer to
     today's collection, hence the current name SimTel.  For
     security reasons the SimTel Software Repository is currently
     located on a host that is not accessible by anonymous ftp
     users; however, its files are available by anonymous ftp in
     directory /pub/msdos from the primary mirror site
     OAK.Oakland.Edu (141.210.10.117) located in Rochester,
     Michigan, and from the secondary mirror sites listed in the
     file mirrors.inf in the filedocs directory of the SimTel
     Software Repository.  Keith Petersen maintains it to this
     day.

EXAMPLES
     Since much information about the SimTel collection is con-
     tained in it, try a search such as

simx filedocs and inf                 to see a list of the infor-
     mation files in the filedocs directory.

simx norton                           displays items matching
     'norton', 'Norton', etc.

simx since 931201                     displays all items dated



Printed 5/25/94            25 May 1994                          3






SIMX(1)             UNIX Programmer's Manual              SIMX(1)



     after Dec 1 1993.

simx virus since 930101               displays virus items dated
     after Jan 1 1993.

simx object or c++ or OOP             displays object-oriented
     items.

simx -c OOP                           displays items matching
     'OOP' (but not 'snoop', 'loop', etc).

simx norton and not guide since 920601 displays Norton but not
     guides since June 1 1992.

     Suppose one wished to find a list of editors that run under
     MSDOS but look like the vi editor common on Unix systems.
     One could type the command simx editor and vi, but would
     quickly discover many programs or files with words also con-
     taining the substring 'vi'.  One could then run simx again
     listing all the undesired words containing vi such as:

     simx editor and vi and not advice and not environ and not
     previous and not Vietnam and not vision and not view and not
     video

     but that would be quite tedious.  The search syntax for simx
     was designed to be exceedingly simple.  For those who prefer
     something more powerful but complex, the -m option allows
     the use of any valid perl pattern matching expression.  Thus
     our search for vi editors could be expressed:

     simx -m '/editor/i && /vi[ -]/i'

     The single quotes around the expression are essential.  The
     '&&' is the perl operator for a logical and.  The i after
     the match string enclosed in // says the match is to be case
     insensitive.  The /vi[ -]/i portion means to match any
     occurrance of the string vi followed by a space or a dash.

     Please see the perl man page, or any of the many books and
     articles available on perl for more details on regular
     expressions and pattern matching.

     Continuing our previous example, a csh user looking for vi-
     type tools might want to skim through other entries mention-
     ing vi, and then examine the software identified to decide
     if it is worth downloading.  Here are the commands typed,
     using the previously mentioned aliases and showing partial
     output:

%   simx -m '/vi[ -]/'




Printed 5/25/94            25 May 1994                          4






SIMX(1)             UNIX Programmer's Manual              SIMX(1)



Local Directory /nfs/wuarchive/systems/ibmpc/msdos/editor/
Filename    Type Length  Date    Description
===============================================================================
calvin22.zip B    39629  930531  Calvin v2.2: Text editor; partial vi clone
elv18exe.zip B   223804  940308  ELVIS v1.8, Unix vi-compatible text editor
pcvile.zip   B   111144  910831  Text editor w/vi cmds and many Emacs features
stevi69x.zip B    76738  900424  STEVIE v3.69b, Unix vi compatible text editor
trived08.zip B    12532  921207  FOSSIL/console vi-like editor for BBS use
vim20bin.zip B   210171  931224  Vi Improved v2.0: vi-like text editor EXE+docs
xvidoc.zip   B    73662  921106  Xvi text editor - Documentation, 1 of 3
 ...

Local Directory /nfs/wuarchive/systems/ibmpc/msdos/textutil/
Filename    Type Length  Date    Description
===============================================================================
bfmt139.zip  B    27027  930429  Format text various ways (esp. for vi users)

%  m textutil
%  unzip -v bfmt139
 Length  Method   Size  Ratio   Date    Time   CRC-32     Name ("^" ==> case
 ------  ------   ----  -----   ----    ----   ------     ----   conversion)
  13400  Deflate   3482  74%  04-28-93  14:49  5e69cafa  ^bfmt139.doc
    658  Deflate    397  40%  04-28-93  14:12  82834d2c  ^bfmt139.msg
  45255  Deflate  17678  61%  04-28-93  14:48  103b66f2  ^bfmt.exe
  21702  Deflate   5068  77%  04-28-93  14:48  4bafeecf  ^bfmt.cpp
 ------          ------  ---                              -------
  81015           26625  67%                              4

%  ^v^ca^ bfmt139.msg
unzip -ca bfmt139 bfmt139.msg
  Inflating: bfmt139.msg
pd1:<msdos.txtutl>
BFMT139.ZIP     Format text various ways (esp. for vi users)

BFMT.EXE is a text formatting program that allows you to format
either lines of text or paragraphs of text as entities.  You can
align, left, right, centre, or justify text.  BFMT will also
recognise text embedded options so that particular paragraphs
will be formatted in specific ways.  From the DOS prompt you can
format entire text files, ...


     In this example the user chose to examine the last file
     described by the index, used the -v option of unzip to list
     the files in the archive, then identified and viewed one
     containing a more detailed description of the software (as
     seen in the excerpt included here).

CREDITS
     simx 1.3 and this documentation were written at the Univer-
     sity of Illinois at Urbana-Champaign Computing and Communi-
     cations Services Office in April 1994 by Mark S. Zinzow.



Printed 5/25/94            25 May 1994                          5






SIMX(1)             UNIX Programmer's Manual              SIMX(1)



SEE ALSO
     more(1), less(1), nfs(4), unzip(1), gunzip(1), simcvt(1),
     perl(1), "Programming perl" by Larry Wall and Radal L.
     Schwartz, http://alpha.acast.nova.edu/cgi-bin/simtel.pl

BUGS
     It would be nice if the boolean operators and, or, and not
     could be grouped with parentheses. There is no algebraic
     precedence of these operators, just standard perl left to
     right evaluation.













































Printed 5/25/94            25 May 1994                          6



