                    L                           TThhee CCSSOO NNaammeesseerrvveerrF                            AAnn IInnttrroodduuccttiioonn  8              by Steven Dorner, Computing Services Office        % ph steven dorner       -201 1:Database ready. -      ----------------------------------------                alias: sdorner$                name: dorner steven c,               email: dorner@uxg.cso.uiuc.edu.               phone: (W) 333-3339 (H) 356-88923             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)-      ----------------------------------------   R      WWhhaatt iiss iitt??  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 A      fast access to that information.  Currently, most of the in- W      formation in it comes from the University _S_t_u_d_e_n_t_/_S_t_a_f_f_ 2      _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 isi      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 S      called _p_h, for __p__h_o_n_e _b_o_o_k).  To most people, the CSO E      Nameserver will be exactly this second program, _p_h, the pro- O      gram that gives them access to the University _D_i_r_e_c_t_o_r_y.   S      WWhheerree iiss iitt??  The database for the Nameserver resides on a =      CSO minicomputer (a VAXServer 3500) that runs the UnixTM 3      operating system; the name of this computer is @      garcon.cso.uiuc.edu.  The program that manages the databaseF      (_q_i) runs on this machine.  _Q_i allows programs running on@      other computers to access the database by serving as an in-A      termediary between them and the actual database.  It commun- O      icates with such programs using the campus network, _U_I_U_C_n_e_t.   I      _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                                  C      of _p_h is also available on CSO's main IBM computer, a 3081 C      which uses a proprietary IBM operating system.  _P_h is also ;      installed on many non-CSO computers across the campus; A      later, I'll discuss how you can get _p_h installed on your       system.  `      WWhhaatt iiss iitt ggoooodd ffoorr??  The Nameserver is good for looking up@      phone numbers and addresses of University faculty, studentsm      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 i      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 A      people, it knows other things, such as office hours or vaca-       tion plans.  A      A key thing to know about the Nameserver is that, if you use C      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 9      can put your correct address and phone number in the B      Nameserver immediately, so that people can use _p_h to find&      up-to-date information about you.  ]      WWhhaatt iissnn''tt iitt ggoooodd ffoorr??  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 toA      generate mailing lists for junk mail; you don't have to wor- 9      ry about getting junk mail because you appear in the       Nameserver's database.   @      Another thing it isn't good for is notifying the UniversityA      of changes of address.  Changes you make to your information A      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.         HHooww ccaann II hhaavvee pphh iinnssttaalllleedd oonn mmyy ccoommppuutteerr??  If one of the =      computers you use runs UNIXTM or VMS and is connected to S      _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 sourceA      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).  Z      HHooww ddoo II uussee pphh??  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 E      read the ``manual page'' for _p_h, which you can read (if your =      computer runs UnixTM) by typing the command, ``man ph''.   B      To use _p_h to find out information, you should type ``ph''C      and the name of the person you want to know about; _p_h will 0      respond with information about that person:        % ph steven dorner       -201 1:Database ready. -      ----------------------------------------                alias: sdorner$                name: dorner steven c,               email: dorner@uxg.cso.uiuc.edu.               phone: (W) 333-3339 (H) 356-88923             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 B      for, _p_h will let you view the list a screenful at a time;6      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 A      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.   A      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).   D      _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 D      about you, you should just type ``ph''.  _P_h won't look up a>      name, but will instead give you a prompt.  There are manyD      possible commands you can type to _p_h; they are described in@      full in the _p_h manual page.  You will only need to knowI      three commands to change your information, however; _l_o_g_i_n, U      _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 C      _a_l_i_a_s.  This is a unique name assigned to you by the >      NameServer.  It will be your first initial, followed by aA      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.   9      Once your know your alias, you need to find out your >      Nameserver password.  To do this, send electronic mail to>      nameserv@uxg.cso.uiuc.edu.  You will receive (in a day or.      two) a reply that contains your password.  C      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 wordB      ``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       dorner@uxg.cso.uiuc.edu.         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>  A      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,                                  A      your address, your phone numbers, etc.  To change a particu- >      lar field, type ``edit field'' and a return, substitutingA      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.5      _P_h will then change the information for you.   A      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<      nameserv@uxg.cso.uiuc.edu and arrangements can be made.  ?      Once you are done changing your information, type ``quit''       and a return.        SSuuppppoossee II ccaann''tt uussee pphh ffrroomm mmyy ccoommppuutteerr??  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 forA      login:, type ``phones'' and a return.  When you are prompted :      for Password:, type another return.  You will then beA      prompted for your terminal type.  If you have a vt100 termi- A      nal or terminal emulator, you can just type a return; if you A      have some other terminal, type its name.  You will receive a        ph> prompt, and can use ph.  z      WWhheerree ccaann II ffiinndd mmoorree iinnffoorrmmaattiioonn??  More information can beA      found by reading the manual page on _p_h.  Programmers who A      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-A      able in the file ``language.troff'' in the same directory on 0      uxc.cso.uiuc.edu as the _p_h source code.  e      WWhhaatt iiff II hhaavvee ttrroouubbllee??  If you have problems or questions E      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 ``dorner@uxg.cso.uiuc.edu''.                                                   y                AAppppeennddiixx -- AA RRaannkk BBeeggiinnnneerr''ss GGuuiiddee ttoo VVII   ?      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 A      (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 8      laugh at you, though not out loud.  Secondly, vi is@      case-sensitive; be sure to use upper or lower case commands      as appropriate.  I      MMooddeess..  Vi is a modal editor; what you can do depends on ?      what mode you are in.  The two modes of interest to us are W      _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. L      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.   Y      MMoovviinngg AArroouunndd..  Here are some motion commands in vi.  They ?      are typed in command mode, and leave the editor in command 
      mode.  B           CCoommmmaanndd   WWhhaatt iitt ddooeess  I           control-h Moves the cursor lleefftt ([[]]) one character. I           h         Moves the cursor lleefftt ([[]]) one character. D           j         Moves the cursor ddoowwnn ([[]]) one line.>           k         Moves the cursor uupp ([[]]) one line.L           l         Moves the cursor rriigghhtt ([[]]) one character.N           w         Moves the cursor ffoorrwwaarrdd to the beginning of"                     the next word.Q           b         Moves the cursor bbaacckkwwaarrdd to the beginning of &                     the previous word.  ]      DDeelleetteeiinngg TTeexxtt..  Here are some commands to get rid of stuff. =      Type them in command mode; they will leave the editor in       command mode.  B           CCoommmmaanndd   WWhhaatt iitt ddooeess  -           dd        Deletes the current line. <           x         Deletes the character at the cursor, and@                     moves the rest of the line to fill the hole.                                      W      AAddddiinngg TTeexxtt..  The following commands all put you into insert ?      mode and let you type text.  Type escape when you are fin- A      ished adding text, and you will be returned to command mode.   B           CCoommmmaanndd   WWhhaatt iitt ddooeess  A           i         Start inserting characters before the charac- )                     ter the cursor is on. A           O         Create a new line above the cursor, and start <                     inserting at the beginning of that line.L                     Note that this command is a _c_a_p_i_t_a_l ``O''.  V      GGeettttiinngg OOuutt..  The following commands exit vi.  They work in      command mode.  B           CCoommmmaanndd   WWhhaatt iitt ddooeess  @           ZZ        Exit vi, and save the changes you have made.D                     Those are _c_a_p_i_t_a_l Z's, by the way.B           :q!o/      Exit vi, but don't save changes (the ``o/''*                     means to type return).                                                                    