------------------------------------------------------------------------------
------------------------------------------------------------------------------
        NNNNNNNNNNNN        NNNNNNNNNNNN  NNNNNNN    NNNNNN NNNNNNN    NNNNNN
       NNNNNNNNNNNNNN    NNNNNNNNNNNNNN  NNNNNNNN   NNNNNN NNNNNNNN   NNNNNN
      NNNNNN    NNNNN  NNNNNNNNNN       NNNNNNNNN  NNNNNN NNNNNNNNN  NNNNNN
     NNNNNN    NNNNN NNNNNNNN          NNNNNNNNNN NNNNNN NNNNNNNNNN NNNNNN
    NNNNNNNNNNNN    NNNNNN            NNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNN
   NNNNNN   MNNNNN NNNNNNN           NNNNNN NNNNNNNNNN NNNNNN NNNNNNNNNN
  NNNNNN   MNNNNN  NNNNNNNN         NNNNNN   NNNNNNNN NNNNNN   NNNNNNNN
 NNNNNNNNNNNNNN     NNNNNNNNNNNNN  NNNNNN    NNNNNNN NNNNNN    NNNNNNN
NNNNNNNNNNNNN        NNNNNNNNNNN  NNNNNN     NNNNNN NNNNNN     NNNNNN
------------------------------------------------------------------------------
------------------------------------------------------------------------------
Boston Computer News Network                                       April, 1994
A Service of the Boston Computer Society, USA                      Vol.3  No.4
Sponsored by the Xbase Language Group                          Clipper Version
------------------------------------------------------------------------------
 1. ** New Newsletter ** SUITEWARE for Clipperheads.
    -----------------------------------------------------------------------
    ReplyTo:   Les Squires bcnn@world.std.com  [73020,3435]
    ReplySubj: SUITE-YES

    Separate BCNN sign-up is *required* to enroll for this newsletter.

    It's time to take a hard look at the new level of abstraction called
    the 'office suite'.  This is no warmed over Symphony or Framework from
    ten years ago. 'Thinking suite' is a whole new concept, particularly
    when you realize that to be successful Object Linking and Embedding
    (OLE) will have to work ACROSS vendors, and not simply with products
    produced by a single vendor.  Such conceptual changes will radically
    change our professions.  We're not just doing databases anymore, we're
    having to deal with the WHOLE workflow, with functionality we didn't
    invent.

    Some simple examples.  Microsoft Word gets its Mailmerge data from SQL
    Server databases.  Access uses word for its 'memo-edit' or for
    typesetting reports.  Ranges of Excel cells are stored with all their
    functionality in a field in a database; when recalculation is required,
    it's done in Excel.  Email of film clips on trout fishing are sent via
    Internet.

    Computer Associates's office suite is named Simply Business.  Microsoft
    named it's suite Microsoft Office.  Lotus and Borland have suites.
    Novell's purchase of WordPerfect is proof positive how important this
    concept is.  Over the next year or so, you will be dismissed as naive
    if you say 'I develop in Clipper...or Powerbuilder...or Fox.'  The day
    you hear the retort 'No, no, no, I meant what SUITE do you use for
    development?' you'll know that you've been left behind.  Somebody else
    will be eating your lunch, re-possessing your car, and stealing your
    spouse.

    BCNN is starting a new newsletter.  It is for Clipperheads or other
    Xbase types who want to improve their Windows skills using the Word-
    Excel-Access paradigm (the only viable suite that I've seen for
    developers, and soon to become, in my opinion, the defacto standard).

    The moderated discussion will start with Access 2.0 and will move to
    OLE 2.0 and SQLServer over the next 6-8 months.  Forget all the
    negative criticism you ever heard about Access 1.1.  Access 2.0 is
    solid.  It's good.  And it's going to play a very serious part in your
    career as a developer, no matter what vendor's tools you choose
    ultimately to deliver your applications (Access, or Visual Objects, or
    Visual Basic, or Powerbuilder, or SQLWindows, Paradox, or even dBASE
    for Windows).

    BCNN/Suite Version will come to you as BCNN/Clipper does.  Depending on
    your level of interest, the letter may actually be issued more
    frequently than once a month. In addition, I'm willing to negotiate
    special deals on behalf of the group.  Best of all, we'll learn
    together.

    Email me with the Subject SUITE-YES.  In addition (but this is not
    required to join the group), I'd like to ask you to send a paragraph or
    two letting me know what you think about this idea, particularly of
    your expectations for such a group.  Include a brief description of
    what you might already have done.


 2. Waiting for VO:  Learn OOPs Concepts (April Meeting)
    -----------------------------------------------------------------------
    ReplyTo:   Chris Pels [73777,3562], 401-885-2815
    ReplyTo:   Ed Tiley, Access Advisor, Contributing Editor [72007,3455]
    Meeting:   April 19, 1994, 6:30 p.m.
    Place:     101 First Avenue, Suite 2, Waltham, MA 02154
    CISPaper:  Available on GO CLIPPER, Lib 17, 2 weeks after meeting.
    INTPaper:  FTP samba.iss.uw.edu.pl (CD pub/clipper/bcnn).

    Ed Tiley said it best:  "Visual Objects promises to be the object-
    oriented Clipper that programmers have been waiting and clamoring for
    the last couple of years.  Users of OOPs extensions to Clipper like
    SuperClass and Class(y) will find the transition easier.  Get hold of
    one of these products and begin designing objects now." (Clipper
    Advisor, March/April 1994, p.48).

    Chris Pels will show us OOPS at our April meeting, a practical, example
    based introduction to doing OOP with Clipper 5.2c and Class(y) 2.0d.
    The session will be highly interactive, oriented towards both new and
    experienced object oriented programmers.   Two weeks after the meeting
    a full write-up of the meeting will appear on CompuServe and FTP
    samba.iss.uw.edu.pl (CD pub/clipper/bcnn).

    Note. Special Deal on Class(Y)!  See last month's newsletter for full
    details as to how to order through Chris Pels [73777,3562]


 3. Multi-Location vs. Multi-User Databases  (June Meeting)
    -----------------------------------------------------------------------
    ReplyTo:   Christopher Greene 70304,1472 <70304.1472@CompuServe.COM>
    Meeting:   June 21, 1994, 6:30 p.m.
    Subject:   Lotus Notes & VB

    In June, Chris Greene will lead a discussion on Lotus Notes.  More
    important than a particular vendor's product, Notes represents one of
    the most commercially available implementations of distributed
    databases.  And if you have done any reading in Tom Peter's new book,
    LIBERATION MANAGEMENT (Start with Chapter 8), you'll quickly and
    profitably fuse his concept of adhocracy with that of replicated
    databases.

    As Chris recently wrote,

    'What is Lotus Notes?  How can developers tap into the world of Lotus
     Notes without paying the high initial cost of entry?  How can
     developers expand their business using Visual Basic as the price of
     entry?'

    'Lotus Notes API programmers are earning $1500 per DAY!  Notes is
     booming. Large and small companies are using Notes as the true
     client/server environment. Huge amounts of data need to me moved into
     Notes.  Applications need to be written to overcome the limitations of
     Notes (and there are a few).'

    'I will demonstrate Notes, discuss with you the glue that ties a
     distributed environment into a singular data repository, REPLICATION.
     I will demonstrate a Visual Basic control that opens the world of
     Notes to you. Finally, I will discuss with you the areas of
     opportunity for you as a developer or as an IS employee in the Notes
     world.'


 4. A Better PadSpec()
    -----------------------------------------------------------------------
    ReplyTo: Tom E. Leylan  <tleylan@shell.portal.com>

    //-Replacement for PadSpec() by Popp which doesn't require
    //-Funcky II and provides user-defineable "middle" characters
    //-while significantly reducing string processing
    //-I don't RTRIM the incoming string as did Popp however so if
    //-the user doesn't want trailing blanks to be significant the
    //-user should remove them before calling PadSpec()
    //-Tom Leylan - tleylan@shell.portal.com

    QOUT( PadSpec( "this is a test of the routine", 20, "..." ))

    FUNCTION PadSpec( cStr, nMax, cMid )
       LOCAL nLen := LEN( cStr )
       LOCAL nAmt := ( nLen - nMax ) + LEN( cMid )
       LOCAL nAt  := ROUND( ( ( nLen / 2 ) - ( nAmt / 2 ) ) + .5, 0 )

    RETURN IF( nLen > nMax,;
       STUFF( cStr, nAt, nAmt, cMid ), LEFT( cStr + SPACE( nMax ), nMax )

 5. Technicon'93 Notes:  Session 1006 - Consulting Insider by John Hawkins.
    -----------------------------------------------------------------------
    ReplyTo: Jay Forrest <73707.2010@CompuServe.COM>

    o Deal with the decision makers.  When you deal with someone assigned
      to solve the problem, he will represent you and he can't do that as
      well as you.

    o You are a businessman and own a business.  Deal with the client as a
      peer.  Don't let him treat you as a laborer.

    o Value your time and make sure they do too.  When you get calls for
      help, send them an invoice at your full rate for your minimum time
      (or whatever they consume) EVEN IF YOU WRITE "COMPLIMENTARY" on the
      bill.  It establishes your rate and philosophy and they can hardly
      complain when next time you don't write complimentary on the invoice.

    o Screen potential clients (just like they "screen" you) and don't take
      them on if they don't fit the profile you want.

    o Never use a resume.  It is too much like applying for a job.  You are
      a professional.  Did you ask your lawyer, CPA, or doctor for a
      resume?  Paraphrasing - Think Professional, Be Professional.  If you
      don't respect yourself, how can you expect the client to.


 6. Technicon'93 Notes:  Notes from Phil Schwartz.
    -----------------------------------------------------------------------
    ReplyTo:   Walt Sydoriak <76320.62@CompuServe.COM>

    Advanced Gets.

    It's a lot easier than I thought to modify the get system in order to
    get field messages, a working clock, and screen time-outs.  The key
    lies in adding or changing a line or two to a copy of the GetReader
    function ( near or in the GetApplyKey function).  By providing your own
    inkey() function, it is fairly simple to add a clock to the screen, or
    time out after so many seconds.

    Understanding the CA-Clipper 5.2 ERRORSYS().

    Phil asked us all to "Practice Safe Programming" by keeping the program
    running if at all possible and if not possible to make the correct
    choices in the final moments before your program comes to a grinding
    halt.

    It is possible to provide a more graceful exit by modifying the Clipper
    5.x error object.  For starters, create a error log file to save all
    relevant information during an error.

    It is also possible to create one which will format a diskette during a
    file copy.  It is important to be prepared to handle errors which may
    occur in the middle of processing such as paper running out or a drive
    door being opened during a copy.  The key to handling these errors is
    to correctly interpret the osCode and genCode instance variables from
    the error object.


 7. CISNav:  The New Windows Navigator for Compuserve.
    -----------------------------------------------------------------------
    ReplyTo:   Reg Moseley <72301.1121@CompuServe.COM>
               InfiniTREND Consulting

    Designed to work along side WinCIM, CompuServe's Windows-based
    navigator, CISNav is touted as a Windows batch processor for CIS. It
    does not require WinCIM, but if you already have WinCIM, CISNav will
    install in a subdirectory under the \CSERVE directory created by WinCIM
    and share its other subdirectories (e.g.  SCRIPTS, GIFS and DOWNLOAD).
    CISNav shares WinCIM's modem settings, userid information, and address
    book, therefore eliminating double entry.

    Like WinCIM, CISNav is a Windows program, and one of the few
    communications programs I've seen to take full advantage of the
    graphical capabilities of Windows. The program uses graphical scripts,
    that contain your instructions on what tasks to complete as it
    navigates CompuServe. You build this script (off-line, of course) by
    dragging and dropping forum and/or services from a services window into
    an empty script window.

    Each forum entry becomes a structure can then be expanded and collapsed
    by double clicking, and looks and works very much like the directory
    tree structure in the Windows File Manager.  The forum structure
    contains folders for every relevant CompuServe task, including message
    retrieval, library commands, and options for notices. Clicking the
    folders either expands the branch to reveal more tasks, or opens a
    dialog box. The dialogs allow a surprising amount of customization to
    the script actions. CISNav has dialogs for everything, from ad hoc text
    searches of selected sections, to composition screens for messages and
    EMail.

    This is monumentally easier to do than it is to describe. CISNav starts
    you with a script that is already set up to retrieve your CIS Mail. You
    can add forums to this script and configure them, or start a new script
    and have CISNav automatically open it in a window on startup. Although
    it is somewhat hidden, CISNav has a option to create multiple 'passes'
    for any script, which are different configurations of the same script.
    A drop down list on the CISNav toolbar is used to select which pass to
    run. For example, I have all my scripts setup for the first pass to
    retrieve my mail, message summaries, new file descriptions since my
    last visit, and forum notices. After reviewing this information off-
    line, the second pass uploads any mail and message replies and
    contributed files, and downloads files and message threads I've
    selected.

    As it runs your script, CISNav records its progress in a graphical
    session window, so you can watch the tasks being completed and visually
    debug your scripts while they are running. After the script concludes
    its run, the retrieved items can be reviewed by double clicking on
    their graphical descriptions. Sessions can be saved just like scripts,
    and CISNav will give them the same file name with different extensions
    so you can find them easily.

    Received mail is archived to an In Basket, while Email and message
    replies and upload/download requests are stored in the Out Basket.
    Baskets are fully editable and offer in maintenance options on their
    toolbars. Forum messages and threads are filed in a cabinet containing
    drawers for each forum, making for a handy and well organized
    information management system. The message threads are maintained in a
    expandable/collapsible structure that makes traversing a thread as easy
    as navigating your directory tree in File Manager.  CISNav even ships
    with a utility that allows automated date-and-time stamped launches of
    your scripts from your Windows startup group.

    CISNav has become my every day CIS navigator; I have deleted OzCIS and
    TAPCIS from my hard disk and recycled their install floppies!  The
    Windows interface, drag and drop configuration, extensive options, and
    auto launch capability eclipses any of its DOS or Windows predecessors.

    If you need a second opinion, you can read an industry review in the
    April 1994 issue of Windows Magazine, page 126. CISNav is available
    directly from CompuServe on-line, just type GO CISSOFT. You'll be
    billed $30 to your CIS account and given $10 usage credit, and the
    download time for the software is free. Fear not, CISNav pays for
    itself in the first month if you're a frequent user. I highly recommend
    it!


 8. Position Available: Senior Programmer
    -----------------------------------------------------------------------
    ReplyTo:  Kim Anan
              Scudder, P. O. Box 957, Salem, New Hampshire 03079-0957.
    Fax:      603-890-4153
    Location: Salem NH Office

    This position is primarily responsible for providing advanced
    programming support for the PC Support Group and reports to the
    Supervisor of the PC Support Group.

    This person should have at least five (5) years of programming, program
    design and computer/network hardware experience.  This person should
    have proven proficiency in DOS, DOS command batch files, FoxPro,
    Clipper (or similar database language), Pascal, Windows 3.1, Novell
    3.11 and communications software.  Familiarity with COBOL is a plus.

    The ideal candidate is detail-oriented, comfortable with learning new
    techniques and programs, comfortable with providing hardware support,
    has good people skills, learns quickly, is project oriented, meets
    deadlines and works well in a team environment.  Overtime should be
    expected if necessary to meet deadlines.

    Principal Duties:

    o Program various sophisticated data-base related projects.
    o Act as a project leader for various programming projects.
    o Provide client support.
    o Train members of PC Support Staff on various aspects of networking,
      remote access, programming, hardware and program design.
    o Keep up with those new technologies which will assist the department
      in improving services.
    o Program and maintain an in-house, integrated GIC accounting package.
    o Identify improvements to existing programs and/or procedures.
    o Perform other related duties as assigned.
     9. Position Available: Programmer
    -----------------------------------------------------------------------
    ReplyTo:  Kim Anan
              Scudder, P. O. Box 957, Salem, New Hampshire 03079-0957.
    Fax:      603-890-4153
    Location: Boston, MA Office

    This position is primarily responsible for providing programming and
    technical support to the Collective Investment Team.
    This person should have three (3) years programming experience and a
    very good working knowledge of FoxPro (or similar PC database package)
    and DOS.  This knowledge should include the ability to carry out a
    variety of programming tasks, including the design and implementation
    of custom screens and reports.  The successful candidate should be
    familiar with structured programming concepts and have the ability to
    provide thorough testing of database applications.  In addition, this
    person should have a working knowledge of Novell Netware, PC hardware,
    text editors, Word and/or WordPerfect and Windows.  A degree in
    Computer Science or Information Systems would be a plus.

    The ideal candidate is detail-oriented, comfortable with learning new
    techniques and programs, learns quickly, is project oriented, meets
    deadlines and works well in a team environment.  Overtime should be
    expected if necessary to meet deadlines.

    Principal Duties

    o Program various database-related tasks.
    o Perform software testing.
    o Produce user and technical documentation.
    o Troubleshoot program related problems.
    o Work with program users to identify and implement program
      enhancements.
    o Perform other related duties as assigned.


10. Position Available: Programmer
    -----------------------------------------------------------------------
    ReplyTo:  Kim Anan
              Scudder, P. O. Box 957, Salem, New Hampshire 03079-0957.
    Fax:      603-890-4153
    Location: Salem NH Office

    This position is primarily responsible for providing programming and
    technical support to the Collective Investment Team.

    This person should have three (3) years programming experience and a
    very good working knowledge of FoxPro (or similar PC database package)
    and DOS.  This knowledge should include the ability to carry out a
    variety of programming tasks, including the design and implementation
    of custom screens and reports.  The successful candidate should be
    familiar with structured programming concepts and have the ability to
    provide thorough testing of database applications.  In addition, this
    person should have a working knowledge of Novell Netware, PC hardware,
    text editors, Word and/or WordPerfect and Windows.  A degree in
    Computer Science or Information Systems would be a plus.

    The ideal candidate is detail-oriented, comfortable with learning new
    techniques and programs, learns quickly, is project oriented, meets
    deadlines and works well in a team environment.

    Overtime should be expected if necessary to meet deadlines.

    Principal Duties

    o Program various database-related tasks.
    o Perform software testing.
    o Produce user and technical documentation.
    o Troubleshoot program related problems.
    o Work with program users to identify and implement program
      enhancements.
    o Perform other related duties as assigned.


11. Position Available:  The Vision Financial Corporation.
    -----------------------------------------------------------------------
    ReplyTo:  Bonnie, Becklo, Human Resource Administrator
              55 West Street, P. O. Box 506
              Keene, NH 03431-0506
              Phone:  (603) 357-1450
              Fax:    (603) 357-0250

    The Vision Financial Corporation, a dynamic growth-oriented
    organization, is seeking to fill a position in our Management
    Information Department.  Qualified applicants would have experience in
    application development on the personal computing platform, ideally
    with Clipper.  Experience working in a LAN environment is a plus. The
    idea candidate will possess the following:

    o Proven analytical skills.
    o Ability to perform on an individual and team basis.
    o Life Insurance background.

    Only individuals with the desire to excel in a professional environment
    need apply.  Submit your resume to the attention of the Human Resource
    Administrator.

    Vision Financial Corporation is a Third Party Administrator of
    individual life insurance, specializing in the payroll deduction
    market.

12. Thanks from Russia for Fundraising.
    ----------------------------------------------------------------------
    ReplyTo:  Nickolay A. Sychov >INTERNET:sychov@vki.nsk.su
              President of College of Informatics of Novosibirsk
              State University.

    We are very pleased to inform you that the money you have sent from
    Utah ($675) has arrived at "Sibacadembank". Thank you very much!

    This sum will be used for the training of several gifted students in
    the program "Young Computer Specialists of Siberia". This program is
    quite expensive, and your contribution is considered to be a very
    valuable contribution.

    You organized and completed a wonderful action. We greatly value our
    contacts with you and the understanding and support which we have found
    in you.


13. The Design of Everyday Things:  Book Review.
    -----------------------------------------------------------------------
    ReplyTo:    Richard Sidney of Natick, MA 01760 USA [76436,1740]
    Book:       The Design of Everyday Things
    Author:     Donald A Norman
    Publisher   Doubleday 0-385-29774-6
    Originally: The Psychology of Everyday Things

    This book is a must read for anyone designing user interfaces, whether
    for computers or anything else.  The author discusses designs that work
    in the everyday world.  An eye-opener.  It won't tell you how to design
    your system, but it helps you think about how people use things, and
    you gain insight into the problems you may encounter while designing.

    The author explains the point of the book best in the preface: "This
    book is intended to make you aware of the problems of designers
    interested in improving things."  In another place, "In this book I
    urge designers to think about people, to take their needs and interests
    into account.  I also examine failures of design and show why even the
    best-trained and best-motivated designers can go wrong...".

    Norman goes on to explain why the change in the title is a case in
    point of design problems.  Some of the discussions in book that are
    particularly interesting revolve around the concept of "Human Error",
    "Designing for Errors" and the concepts of "Knowledge in the Workplace"
    "Knowledge in the Head".

    All in all, a very important book for anybody designing things to be
    used in the everyday.


14. Technicon'93 Notes
    -----------------------------------------------------------------------
    ReplyTo: Don Eaton [70253,2632]

    'The CA-Clipper Extend System' by Dave Reynolds.

    C Extend System functions can tell whether a parameter is passed by
    value or by reference by using the following expression:

    parinfo(n) & MPTR      // Where n = # of parameter

    This expression will be true if parameter was passed by reference or
    false if passed by value.

    Don Caton on 'CA-Clipper API'

    o As a rule of thumb for allocating space for data using the API's: If
      data is 256 bytes or less, use the Fixed Memory API functions, else
      if data is over 256 bytes use the Virtual Memory API functions.

    o Objects can't officially be received as parameters in C.  Actually
      they can but this is undocumented and they will appear as arrays.

    o Any Item API functions which return an Item object do an implicit
      malloc() so itemRelease() must be called to release the Item's
      memory.  Since Items are stored in DGROUP this is especially
      important.

    o Clipper arrays referenced in C through Item functions still start
      with 1 as the first element, not 0 as in standard C arrays.

    o EvalLaunch() provides an official way for codeblocks (and hence
      functions) to be run from C functions.

    Steve Straley from 'Advanced Arrays'

    o Arrays CAN be passed by value, not just by reference.  Arrays passed
      by value can have their element values reassigned or elements can be
      added or deleted, but you cannot change the overall array's structure
      or change the base array's address.  Array elements can only be
      passed by value but there is no real reason that compiler couldn't be
      changed to allow them also to be passed by reference.

    o For Init and Exit functions, if you have several of each, the order
      that the functions will be called is the order in which they were
      linked.

    o By placing a call to a PRG's static function in a codeblock and then
      passing it out of the PRG, that function can be called from outside
      the defining PRG.

    o Since Clipper objects are internally arrays, you can aadd() to them.
      This could be the basis for a form of inheritance.  However since it
      is undocumented, this is of course not recommended.


15. Specification for Converting Xbase to C++
    -----------------------------------------------------------------------
    ReplyTo:   Benjamin Har  benjamin@solomon.technet.edu
               57 Nim Road, Nim Park, Singapore 2880
    Telephone: (65)-541-7849
    Fax:       (65)-481-2201

    This RFC proposes a standard for converting Xbase languages to a common
    C++ form.  The aim is to provide a specification: to port Xbase
    applications and programs across hardware platforms, operating systems
    and machine characteristics.  It is hope that this specification will
    enhance compatibility between the different Xbase products available.

    We are considering such things as a Client-Server model for xbase, SQL
    support, GUI type libraries and so on.  If things work out, I think
    this could be just the thing to get the Xbase users out of their
    current predicaments.

    If there is continued interest in what we are doing, I will be glad to
    publish our xbase C++ specifications for further comment and use by
    Internet members.  I've also read that there is some standards
    committee work going looking at the Xbase Language.  Perhaps they might
    be interested in what we have attempted to do.  We would be happy to
    help and support the future of Xbase users as much as possible.


16. BCNN Statement of Ownership, Copyright, and Responsibility.
    ----------------------------------------------------------------------
    The BCNN Newsletter is sponsored by the Xbase User Group of the Boston
    Computer Society.  BCNN is dedicated to keeping professional database
    developers (both consultants and corporate employees) informed about
    educational events, meetings, job openings, world events, notable
    articles, technical tips, new and 'must have' products, etc.

    As an electronic network BCNN is also a hub where developers can
    address world class issues to fellow developers around the world.
    Recipients agree to respond via Email to periodic polls of their
    directions, opinions, and needs. For those who do not have User Groups
    in their areas, BCNN is a vehicle where individuals can volunteer and
    contribute to something larger than themselves.  Over 7,500 persons
    world-wide participate with CA-Clipper, Microsoft Access and FoxPro.

    The newsletter is distributed monthly by electronic mail via CompuServe,
    Internet, FidoNet, and other electronic gateways.  It is free of charge
    to individual developers.  Modest fees are charged to corporations for
    job placement and third-party announcements.  Opinions expressed are
    solely expressed by the authors or by the Xbase Language Group of the
    Boston Computer Society, even in cases where 'Xbase Language Group'
    is abbreviated to 'BCS'.  All materials are copyrighted by the BCS,
    unless otherwise indicated, and free for any user group to
    redistribute on their own BBS on the condition that a by-line
    referencing the BCNN and the individual author are included.

    Les Squires, Director
    Xbase User Group
    c/o Word Jenny, Incorporated
    P. O. Box 126
    29 Brick Kiln Road, Kilnwood
    Center Harbor, New Hampshire 03226-0126 USA
    603-253-6109                  //-Primary Phone & Messages 24 hours
    603-253-7214                  //-Messages Only 24 hours
    603-253-9864                  //-Fax 24 hours a day
    INTERENT:bcnn@World.Std.Com   //-First choice for Email.
    CIS:73020,3435                //-Second choice for Email.

    Boston Computer Society, Inc.
    101 First Avenue, Suite 2
    Waltham, MA 02154
    617-290-5700  General Number
    617-290-5700  Ext. 432 for up-to-date meeting information.

    Add Subscribers:        @BCNN@ClipperYes to bcnn@World.Std.Com.
    Delete Subscribers:     @BCNN@ClipperNo  to bcnn@World.Std.Com.
    Address Change:         Email using OLD Address. Indicate New Address.
    Back Issues:            CompuServe CLIPPER Forum, LIBS 1 and 17.
                            FTP samba.iss.uw.edu.pl (CD pub/clipper/bcnn)

    BCNN Email Services donated by Word Jenny, Inc. LSquires@World.Std.Com

    (c) 1994 Boston Computer Society, Inc.

