From: danj@WELCHGATE.WELCH.JHU.EDU (Dan Jacobson)
Newsgroups: bionet.software
Subject: Re: what the hell is a gopher?
Date: 11 Jan 93 23:14:01 GMT
Distribution: bionet



In article <9301111748.AA15604@net.bio.net> BOTSALT@VM.UOGUELPH.CA (david salt) writes:
>A simple question from a wanna-be bionaut.
>What the hell is a gopher and/or gopher hole?
>David Salt (botsalt@vm.uoguelph.ca)

Well, instead of launching into a long-winded description of gopher 
I'll give you the FAQ (Frequently Asked Questions) for Gopher (well - actually
for the newsgroup comp.infosystems.gopher). 

I'll add that gopher has really taken off in the biological community - 
there are services available now that we could only dream about a year ago.

That said I'll also tell you how to (painlessly) retrieve the FAQs for
hundreds and hundreds of newsgroups.  Once you have read the FAQ below
and have gotten a gopher client - point it at merlot.welch.jhu.edu 
and go to the    -->    16. Usenet News and FAQs/ directory

Once you're in this directory read the -->  1.  About These Services. file 
and then go to the following directory:

  -->    2.  All FAQs (Frequently Asked Questions) Searches and Archives/

            1.  FAQs - Archives/
            2.  Search All FAQs <?>
            3.  Search IBM PC FAQ <?>
            4.  Search Macintosh FAQ  <?>
            5.  Search Motif FAQ <?>
            6.  Search NeXT FAQ <?>
            7.  Search Unix FAQ <?>
            8.  Utilities/

Now to search for a bit of information select  -->  2.  Search All FAQs <?>
and type in your keyword(s) - in this case you might want to try gopher.

You will get a long list of entries (as gopher has had an impact throughout
the network community) at the top of which is the gopher faq. Now simply 
select and read.

If you know the specific newsgroup of the FAQ that your looking for or simply
want to browse through the FAQ archives select  1.  FAQs - Archives/

Happy searching,

Dan Jacobson

danj@welchgate.welch.jhu.edu

==============================================================================
Archive-name: gopher-faq
Last-modified: 1993/01/05

------------------------------------------------------------------- 
List of questions in the Gopher FAQ:

Q0:  What is Gopher?
Q1:  Where can I get Gopher software?
Q2:  What do I need to access Gopher?
Q3:  Where are there publicly available logins for Gopher?
Q4:  How can I add to the information in gopher?
Q5:  Who Develops Gopher Software?
Q6:  How can I set up a "CSO" phone book server?  Where is the software?
Q7:  Why can't I access the University of Minnesota's UPI news?
Q9:  What are the type characters for the different Gopher Objects?
Q10: When I do full-text searches I always get every document back, Why?
Q11: When I try to build the UNIX software I get an error from make:
     "Must be a separator on rules line #. Stop"  Why?
Q12: What is the relationship between Gopher and (WAIS, WWW, ftp)?
Q13: Are papers or articles describing Gopher available?
Q14: On a DECstation I get the error message "/etc/svc.conf no such file
     or directory" when running the gopherd server, why?
Q15: The boolean searching terms don't work for my full-text index, why?
Q16: When linking the Unix gopher server with WAIS I get undefined symbols,
Q18: Why don't my WAIS indexes work?  I never get anything back for searches.
     or Why do I get "Dangling file" error messages in my logfile?
Q19: My gopher server doesn't work under inetd, why?
Q20: This is not a bug report, just a curiousity. I managed to install
Q21: Help!  I have PC-NFS and want to use the PC-Gopher client.  How?
Q22: How do I nuke a hung TCP connection?  I can't restart my UNIX
     gopher server unless I get rid of it, and I don't want to reboot!
Q23: Is there somewhere I can retrieve a list of announced gopher
     links?  I'd like to keep a local, up-to-date list of available gopher
     holes without requiring our users to gopher to umn just to scan
     GopherSpace.
Q24: Why doesn't my unix gopher client display ISO-Latin-1 characters
Q25: What is veronica?

-------------------------------------------------------------------
Q0:  What is Gopher?

A0:  The Internet Gopher client/server provides a distributed
     information delivery system around which a world/campus-wide
     information system (CWIS) can readily be constructed.   While
     providing a delivery vehicle for local information,  Gopher
     facilitates access to other Gopher and information servers
     throughout the world. 

-------------------------------------------------------------------
Q1:  Where can I get Gopher software?

A1:  via anonymous ftp to boombox.micro.umn.edu.  Look in the directory
     /pub/gopher

--------------------------------------------------------------------
Q2:  What do I need to access Gopher?

A2:  You will need a gopher "client" program that runs on your local PC
     or workstation

     There are clients for the following systems.  The directory
     following the name is the location of the client on the anonymous
     ftp site boombox.micro.umn.edu (134.84.132.2) in the directory
     /pub/gopher.

      Unix Curses & Emacs   :  /pub/gopher/Unix/gopher1.1.tar.Z
      Xwindows              :  /pub/gopher/Unix/xgopher1.2.tar.Z
      Macintosh Hypercard   :  /pub/gopher/Macintosh-TurboGopher/old-versions
      Macintosh Application :  /pub/gopher/Macintosh-TurboGopher
      DOS w/Clarkson Driver :  /pub/gopher/PC_client/
      NeXTstep              :  /pub/gopher/NeXT/
      VM/CMS                :  /pub/gopher/Rice_CMS/ or /pub/gopher/VieGOPHER/
      VMS                   :  /pub/gopher/VMS/
      OS/2 2.0	            :  /pub/gopher/os2/
      MVS/XA                :  /pub/gopher/mvs/

     Many other clients and servers have been developed by others, the
     following is an attempt at a comprehensive list.  

      A Macintosh Application, "MacGopher".
        ftp.cc.utah.edu:/pub/gopher/Macintosh

      Another Macintosh application, "GopherApp".
        ftp.bio.indiana.edu:/util/gopher/gopherapp

      A port of the UNIX curses client for DOS with PC/TCP
        oac.hsc.uth.tmc.edu:/public/dos/misc/dosgopher.exe

      A port of the UNIX curses client for PC-NFS
     	 bcm.tmc.edu:/nfs/gopher.exe

      A beta version of the PC Gopher client for Novell's LAN Workplace
      for DOS
         lennon.itn.med.umich.edu:/gopher

      A Xwindows/DECwindows client
         job.acs.ohio-stat.edu:


     Most of the above clients can also be fetched via a gopher client
     itself.  Put the following on a gopher server:

       Type=1
       Host=boombox.micro.umn.edu
       Port=70
       Path=
       Name=Gopher Software Distribution.

 
     Or point your gopher client at boombox.micro.umn.edu, port 70 and
     look in the gopher directory.

     There are also a number of public telnet login sites available.
     The University of Minnesota operates one on the machine
     "consultant.micro.umn.edu" (134.84.132.4) See Q3 for more
     information about this.  It is recommended that you run the client
     software instead of logging into the public telnet login sites.  A
     client uses the custom features of the local machine (mouse,
     scroll bars, etc.)  A local client is also faster.

---------------------------------------------------------------------
Q3:  Where are there publicly available logins for Gopher?

A3:  Here is a short list, use the site closest to you to minimize
     network lag.

     Non-tn3270 Public Logins:

     Hostname                  IP#              Login   Area
     ------------------------- ---------------  ------  -------------
     consultant.micro.umn.edu  134.84.132.4	gopher  North America
     gopher.uiuc.edu           128.174.33.160   gopher  North America
     panda.uiowa.edu           128.255.40.201	panda   North America
     gopher.sunet.se           192.36.125.2     gopher  Europe
     info.anu.edu.au           150.203.84.20    info    Australia
     gopher.chalmers.se        129.16.221.40    gopher  Sweden
     tolten.puc.cl             146.155.1.16     gopher  South America
     ecnet.ec		       157.100.45.2     gopher  Ecuador
   
     tn3270 Public Logins:

     Hostname                  IP#              Login   Area
     ------------------------- ---------------  ------  -------------
     pubinfo.ais.umn.edu       128.101.109.1    -none-  North America


     It is recommended that you run the client software instead of
     logging into the public login sites.  A client uses the
     custom features of the local machine (mouse, scroll bars, etc.)
     and gives faster response.

---------------------------------------------------------------------
Q4:  How can I add to the information in gopher?

A4:  You can do this by running a gopher server.  Servers are available
     for a number of systems.  Use anonymous ftp to
     boombox.micro.umn.edu (134.84.132.2) and look in /pub/gopher.  The
     following servers are available there:
 
       Unix      : /pub/gopher/Unix/gopherxx.tar.Z
       VMS       : /pub/gopher/VMS/
       Macintosh : /pub/gopher/Mac_server/
       VM/CMS    : /pub/gopher/Rice_CMS/ or /pub/gopher/Vienna_CMS/
       MVS       : /pub/gopher/mvs/
       DOS PC    : /pub/gopher/PC_server/


     When you have your server ready you can publish it to the world by
     sending e-mail to the maintainters of the "Other gophers" list:

       gopher@boombox.micro.umn.edu 

---------------------------------------------------------------------
Q5:  Who Develops Gopher Software?

A5:  Gopher was originally developed in April 1991 by the University
     of Minnesota Microcomputer, Workstation, Networks Center to help
     our campus find answers to their computer questions.  

     It has since grown into a full-fledged World Wide Information
     System used by a large number of sites in the world.

     Many people have contributed to the project, too numerous to
     count. 

     The people behind the much of the gopher software can be reached
     via e-mail at gopher@boombox.micro.umn.edu, or via paper mail:
   
      Internet Gopher Developers
      100 Union St. SE #190
      Minneapolis, MN 55455  USA

     Or via FAX at:
 
      +1 (612) 625-6817

---------------------------------------------------------------------
Q6:  How can I set up a "CSO" phone book server?  Where is the software?

A6:  CSO phone book servers are also known as "qi" servers.  The
     software implementation can be gotten via anonymous ftp from 
     uxc.cso.uiuc.edu (128.174.5.50) as /pub/qi.tar.Z.  You may also
     see this referred to as "ph", which is what most of the clients
     are called.  A collected set of clients for Macs, PCs, VMS, VM,
     etc, are in the /pub/ph.tar.Z file.

     There is also an archive of the mailing list for qi/ph software on
     the same machine.  It's in /pub/info-ph.archive. You may join the
     list by sending email to info-ph-request@uxc.cso.uiuc.edu.

     This software is supported by Paul Pomes <p-pomes@uiuc.edu>
     Contact him for more information. 

-------------------------------------------------------------------
Q7:  Why can't I access the University of Minnesota's UPI news?

A7:  The University of Minnesota has a site license for UPI news, we
     are not allowed to distribute it off of our campus.  We get our
     UPI news from Clarinet.  For more information about getting UPI
     news send mail to info@clarinet.com.  For information about
     setting up your own gopher-UPI server search the gopher-news
     archive for UPI.

-------------------------------------------------------------------
Q9:  What are the type characters for the different Gopher Objects?

A9:  Normal IDs.     

     0       Item is a file
     1       Item is a directory
     2       Item is a CSO (qi) phone-book server
     3       Error
     4       Item is a BinHexed Macintosh file.
     5       Item is DOS binary archive of some sort.  
     6       Item is a UNIX uuencoded file.
     7       Item is an Index-Search server.
     8       Item points to a text-based telnet session.
     9       Item is a binary file!  Client must read until the connection
                 closes.  Beware.
     T       TN3270 connection.

     Experimental IDs.

     s       Sound type.  Data stream is a mulaw sound.
     g       GIF type.
     M       MIME type.  Item contains MIME data.
     h       html type.
     I       Image type.
     i       "inline" text type (used by panda).

-------------------------------------------------------------------
Q10: When I do full-text searches I always get every document back, Why?

A10: This is a problem occasionally encountered with Unix full-text
     indexes.  It is caused by setting up the link incorrectly to a
     gindexd port.

     The Path= field should be *blank* when pointing to a gindexd
     index.

     Otherwise the client will send the path to the gindexd daemon,
     which interprets everything as a keyword.  This path is
     likely to contain a pathname that is common to all of the indexed
     files.  Thus a search generates hits on everything.

-------------------------------------------------------------------
Q11: When I try to build the UNIX software I get an error from make:
     "Must be a separator on rules line #. Stop"  Why?

A11: This is a problem with older makes that don't understand the "include"
     keyword.  One easy way to cope with this problem is compiling GNU
     make, which does understand the include keyword.

     If this is too difficult, remove the line:
    
      include Makefile.config

     from all the Makefiles and paste in a copy of Makefile.config at
     the top of each Makefile.

     Or, instead of pasting you can make the client/server by going
     into the appropriate directory and typing:

      make -f ../Makefile.config -f Makefile

-------------------------------------------------------------------
Q12: What is the relationship between Gopher and (WAIS, WWW, ftp)?

A12: Gopher is intimately intertwined with these two other systems.
     As shipped the Unix gopher server has the capability to: 
     
       - Search local WAIS indices.
       - Query remote WAIS servers and funnel the results to gopher
         clients.
       - Query remote ftp sites and funnel the results to gopher
         clients.
       - Be queried by WWW (World Wide Web) clients (either using
         built in gopher querying or using native http querying.

-------------------------------------------------------------------
Q13: Are papers or articles describing Gopher available?

A13: Gopher has a whole chapter devoted to it in :

     _The_Whole_Internet_, Ed Kroll, O'Reilly, 1992 (Editors note:
                             ..Great book, go out and buy a bunch!)

     Other references include:

     _The_Internet_Gopher_, "ConneXions", July 1992, Interop.

     _Exploring_Internet_GopherSpace_ "The Internet Society News", v1n2 1992, 

     (You can subscribe to the Internet Society News by sending e-mail to
      isoc@nri.reston.va.us)

     _The_Internet_Gopher_Protocol_, Proceedings of the Twenty-Third
          IETF, CNRI, Section 5.3

     _Internet_Gopher_, Proceedings of Canadian Networking '92

     _The_Internet_Gopher_, INTERNET: Getting Started, SRI
          International, Section 10.5.5

     _Tools_help_Internet_users_discover_on-line_treasures, Computerworld,
          July 20, 1992

     _TCP/IP_Network_Administration_, O'Reilly.

      Balakrishan, B. (Oct 1992)
        "SPIGopher: Making SPIRES databases accessible through the
      Gopher protocol".  SPIRES Fall '92 Workshop, Chapel Hill, North
      Carolina.

      Tomer, C.  Information Technology Standards for Libraries,
      _Journal of the American Society for Information Science_,
      43(8):566-570, Sept 1992.


-------------------------------------------------------------------
Q14: On a DECstation I get the error message "/etc/svc.conf no such file
     or directory" when running the gopherd server, why?

A14: This is caused by the chroot() call in gopherd.  It can be easily
     fixed by running gopherd with the -c option.

     Alternatively you can copy /etc/svc.conf into a directory named
     "etc" inside the gopher-data directory.
-------------------------------------------------------------------
Q15: The boolean searching terms don't work for my full-text index, why?

A15: This is probably because the searching is being provided by WAIS.
     WAIS opts to return all documents that contain a search phrase
     within certain limits.  WAIS searches do return the documents with
     the highest "score" at the top, those documents will have the
     closest relevance.

     Alternatively you could get a booleanized version of wais from
     ftp.bio.indiana.edu.
-------------------------------------------------------------------
Q16: When linking the Unix gopher server with WAIS I get undefined
     symbols,
       such as:

         log_file_name
         logfile
         PrintStatus
         find_value
         Sources
         NumSources

A17: This happens if you make gopherd before linking in the WAIS ir/ui
     directories.  The fix is to "make clean" or remove
     gopherd/{waisgopher.o,Waisindex.o}	and then remake gopherd.  Or
     link the ir/ui directories first.
-------------------------------------------------------------------
Q18: Why don't my WAIS indexes work?  I never get anything back for searches.
     or Why do I get "Dangling file" error messages in my logfile?

A18: The problem could be in the server.  The server should be run
     using the -c option if you want WAIS to work.  Another solution is to
     patch the WAIS code so that it doesn't check the files on the disk.
     Search the gopher-news archive for "dangling".  This will turn up a
     single document with the patch.

-------------------------------------------------------------------
Q19: My gopher server doesn't work under inetd, why?

A19: It could be that your inetd server only supports a limited amount
     of arguments.  For instance, the maximum number of arguments to an
     inetd server is 5.  You can get around this by combining arguments: i.e.

       gopherd -I -c 

     becomes:

       gopherd -Ic

     You may also leave the port specifier off of the command line.
     The gopher server automagically finds out the port it's running on.

-------------------------------------------------------------------
Q20: This is not a bug report, just a curiousity. I managed to install
     gopher on my PC, more or less by myself, which is a pretty good
     accomplishment, for someone who hasn't installed hardly anything on a
     PC. I then proceeded to load my PC/TCP kernel, ETHDRV, and try to
     start up gopher. It said it couldn't initialize that stack(?). I have
     to load this whenever I use PC/TCP. Incredibly, when I did not load
     ETHDRV, Gopher came up immediately and telneted to our local server.
     How does it know what kernel to load?

A20 Dr. Science says,
   
     The Internet Gopher program is not actually computer program at
     all, but a collection of magical incantations handed down from Dark
     Age conjurors.  It works by sending magical "demons" through the air,
     which scour the world for information, and then return to cast
     illusions containing the answer.

     When you use the Gopher, your computer isn't actually doing
     anything at all.  Instead, these demons have mesmirized you with an
     evil magical spell, which was invoked by the pattern of
     finger-movements peculiar to the typing of the letters G-O-P-H-E-R on
     your keyboard.  This spell transmits demonic information directly to
     your brain.

     Scientists aren't certain of the long-term effects of demonic
     mesmirization, although former presidents have suffered only minor
     medical side-effects from it.  Indeed, since Magic and Science are
     usually opposed to each other, most Scientists are usually
     close-minded about such issues, and will usually respond with some
     vacuous non-answer about "packet drivers", "stacks", and other such
     jargon.

     Unlike conventional scientists, Dr. Science is very open-minded and
     is willing to deal with such issues in a frank and honest manner.
     This is why people come to him with questions, and why they've learned
     to rely on and live by his answers.

     Dr. Science
         "I'm not a real doctor;  I have a Master's Degree....  in SCIENCE!"

:-) :-) :-) :-)
There's always room for a little humor in a FAQ..
-------------------------------------------------------------------
Q21: Help!  I have PC-NFS and want to use the PC-Gopher client.  How?

A21: Use a piece of software called PKTMUX, available at fine ftp
     sites everywhere.  This will let you use any packet driver
     application.

     Or, aquire a client that supports PC-NFS.  See Q2.
-------------------------------------------------------------------
Q22: How do I nuke a hung TCP connection?  I can't restart my UNIX
     gopher server unless I get rid of it, and I don't want to reboot!

A22: 

Here is an example of using dbx to change a socket from CLOSING to
CLOSED.

 # netstat -A|grep CLOSING
 c4bc5100 tcp        0     11  mymachine.gopher 129.89.8.4.70  CLOSING
 # dbx -k /vmunix /dev/mem
 ...
 (dbx) 0xc4bc5100+8/1X                  -- display contents of PCB+8
 c4bc5108:   00000007
 (dbx) assign 0xc4bc5108=0              -- zero it
 0
 (dbx) q

After a minute or two, the CLOSED socket should disappear.
-------------------------------------------------------------------
Q23: Is there somewhere I can retrieve a list of announced gopher
     links?  I'd like to keep a local, up-to-date list of available gopher
     holes without requiring our users to gopher to umn just to scan
     GopherSpace.

A23: In the Unix client/server distribution is a perl script called
     "gopherdist". Gopherdist can fetch the contents of any point in
     GopherSpace.

     To dump the contents of all the North American links from
     gopher.tc.umn.edu do the following:

     % gopherdist gopher.tc.umn.edu 70 "1/Other Gopher and Information
       Servers/North America" > .Links
-------------------------------------------------------------------
Q24: Why doesn't my unix gopher client display ISO-Latin-1 characters
     properly?  BTW I'm using a Sun workstation..

A24: It is the client's problem, the server is perfectly 8-bit transparent.
     The BSD curses library uses bit 8 in order to remember, whether a 
     character has been displayed reverse. So use just /usr/5bin/cc and
     you get the System V curses version which is 8 bit clean.

     Note that this may be a problem under other versions of UNIX too...

-------------------------------------------------------------------
Q25: What is veronica?

A25: veronica:  Very Easy Rodent-Oriented Net-wide Index to 
     Computerized Archives.

     veronica offers a keyword search of most gopher-server menu titles
     in the entire gopher web.  As archie is to ftp archives, veronica 
     is to gopherspace.  A veronica search produces a menu of gopher
     items, each of which is a direct pointer to a gopher data source.
     Because veronica is accessed through a gopher client, it is easy
     to use, and gives access to all types of data supported by the
     gopher protocol.

     To try veronica, select it from the "Other Gophers" menu on 
     Minnesota's gopher server, or point your gopher at:

     Name=veronica (search menu items in most of GopherSpace) 
     Type=1 
     Port=70 
     Path=1/veronica 
     Host=futique.scs.unr.edu
--
 | Paul Lindner | lindner@boombox.micro.umn.edu   | Slipping into madness
 |              | Computer & Information Services | is good for the sake
 | Gophermaster | University of Minnesota         | of comparision.
///// / / /    /////// / / / /  /  /  /   /      //// / / / /  /  /  /   /

===============================================================================
Newsgroups: bionet.info-theory