Mid-Missouri OS/2 User Group Newsletter
September 1994
Volume 2 Number 9

The views expressed in this newsletter are not necessarily the views held by
the MMOUG or it's members. Don't agree with something you've read here?     
Write and tell us about it!  If you have any contributions, please upload them to area
18 of the WoodMeister or send them to me via Internet at USDSSKZS@IBMMAIL.COM.  If
you work for the State of Missouri and have access to DISOSS, you can send them to
POOLMWV at DSSHOST.      

MMOUG August Minutes

Date of Meeting: 8/17/94

Location:Boone Electric Coop

Attendees:

Penny Shepherd, Teresa Tayer, Dayton Shepherd, R. Tufts, Gary Pool,
David Keisker, Jim Casstevens, Rick Wolters, Tom Tiamm, Randy Wright,
Gerri Jeffery, Charles Turner, Ken Gary, Steve Maring, Steve Coller,
Greg Lane, Woody Sturges, Ben Hoffman

Gerri Jeffery called the meeting to order.  It looks like DeScribe will
be our October meeting, we will know for sure on Friday.  They are still
trying to get Pinnacle for either the September or November meeting.
She ask for suggestions for future programs.  Possible ideas were:

REXX concepts
VX-REXX
Messa
Borland (C++ compiler)
Internet Access

Rick Wolters said he had a public domain assembler module which can
be used with Clipper so that a Clipper program can start another task
under OS/2.  Said it worked well and anyone interested can contact him.
He is willing to put it on the BBS.

Rick also ask about modem pooling software because his office is going
to digital handsets.  Anyone with any recommendations should contact him.
It was also suggested that there are devices to allow modems to work with
digital handsets.

Gary Pool ask for help for articles for the Club Newsletter.  Any help
would be appreciated.  He would like to digitize pictures of members
and include them in a newsletter.  A permanent meeting schedule of
rotating between the Boone Electric Coop meeting room in Columbia and
the Dept of Social Services office on Elm Street in Jefferson City was
decided on.

Gary also said that he thinks the REXX Editor on the BBS is worth looking
at.

A suggestion was made by Greg Lane that phone numbers for the JC and
Columbia BBS nodes be published in the newsletter.  Also he suggested
that the club have a phone number people could call for info on the
users group and for general OS/2 assistance.  Ben Hoffman will
investigate if a phonemail box can be arranged by IBM for the clubs
use.  Also it was suggested that the club do some proactive promoting
of OS/2, suggestions were:  Mall day, assistance in installing and
using OS/2 for home users & Team OS/2 functions.  No decisions were made.

It was suggested that IBM FTN satellite broadcast schedule information
be put on the BBS as well as information on where they can be watched.
Also if they were in the clear what are the satellite coord.  Ben Hoffman
said he would check the schedules and put a message on the BBS with
information on this.

Ben Hoffman from IBM presented a general outline of IBM plans for OS/2
for 1994 and did a technology demo of OS/2, Object technology and
OpenDoc.

Drawing for prizes:

Boxer Editor for DOS and OS/2 - David Keisker
OS/2 Programming (Book) - Greg Lane

They will both review their prizes for the Users Group.

Information Officer Input/Output

Egad, it's time for me to write something creative again.  Well, forget
it.  It won't happen.  My mind is completely blank.  That being the
case, I can pretend like I'm Rush Limbaugh and ramble on about anything
that crosses my mind.  After all, he's from Missouri, too.

Hmmmm, what would Rush say about events occurring with OS/2 that would
stir up a hornet's nest?  Well, he might say that he has heard about
a certain state agency (that shall remain nameless -- it deals, however,
with developing the economy in Missouri) that has determined that OS/2
is no longer a viable option for them.  They are converting everyone
to Windows.  This is an unconfirmed rumor, but what the heck, that
never stopped Rush!

Yes, friends and neighbors, this is shocking.  I can understand the
concern, however.  There are two products that they wish to use.  One
will work with OS/2 2.1 but not 2.11, the other will work with 2.11,
but not with 2.1.  Both products work under Windows.

However, according to my sources (as both Rush and Robert X. Cringely
would say), Windows also had compatability problems with various
programs and the solution was to buy products that would work with
windows.  Why wasn't the same courtesy afforded to OS/2?

People get very attached to their user interface.  Have you ever seen 
the rabid Macintosh and Amiga users?  OS/2 users (like me) are also 
just as emphatic in their commitment to a wonderful operating system.
I know why I am committed.  OS/2 saves me about 2 hours a day in
getting real work done that I just can't get from Windows.  Don't get me
wrong.  I :hp5.like:ehp5. Windows.  I use it at home where I don't have
the same work load.  However, like the Amiga users, I am afraid that if I 
don't convince everyone else that OS/2 is a superior platform, I will 
lose its benefit.

So I'm really nervous about this decision.  Although it doesn't affect
me right now (and probably won't, since our department will be getting
a :hp2.lot:ehp2. of copies of OS/2 over the next five years due to contracts
already awarded), I see it as a potential threat to my productivity.

Now admit it, you've seen people playing solitaire during working
hours, haven't you?  Those are the people who would like Windows
because they don't have enough to do during the day.  I, on the other hand,
am too darned busy to lose OS/2!

Aaaahhhh, I feel better now.  Let me take on those Windows supporters.  
I can do it with half my brain tied behind my back!

gp

The Dog House

OK, I'll admit it.  I'll use anything that makes the job easier!  This month
I found I nice little text file of REXX frequently asked questions on the
OS2BBS.  Rather than a code snippet, I decided to include the whole thing,
hook, line and sinker -- or is it TRUNC, LINES and SIGNAL?  Whatever . . .

Last Revised:  August 12, 1994
Eric Giguere
giguere@watcom.on.ca

----------------------------------------------------------------
Copyright Information

     This document is Copyright 1993, 1994 by Eric Gigure.
     Permission is granted to reproduce and distribute all or
     part of this document for non-commercial purposes only.  All
     other uses must first be cleared with the author.  The
     author may be contacted on the Internet at the address
     giguere@watcom.on.ca or on paper by writing to Watcom
     International, 415 Phillip Street, Waterloo, Ontario,
     Canada, N2L 3X2.  Please note, however, that this document
     is not published or endorsed by Watcom.

----------------------------------------------------------------
Introduction

     This document is intended to serve as a useful reference for
     REXX-related information.  It aims for breadth as opposed to
     depth, and references to other material are given where
     appropriate.  Suggestions and updates should be sent to the
     author in an attempt to keep this document relevant and up-
     to-date.

     Readers will notice the prevalence of OS/2-related materials
     in this document.  Most of the REXX-related activity at this
     time is occurring on the OS/2 platform.  This document is
     not intended to be OS/2-specific.  The author is quite happy
     to include information on other platforms if you pass it on
     to him.

     More information on REXX can also be had from the REXX Language
     Association.  See below for details.

----------------------------------------------------------------
A. What Is REXX?

     REXX is a programming language designed by Michael Cowlishaw
     of IBM UK Laboratories.  In his own words:  "REXX is a
     procedural language that allows programs and algorithms to
     be written in a clear and structured way."
     REXX doesn't look that different from any other procedural
     language.  Here's a simple REXX program:

          /* Count some numbers */

          say "Counting..."
          do i = 1 to 10
              say "Number" i
          end

     What makes REXX different from most other languages is that
     it is also designed to be used as a macro language by
     arbitrary application programs.  The idea is that
     application developers don't have to design their own macro
     languages and interpreters.  Instead they use REXX as the
     macro language and support the REXX programming interface.
     If a REXX macro comes across an expression or function call
     that it cannot resolve, it can ask the application to handle
     it instead.  The application only has to support the
     features that are specific to it, freeing the developer from
     handling the mundane (and time-consuming) task of writing a
     language interpreter.  And if all applications use REXX as
     their macro language, the user only has to learn one
     language instead of a dozen.

----------------------------------------------------------------
B. REXX and the Internet

     Networks connect computers in various ways for the exchange
     of data.  The terminology is a bit confusing to the new
     user.  Here are the definitions this document uses:

       Usenet: Not really a network, just the set of machines
       that exchange network news.  Network news is really an
       extended form of electronic mail that groups messages
       from individuals into newsgroups that users can read
       using special newsreaders.

       Internet: The worldwide network based on TCP/IP
       protocols.  Besides being able to receive mail and
       newsgroups, these machines can use programs like ftp and
       telnet to communicate with other machines in real time.
       Most Internet machines are Unix-based.

       BITNET: The worldwide network that connects many IBM
       mainframes.  BITNET users can also transfer files using
       methods that are incompatible with those of the Internet.

     Newsgroups

     The Usenet group comp.lang.rexx exists for discussion of
     REXX in all its variations.  Anything posted to this
     newsgroup also gets sent to the REXXLIST mailing list (see
     below) and vice-versa.

     Other newsgroups of interest are machine-specific.
     Recommended groups are comp.os.os2.programmer.misc and
     comp.sys.amiga.programmer.

     FTP Sites of Interest

     FTP is a file transmission protocol used on the Internet to
     transfer files between machines.  The transfers are done in
     real time and usually require that the user have an account
     on both machines.  However, many machines on the Internet
     support what is known as anonymous FTP, which allows users
     on other machines access to a limited set of files without
     requiring an account.  Some of the more interesting sites
     that offer this service are:

        rexx.uwaterloo.ca        General repository for REXX-related
                                 information, including free REXX
                                 interpreters for Unix and DOS.  An
                                 XEDIT clone for Unix and OS/2 may
                                 also be found here.  Look under
                                 /pub/rexx.

        ftp.pvv.unit.no          The official home of Regina, one of
                                 the free Unix interpreters.  Archives
                                 of the messages in comp.lang.rexx and
                                 RexxLA messages are also maintained
                                 here.  Check under /pub/rexx.

        ftp-os2.cdrom.com        General OS/2 archives.  Look under
        ftp.luth.se              /pub/os2.

        wuarchive.wustl.edu      General Amiga archive.  Look under
                                 /pub/aminet.

     Mailing Lists

     Mailing lists are similar to newsgroups but use normal
     electronic mail to deliver the messages.  The following
     mailing lists are mostly BITNET-based but are accessible
     from the Internet as well:

       List name     BITNET      Internet           Discusses
                      Node        Address
       REXXLIST      UCF1VM    ucf1vm.cc.ucf.edu    REXX in general
        AREXX-L      UCF1VM    ucf1vm.cc.ucf.edu    Amiga REXX
        PC-REXX      UCF1VM    ucf1vm.cc.ucf.edu    Personal REXX
       REXXCOMP      UCF1VM    ucf1vm.cc.ucf.edu    IBM's REXX compiler
       TSO-REXX      UCF1VM    ucf1vm.cc.ucf.edu    TSO REXX
        VM-REXX      UCF1VM    ucf1vm.cc.ucf.edu    VM/SP REXX
        UREXX-L      (none)    liverpool.ac.ak      Unix REXX

     To subscribe to any of these lists, send a one-line message
     to the address LISTSERV@node, where node is the BITNET node
     or Internet address for the list you wish to join.  In the
     body of your message should be the line
               SUBSCRIBE list-name your--full-name
     as in
                 SUBSCRIBE UREXX-L Eric Giguere
     You will then be subscribed to the list and messages will
     start arriving in your mailbox.  To send a message to the
     list, simply mail it to listname@node, as in UREXX-
     L@liverpool.ac.uk.  Note the distinction between the
     LISTSERV address and the listname address.  You can receive
     help by sending a HELP message to the LISTSERV address.
     Note that some of these mailing lists may be available on
     Usenet in the form of newsgroups with names starting with
     "bit.listserv".  Ask your system administrator if you're not
     sure.

     Thanks to Scott Ophof for providing this summary.

     Gopher Service

     Gopher clients may find REXX-related information at the site
     gopher.pvv.unit.no (Europe) and index.almaden.ibm.com (N. America).

----------------------------------------------------------------
C. Free REXX Products


     Interpreters

     There are at least three REXX interpreters available for
     free on the Internet.  The first two are Unix based and are
     well-supported by their authors.  The third is an MS-DOS
     interpreter.

     Regina is Anders Christensen's REXX interpreter for various
     flavours of Unix and VMS.  It is fairly complete and Anders
     even has an API for developers.  It also apparently can be
     ported to OS/2.  Anders can be reached at
     anders@pvv.unit.no.  Regina's official home is
     ftp.pvv.unit.no.

     REXX/imc is Ian Collier's REXX interpreter for SunOS, though
     it has also been ported to other Unix systems.  Ian can be
     reached at imc@prg.ox.ac.uk.

     BREXX is Bill Vlachoudis' REXX interpreter for MS-DOS.  The
     interpreter is not complete but is quite small.  Bill can be
     reached at bill@donoussa.physics.auth.gr.

     All three interpreters are available for anonymous FTP on
     rexx.uwaterloo.ca in the /pub/freerexx directory, each
     interpreter in its own subdirectory.  Regina and REXX/imc
     are in source form, BREXX is only available as binary.

     REXX-Aware Text Editors

     Also on rexx.uwaterloo.ca in the /pub/editors directory is
     the text editor THE by Mark Hessling
     (mark@snark.itc.gu.edu.au).  THE is a full-featured
     XEDIT/KEDIT clone (by XEDIT here we mean the IBM mainframe
     text editor, not the X Windows editor xedit) with REXX
     support.  THE is available in versions for OS/2 and Unix.
     THE's official home is on ftp.gu.edu.au in /src/THE.

----------------------------------------------------------------
D. Commercial REXX Products

     Interpreters

     REXX interpreters are available commercially for a wide
     variety of systems and come standard on some operating
     platforms such as the Amiga, OS/2 and the IBM AS/400 and
     mainframes (VM, TSO, VSE). The following vendors sell
     REXX interpreters:

          The Workstation Group     Various UNIX platforms, also VMS|
          6300 River Road
          Rosemont, IL  60018
          (800) 228-0255 (US only)
          sales@wrkgrp.com

          Quercus Systems          DOS, Windows, Windows NT, OS/2|
          P.O. Box 2157
          Saratoga, CA  95070
          (408) 867-7399
          (800) 440-5944 (US & Canada)
          75300.2450@compuserve.com

          Simware                  Novell Netware|
          2 Gurdwara Road
          Ottawa, Ontario
          Canada  K2E 1A2
          (613) 727-1779

     IBM also sells REXX interpreters for AIX and Netware.


     Compilers

     Although REXX is usually thought of as an interpreted
     language, it can also be compiled.  The following vendors
     all sell REXX compilers:

          Dineen Edwards Group          Amiga|
          19785 West 12 Mile Road, Suite 305
          Southfield, MI  48076-2553
          (313) 352-4288

          IBM                      VSE, MVS/TSO and VM/CMS|
          Contact your local representative

          Systems Center           VM/CMS|
          1800 Alexander Bell Drive
          Reston, VA  22091


     Visual Development Environments

     There are three REXX-based visual development environments
     available for OS/2:

          VX-REXX        Watcom International
                         415 Phillip Street
                         Waterloo, Ontario
                         Canada  N2L 3X2
                         Phone: (519) 886-3700
                         Fax: (519) 747-4971

          VisPro/REXX    HockWare
                         315 N. Academy St., Suite 100
                         Cary, NC 27513
                         Phone: (919) 380-0616
                         Fax: (919) 380-0757

          GpfRexx        Gpf Systems
                         10 Falls Road
                         Moodus, Conn.  06469
                         Phone: (203) 873-3300
                         Fax: (203) 873-3302


     REXX-Aware Text Editors

     Clones of the popular XEDIT editor are available for Unix
     from the Workstation Group (see address above) and for DOS
     and OS/2 from Mansfield Software.  Tritus sells an ISPF/PDF
     text editor with REXX support for OS/2.  One Up sells SourceLink,
     an integrated development environment for OS/2 with REXX macro
     capabilities.  Command Technology sells the SPF/PC editor.

          Mansfield Software
          P.O. Box 532
          Storrs, CT  06268
          Phone: (203) 429-8402
          Fax: (203) 487-1185

          Tritus
          3300 Bee Caves Road, Suite 650
          Austin, Texas  78746
          Phone: (512) 794-5800
          Fax: (512) 7940-3833

          One Up
          1603 LBJ Freeway, Suite 200
          Dallas, Texas  75243
          Phone: (800) 678-0187

          Command Technology
          1040 Marina Village Parkway
          Alameda, CA  94501
          Phone: (800) 336-3320

     The OS/2 Enhanced Editor (EPM.EXE), which is bundled with
     OS/2, also has REXX support.  Use its online help and search
     for the 'rx' command.


     REXX Extensions

     A number of vendors sell extensions to REXX:

     -- Quercus Systems (address above) sells REXXLIB (a collection
        of over 150 REXX extension functions), REXXCOMM (a function
        package for accessing serial ports from REXX) and REXXTERM
        (a full-featured asynchronous communications program).

     -- SofTouch Systems sells the GammaTech REXX SuperSet/2, a
        collection of over 300 REXX extension functions for OS/2.

     -- dSoft Development sells the dbfREXX function library that
        lets you read and write dBASE files from OS/2 REXX.


     SofTouch Systems
     1300 S. Meridian, Suite 600
     Oklahoma City, Okla.  73108-1751
     Phone: (405) 947-8080
     Fax: (405) 632-6537

     dSoft Development
     4710 Innsbruk Drive
     Houston, Texas  77066
     Phone: (405) 360-3045
     Fax: (713) 537-0318

----------------------------------------------------------------
E. REXX and ANSI

     The American National Standards Institute (ANSI) sets
     national standards for various things in the United States,
     including programming languages.  The X3J18 REXX Standards
     Committee is currently defining a formal standard for the
     REXX language, using Mike Cowlishaw's book as its base
     document.  The Committee meets 3 or 4 times a year and holds
     ongoing discussions throughout the year by electronic mail.
     Members of X3J18 are mostly REXX implementors, but anyone
     can participate.  The Committee intends to release a draft
     standard next year.  More information can be had from the
     vice-chair, Neil Milsted at nfnm@wrkgrp.com.
     Note that public ANSI documents relating to X3J18 can be had
     using the LISTSERV service at PSUVM on BITNET or by Gopher
     to gopher.pvv.unit.no on the Internet.

----------------------------------------------------------------
F. The REXX Language Association

     The REXX Language Association is an independent organization
     dedicated to promoting the use of the REXX programming
     language.  Activities of the RexxLA include:

     -- Maintaining an electronic mail server where members share
        information.

     -- Distributing a quarterly newsletter.

     -- Providing electronic resources for access to language
        expertise, hints and tips, example programs, product sources,
        and other valuable information.

     -- Developing resource guides, both printed and electronic,
        for publications, products, training and language experts.

     -- Developing educational, guest speaker, and publicity programs
        to promote the use of REXX.

     -- Participating in the work of standards bodies.

     -- Promoting integration of REXX into all operating systems and as
        the common scripting language for a wide array of software.

     -- Cooperating with the REXX Symposium in providing an annual
        conference forum.

     Join today and start reaping the benefits available from an
     international consortium of individuals, corporations, vendors,
     authors and experts.

     For more information, contact the REXX Language Association by
     mail or fax:

         RexxLA Membership
         6300 North River Road, Suite 501
         Rosemont, Illinois  60018
         Fax: (708) 696-2277

     Or by electronic mail at rexxla@wrkgrp.com.


----------------------------------------------------------------
G. The REXX Symposium

     The REXX Symposium is an annual conference devoted to REXX,
     attended both by users and vendors, held at the beginning
     of May.  It is sponsored by the Stanford Linear Accelerator,
     with the cooperation of the RexxLA.  The 1995 conference
     is still being planned.


----------------------------------------------------------------
H. REXX Bibliography

     Mike Cowlishaw and Linda Green have kindly provided the
     following partial bibliography of REXX books.

          The REXX Language -- M.F. Cowlishaw
               English:       ISBN 0-13-780735-X  Prentice-Hall, 1985
                         ISBN 0-13-780651-5  2nd edition, 1990
               German:   ISBN 3-446-15195-8  Carl Hanser Verlag, 1988
                         ISBN 0-13-780784-8  P-H International, 1988
               Japanese: ISBN 4-7649-0136-6  Kindai-kagaku-sha, 1988

          The REXX Reference Summary Handbook -- Dick Goran
              ISBN 0-9639854-1-8, CFS Nevada Inc., 1994

          Modern Programming Using REXX -- Robert P. O'Hara and
               David R. Gomberg
               English:  ISBN 0-13-597311-2  Prentice-Hall, 1985
                         ISBN 0-13-579329-5  2nd edition, 1988

          REXX in the TSO Environment -- Gabriel F. Gargiulo
               ISBN 0-89435-354-3, QED Information Systems Inc.
               320 pages, 1990

          Using OS/2 REXX -- Gabriel F. Gargiulo
              ISBN 0-894-35449-3, QED Publishing Group

          Practical Usage of REXX -- Anthony S. Rudd
               ISBN 0-13-682790-X, Ellis Horwood (Simon & Schuster), 1990

          Using ARexx on the Amiga -- Chris Zamara and Nick Sullivan
               ISBN 1-55755-114-6, Abacus Books, 1991

          The REXX Handbook -- Edited by Gabe Goldberg and Phil Smith III
               ISBN 0-07-023682-8, McGraw-Hill, 1991

          Programming in REXX -- Charles Daney
               ISBN 0-07-015305-1, McGraw-Hill, 1992

          Command Language Cookbook -- Hallett German
               ISBN 0-442-00801-5, Van Nostrand Reinhold, 1992

          OS/2 2.1 REXX Handbook -- Hallett German
               ISBN 0-442-01734-0, Van Nostrand Reinhold, 1994

          OS/2 REXX: From Bark to Byte -- Inter. Technical Supp. Org. (IBM)
               IBM Document Number GG24-4199-00, 1993

          REXX: Advanced Techniques for Programmers -- Peter Kiesel
               ISBN 0-07-034600-3, McGraw Hill, 1992

          REXX Tools and Techniques -- Barry Nirmal
               ISBN 0-89435-417-5, QED Publishing Group, 1993

          The ARexx Cookbook -- Merrill Callaway
               ISBN 0-96-327730-8, Whitestone, 1992

          Writing OS/2 REXX Programs -- Ronny Richardson
               ISBN 0-07-052372, McGraw Hill, 1992

          Writing VX-REXX Programs -- Ronny Richardson
               ISBN 0-07-9111911-5, McGraw Hill, 1994

=====================================================================
I. Common REXX Coding Errors

    The following list of common REXX coding errors is derived from a list
    included in the online documentation for Watcom VX-REXX.

    -----------------------------------------------------------------
    1. Blank space where it does not belong

    In REXX expressions, blank space is interpreted as an implicit
    concatenation operator -- the terms are concatenated with a blank
    in between.  As a result, REXX will interpret many mistyped statements
    as an expression involving the blank concatenation operator.

    For example, inserting a blank after a function name in a function call
    changes the meaning of the expression from:

        text_upper = translate( text )

    to:

        text_upper = "TRANSLATE"  " "  text

    Blank space also plays a special role in the PARSE instruction.  Compare
    the following:

        parse arg a b c
        parse arg a, b, c

    The first line parses the first argument passed to the routine into three
    parts, while the second line sets the three variables to the value of
    the first three arguments passed to the routine.

    -----------------------------------------------------------------
    2. Function calls versus the CALL statement

    When you call a routine that returns a result, you must enclose the
    parameters in parentheses:

        text = VRGet( "EF_1", "Value" )

    Always assign the value of a function to a variable, or use
    the CALL statement as described below.

    Otherwise REXX will pass the return value to the default
    host environment, leading to strange and possibly damaging behaviour
    on some systems.

    If you are calling a routine that does not return a value, or you
    wish to ignore the return value, you should use the CALL instruction:

        call VRSet "EF_1", "BackColor", "Blue"

    Note that there is no comma between the name of the routine and the
    first parameter.  Note also that parentheses are not used when using
    the CALL instruction.

    -----------------------------------------------------------------
    3. Line continuation

    The comma is used in REXX to split clauses across two or more lines.
    For example:

        call foo a, b, c

    can also be written as:

        call foo a, ,
                 b, ,
                 c

    It's easy to forget the second comma when breaking a line in the
    middle of a function parameter list.

    -----------------------------------------------------------------
    4. Omitted arguments

    REXX allows arguments to be omitted.  Be careful not to omit
    arguments by accident, such as including an unnecessary comma:

        call foo , a, b, c

    -----------------------------------------------------------------
    5. Undefined variables

    It is not a syntax error to use undefined variables in REXX.
    Undefined variables are defined to have their own name translated
    to uppercase as their value.  As a result it is often difficult to
    find programming errors that are a result of using undefined variables.

    Some tips:

    *   Add a SIGNAL ON NOVALUE statement to the main section of your
        programs.  This will cause the system to issue a syntax error
        if you use an undefined variable.
    *   Be careful to include the period when referring to stems.
        The variables "A" and "A." are unrelated.
    *   Misspelled commands will often be interpreted as undefined variables.
        The line:
            sy 'hello'
        (which should be "say 'hello'") will be interpreted as:
            "SY"  " "  'hello'
        and will be send to the default command host for execution.

    -----------------------------------------------------------------
    6. Using expressions in the tail of a compound symbol

    The tail of a compound symbol can only be a simple variable, as in:

        ok = A.I

    Literals are not allowed.  For example, the following is interpreted as a 
    concatenation between "A." and "name":

        bad = A."name"

    Expressions are also not allowed.  You must first assign the value of the
    expression to a symbol and then use that symbol:

        J = I - 1
        ok = A.J


=====================================================================
G. Frequently Asked Questions

    -----------------------------------------------------------
    1. Is REXX better than <some other language>?

    Short answer:  Yes.  No.  Maybe.  Does it matter?

    Long answer:  This question wastes a lot of bandwidth in
    comp.lang.rexx and other newsgroups.  Every language has its
    good points and its bad points.  Some people love REXX, some
    people hate it.  Use a language that suits your needs.

    -----------------------------------------------------------
    2. Why does my OS/2 REXX program run more quickly the second time?

    When you run a REXX CMD file for the first time, a tokenized
    version will be stored on disk using the OS/2 extended file
    attributes.  (You can see how big the tokenized version is
    by using the /N option on the DIR command.)  If a tokenized
    version exists AND the file has not been modified, CMD.EXE
    will use the tokenized version instead of parsing the
    source.

    Note that there is a 64K limit on the size of an extended
    attribute entry, so very large REXX programs do not benefit
    from this automatic tokenization.

    -----------------------------------------------------------
    3. How can I return multiple values from a function?

    REXX does not provide any support for returning more than a
    single value from a function.  If you wish to return multiple values
    , you must devise an alternate scheme.  A simple solution is to
    concatenate the values together into a single string and on return
    from the function use the PARSE instruction or the various string
    functions to split the string back into its elements.  Don't forget
    that you can use non-printable characters (such as '00'x) to
    separate the data -- REXX will correctly handle such strings.
    There may also be other alternatives available to you if you are
    using an external function library that lets you store data in
    separate memory pools or in disk files.

    -----------------------------------------------------------
    4. Why does linein, lineout, charin or charout fail?

    Most versions of REXX (ARexx is an exception) use implicit file
    opening.  That is, each time you reference a file in a LINEIN,
    LINEOUT, CHARIN or CHAROUT function, REXX will open the file for
    reading or writing if the file is not already open.  However, some
    operating systems like DOS and OS/2 impose limits on the number of
    files that can be open simultaneously, usually around 20 or so.  After
    the limit has been reached, any further attempts to open another file
    will fail.  That is why it is always good practice to close a file
    when you're done with it.  In OS/2 this is done using the STREAM
    function, as follows:

        call stream "c:\foo.out", "command", "close"

    The STREAM function can also be used to open files, query their sizes
    and seek into the file.  Consult your REXX documentation for
    specific instructions for your interpreter.

    -----------------------------------------------------------
    5. How do I iterate over all the tails in a stem variable?

    One of the features REXX lacks is a function to return a list of
    defined tails.  There are external libraries that provide functions
    to do so, but if that is not an option then the only solution is to
    maintain your own list of tails in a string and use the PARSE
    instruction or the WORDS function to traverse the list.

    -----------------------------------------------------------
    6. How do I REXX-enable my application?

    REXX-enabling an application means being able to run REXX macros
    within an application.  This information is very system-specific,
    so the best place to start is with the documentation provided with the
    REXX interpreter.

    For OS/2, there are several sources of information.  The most basic
    information is found in the OS/2 Toolkit, which includes the
    REXXSAA.H header file and the REXX Reference online document.  The
    REXX Report (see above) includes a couple of articles on the subject.
    Sample source code comes with the OS/2 Toolkit and is also available
    on rexx.uwaterloo.ca in the directory /pub/os2/vxrexx as VX-REXX
    Tech Notes #1 and #7 (vxtech01.zip, vxtech07.zip -- neither tech
    note requires that you own VX-REXX). OS/2 technical conferences such
    as ColoradOS/2 or the IBM Technical Interchanges often includes
    sessions on this topic. For ARexx, a book was available from
    Commodore, but with the latter's demise it is unclear whether the
    book is still available.

    -----------------------------------------------------------
    7. How do I do inter-process communication in REXX?

    Again, this is system-specific.  The ARexx interpreter is built on
    a messaging model, making it very simple to do inter-process
    communication, but the OS/2 REXX interpreter has no such features,
    though in some cases queues can be used to achieve the desired effect.

    -----------------------------------------------------------
    8. How do I use global variables in my REXX programs?

    The scope of variables is controlled by the PROCEDURE instruction.
    If a routine is declared with the PROCEDURE instruction, only
    those variables exposed using the EXPOSE instruction are available to the
    routine.  If no PROCEDURE instruction is used, all of the caller's
    variables are available to the callee. Here is a simple example:

        a = 10
        b = 20
        call first
        call second
        call third
        exit

        first:
            say "first -- a is" a "b is" b
            return

        second: procedure
            say "second -- a is" a "b is" b
            return

        third: procedure expose a
            say "third -- a is" a "b is" b
            b = 30
            call first
            return

    Running this program yields the following output:

        first -- a is 10 b is 20
        second -- a is A b is B
        third -- a is 10 b is B
        first -- a is 10 b is 30

    Use the PROCEDURE instruction to keep variables local to a procedure,
    using EXPOSE to explicitly expose any "global" variables.  The
    only catch is that you have to make sure you expose the variables
    inside every procedure. One way to define and use global variables
    is to use a stem called "Globals." and define all your procedures
    like this:

        Foo: procedure expose Globals.

    Then at the top of you program initialize the Globals stem and
    assign appropriate values to your global variables:

        Globals. = ''
        Globals.!NeedToSave = 0
        Globals.!TmpDir = "D:\TMP"

    The tail names in this example are all prefixed with '!', though you
    could also use an underscore ('_'). This is just a convention
    used to avoid this kind of problem:

        Globals.TmpDir = "D:\TMP"
        call Foo
        say Globals.TmpDir
        exit

        Foo: procedure expose Globals.
            tmpdir = "foo"
            Globals.TmpDir = tmpdir
            return

    It's a subtle bug that has to do with how REXX interprets stem tails.


*
* Package Files:
*                                                                               2400-Baud Bin/
* File Id           Description                         Versn  Date     # Bytes Tran Mins Text Complete File Id
* +---------------+ +---------------------------------+ +----+ +------+ +-----+ +-------+ +--+ +------------------------+
* REXXFAQ.DSC       REXXFAQ Package Description                08/16/94   30961       3.4 T    REXXFAQ.DSC

If you have any neat REXX programs, please upload them to area
18 of the WoodMeister or send them to me via Internet at USDSSKZS@IBMMAIL.COM.  If
you work for the State of Missouri and have access to DISOSS, you can send them to
POOLMWV at DSSHOST.

Humor

I've just got too much good stuff this month.  I keep saving these humorous
tidbits until it piles up and I just have to clean it out.  Here's a way to
tell what kind of a computer you're dealing with:

What kind of computer is it?

If you push it and it doesn't move, its a mainframe.
If you push it and it does move, its a minicomputer.
If you can pick it up, its a PC.

Alternatively, you can tell by the signs affixed:

"Do not enter"
"Do not touch"
"Do not steal"

Here's one Phillip posted on the WoodMeister that he found on the Internet:

A pilot is flying a small, single-engine, charter plane with a couple
of really important execs on board into Seattl airport. There is fog
so thick that visability is 10m, and his instruments are out. He
circles looking for a landmark and after an hour, he is low on fuel
and his passengers are *very* nervous. At last, through a small opening
in the fog he sees a tall building with one guy working alone on the
fifth floor. Circling, the pilot banks and shouts through his open
window: "Hi, where am I?" The solitary office worker replies: "You're
in an airplane." The pilot executes a swift 275 degree turn and
executes a perfect blind landing on the runway five miles away. Just
as the plane stops, the engines cough and die from lack of fuel. The
stunned passengers ask the pilot how he did it. "Simple," replies
the pilot, "I asked the guy in that building a simple question. The
answer he gave me was 100 percent correct but absolutely useless;
therefore, that must be Microsoft's support office and from there the
airport is just 5 miles away on a course of 87 degrees!" Any questions?

Here's another one that's been making the rounds of the Internet that I've
been holding.  One of the columnists in InfoWorld printed the first part
of it, so I figured I'd better get the rest out the door:

"Star Trek Lost Episodes" transcript.

<Picard> "Mr. LaForge, have you had any success with your
attempts at finding a weakness in the Borg? And Mr. Data, have
you been able to access their command pathways?"

<Geordi> "Yes, Captain. In fact, we found the answer by searching
through our archives on late Twentieth-century computing
technology.(Geordi presses a  key, and a logo appears on the computer
screen.)

<Riker>  (looking puzzled)  "What the hell is 'Microsoft'?"

<Data>   (turning to answer)  "Allow me to explain. We will send this
program, for some reason called 'Windows', through the Borg
command pathways. Once inside their root command unit, it will
begin consuming system resources at an unstoppable rate."

<Picard> "But the Borg have the ability to adapt. Won't they
alter their processing systems to increase their storage
capacity?"

<Data>   "Yes, Captain. But when 'Windows' detects this, it
creates a new version of itself known as an 'upgrade'. The use
of resources increases exponentially with each iteration. The
Borg will not be able to adapt quickly enough. Eventually all of
their processing ability will be taken over and none will be
available for their normal operational functions."

<Picard> "Excellent work. This is even better than that
'unsolvable geometric shape' idea."

(15 Minutes Later)

<Data>   "Captain, We have successfully installed the 'Windows'
in the command unit and as expected it immediately consumed 85%
of all resources.  We however have not received any confirmation
of the expected 'upgrade'."

<Geordi> "Our scanners have picked up an increase in Borg
storage and CPU capacity to compensate, but we still have no
indication of an 'upgrade' to compensate for their increase."

<Picard> "Data, scan the history banks again and determine if
there is something we have missed."

<Data>   "Sir, I believe there is a reason for the failure in the
'upgrade'.  Appearently the Borg have circumvented that part of
the plan by not sending in their registration cards.

<Riker>  "Captain we have no choice.  Requesting permission to
begin emergency escape sequence 3F . . ."

<Geordi> (excited)  "Wait, Captain; I just detected their CPU
capacity has suddenly dropped to 0% !"

<Picard> "Data, what do your scanners show?"

<Data>   "Appearently the Borg have found the internal 'Windows'
module named 'Solitaire' and it has used up all the CPU capacity."

<Picard> "Lets wait and see how long this 'solitaire' can
reduce their functionality."

(Two Hours Pass)

<Geordi> "As expected the Borg are attempting to re-engineer to
compensate for increased CPU and storage demands, but each time
they successfully increase resources I have setup our closest
deep space monitor beacon to transmit more 'windows' modules
from something called the 'Microsoft fun-pack'.

<Picard> "How much time will that buy us ?"

<Data>   "Current Borg solution rates allow me to predicate an
interest time span of 6 more hours."

<Geordi> "Captain, another vessel has entered our sector."

<Picard> "Identify."

<Data>   "It appears to have markings very similar to the 'Microsoft' logo".

Over the speakers) "THIS IS ADMIRAL BILL GATES OF THE
MICROSOFT FLAGSHIP MONOPOLY.  WE HAVE POSITIVE CONFIRMATION OF
UNREGISTERED SOFTWARE IN THIS SECTOR.  SURRENDER ALL ASSETS AND
WE CAN AVOID ANY TROUBLE.  YOU HAVE 10 SECONDS."

<Data>   "The alien ship has just opened its forward hatches and
released thousands of humanoid shaped objects."

<Picard> "Magnify forward viewer on the alien craft"

<Riker>  "Good God captain!  Those are humans floating straight
toward the Borg ship with no life support suits !  How can they
survive the tortures of deep space ?!"

<Data>   "I don't believe that those are humans sir, if you will
look closer I believe you will see that they are carrying
something recognized by twenty-first century man as doe skin
leather briefcases, and wearing Armani suits"

<Riker and Picard>   (horrified)  "Lawyers !!"

<Geordi> "It can't be.  All the Lawyers were rounded up and
sent hurtling into the sun in 2017 during the Great Awakening."

<Data>   "True, but appearently some must have survived."

<Riker>  "They have surrounded the Borg ship and are covering it
with all types of papers."

<Data>   "I believe that is known in ancient venacular as 'red
tape' it often proves fatal."

<Riker>  "They're tearing the Borg to pieces !"

<Picard> "Turn off the monitors.  I can't stand to watch, not
even the Borg deserve that."

OS/2 Tips 'N' Techniques

Here are a couple of unusual OS/2 Tips:

1. Open your config.sys in the Enhanced Editor (EPM config.sys).
2. Block the entire file with the mouse, then hit 'Ctrl+I'.
3. Type  'lowercase'.

This  will  change  your  entire config.sys to lowercase.  When you 
install new programs, they will make their changes in UPPERCASE, and  be  
easy to spot!

***CAUTION!***  Make sure you make a backup of your CONFIG.SYS before
doing *anything*, just in case something bad happens.

Also note that a few programs could *require* their parameters
to be in upper case.  Converting them to lower case could cause them to
fail.

OK, here's another one.  You can run a program from the desktop by pressing
CTRL+ALT+SHIFT.  Just rename the program to AAAAA.EXE and put it in the
\OS2\BITMAP directory.  It also requires a small file called AAAAA.MET in
the same directory, which can be created by typing "echo x > AAAAA.MET".
Why does this work?  This is a leftover from the days of OS/2 2.0 in which
there was a "credits" screen.

Rebound -- Off the boards

After about a year of sticking to GA-level code, I 
decided to once again jump onto the OS/2 beta team 
bandwagon on my machine at home.  All I can say is WOW!  
The new Warp II beta is looking GOOD!  Talk about faster!

Anyway, when I installed Warp II, I decided to rearrange my drives and 
partitions.  Because of this, I had to really weed out a 
lot of older files.  From what I could tell, no one was
using any of these files anyway (mainly old Win utils and 
DOS apps).  In addition, because my drive letters have 
changed, I'm frantically trying to squash bugs in the BBS 
config.  Please be patient while I smooth things out.

The good thing is that WARP II IS AVAILABLE ON THE OWM!  I've created a 
temporary area (97) to house the diskette images.  Byte 
count restrictions don't apply, but time limits do.  Please 
make use of the timebank if you wish to extend your d/l 
time for these files.  Also, these are in IBM's new XDF 
format (1.88M diskettes), so there are some device drivers 
you'll need to load before running the new LOADDSKF.  All 
drivers and LOADDSKF are in the file XDF.ZIP in area 97.  
Please see the news bulletin for more info on how to 
install these drivers.

And as usual, the OWM will be the place for OS/2 utils, 
apps, drivers, fixes and CSDs.  As I get them, you'll get 
them.  See y'all at the next MMOUG meeting...

The OS/2 Woodmeister
(314) 446-0016 (Columbia, MO)
(314) 634-0393 (Jefferson City Node)
FIDO Node 1:289/27    1200/2400/9600/14400 D/S

Threads

"Threads" are a collection of posts that may be of interest to individual
readers.

MESA - An OpenDoc Spreadsheet for OS/2
Coming Soon from Athena Design

August 11, 1994

Athena Design, Inc. will soon be shipping a native OS/2* version of its
award winning spreadsheet, Mesa**.  Mesa 2 for OS/2 embraces IBM's
OpenDoc strategy by providing the first OpenDoc spreadsheet in the
world.

OpenDoc, designed to run software across multiple operating systems
from Macintosh to Windows to OS/2 to Unix, is an emerging industry
standard supported by IBM, Apple, WordPerfect, Novell, Lotus,
Borland, Oracle, Taligent, and now Athena Design.

This full function OS/2 spreadsheet will clearly demonstrate OS/2's
superior performance as a desktop operating system with its use of
SOM, OpenDoc, multi-threading and the object oriented user interface.
In addition, Mesa 2 includes MOLI**, the Mesa Object Library Interface
so that customers can integrate Mesa objects with their own line of
business applications.

Scheduled for release at the end of September, Mesa 2 will include
REXX compatibility.  Users will be able to include REXX scripts in
workbooks to automate routine procedures, build applications and drive
the Mesa spreadsheet.  In their REXX programs, users will be able to
utilize Athena Design's special MScriptd functions to access Mesa's
features and functionality.

"OS/2 users know REXX and they can build fantastic applications using
it," says Athena Design, Inc. President David Pollak. "We simply
leveraged the power and familiarity of REXX into Mesa 2. Our beta
testers are psyched about it!"

Beta testers are not the only ones who are "psyched" about the
forthcoming product.  Many people feel that the new software will
spark more interest in OS/2's object oriented technology.

   "The Mesa 2 spreadsheet component is noteworthy because it
   is a high-utility, high-quality software component that can be
   exploited in a variety of applications. We are entering a new era
   in software development as innovative developers can focus their
   skills on high-value areas and profit quickly without having to
   build and market monolithic applications that have more features
   than most people need."
           Cliff Reeves, director of object enabling technology
           at IBM's Personal Software Products Division

   "I am delighted to see the value that Athena Design is
   creating for their customers through the use of OS/2's native,
   object-oriented technology.  Developing applications from
   object-oriented components will likely be the wave of the future
   for application development.  Athena Design has caught that wave
   early and their customers should be the beneficiaries."
            Dave Harrington, director of software development
            programs at IBM's Personal Software Products Division.

   "Athena Design's Mesa 2 OpenDoc spreadsheet part is an excellent
    example of how quickly developers are adopting the OpenDoc
    philosophy of componentized applications and object-oriented
    environments."
           Jed Harris, executive director of Component Integration
           Laboratories (CI Labs).

Since its public debut at Object World in San Francisco last month,
Mesa 2 and Athena Design are getting a lot of attention in the press.
The product launch includes a special $99 introductory price starting
August 15th.  This offer will be good for a limited time only.  The
specially priced package comes with 90 days of technical support via
electronic mail or fax, and a discount on future upgrades.  Users can
take advantage of the special introductory offer after August 15th
by calling 1-800-315-MESA.

For more information, contact the company directly.

   Phone:  617-734-6372
   FAX:    617-734-1130
   e-mail: info@athena.com

OS/2 LAN Server 4.0

August 22, 1994

IBM cleans up LAN Server's act -  Version 4.0 is poised to gain broader
appeal.

InfoWorld via First! : IBM's LAN Server 4.0, due to be released sometime
in the fourth quarter of 1994, takes the seasoned network operating
system out of the dark ages and into the future.  With the addition of
its object-oriented administration tools, peer-to-peer services, native
TCP/IP support, performance enhancements, and a long list of other
much-needed improvements, LAN Server should gain a broader appeal in the
enterprise.

LAN Server used to rank among the most cryptic and inflexible of the
network operating systems.  Take the older LAN Server 3.0 installation
program, please!  It was anything but intuitive, and it supported only a
paltry handful 1f network cards.

The new LAN Server 4.0 installation program is much improved and
includes an easy-install option that comes close to providing one-button
installation.  It will try to sniff out your installed network cards and
auto-configure them.

The beta version I tested recognized my SMC Elite16 and configured it
properly on the server but not on the client.  IBM plans to support 70
percent of industry-standard Ethernet cards and 90 percent of TokenRing
cards by the time 4.0 ships.

IBM takes an even stronger graphical approach to LAN administration than
you'll find in the easy-to-administer Windows NT Advanced Server.  There
are a few notable kinks in the way the administration tools work, but
they are otherwise so well crafted that they threaten to ruin IBM's
reputation for creating inscrutable software that seems purposely
designed to remain aloof from its users.

The new tools are so easy to master, in fact, that I was able to install
OS/2 2.11 and LAN Server, configure modems, printers, applications, and
disk resources, and also make them available to various groups and users,
all in a leisurely afternoon.  With the older version of LAN Server, it
took that long just to figure out where to start reading the manuals.

The primary reason it was so easy to configure my installation of LAN
Server is that the GUI tools are a logical extension of the
object-oriented OS/2 Workplace Shell.  You create a group, user, or
resource (such as a disk directory, application, modem, or printer), by
tearing off, dragging, and dropping a template for the object you want
to create.

If you want to grant a user access to a directory on your server, you
drag the resource object for that directory to the icon for that user.
To make it available to a group of users, you drag the object to the
group.  Set the access rights, tell LAN Server what drive letter you
want to map for the user, and you're done.

You can use the administration tools to define resource objects from any
server within or across domains and use the drag-and-drop features to
make them available to users.  The beauty of this is that you can
physically relocate directory resources, applications, and physical
devices without your users ever having to know that the configuration
has changed.  This degree of insulation from the server isn't new to
LAN Server, but the sophistication of the administration tools make the
process more accessible.

LAN Server provides other methods besides the GUI tools for managing
resources.  OS/2 Workplace Shell objects, such as files and directories,
all have menus that you can activate by clicking the right mouse button
on the object.  LAN Server adds selections to these menus that make it
possible to directly administer any shareable resource you can get to
from the desktop.

You can still manage resources at the command line, too, and automate
lengthy and complex tasks with a Rexx script and LAN Server 32-bit API
calls.  This last method is useful in very large installations where a
GUI approch to network management would simply bog down the
administrator.

FOLLOWING PROTOCOL.  You can now use TCP/IP as your native LAN Server
protocol (more specifically, NetBIOS over TCP/IP).  The TCP/IP support
is noticeably faster.  IBM claims to have achieved a 200 percent
improvement with that protocol.  It also claims that NetBIOS over TCP/IP
runs within 30 percent of NetBEUI/NetBIOS performance.

LAN Server 4.0 includes a GUI tuning tool.  You describe your network
configuration by filling out a settings notebook, and
the tool makes recommendations on how you can run your system faster.
Other performance claims include Pentium exploitation and a 28 percent
improvement in DOS/Windows client performance, with a protected-mode
redirector that releases more memory to DOS (about 600KB for a NetBIOS
client).  IBM claims that LAN Server 4.0 will run on one processor as
fast as Windows NT will run on four, all other things being equal.

Nevertheless, LAN Server 4.0 supports the new symmetric multiprocessing
(SMP) version of OS/2, which adds some scalability to the product,
particularly if you're using CPU-intensive client/server applications
such as Lotus Development Corp.'s Notes or a database server.  We'll put
it through the wringer when we have a shipping product and let you know.

Judging from the feature set, IBM is stepping up its efforts to make LAN
Server coexist with or replace as many existing network operating systems
as possible.  IBM will make freely available -- on its BBS and by
anonymous File Transfer Protocol (FTP) -- a utility that migrates users,
groups, log-on assignments, and files from a NetWare 2.2, 3.11, or 3.12
server to LAN Server 3.0 or 4.0.

LAN Server clients can easily connect to and use resources on Windows NT
Advanced Server, and NT and Windows for Workgroup clients can access LAN
Server as well.  Just as in prior versions, the LAN Server OS/2 client
coexists nicely with NetWare requester and Network File Service (NFS).
For mixed platforms such as these, IBM plans to include a utility called
the Network Signon Coordinator.  It lets you log on just once, and it
will connect you to whatever mix of LAN operating systems you have on
the network. It will also let you synchronize your password across
multiple LAN Server domains.

It is apparent that IBM has seen the writing on the wall, and it says
"Windows NT Advanced Server." The expression "writing on the wall," by
the way, comes from the biblical Daniel, who interpreted God's graffiti
to mean King Belshazzar's days were numbered.  By "numbered" he evidently
meant one binary digit -- the ill-fated king was slain that night.
Fortunately for IBM, there is more time and opportunity to change the
fate of LAN Server.  And from the looks of this LAN Server 4.0 beta, it
seems IBM is using the time to rise to the challenge.

IBM is predicting an October ship date, but we found just enough bugs and
missing features that we wouldn't be surprised if it shipped at year's
end.

Pricing has not been set.
IBM, in Austin, Texas, can be reached at (512) 838-7880.
Nicholas Petreley is executive editor of Reviews & Testing.

New feature highlights:
   o    Easy installation
   o    Expanded network adapter support
   o    Peer-to-peer capability
   o    Object-oriented GUI administration tools
   o    Intuitive back-end management tools
   o    NetBIOS over TCP/IP native support
   o    Pentium optimization
   o    OS/2 SMP support
   o    Easy performance tuning
   o    Expanded interoperability

08-21-94 at 16:33 EDT, Copyright 1994, InfoWorld, File: x0821306.9di

David Barnes On Tour: Desperately Seeking Celebrities

(Ed. note: OK, the original just said "Seeking Celebrities", but
I couldn't help but think of that movie Madonna was in, "Desperately
Seeking Susan".  Although I liked Roseanne Arquette a lot
better than Madonna)

IBM's very own David Barnes is about to embark on a tour of the world   He is
looking for celebrities or interesting people doing interesting things with
OS/2, so that he can meet and talk with them.

He is very much interested in 'newsworthy OS/2 items' and is asking for your
help in identifying some people for him to chat with.  In his words 'any
country' is fair game.

So, if you have anyone that fits this bill, please send me their names and
some way of contacting them via EMAIL PLEASE.

I know Howard Stern's name will come up, so let's assume that one is already
on the list.

Vicci Conway
Internet: vicci@vnet.ibm.com
CompuServe: 76711,1123

IBM to Appear On New Cable TV Program

August 24, 1994

IBM will make it's first appearance this coming weekend on a new Cable
TV series by Ziff-Davis and Intelligent Electronics aimed at the home
market.  The series includes three programs, "The Personal Computing
Show" and  "The Computer Outlet" (a shopping program) which aired for
the first time last weekend, and "PC Update" which will make its debut
in October.

Featured will be a shortened version of the OS/2 for Windows video
by the incomparable David Barnes, leading into "The Computer Outlet"
where viewers will be given the opportunity to call an 800 number
to order OS/2 for Windows at the new low price of $24.95.
Viewers will also be given information regarding where they can
purchase the product locally.  The producers of the show are working
to have local dealer tie-ins in all leading local markets.

The IBM segment will air five times during the following scheduled
programs:
:lines align=left.
Saturday, August 27,   7-8 a.m.  EDT - The Sci-Fi Channel
Saturday, August 27,   2-3 p.m.  EDT - CNBC
Saturday, August 27,  9-10 p.m.  EDT - America's Talking (NBC Cable)
Tuesday,  August 30, 10-11 p.m.  EDT - Jones Computer Network
Thursday, Sept. 1,     6-7 a.m.  EDT - Lifetime Network
:elines.

IBM will be participating in this new Cable TV series as a test for
the next 8 weeks, featuring different products and videos from Personal
software Products, the IBM Personal Computer Company and Eduquest.

The Frugal Hacker

Bob Stephan

hacker n - someone who really loves computers and who wants to push them to the
limit.  Hackers have a healthy sense of curiosity:  they try doorknobs just to
see if they are locked, and they tinker with a piece of equipment until it's
"just right."  The computer revolution itself is a result of hackers.  (from
"Computer Virus Myths" by Rob Rosenberger with Ross M.  Greenburg.)

Highway Courtesy.  With more and more computer users getting modems and going
on-line, this would be a good time to review some of the common courtesies that
should be observed.  For a novice, going on-line the first few times can be
intimidating.  The more you know about what to expect and how to behave, the
less intimidating it will be.  Although there are few hard and fast rules,
knowing and observing some of the common-sense standards will make the
experience not only easier for you, but also more enjoyable for those you come
in contact with.

Lurk.  Lurking refers to reading the messages and bulletins you see on-line
without replying or posting any messages yourself.  Whenever you try out a new
bulletin board system (BBS) or join a new conference, you should just lurk for a
period of time to get the feel of the new environment that you have entered.  My
general recommendation is that a newcomer should lurk for about a week, or if
you don't participate daily, for about the first 5-7 times you are on the system
or conference.  I have seen other recommendations that suggest a full month, so
the longer you can hold yourself back the better.

There are few things that are more annoying to people who have been
participating in a conference than to have a newcomer jump in with both feet
with totally irrelevant or redundant comments and questions.  While newcomers
are usually very welcome, they will fit in much better by appearing to know what
topics are currently under discussion, what the rules of participation are, what
questions have recently been answered, and other pertinent information that can
easily be picked up by watching the flow of traffic for a few days.  You can
speed up this familiarization process by reading the backlog of messages that
will be stored for a period of time on the BBS and also looking in the file
directories for files such as FAQs (Frequently Asked Questions).  By properly
getting yourself up to speed, you will get much more out of the conference and
be a more valuable participant.

Don't Overquote.  When replying to a message it is common practice to quote a
few relevant lines from the message you are replying to.  This sets the scene
and reminds the person who receives your reply which of his comments you are
referring to.  It also provides others who may not have seen the original
message an idea of the subject matter.  While judicious quoting is courteous,
helpful, and encouraged, overquoting is rude, annoying and wasteful of people's
time and computer resources.

Select Meaningful Subjects.  If you want to start a new thread, such as by
asking a question, give a few moments of thought to the subject line that you
apply to your message.  Stupid subject lines such as just "Comment" or
"Question" not only are annoying, they can be self-defeating.  Regular BBS users
may have to scan hundreds or even thousands of messages every day and often do
not take the time to read a message with an uninteresting (to them) subject.  If
you want to attract relevant replies, make your subject terse and use meaningful
key words.  If the message is worth writing, it is worth having a meaningful
subject line.

Don't Chit Chat.  Remember that in a popular conference your messages could be
seen by maybe millions of people.  999,999 out of 1 million of them will not be
interested in a personal message to Mary or Joe.  When your messaging gets to
the level that it is of interest only to the intended recipient, find some
method of e-mail to send it instead of posting it publicly on the bulletin
board.

Do Your Own Basic Research.  Don't ask questions that can be answered by picking
up any dictionary or some other handy reference book.  Ignorance on a topic is
certainly not a disgrace, but not knowing enough to pick up a dictionary to find
the answer to a basic question does very little for your image on-line.

Spelling And Grammar.  This is a touchy subject, but there is something about
participating in on-line communication that causes problems in this area for me
and many others.  I'm usually quite careful about spelling and grammar.  I
realize that my spelling ability is decreasing with age and I have to look up
words that I thought I used to know how to spell, but when typing on-line I make
mistakes that I would never make otherwise.  I have given this some thought and
I believe it is because on-line communication is more like talking than writing.
When talking we might say "wanna" when we would spell it "want to" if written
out.  When talking we make no distinction in pronunciation of homonyms such as
"your" and "you're", but if we wanted to write "your bananas" we certainly
wouldn't want to spell it "you're bananas".  But for some odd reason when typing
on-line I sometimes catch my fingers saying "your" when I mean "you're" and
other stupid grammar mistakes such as "its" for "it's" or vice versa.

Mistakes such as the above are commonly seen in on-line communications, and many
people would not even notice them.  However, I really don't want the people who
do notice them to think that I don't know any better.  That is just one of the
reasons for my next recommendation.

Get A Mail Reader.  The best invention ever for electronic communications was
the off-line mail reader.  There are many of them available.  most are shareware
and are very reasonable, and there is at least one that is completely free known
as SLMR.  There is no excuse not to have one, and once you get used to using one
you will never want to go back to typing while connected on-line.

A mail reader lets you read and reply to messages on your own computer while you
are not connected to the service running up connect charges.  It lets you
process your mail at a more leisurely, relaxed pace which lets you give it more
thought and attention.  If the on-line services you use charge by the minute, a
mail reader will save you $$$ in connect charges.  Most of the large services
like CompuServe, GENIE, Prodigy, and America On Line have either optional or
built-in mail readers such as Aladdin for GENIE or Mail Manager for Prodigy.
You can have the same conveniences on any BBS that supports mail packets, which
is just about all of them now.  Some mail readers even come complete with
spelling checkers, but as far as I know you are still on your own where grammar
is concerned.

I log on to at least four services everyday, and some days more or multiple
times.  On many days I pick up over 1,000 messages that I scan off-line to find
those that are of interest to me.  I probably spend no more than 15-20 minutes
total per day connected to the services, and I seldom touch the keyboard while
connected on-line.  It is all automated.  If you are interested in the details
of doing things like this I suggest you attend the MBUG-PC Communications SIG
mentioned elsewhere in this newsletter.

The mail reader I use has another extremely useful feature_virtual conferences.
One of my interests is genealogy and there are many hundreds of messages every
day in the genealogy conferences I monitor.  It would take me an inordinate
amount of time to scan through the bodies of all those messages to find items of
interest, so I let my mail reader do it for me.  I have configured the mail
reader so it knows which surnames and locations are of interest to me.  It
automatically scans all the genealogy conferences and pulls out any message that
contains one of those key words and puts them all in a virtual conference.  I
know that when I open that virtual conference for reading, every message will
contain at least one key word of interest to me.  It sure saves me hours of
time.

I see that I have wandered off the topic of courtesy, but it is all related to
making the most of your electronic communications.  We certainly have not
exhausted the subject and since it is timely with all the discussion about the
so-called Information Super Highway, we will probably pick up on it again.  In
the meantime, drop in on Jim Robeson's excellent Communications SIG, and if you
still have questions after that send them to me at one of the below locations.
I'll be glad to reply personally to all messages sent to me on-line.


Bob Stephan welcomes comments and questions that The Frugal Hacker can respond
to.  He can be reached on Internet (bob.stephan@nitelog.com), NITELOG
(408-655-1096), CRICKET (408-373-3773), Compu$erve (72357,2276), Plodigy
(FNGC05A), or snail mail at the MBUG-PC address.

Monterey Bay Users Group - PC
177 Webster St.              
Suite A 354                  
Monterey, CA  93940          

Next MMOUG Meeting

The next meeting of the Mid-Missouri OS/2 Users Group will be held on
Wednesday, September 21, 1994 at 4:00 pm.  Currently we are planning
to have a representative from Lotus demonstrate the newest version of 
the SmartSuite for OS/2.  The meeeting will be held at:

Department of Social Services
1621 E. Elm
Jefferson City, MO 65101
314-741-4198

From Columbia:

Highway 63 South to Highway 54 West (across the bridge) to
(be careful, this is still a dangerous intersection) Highway 50 East.
Go through lights at MO. Blvd, Broadway, Jefferson, Madison and Monroe

Take the CLARK AVENUE exit off of Highway 50.
Turn right onto Clark Ave, THEN
make an almost immediate left onto ELM Street.
Take Elm Street to IBM. IBM will be on the left.

  Eastland         Highway
 /                 Patrol         Elm Street
McDonalds________    HQ       ________________
|             DSS\___________/                |
|______________________________________________\_______
                 Highway 50                     Clark Ave Exit


MMOUG Membership List

KENNETH BAILEY
223A MUMFORD HALL
UNIVERSITY OF MISSOURI
COLUMBIA, MO  65211

SHAWN BOWER
1414 WILSON AVENUE
APARTMENT 2
COLUMBIA, MO  65201
Home: 449-1478 Work:445-0106

TED BOWMAN
519 STALCUP STREET
COLUMBIA, MO  65203

SCOTT BRODBECK
205 JEFFERSON ST., 11TH FLOOR
JEFFERSON CITY, MO  65102
Home: 636-0600 Work:751-2963

BRIAN BROOKS
1001 ROLLINGWOOD DRIVE
COLUMBIA, MO  65203

SCOTT  BROWN
101 SOUTH 5TH STREET
COLUMBIA, MO  65201
Home: 445-0036 Work:882-3576

JAMES CASSTEVENS
1301 OLD 63 S
COLUMBIA, MO  65201
Home: 882-9297 Work:443-2133

LYNN  CHRISTIE
1606 WESTVIEW
JEFFERSON CITY, MO  65109
Home: 635-3818 Work:635-1607

SEAN  CURRY
PO BOX 180
JEFFERSON CITY, MO  65102

JOYCE  DISTLER
MO DEPT OF SOCIAL SERVICES-MACSS PROJECT
1655 EAST ELM
JEFFERSON CITY, MO  65102

DAVID  FINCH
4201 CEDAR RIDGE DRIVE
FULTON, MO  65251

SCOTT FOX
1300 ROSEMARY LANE  #4
COLUMBIA, MO  65201
Home: 442-7923 Work:882-5300

SHAWN  FRAZIER
804 BUSINESS 63 SOUTH #A
COLUMBIA, MO  65201

CHRISTOPHER FULCHER
ROUTE 1  BOX 41K
BOONEVILLE, MO  65233

KRISTI GARRISON
316 RIVERVIEW DRIVE
JEFFERSON CITY, MO  65101

DARYL GLASCOCK
PO BOX 59
JEFFERSON CITY, MO  65109
Home: 893-5338 Work:751-1428

KEN  GRAY
1600 SYLVAN LN
COLUMBIA, MO  65202
Home: 474-1612 Work:

GENNARRO GRIFFITH
915 W. HIGH ST.
JEFFERSON CITY, MO  65109
Home: 636-8650 Work:751-4115

DALE  HACKEMEYER
3001 S PROVIDENCE
APT 6C
COLUMBIA, MO  65203

MICHAEL HAMMOND
1143 SOUTH SUMMIT DRIVE
HOLTS SUMMIT, MO  65043

WILLIAM HARPER
1905 OAK CLIFF DRIVE
COLUMBIA, MO  65203
Home: 445-2972 Work:886-1335

CHUCK  HAYES
IBM
101 PARK DE VILLE DRIVE
COLUMBIA, MO  65203

ROBERT HIBBS
1019 VEGAS DRIVE
COLUMBIA, MO  65203
Home: 445-7273 Work:682-8360

BENJAMIN  HOFFMAN
2208 MERLIN
JEFFERSON CITY, MO  65101
Home: 634-0342 Work:634-3784

GERRI JEFFERY
301 WEST HIGH ROOM 270
JEFFERSON CITY, MO  65105
Home: 657-2652 Work:751-7889

DARRELL JUNGMEYER
2901 W. TRUMAN BLVD.
PO BOX 180
JEFFERSON CITY, MO  65102-0180
Home: 796-3257 Work:751-4115

DIANE  KEHL
2605-A MIDWAY STREET
JEFFERSON CITY, MO  65101

DENNIS LANE
1204 BRADSHAW AVENUE
COLUMBIA, MO  65203-0808
Home: 445-5639 Work:751-5467

MARK LIPARI
PO BOX 6500
JEFFERSON CITY, MO  65102
Home: 875-8753 Work:751-7999

GREG  LONGAN
MO DEPT OF SOCIAL SERVICES-MACSS PROJECT
PO BOX 2300
JEFFERSON CITY, MO  65102

MARTY MAA
101 SOUTH 5TH STREET
COLUMBIA, MO  65201

STEVE  MARING
2701 VAIL DRIVE
COLUMBIA, MO  65203-4450

GREG  MILLER
SHELTER INSURANCE COMPANIES
1817 WEST BROADWAY
COLUMBIA, MO  65218

CAROLE  MOSELY
615 HOWERTON COURT
PO BOX 6500
JEFFERSON CITY, MO  65043

BRIAN OLIGSCHLAEGER
804 SHERWOOD DRIVE
JEFFERSON CITY, MO  65109
Home: 893-3224 Work:751-4115

TERI OSTER
905A SPENCER AVENUE
COLUMBIA, MO  65203

RONNIE PARKER
PO BOX 1805
COLUMBIA, MO  65205
Home: 474-5822 Work:882-9300

GARY POOL
1621 EAST ELM
JEFFERSON CITY, MO  65101
Home: 636-3452 Work:751-2983

JAY ROBERTSON
PO BOX 6500
JEFFERSON CITY, MO  65102
Home: 893-6048 Work:751-6773

MARCUS ROCHELLE
1900 GRANT LANE
COLUMBIA, MO  65203

DAVID  SCOTT
909-M SOUTHWEST BLVD.
JEFFERSON CITY, MO  65109
Home: 761-1516 Work:634-0308

ROBERT  SHELLEY JR.
PO BOX 678
127 SOUTH 8TH STREET
COLUMBIA, MO  65205

DAYTON SHEPHERD
RT 3  BOX 152
CENTRALIA, MO  65240
Home: 876-0263 Work:632-3271

PENNY SHEPHERD
813 LEWIS HALL
COLUMBIA, MO  65211
Home: 682-3271 Work:882-9202

PENNY SHEPHERD
813 LEWIS HALL
COLUMBIA, MO  65211
Home: 682-3271 Work:882-9202

NEIL SMITH
IBM
101 PARK DE VILLE DRIVE
COLUMBIA, MO  65203

MARK  SPEAKER
900B WINCHESTER DRIVE #3
SEDALIA, MO  65301-2178

WOODY  STURGES
1012 COLLEGE PARK DRIVE
COLUMBIA, MO  65203-1963

HARVEY  SUMMERS
ATTORNEY GENERAL'S OFFICE
PO BOX 899
JEFFERSON CITY, MO  65102

GREGORY TAYLOR
3819 VILLAGE PARK DRIVE
COLUMBIA, MO  65201
Home: 875-2519 Work:882-2131

DENNIS THOMPSON
2304 PRIMROSE DRIVE
COLUMBIA, MO  65202

CHARLES  TURNER
916 MAPLEWOOD DRIVE
COLUMBIA, MO  65203

RANDALL WILKERSON
PO BOX 59
JEFFERSON CITY, MO  65104
Home: 782-3573 Work:751-0121

CHARLES  WILLIAMS
MO DEPT OF SOCIAL SERVICES-MACSS PROJECT
PO BOX 2300
JEFFERSON CITY, MO  65102-2300

MIKE  WILLIAMS
4700 S PROVIDENCE RD
COLUMBIA, MO  65217

PHILLIP WILSON
IBM
101 PARK DE VILLE DRIVE
COLUMBIA, MO  65203

MICHELLE WILSON
IBM
101 PARK DE VILLE DRIVE
COLUMBIA, MO  65203

RICK WOLTERS
2901 WEST TRUMAN BLVD
P.O. BOX 180
JEFFERESON CITY, MO  65102-0180
Home: 893-7856 Work:751-4115

RANDALL WRIGHT
4810 State Highway Z
Centertown, MO  65023
Home: 584-9490 Work:751-8522
