TThhee CCSSOO NNaammeesseerrvveerr
                          AAnn IInnttrroodduuccttiioonn

            by Steven Dorner, Computing Services Office

    % ph steven dorner
    -201 1:Database ready.
    ----------------------------------------
             alias: sdorner
              name: dorner steven c
             email: [email protected]
             phone: (W) 333-3339 (H) 356-8892
           address: 189 DCL, 1304 W Springfield, U
           address: 1201 W. Washington, C
        department: computing services office
             title: research programmer
          mailcode: 256
             hours: weekdays
           project: CSO Nameserver (Ph)
    ----------------------------------------

    WWhhaatt iiss iitt??  The CSO Nameserver could be considered a data-
    base containing information about people and things at the
    University of Illinois.  It is designed to be extremely
    flexible in what information it keeps, and also to provide
    fast access to that information.  Currently, most of the in-
    formation in it comes from the University _S_t_u_d_e_n_t_/_S_t_a_f_f_
    _D_i_r_e_c_t_o_r_y (the phone book).

    The CSO Nameserver could also be considered to be a pair of
    programs; one that manages the actual data (this program is
    called _q_i, for __q_u_e_r_y __i_n_t_e_r_p_r_e_t_e_r), and another one that han-
    dles user requests (the program CSO provides for this is
    called _p_h, for __p__h_o_n_e _b_o_o_k).  To most people, the CSO
    Nameserver will be exactly this second program, _p_h, the pro-
    gram that gives them access to the University _D_i_r_e_c_t_o_r_y.

    WWhheerree iiss iitt??  The database for the Nameserver resides on a
    CSO minicomputer (a VAXServer 3500) that runs the UnixTM
    operating system; the name of this computer is
    garcon.cso.uiuc.edu.  The program that manages the database
    (_q_i) runs on this machine.  _Q_i allows programs running on
    other computers to access the database by serving as an in-
    termediary between them and the actual database.  It commun-
    icates with such programs using the campus network, _U_I_U_C_n_e_t.

    _P_h (the program that is usually used to communicate with _q_i)
    is installed on all of CSO's UNIXTM computers.  A simple
    version

















    of _p_h is also available on CSO's main IBM computer, a 3081
    which uses a proprietary IBM operating system.  _P_h is also
    installed on many non-CSO computers across the campus;
    later, I'll discuss how you can get _p_h installed on your
    system.

    WWhhaatt iiss iitt ggoooodd ffoorr??  The Nameserver is good for looking up
    phone numbers and addresses of University faculty, students
    or staff members, just like the _S_t_u_d_e_n_t_/_S_t_a_f_f__D_i_r_e_c_t_o_r_y; but
    the Nameserver is good for more than just that.  For one
    thing, the Nameserver knows the electronic mail address for
    thousands of faculty, students and staff; this information
    is not present in the _S_t_u_d_e_n_t_/_S_t_a_f_f__D_i_r_e_c_t_o_r_y.  For some
    people, it knows other things, such as office hours or vaca-
    tion plans.

    A key thing to know about the Nameserver is that, if you use
    a computer that has _p_h installed on it, you can change the
    information the Nameserver keeps about you.  That means
    that, if you change offices in the middle of the year, you
    can put your correct address and phone number in the
    Nameserver immediately, so that people can use _p_h to find
    up-to-date information about you.

    WWhhaatt iissnn''tt iitt ggoooodd ffoorr??  There are some things the
    Nameserver is not meant to do.  One thing that should be
    mentioned right away is that the Namesever can't be used to
    generate mailing lists for junk mail; you don't have to wor-
    ry about getting junk mail because you appear in the
    Nameserver's database.

    Another thing it isn't good for is notifying the University
    of changes of address.  Changes you make to your information
    in the Nameserver are not automatically sent to your depart-
    ment, or the Office of Admissions and Records, or Payroll,
    or anywhere else; you must still notify these places of
    changes in your address.

    HHooww ccaann II hhaavvee pphh iinnssttaalllleedd oonn mmyy ccoommppuutteerr??  If one of the
    computers you use runs UNIXTM or VMS and is connected to
    _U_I_U_C_n_e_t, you can probably have _p_h installed on it.  Tell the
    person who manages your computer that he can get the source
    code for _p_h by anonymous ftp to uxc.cso.uiuc.edu, in the
    net/ph subdirectory (don't worry-he'll know what that
    means).

    HHooww ddoo II uussee pphh??  There are two different ways to use _p_h.
    One way is good for finding information about people, and
    the

















    other is good for changing the information the Nameserver
    keeps about you.  I will give you a brief idea of how both
    these ways work; for more detailed information, you should
    read the ``manual page'' for _p_h, which you can read (if your
    computer runs UnixTM) by typing the command, ``man ph''.

    To use _p_h to find out information, you should type ``ph''
    and the name of the person you want to know about; _p_h will
    respond with information about that person:

    % ph steven dorner
    -201 1:Database ready.
    ----------------------------------------
             alias: sdorner
              name: dorner steven c
             email: [email protected]
             phone: (W) 333-3339 (H) 356-8892
           address: 189 DCL, 1304 W Springfield, U
           address: 1201 W. Washington, C
        department: computing services office
             title: research programmer
          mailcode: 712
             hours: weekdays
           project: CSO Nameserver (Ph)
    ----------------------------------------

    If there are a lot of people who have the name you asked
    for, _p_h will let you view the list a screenful at a time;
    just hit the spacebar to move to the next screen.

    You don't have to know the exact spelling of a name to find
    information; you can put special symbols in the name for
    which you are searching that tell the Nameserver to find
    names that you only know a few letters of.  I won't say any-
    thing more about that here; look in the manual page if you
    are interested in the details.

    Sometimes, you will ask ph for a name, and it will refuse to
    give you information, because too many people have that
    name:

    % ph smith
    -201 1:Database ready.
    502:Too many entries to print (373).

    _P_h does this so that no one can use it to get mailing lists
    for junk mail or other nefarious purposes.  If you really
    want to find the person, you will have to know something
    else

















    about them, like part of their first name, or their phone
    number

    If you want to change the information the Nameserver keeps
    about you, you should just type ``ph''.  _P_h won't look up a
    name, but will instead give you a prompt.  There are many
    possible commands you can type to _p_h; they are described in
    full in the _p_h manual page.  You will only need to know
    three commands to change your information, however; _l_o_g_i_n,
    _e_d_i_t, and _q_u_i_t.  Before actually using _p_h for this, you will
    have to make some preparations.

    The first thing you have to do is find your Nameserver
    _a_l_i_a_s.  This is a unique name assigned to you by the
    NameServer.  It will be your first initial, followed by a
    dash, followed by your last name.  If there is more than one
    person with the same first initial and last name as yours,
    there may be number tacked onto the end of your alias.  The
    easiest way to find your alias is simply to look up your
    name with ph; it will be obvious to you which entry is
    yours.

    Once your know your alias, you need to find out your
    Nameserver password.  To do this, send electronic mail to
    [email protected].  You will receive (in a day or
    two) a reply that contains your password.

    Now, it's time to use _p_h to change your information.  Type
    ``ph'' and a return.  You will get a ``ph>'' prompt.  Now,
    type ``login alias'' (but use your real alias, not the word
    ``alias''!) and a return.  _P_h will ask for your password;
    type your password and a return.  You should get a greeting
    from the Nameserver, and another prompt.

    % ph
    $Header: ph.c,v 2.10 88/03/09 09:59:32 dorner Locked $
    Please mail questions or comments to
    [email protected].

    ph> login sdorner
    -201 1:Database ready.
    Enter nameserver password: _t_y_p_e _y_o_u_r _p_a_s_s_w_o_r_d _h_e_r_e
    200:sdorner:Hi how are you?
    ph>

    You are now ready to change your information.  Your informa-
    tion is organized into ``fields'', each one containing a
    different piece of information.  There is a field for your
    name,

















    your address, your phone numbers, etc.  To change a particu-
    lar field, type ``edit field'' and a return, substituting
    the name of the field you wish to change for ``field''.  For
    example, if you want to change your phone numbers, type
    ``edit phone''.  You will be placed in your favorite UNIX
    editor, with the contents of the field you asked for as the
    text.  Make whatever changes you wish, and exit the editor.
    _P_h will then change the information for you.

    Some information cannot be changed;  the ``name'' field, for
    example,  cannot be changed.  If you need to change one of
    these fields, you should send mail to
    [email protected] and arrangements can be made.

    Once you are done changing your information, type ``quit''
    and a return.

    SSuuppppoossee II ccaann''tt uussee pphh ffrroomm mmyy ccoommppuutteerr??  If your computer
    doesn't have ph installed on it, but you would like to use
    ph to look up addresses or change your information, you can
    still do so.  Connect to CSO's staff Pyramid, uxe, by using
    telnet (telnet uxe.cso.uiuc.edu), sytek (call 12ee) or by
    dialup (333-4008, class duxe).  When you are prompted for
    login:, type ``phones'' and a return.  When you are prompted
    for Password:, type another return.  You will then be
    prompted for your terminal type.  If you have a vt100 termi-
    nal or terminal emulator, you can just type a return; if you
    have some other terminal, type its name.  You will receive a
    ph> prompt, and can use ph.

    WWhheerree ccaann II ffiinndd mmoorree iinnffoorrmmaattiioonn??  More information can be
    found by reading the manual page on _p_h.  Programmers who
    wish to access the Nameserver from their programs should ob-
    tain the document _N_a_m_e_s_e_r_v_e_r__S_e_r_v_e_r_/_C_l_i_e_n_t__L_a_n_g_u_a_g_e, avail-
    able in the file ``language.troff'' in the same directory on
    uxc.cso.uiuc.edu as the _p_h source code.

    WWhhaatt iiff II hhaavvee ttrroouubbllee??  If you have problems or questions
    that are not resolved by reading this document, the _p_h manu-
    al page, or _N_a_m_e_s_e_r_v_e_r__S_e_r_v_e_r_/_C_l_i_e_n_t__L_a_n_g_u_a_g_e, feel free to
    ask me by sending mail to ``[email protected]''.

























              AAppppeennddiixx -- AA RRaannkk BBeeggiinnnneerr''ss GGuuiiddee ttoo VVII

    This page describes a few vi commands to accomplish simple
    editing tasks.  Full documentation for vi can be found in
    _T_h_e _U_N_I_X _U_s_e_r'_s _M_a_n_u_a_l _S_u_p_p_l_e_m_e_n_t_a_r_y _D_o_c_u_m_e_n_t_s, chapter 15
    (really advanced users should read chapter 16 as well).  Two
    thing to keep in mind:  First, the editor is pronounced
    ``vee eye''; if you pronounce it, ``vie,'' UNIX gurus will
    laugh at you, though not out loud.  Secondly, vi is
    case-sensitive; be sure to use upper or lower case commands
    as appropriate.

    MMooddeess..  Vi is a modal editor; what you can do depends on
    what mode you are in.  The two modes of interest to us are
    _c_o_m_m_a_n_d mode and _i_n_s_e_r_t mode.  You type most commands in
    command mode; all you do in insert mode is type your text.
    You get out of insert mode by typing _e_s_c_a_p_e, usually marked
    ``esc'' on keyboards; on some keyboards, you may have to
    hold down the control or alt key and press ``[''.  If you
    type escape in command mode, vi will beep at you; so if you
    get confused, just type escape until vi beeps; then you'll
    be back in command mode.

    MMoovviinngg AArroouunndd..  Here are some motion commands in vi.  They
    are typed in command mode, and leave the editor in command
    mode.

         CCoommmmaanndd   WWhhaatt iitt ddooeess

         control-h Moves the cursor lleefftt ([[]]) one character.
         h         Moves the cursor lleefftt ([[]]) one character.
         j         Moves the cursor ddoowwnn ([[]]) one line.
         k         Moves the cursor uupp ([[]]) one line.
         l         Moves the cursor rriigghhtt ([[]]) one character.
         w         Moves the cursor ffoorrwwaarrdd to the beginning of
                   the next word.
         b         Moves the cursor bbaacckkwwaarrdd to the beginning of
                   the previous word.

    DDeelleetteeiinngg TTeexxtt..  Here are some commands to get rid of stuff.
    Type them in command mode; they will leave the editor in
    command mode.

         CCoommmmaanndd   WWhhaatt iitt ddooeess

         dd        Deletes the current line.
         x         Deletes the character at the cursor, and
                   moves the rest of the line to fill the hole.



















    AAddddiinngg TTeexxtt..  The following commands all put you into insert
    mode and let you type text.  Type escape when you are fin-
    ished adding text, and you will be returned to command mode.

         CCoommmmaanndd   WWhhaatt iitt ddooeess

         i         Start inserting characters before the charac-
                   ter the cursor is on.
         O         Create a new line above the cursor, and start
                   inserting at the beginning of that line.
                   Note that this command is a _c_a_p_i_t_a_l ``O''.

    GGeettttiinngg OOuutt..  The following commands exit vi.  They work in
    command mode.

         CCoommmmaanndd   WWhhaatt iitt ddooeess

         ZZ        Exit vi, and save the changes you have made.
                   Those are _c_a_p_i_t_a_l Z's, by the way.
         :q!o/      Exit vi, but don't save changes (the ``o/''
                   means to type return).