home *** CD-ROM | disk | FTP | other *** search
/ ftp.robelle3000.ai 2014 / 2014.06.ftp.robelle3000.ai.tar / ftp.robelle3000.ai / newsletter / 1989 / w1989-06.txt < prev    next >
Text File  |  1999-04-28  |  22KB  |  464 lines

  1.  
  2.          What's Up DOCumentation
  3.  
  4.  
  5.  
  6.         Robelle Consulting Ltd.
  7.         8648 Armstrong Rd., R.R.#6
  8.         Langley, B.C.  Canada V3A 4P9
  9.         Telephone: (604) 888-3666  Telex: 04-352848
  10.         Fax:  (604) 888-7731
  11.  
  12.  Date:  July 23, 1989
  13.  From:  Robert M. Green, President
  14.         David J. Greer, Research & Development
  15.         Michael C. Shumko, Customer Support
  16.  To:    Users of Robelle Software
  17.  Re:    News of the HP 3000, 1989 #6
  18.  
  19.       What You Will Find in This News Memo:
  20.  
  21.         News Tidbits
  22.         DBAUDIT Builds EXTRACT Files
  23.         Technical Tips
  24.         About Robelle
  25.         Linking PowerHouse with QEDIT, Part I
  26.         Robelle Products:  Problems, Solutions, and Suggestions
  27.  
  28.  
  29.                                  News Tidbits
  30.  
  31.  No Free MPE XL Performance Tools.  Mike Anderson of HP Response Center
  32.  Atlanta called to say that the tools mentioned in our last news memo were not
  33.  available from the response center, except during HP performance consulting.
  34.  Sorry for the wrong information -- you will have to purchase HP GLANCE or
  35.  PROBE XL to see what is going on in your MPE XL machines.
  36.  
  37.  DAT Backup.  HP and SONY are working together to apply the new Digital Audio
  38.  Tape technology to computer backup.  The goals are slow write, faster scan,
  39.  and very high storage capacity (1.3 gigabytes in a cartridge the size of a
  40.  regular music cassette).  Rumor says HP will release a low-end MPE XL machine
  41.  next year that uses DAT for system backup.
  42.  
  43.  The Truth About MPE XL Disc Files.  Eugene has written a new paper for the
  44.  San Francisco Interex conference that is about the internals of MPE XL disc
  45.  files.  How they differ from MPE V files, how disc space is allocated, and
  46.  much more.  Highly recommended.
  47.  
  48.  Cognos Rumor.  According to the June 1st issue of DATAMATION, "Cognos
  49.  Corp. is quietly working on a successor to its PowerHouse fourth-generation
  50.  language using object-oriented programming technology.  The company is
  51.  developing the next generation package using an object-oriented language
  52.  called Eiffel from Interactive Software Engineering, Inc. of Goleta,
  53.  California.  Cognos chose an object paradigm to enable users to extend
  54.  applications, as well as smooth interfaces to a variety of data bases and
  55.  file systems.  A development official declines to say when initial release of
  56.  the product is expected."
  57.  
  58.  UK Users Meeting.  The UK users met in Brighton July 9-12 and our cub
  59.  reporter was there:
  60.    IEEE Reals.  HP has added a new "E" data type to IMAGE to distinguish
  61.    IEEE reals from Classic 3000 reals (R type), but is holding up release
  62.    until they figure out how to ensure backward RESTORE compatibility to the
  63.    Classic machines.  VPLUS Replacement.  HP has struck a deal with a third
  64.    party for a screen designer that will work on both UNIX and MPE XL --
  65.    look for an announcement in September.  DTC.  There will be a lower-cost
  66.    DTC soon.  With MPE XL 2.0 at the end of 1989, the DTC will allow you to
  67.    switch between different Spectrum systems, but you will need to buy a new
  68.    LAN manager product.  UNIX + MPE XL.  MPE XL will be POSIX-compliant
  69.    within two years.  POSIX is an industry-standard version of UNIX.  The
  70.    POSIX intrinsics will not sit on top of the MPE intrinsics, but beside
  71.    them.  Bye-Bye Portables.  HP is going out of the Laptop PC business to
  72.    focus on desktops.  The LS/12 (a Zenith with HP label) has not been
  73.    updated to match the most recent Zenith offering and will be gone in six
  74.    months.  Open Systems Foundation.  HPUX will support OSF/Motif before the
  75.    end of 1989 and OSF/1 before the end of 1990.  Look for MPE XL somewhat
  76.    later.  Tape Reel Management.  HP is adding hooks to MPE (XL and V) so
  77.    that large customers and third parties can build tools to manage tapes.
  78.    This goes into Beta Test this autumn and anyone who is interested in
  79.    writing tape tools should contact HP for details.
  80.  
  81.  GSA Seminars.  Gilles Schipper is giving his seminars "TurboIMAGE 3000
  82.  Advanced Techniques" on October 3/4, and "Effective HP 3000 System
  83.  Management" on October 5/6.  Place: Toronto.  For more information, call
  84.  (416) 889-3000.
  85.  
  86.  
  87.                          DBAUDIT Builds EXTRACT Files
  88.  
  89.  DBAUDIT is intended to help system managers keep tabs on HP 3000 database
  90.  transactions through use of IMAGE logfiles.  You can use it to monitor a
  91.  specific user, a troublesome dataset, a dial-in terminal port, or a suspect
  92.  application program, and see just what changes are being made to your
  93.  databases.  Because transaction dumps can be sorted by up to five keys,
  94.  including dataset field values, you can use them as audit reports instead of
  95.  writing custom programs.  DBAUDIT provides informative, readable summary
  96.  reports of database activity, organized by program, user, dataset, and logon
  97.  device.  Using these reports, you can pinpoint performance bottlenecks in
  98.  your database applications.
  99.  
  100.  At Robelle Consulting Ltd., we continue to improve our products, releasing a
  101.  new, enhanced version each year.  Highlights of the changes to DBAUDIT for
  102.  version 1.9:
  103.  
  104.           *  EXTRACT command copies transactions into MPE files.
  105.              This allows you to put accidentally deleted records
  106.              back into the database or feed transactions into
  107.              custom reports.
  108.           *  Commands may be continued using & at the end of the line.
  109.           *  FORM command ╚ la QUERY, including FORM SETS.
  110.           *  SET command to delete portions of the report's summary
  111.  statistics.
  112.           *  PAUSE and DISPLAY commands to annotate USE files.
  113.  
  114.  As always, the User Manual and on-line help have been updated to reflect
  115.  these improvements and are available on the same tape as the program files.
  116.  All users of DBAUDIT covered by service will receive an update tape
  117.  automatically (allow six weeks for delivery outside North America).  DBAUDIT
  118.  is fully compatible with MPE XL and the logfiles generated by Turbo IMAGE/XL.
  119.  
  120.  
  121.                                 Technical Tips
  122.  
  123.  How to Get MPE XL Variables into QEDIT Commands?  Put the QEDIT commands into
  124.  a Command File with the MPE XL variable name preceded by an exclamation mark
  125.  (!filename).  Don't forget to put a slash in front of each QEDIT command.
  126.  Then invoke the Command File by typing its name:
  127.  
  128.       option nolist
  129.       comment  cmd file to invoke QEDIT command with variable
  130.       /text !my_file_name
  131.  
  132.  Saving Function Keys on MPE XL.  There are a number of ways to save the
  133.  values of the user function keys.  One method that we use is as follows:  do
  134.  an FCONTROL 31 to put the terminal into VPLUS mode and an FCONTROL 41 to
  135.  specify Unedited mode with RS as the terminating character.  Then FWRITE an
  136.  Escape sequence to put the terminal into block mode, display the user key
  137.  menu, up the cursor, and do a block transfer (Esc "&s1d1g0H", Esc "&k1a1B",
  138.  Esc "j", Esc "&a0c0R", Esc "d").  The terminal will wait for a DC1 to trigger
  139.  the transfer.  You issue a big FREAD of 2000 bytes and should receive back
  140.  the Escape sequences that define each key, separated by CR/LF, and ending
  141.  with an RS character.  FWRITE Esc "k" to remove the user key menu and Esc
  142.  "&k0a0B" to go back to line mode, then call FCONTROL 30 to get out of VPLUS
  143.  mode and FCONTROL 41 with a PARM of 0 to disable Unedited mode.  When you
  144.  need to reset the function keys, write out the buffer that you captured.
  145.  This method will not work on MPE XL, because the DTC version of VPLUS does
  146.  not use handshaking (you must set G and H to 1 to inhibit waiting for DC1s,
  147.  Esc "&s1d1g1H").  When you press ENTER the terminal sends data immediately,
  148.  whether the CPU is ready for it or not.  The DTC is responsible for saving
  149.  this information in a "typeahead" buffer until the CPU asks for it.  When you
  150.  call FCONTROL 31 to turn on VPLUS mode, typeahead is not enabled in the DTC
  151.  until after the first read.  If you save the function keys first, the
  152.  terminal may send the key values before the DTC has received the read request
  153.  from MPE XL.  Result:  the terminal may hang in the user key menu or your
  154.  program may receive only some of the Escape sequences.  Solution:  insert a
  155.  zero-length FREAD to ready the DTC.  Randy Medd of Telamon notes that VPLUS
  156.  itself does a zero-length FREAD immediately after calling FCONTROL 31.
  157.  Note:  this "typeahead" is unrelated to the new TYPEAHEAD feature of MPE XL
  158.  1.2.
  159.  
  160.  How To List ALL Spoofles?  Without being the console, you can print the
  161.  spoofles for all jobs and sessions in one command:
  162.        :showout #
  163.  
  164.  How to Detect the DTC? If you have an MPE XL machine, you probably realize by
  165.  now that the DTC (Distributed Terminal Controller) is quite different from
  166.  the ATP that you had on your Classic 3000.  So different that you may need to
  167.  put special code in some programs, special code that works only on the DTC.
  168.  A quick and dirty way to decide if you are running with a DTC is to check for
  169.  the system function THISCPU: if it returns a value greater than 15 you are
  170.  running on a Spectrum CPU.  However, your user could still be connected to an
  171.  old ATP and be DS'ed over to the Spectrum.  How to tell?  There is a
  172.  little-known intrinsic, FDEVICECONTROL, which will give you this information
  173.  on MPE XL 1.2 or later:
  174.  
  175.  procedure CheckDtc (DtcStatus);
  176.     integer DtcStatus;  !16-bit Integer, Half Word on MPE XL
  177.                         !  Returns 0 for pre-DTC, 1 for DTC
  178.  begin
  179.     integer buf
  180.            ,stdin
  181.            ,errnum
  182.            ;
  183.     intrinsic fdevicecontrol,fopen,fclose;
  184.     integer procedure thiscpu; option external;
  185.  
  186.     DtcStatus := 0;   !false, must be ATP or ADCC
  187.     buf := 0;
  188.  
  189.     if thiscpu >= 16 then DtcStatus := 1;  !run on SpectrumCpu
  190.     stdin := fopen(,[3/4,1/1,2/1]);
  191.     if = then
  192.     begin
  193.        fdevicecontrol(stdin,Buf,1,192,28,1,errnum);
  194.        if = then
  195.           DtcStatus := if 6<=buf<=7 then 1 else 0;
  196.        fclose(stdin,0,0);
  197.     end;
  198.  end;    !CheckDtc
  199.  
  200.  
  201.                                  About Robelle
  202.  
  203.  Big Party September 11th.  Join us Monday night for an evening celebration
  204.  cruise extraordinaire aboard the Hornblower Yacht "The San Francisco".  Enjoy
  205.  music and great food in one of the most beautiful settings in the world!  To
  206.  get your ticket (limit of two per person), stop by the Robelle Booth Monday,
  207.  September 11th during show hours.  With your ticket in hand (a must to get on
  208.  the bus), meet at 6:45 pm sharp in front of the San Francisco Hilton (Ellis
  209.  Street), or the Renaissance Ramada (Cyril Magnin Street).  Buses will take us
  210.  to the yacht for our three-hour cruise from those two locations only.  Hang
  211.  onto your ticket until you are firmly planted on deck: the number of guests
  212.  allowed on board is finite.  After the cruise, the buses return to the San
  213.  Francisco Hilton and Renaissance Ramada Hotels.  We look forward to seeing
  214.  you at the meeting and hope you can join us for a wonderful evening.
  215.  
  216.  Robelle Presentations.  In San Francisco, we will be giving seminars on our
  217.  products.  These are shortened versions of our successful tutorials.  We do
  218.  not have the dates at present, but we hope to give an hour tutorial each on
  219.  QEDIT, SUPRTOOL, and DBAUDIT, plus an entertaining talk on Electronic Mail.
  220.  Bob Green is speaking to the BCRUG on September 20th, and will be giving a
  221.  SUPRTOOL tutorial to the Cognos Multiview Users Group meeting in Ottawa on
  222.  October 18th.  On November 7th, Bob will be giving a talk on "Improving
  223.  Software Quality" to HP people in the Oak room of the Cupertino site.
  224.  
  225.  QEDIT and SUPRTOOL Tutorials in Toronto.  Due to popular demand, we have
  226.  arranged to send Bob Green to Toronto in October to present the QEDIT and
  227.  SUPRTOOL tutorials.  Date: Oct 16/17.  Contact GSA at (416) 889-3000 for more
  228.  information.
  229.  
  230.  
  231.                      Linking PowerHouse with QEDIT, Part I
  232.  
  233.  PowerHouse is a fourth-generation language for HP, DEC and Data General
  234.  computers, as well as IBM PC-ATs and compatibles; it was developed and
  235.  marketed by Cognos of Ottawa, Canada.  The primary modules are the QUIZ
  236.  report writer, QUICK screen handler, and the QTP transaction processor.
  237.  QEDIT is Robelle's full-screen text editor for HP 3000 computers.  Among
  238.  Robelle customers, PowerHouse is a favorite development tool, second (barely)
  239.  to COBOL.  It is possible to link QEDIT and PowerHouse to make a powerful,
  240.  convenient development environment, but we have found that many of our users
  241.  do not have access to the information on how to accomplish this.
  242.  Accordingly, we spent a day at a Cognos office tracking down all the
  243.  components of PowerHouse, trying them with QEDIT, and adjusting the
  244.  User-Defined Commands to streamline and optimize the linkage between Robelle
  245.  and Cognos products.
  246.                PowerHouse, QUIZ, QUICK, and QTP are Trademarks of Cognos Corp.
  247.  
  248.  
  249.  Types of PowerHouse Sites
  250.  
  251.  Minimalist:  run-time version of QUIZ with a compiled dictionary.  Dedicated
  252.  applications, bundled in by VAR.
  253.  QUIZ Only:  QDD generates a run-time QSCHEMAC data dictionary from a source
  254.  file, QSHOW reports on the data dictionary, QUTIL builds databases, and QUIZ
  255.  prints reports.
  256.  Full PowerHouse:  above, plus QDESIGN (designs screens), QUICK (executes
  257.  screens), and QTP (batch transaction processor).  This is the norm.
  258.  Graphics Option:  above, plus a special version of QUIZ that can do graph
  259.  commands.
  260.  Architect:  helps you design your dictionary and application.  Menu
  261.  front-end.  Automatic prototyper and documenter.
  262.  Any of these sites could be supplied with the QDDR option, the Cognos
  263.  interface to HP DICTIONARY/3000 (not available for ARCHITECT).
  264.  
  265.  
  266.  Where Does PowerHouse Live?
  267.  
  268.  Each new version of PowerHouse is distributed in its own group, such as
  269.  DD501F or PH506C, in the COGNOS account.  You are expected to put the new
  270.  version into production by copying the files into the CURRENT.COGNOS group.
  271.  Cognos provides a program for this copy function.  However, some users leave
  272.  the software in the distribution group.
  273.  
  274.  
  275.  Where Are the UDC Files?
  276.  
  277.  UDCs are User-Defined Commands; they combine a large number of command steps
  278.  into one simple command, making it convenient to access tools such as
  279.  PowerHouse.  There are at least two sets of UDC files for PowerHouse.  By
  280.  default, each set looks in a different group of the COGNOS account:
  281.      PHUDC     assumes production software is in the CURRENT group
  282.      DDUDC     assumes production software is in the DD501F group
  283.  In addition, most PowerHouse modules have an option to link to HP's
  284.  DICTIONARY/3000.  This Cognos option is called QDDR.  When you have this
  285.  option, you must choose between these two alternative UDC files:
  286.      PHRUDC    assumes production software is in the CURRENT group
  287.      DDRUDC    assumes production software is in the  DDR501F group
  288.  For PowerHouse 5.01, these UDC files are found in the DD501F or DDR501F
  289.  groups.  PowerHouse 5.06 does not discriminate between QDD and QDDR; the UDC
  290.  files are PH506UDC (assuming software is left in PH506C) and PHUDC (assumes
  291.  software is copied to CURRENT), and they are both found in the PH506C group.
  292.  
  293.  As a QEDIT user, you should look at the file phudc.catalog.robelle for sample
  294.  PowerHouse UDCs that work well inside QEDIT.  These UDCs are designed for
  295.  PowerHouse version 5.01, without QDDR, and assume the CURRENT group.
  296.  
  297.  
  298.  Program Filenames
  299.  
  300.  When PowerHouse is shipped as a production version, the name of the Quiz
  301.  program is always the file QUIZ, regardless of whether it is in the PH506C
  302.  group or the CURRENT group.
  303.  
  304.  When PowerHouse is shipped as a beta-test version, the name of the Quiz
  305.  program would be QUIZ in a group like PH506B (the B is for beta).
  306.  
  307.  
  308.  File Equations
  309.  
  310.  PowerHouse currently supports FILE equations to specify names of program
  311.  modules, dictionary files, and help files.  For example, here are two FILE
  312.  equations that work with QUIZ 5.01:
  313.     FILE QSHOW=qshow.current.cognos  {program file}
  314.     FILE QCOBLIB=qcoblib.current.cognos
  315.  Old filenames usually remain the same, or go away.  Sometimes new names are
  316.  added.  In version 5.01, these names were also valid:
  317.     FILE COGMPE  = xxx {program to execute MPE commands}
  318.     FILE COGSORT = xxx {program to sort with more stack space}
  319.     FILE COGHELP = xxx {help program}
  320.     FILE COGHLIB = xxx {help data file}
  321.  In version 5.06, Cognos added COGEDITR to define a text editor for the REVISE
  322.  command:
  323.     FILE COGEDITR = QEDIT.PUB.ROBELLE
  324.  Because FILE equations are not available on non-HP computers, Cognos may, in
  325.  future, replace the use of FILE equations with other ways of specifying
  326.  filenames (e.g., INFO=string or Variables in MPE XL).
  327.  
  328.  
  329.  Summary of UDC Changes
  330.  
  331.  QEDIT users should usually make three changes to the PowerHouse UDCs to make
  332.  them work better from within QEDIT.
  333.  
  334.  First, add a new parameter source for the source filename.
  335.       QUIZ source,info=" ",vers=current
  336.  The default UDCs always prompt you for the source filename.  This change
  337.  allows you to do quiz * to invoke QUIZ on the current workfile.
  338.  
  339.  Second, add these options to the INFO= string:
  340.       auto=!source suspend udc=$catalog
  341.  AUTO= causes PowerHouse to process the !source file parameter without
  342.  prompting you.
  343.  
  344.    Note:  AUTO= can also be used to invoke a "compiled" binary file.
  345.         :quiz source
  346.         >build binary
  347.         >exit
  348.         :quiz binary
  349.    Typically, this is used for menu options from QUICK screens.
  350.  
  351.  SUSPEND causes PowerHouse to suspend when it returns to QEDIT instead of
  352.  terminating.  By default, PowerHouse always terminates completely, forcing
  353.  you to re-RUN and re-initialize each module each time you need to use it.
  354.  With SUSPEND, QEDIT can "HOLD" the module until you need it.  You will find
  355.  it much faster to get back into the PowerHouse module on subsequent requests.
  356.  
  357.  The UDC=$CATALOG option causes PowerHouse to respect your UDCs.
  358.  
  359.  Third, add this file equation to select QEDIT for the REVISE command (5.06 or
  360.  later):
  361.       file cogeditr=qedit.pub.robelle
  362.  
  363.  
  364.  QUIZ
  365.  
  366.  QUIZ is the original PowerHouse module and the one you are most likely to
  367.  have on your system.  It is a report writer and can read source files that
  368.  are in QEDIT format, as can all of the PowerHouse modules.  The most
  369.  convenient way to use QUIZ is to live in QEDIT, edit your QUIZ programs, then
  370.  invoke QUIZ to compile and test the reports.  You invoke QUIZ using the UDC
  371.  that you modified, as above, for use from within QEDIT.  When you exit from
  372.  QUIZ, you are returned to QEDIT where you can correct your source program.
  373.  The first time you use QUIZ, QEDIT will ask if you want to "hold" onto it.
  374.  Answer "YES".
  375.       :run qedit.pub.robelle
  376.       /set udc phudc.catalog.robelle
  377.       /open source
  378.       /visual
  379.       /quiz *       {* = current source module}
  380.                     {QUIZ compiles and executes your report, then exits}
  381.       QUIZ.CURRENT.COGNOS is still alive.  Okay to HOLD [no]? YES
  382.  Here is the UDC from the PHUDC file for QUIZ 5.01 modified for QEDIT:
  383.       QUIZ source,info=" ",vers=current
  384.       comment  version 5.01, modified for QEDIT source file
  385.       file qshow=qshow.!vers.cognos
  386.       file qcoblib=qcoblib.!vers.cognos
  387.       file cogsort=cogsort.!vers.cognos
  388.       file coghelp=coghelp.!vers.cognos
  389.       file coghlib=coghlib.!vers.cognos
  390.       file cogmpe=cogmpe.!vers.cognos
  391.       run quiz.!vers.cognos;info="auto=!source udc=$catalog &
  392.          suspend !info"
  393.       reset qshow
  394.       reset qcoblib
  395.       reset cogsort
  396.       reset coghelp
  397.       reset coghlib
  398.       reset cogmpe
  399.       ***
  400.  There are three other UDCs in the PHUDC file for other versions of QUIZ.
  401.  These have also been modified for use in QEDIT:
  402.      QUIZP     privileged-mode QUIZ, faster serial reads
  403.      GRAPHICS  QUIZ with graphics commands
  404.      GRAPHP    priv-mode version of graphics QUIZ
  405.  If you are using QDDR, you will need to transfer these changes to the file
  406.  PHRUDC.
  407.    [Next Month:  QDD, QUICK, and the other PowerHouse modules]
  408.  
  409.  
  410.             Robelle Products:  Problems, Solutions, and Suggestions
  411.  
  412.  MPE XL Compatibility
  413.  
  414.  All Robelle programs run on MPE XL in Compatibility Mode.  All programs may
  415.  be Object Code Translated (OCT'd) for additional performance.  (OCT chokes on
  416.  Qedit 3.7.  Call the office for Qedit 3.7.1 if required.)
  417.  
  418.  QEDIT  Version 3.7 and 3.7.1
  419.  
  420.  Using R9 to Insert Blank Space.  When entering a lot of new text in VISUAL,
  421.  it is tiresome to keep pressing INS LINE for each new line.  To insert a
  422.  block of 10 blank lines for the next paragraph, press INS LINE, CURSOR LEFT
  423.  twice, type "R9", and press ENTER.  This will replicate nine copies of the
  424.  blank line after itself (as well as updating the paragraph you just finished
  425.  entering).  Repeat after each paragraph.
  426.  
  427.  Posting Changes and % Commands.  When using the MPEX-Hooked version of QEDIT,
  428.  % commands are intercepted by the Hook and executed.  As a result, QEDIT
  429.  never has a chance to post to the disc the changes to your current file, and
  430.  the % command may process an out-of-date file.  Solution:  disable this
  431.  feature of the Hook and use SET EXTPROG in QEDIT instead.  Luckily, VESOFT
  432.  has provided such an option, which retains the other nice features of Hooked
  433.  programs, such as super-redo.  The command is:
  434.       %hook qedit.pub.robelle;nopercent
  435.  
  436.  DBAUDIT  Version 1.9
  437.  
  438.  Recovering Lost Lambs.  You can repair accidental deletions of records with
  439.  DBAUDIT's EXTRACT command (new in 1.9) and the SUPRTOOL program.  First,
  440.  create an MPE file with the lost records from the logfile.  If you know the
  441.  program, user, or device responsible for the loss, you can select it
  442.  specifically, thus restricting the amount of output to just your desired
  443.  records.
  444.  :run dbaudit.pub.robelle
  445.  >input log001.dblogold.sys
  446.  >extract database,setname,exfname  {define extract file}
  447.  >list calls delete                 {only DELETE transactions}
  448.  >list fields fields                {only the IMAGE data fields}
  449.  >select program query.pub.sys
  450.  >xeq
  451.  >exit
  452.  :run suprtool.pub.robelle
  453.  >base basename,1
  454.  >input exfname=setname
  455.  >put setname
  456.  >xeq
  457.  >exit
  458. *c1950a200b5g2P*p-50Y
  459.  
  460.     Fortune Cookie of the Month
  461.     Tractor Feed - A mechanism which allows your printer, and its
  462.     co-conspirator, your computer, to waste virtually infinite amounts of
  463.     paper.
  464.