anonymous ftp to sumex-aim.stanford.edu
cd info-mac
cd Communcation
cd info
get ftp-primer.txt

kris   11/14/93
-------------------------------------------------------------
Date: Wed, 24 Apr 91 23:40:21 -0700
From: Raymond Beausoleil <beausol@milton.u.washington.edu>

About six weeks ago, Bob Jopson of Bell Labs asked me to write a short article 
on the rudiments of "ftp'ing" for "Optics and Photonics News," the monthly 
magazine for members of the Optical Society of America. He certainly didn't ask 
*me* because I am an expert; rather, I'm a fairly typical user who knows just 
enough Unix to ftp, read mail, etc.

With much help, I managed to write the two-part article below. The first part 
covers the ftp process itself, while the second part describes some approaches 
to downloading and decoding Mac and MS-DOS files from a Unix host to your 
microcomputer. In particular, Mac folks can find out how to get mcvert up and 
running on their system.

The article below is somewhat longer and more detailed than the edited version 
that will appear in O&PN. If you like it, I recommend that you archive it in 
the directory /info-mac/help as ftp-primer.txt.

Regards,

Ray Beausoleil

----------------------------- Beginning of Part I ----------------------------

An FTP Primer I: The File Transfer Protocol

Ray Beausoleil
beausol@u.washington.edu

   Some of the most capable software packages currently available for 
microcomputers are publicly issued as either "freeware" or "shareware." 
Freeware is generously released by the author without charge, while shareware 
is distributed under a "try before you buy" agreement. Copies of many of these 
programs are archived on mini and mainframe computers throughout the world. If 
your local Unix site is connected to the INTERNET, then you may transfer these 
files to your site and download them to your microcomputer.

   FTP is the INTERNET standard File Transfer Protocol. The program "ftp" is 
the Unix user interface to the Internet protocol, and allows you to transfer 
files to and from a remote network host. This article necessarily cannot serve 
as an exhaustive description of the "anonymous FTP" process. (In fact, the Unix 
"ftp" program is only one of many user interfaces to the INTERNET FTP.) 
However, in Part I I will give an example of a typical Unix FTP session, and I 
will list the addresses of a few archive sites for Macintosh and MS-DOS 
software. Next month, in Part II, I will describe some of the techniques for 
decoding and downloading this software to your microcomputer.

   FTP is a privilege granted to users of the INTERNET by the administrators of 
sites containing these archives. Please try to restrict your file transfers to 
non-business hours, because you and other FTP users can cause the host computer 
to slow down significantly. In addition, please minimize the time that you are 
connected to the remote site so that others may take advantage of the 
opportunity.

   A screen capture of a typical (brief) FTP session is shown in Fig. 1. From a 
Unix machine at the University of Washington ("milton"), I connected to sumex-
aim.stanford.edu, where a large collection of Macintosh software is archived. 
The numbers in parentheses located on the left margin of Fig. 1 correspond to 
the annotations listed below.

(1)  At your Unix prompt, enter "ftp" followed by a space and either the name 
or the numerical INTERNET address of the remote host. Occasionally, a host will 
accept only the INTERNET address. If the remote site is active, then you will 
be connected to the remote FTP server.

(2)  When the remote machine asks for your name, enter "anonymous." Some hosts 
limit the number of off-site FTP users; if the number of connections has 
already reached the maximum, you will be asked to try again later.

(3)  For your password, you are generally asked to enter your e-mail address, 
such as "beausol@u.washington.edu," followed by a return. However, some systems 
will permit you to enter virtually any text instead.

(4)  After these preliminaries, you will enter your local Unix "ftp" command 
interpreter, which will provide you with the "ftp>" prompt. Usually, you will 
first be logged in to a "root directory" that has been set aside for FTP 
purposes by the system administrators; you must then navigate to the archive 
itself. At sumex-aim.stanford.edu, the Macintosh software archive is located in 
the directory "info-mac." You can change the current working directory on the 
remote host using the "cd" command. In the example of Fig. 1, I have also moved 
to the subdirectory "util" on the info-mac directory. Whenever you have 
finished with a particular subdirectory, enter "cdup" at the "ftp>" prompt to 
move up one directory level.

(5)  Enter "get" followed by a space and the name of the file to be 
transferred. The file will then be copied to your local Unix directory. In the 
example of Fig. 1, the ".hqx" extension indicates that the Macintosh file has 
been encoded as purely ASCII characters using BinHex (discussed in more detail 
in Part II.) Usually, ASCII is the default FTP transfer mode. However, if the 
file has been archived in binary format, then at the "ftp>" prompt, and prior 
to transferring the file, you must enter "binary." Sometimes, if the file is 
large and the remote system is busy, the transfer may take considerable time. 
To keep an eye on the progress of the transfer, enter "hash" before getting the 
file; then as each 1024-byte block of data is transferred, a "#" hash mark will 
be printed on your monitor. If you would like to see an abbreviated list of the 
files contained in the current directory, enter "ls"; for a more verbose list 
that includes information about each file's size and the date that it was 
archived, enter "dir" followed by a carriage return.

(6)  When you are finished transferring the files you need, be courteous and 
log off of the remote machine as quickly as possible. At the "ftp>" prompt, 
enter either "by" or "qui."

   These are the most basic commands that you will use during any FTP session. 
You can usually find a complete description of the FTP command interpreter used 
at your Unix site by viewing the "manual pages" (i.e., by entering "man ftp").

   There are a number of archives of software for the Macintosh, IBM PC and 
compatibles, and other popular personal computers. In Table I, I have listed 
the name of the host, the Internet address, the directory containing the 
archive, the microcomputer, and the appropriate transfer mode for some of the 
most popular archives. (Of course, virtually all documentation files are stored 
as pure ASCII.) One of the largest and most frequently updated Macintosh 
software archives is maintained at sumex-aim.stanford.edu. I recommend that the 
inexperienced user explore the subdirectory /info-mac/help. OzTeX, the free 
Macintosh implementation of TeX mentioned by Tony Siegman in last month's 
column, may be found at midway.uchicago.edu (University of Chicago); it is 
quite large, so be prepared! The MS-DOS archive at wsmr-simtel20.army.mil 
(White Sands Missile Range) is enormous, but it is difficult to navigate 
because the host does not use Unix. Nevertheless, there are a number of text 
documents in the root directory that describe the FTP commands for the simtel20 
server. A Unix mirror of the simtel20 archive is maintained at 
wuarchive.wustl.edu (Washington University at St. Louis); if you are new to FTP 
on the IBM PC, then an excellent place to begin is the wuarchive subdirectory 
/mirrors/msdos/starter.

   The best way to learn more about FTP and other microcomputer archives is to 
subscribe to the appropriate INTERNET news groups. A full description of 
INTERNET news groups is beyond the scope of this article; you'll need to list 
the manual pages for your system news reader or to contact your local system 
administrator to get started. However, news groups of interest to microcomputer 
users have names that begin with prefixes like "comp.sys.mac..." and 
"comp.sys.ibm.pc..." In particular, the news groups "comp.sys.mac.digest" and 
"comp.sys.ibm.pc.d" describe in detail new additions to the archives at sumex-
aim and simtel20, respectively.

   The precise implementation of FTP is site-dependent, so "your mileage may 
vary." But the basics of file transfer are usually easy to master and are well 
worth the effort. Next month, I will describe the basics of decoding and 
downloading files obtained via FTP.

(I am grateful to Geoff Kinnel, Betsy Richards, Geoff Allen, and Jim Matthews 
for their generous assistance in gathering information for this article.)

(C) Copyright 1991 Raymond G. Beausoleil




Figure 1: Screen Capture of an ftp session.

(1)   milton> ftp 36.44.0.6
      Connected to 36.44.0.6.
      220 sumex-aim FTP server (SunOS 4.0/3) ready.
(2)   Name (36.44.0.6:beausol): anonymous
      331 Guest login ok, send mail address (user@host) as password.
(3)   Password:
      230 Guest connection 7 (of 25) accepted, access restrictions apply.
(4)   ftp> cd /info-mac/util
      250 CWD command successful.
(5)   ftp> get unstuffit-deluxe-20.hqx
      200 PORT command successful.
      150 ASCII data connection for unstuffit-deluxe-20.hqx
      (128.95.136.1,11969) (172867 bytes).
      226 ASCII Transfer complete.
      local: unstuffit-deluxe-20.hqx remote: unstuffit-deluxe-20.hqx
      175534 bytes received in 7.2 seconds (24 Kbytes/s)
(6)   ftp> by
      221 Goodbye.


Table I:

Site Name               IP Address      Directory       Software   Mode
------------------------------------------------------------------------
sumex-aim.stanford.edu  36.44.0.6       /info-mac        Mac      ASCII
midway.uchicago.edu     128.135.12.73   /pub/OzTeX/oztex Mac      Binary
wsmr-simtel20.army.mil  26.2.0.74       Non-Unix!        MS-DOS   Binary
wuarchive.wustl.edu     128.252.135.4   /mirrors/msdos   MS-DOS   Binary

--------------------------------- End of Part I ------------------------------

----------------------------- Beginning of Part II ---------------------------

An FTP Primer II: Downloading and Decoding 

Ray Beausoleil
beausol@u.washington.edu

   Last month, in Part I of this article, I briefly described the INTERNET File 
Transfer Protocol (FTP). In particular, I demonstrated how to use the Unix 
"ftp" interface to transfer personal computer software packages from a remote 
archive to your local Unix mainframe or minicomputer. These programs have 
usually been compressed and/or encoded by the archive administrators. This 
month, I will provide a brief introduction to the process of first downloading 
this software to your microcomputer, and then decoding it using special utility 
programs. 

   The method that you must use to download software from your local mainframe 
computer to your microcomputer depends on the operating system and the software 
installed on the mainframe, and on the configuration of your network (e.g., 
Ethernet or modem). You should begin by asking your system administrator for a 
list of information transfer protocols that have been installed at your site 
and the commands that invoke these protocols. Some of the most popular 
protocols include XModem, YModem, ZModem, and Kermit. Paul Kelley has described 
XModem and Kermit in his article "Information transfer for personal computers," 
published in the February 1991 edition of this column.

   In Tables I and II, I have listed freeware and shareware telecommunications 
and utility software packages for the Macintosh and the IBM PC, respectively. 
For Macintosh software, I recommend the archive at sumex-aim.stanford.edu 
(INTERNET address 36.44.0.6), located in the directory "/info-mac". ZTerm, an 
excellent shareware telecommunications application program, can be found in the 
directory "/info-mac/comm". ZTerm not only uses the XModem and YModem data 
transfer protocols, but also offers one of the best implementations of the 
ZModem protocol for any personal computer. When you are connected through ZTerm 
to a Unix mainframe that uses the ZModem protocol, you may download a file 
simply by entering "sz" followed by a space and the name of the file. ZTerm 
detects that a file is being sent, identifies the file type, and then chooses 
the correct transfer mode! For local systems which have implemented the Kermit 
protocol, the program MacKermit (also available at sumex-aim.stanford.edu in 
the "/info-mac/comm" directory) provides a robust Macintosh interface.

   A huge archive of IBM PC software is maintained at wuarchive.wustl.edu 
(INTERNET address 128.252.135.4), in the directory "/mirrors/msdos". The most 
popular shareware telecommunications package for the IBM PC, ProComm, may be 
found there in the subdirectory named (oddly enough) "procomm". ProComm uses 
the XModem, YModem, and Kermit transfer protocols, and can also follow the 
ZModem protocol through an external command shell using the transfer program 
"DSZ.COM", which should be placed in the same MS-DOS directory as the ProComm 
program itself. After connecting to your local Unix mainframe through ProComm, 
enter "sz" followed by a space and the name of the file to be downloaded. Then, 
through ProComm, enter the MS-DOS gateway (the "DOS shell") and input "dsz rz" 
at the MS-DOS prompt. After the file has been written to your personal 
computer's disk, simply enter "exit" at the DOS prompt to return to ProComm.

   As Paul Kelley mentioned in his article, the simplest way to download files 
to your microcomputer is to display the file on your monitor. Both ZTerm and 
Procomm allow you to capture incoming text and write the text to a disk file. 
As described below, you may then decode the files for later use. Almost all of 
the files stored in the large archive of Macintosh software maintained at 
sumex-aim.stanford.edu have been encoded as ASCII (text) characters using a 
format known as BinHex 4. These files have names that end with the extension 
".hqx", and can be captured directly from your monitor after you have 
transferred them to your local Unix host. You may direct a Unix machine to 
write a ".hqx" file to your monitor by entering the command "cat", followed by 
a space and the name of the file to be transferred. However, almost all of the 
files stored in the IBM PC software archive wuarchive.wustl.edu have been 
stored in binary format. After you have transferred one of these files (e.g., 
"file.arc") to your local Unix mainframe or minicomputer, you can use the 
command "uuencode file.arc file.arc" to ASCII-encode "file.arc" and then write 
it to your monitor. In both cases, you must decode the ASCII file on your 
microcomputer using one of the utility programs listed in Tables I and II; 
since you will not be able to decode these utilities themselves until after you 
have the utilities, you must obtain copies of their binary executable files 
from a colleague or user group.

   A typical binary file can be up to 50% smaller than the corresponding 
encoded ASCII file, and can be transferred to your personal computer in 
proportionally less time. Therefore, if at all possible, you should try to 
download using the binary transfer mode. This is relatively straightforward for 
IBM PC files transferred from the wuarchive.wustl.edu archive and then 
downloaded to a microcomputer using ProComm Plus.

   You may decode BinHex Macintosh files into MacBinary files on your local 
Unix host prior to downloading them using a utility such as "mcvert." You may 
build your own copy of "mcvert" by following these steps: (1) transfer the file 
"mcvert-15.shar" from the "/info-mac/unix" subdirectory at sumex-
aim.stanford.edu using "ftp"; (2) enter "sh mcvert-15.shar" at your local Unix 
prompt, and ignore any error messages caused by the file header; and (3) enter 
"make" at the Unix prompt. This process will create a number of files on your 
directory; you may delete all but "mcvert" itself. Now, to decode any files 
that have the extension ".hqx" (including files that consist of more than one 
part), simply enter "mcvert *.hqx" at the Unix prompt. Your Unix directory will 
then contain files with the extension ".bin", which can be downloaded using the 
MacBinary transfer mode.

   Both the Macintosh and the IBM PC binary files that you have downloaded to 
your personal computer are actually miniature archives that contain one or more 
compressed executable and/or data files. These archives can be easily and 
rapidly expanded using the appropriate utility files listed in Tables I and II. 
(The label "sea" designates self-extracting archives which will decompress 
themselves automatically upon launching.) On the Macintosh, files obtained from 
sumex-aim.stanford.edu will usually have extensions such as ".sit" (Stuffit 
Classic), ".cpt" (Compact Pro), or ".sea" (Compact Pro self-extracting 
archive). On the IBM PC, files transferred and downloaded from 
wuarchive.wustl.edu will have extensions such as ".ARC" (PKUNPAK.EXE), ".ZIP" 
(PKUNZIP.EXE), ".LHZ" (LHARC.EXE), ".ZOO" (LOOZ210.EXE), or ".EXE" (self-
extracting archive or simple executable file).

   At first, the downloading and decoding process may seem daunting to you, 
particularly if either the system architecture of your local host is not Unix, 
or the software installed on that system does not follow one of the few 
examples that I have given in this article. Rest assured that others have 
almost certainly solved your problems already; one of your most dependable 
resources is the knowledge of your colleagues. Alternatively, as I mentioned 
briefly in Part I, you may learn more about personal computer 
telecommunications by subscribing to the appropriate INTERNET news groups. If 
you ask the right people the right questions, you might find that while you may 
not be able stand upon the shoulders of giants, you may be able to stand upon 
their feet.

(I am grateful to John McGarvey, Matt Derstine, Geoff Kinnel, Betsy Richards, 
David Faust, and Geoff Allen for their generous assistance in gathering 
information for this article.)

(C) Copyright 1991 Raymond G. Beausoleil

Table I: Files obtained from sumex-aim.stanford.edu (36.44.0.6) in the
         directory /info-mac (ASCII Transfer Mode)

File Name              Location            Description
-----------------------------------------------------------------------
file-types.txt           help      Brief list of sumex-aim file types
zterm-085.hqx            comm      ZTerm (X,Y,ZModem; no Kermit)
mackermit-098.hqx        comm      MacKermit (No X,Y,ZModem)
stuffit-16-part1.hqx     util      Stuffit Classic w/BinHex 4 (sea)
stuffit-16-part2.hqx     util
compact-pro-13.hqx       util      Compact Pro w/BinHex 4 (sea)
mcvert-15.shar           unix      Unix shell archive for mcvert



Table II: Files obtained from wuarchive.wustl.edu (128.252.135.4) in the
          directory /mirrors/msdos (Binary Transfer Mode)

File Name           Location            Description
-----------------------------------------------------------------------
00-files.doc        starter   Description of wuarchive file types
00-index.txt        starter   Descriptions of files in /starter
prcm243.arc         procomm   ProComm shareware communications program
prcm243d.arc        procomm   ProComm documentation
prcm243d.arc        procomm   ProComm utilities
dsz0404.zip         zmodem    DSZ.COM (ZModem for ProComm)
pk361.exe           starter   PKPAK.EXE/PKUNPAK.EXE (sea)
pkz110eu.exe        starter   PKZIP.EXE/PKUNZIP.EXE (sea)
lh113c.exe          starter   LHARC.EXE (sea)
looz210.com         starter   ZOO archive extracter/lister
uudecode.com        starter   Convert ASCII uuencoded files to binary

--------------------------------- End of Part II -----------------------------

