------------------------------------------------------------------------------
------------------------------------------------------------------------------
        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                                     January, 1994
A Service of the Boston Computer Society, USA                     Vol.2  No.11
Sponsored by the Xbase Language Group                          Clipper Version
------------------------------------------------------------------------------
 0. Meeting Announcement: The Connecticut Clipper Users Group    **Sample**
    -----------------------------------------------------------------------
    ReplyTo:     George L. Smith [71155,2543], (203) 645-8962
    Date:        January 17, 1994, 6:30 p.m.
    Location:    Quality Inn, Vernon CT
    Directions:  I84 east to exit 63. Left off exit. 1/2 mile on left.

    Successware's own Jeff Jochum will be paying us a visit to talk about
    RDD's. Jeff is a very well known speaker on Clipper subjects.  He is
    the chief architect behind the SixDriver which was partially purchased
    by CA to include as the CDX RDD for Clipper 5.2. Jeff also authored the
    Paradox RDD for Clipper 5.2. Those of you interested in the nature of
    RDDs should definately not miss this one.

    Also a member of our group, Arthur Alexander will be talking to us
    about transaction processing in the Clipper environment.

    Non-members are asked to pay $5 which can be used toward membership
    within 30 days. Membership is $35/year.

    Editor's Note.  Would you like to see YOUR User Group's notice as the
    first paragraph each month?  This service is free to all user groups,
    any city in the world.  Ask your User Group Director.


 1. User Group Meeting:  Windows in 60 Minutes
    -----------------------------------------------------------------------
    ReplyTo:  Les Squires, Program Chair
              CIS:73020,3435 or >INTERNET:LSquires@world.std.com
    Meeting:  January 18, 1994, 6:30 p.m.
    Place:    128 Entrepreneurs Center, 200 Fifth Avenue, Waltham, MA USA.

    At the January meeting we will pass out a 1,000-1,500 record DBF. All
    developers who want to participate are invited to MAKE SOMETHING
    WINDOWS.  Any software (dbFAST, Microsoft Access, Paradox, Fox, Gupta
    SQL Windows, Visual Basic, even Visual Objects for Clipper).  Go to a
    corner of the room.  Pick a table.  Put up your 17" monitor.  Report
    back in 60 minutes.  Other attendees will mill around the room to get a
    flavor for the various approaches.  After 60 minutes we will reconvene,
    hook up 4 or 5 notebooks to the overhead display, and see what each
    person has done with the DBF.

    Yes, John Skelton [100112,3102], you are allowed to use any/all code
    you have now.  There are no other rules.  This isn't even a
    competition, so you can make up your own rules.  Ok, Yair Alan Griver
    [71541,3150], we'll send you a copy of the DBF.  We'll let you know,
    Jeff Winchell [76066,533], how it goes.  Yes, Ken Blackstein
    [76576,1667], you can throw your whole 100,000 line
    Clipper/ProVision/Class(y) arsenal at the task.  You'll get a copy,
    too, Richard L Spence [70471,2725].  Copies of the DBF will be sent via
    CompuServe around the 13th.  Take one hour.  Send back your
    application.  Include a readme.  Recruit a local person to walk us
    through it, if you'd like.  We'll look at what you send and credit you
    in the BCNN report.


 2. February 94 User Group Meeting:  Clipper Tool Exploration
    -----------------------------------------------------------------------
    ReplyTo:  Darren J Forcier  >INTERNET:djf@world.std.com
    Meeting:  February 15, 1994
    Place:    128 Entrepreneurs Center, 200 Fifth Avenue, Waltham, MA USA.

    While we all wait for VO, there are definitely many programming
    solutions available to us as Clipper developers.  In February, Darren
    Forcier assists us in exploring the various Windows programming options
    we have available.  The goal here is not to select the "best" product,
    but rather to survey the tools available and determine which ones can
    help you learn Windows programming _NOW_:  1) Clip4Win 1.2 - Skelton
    Software/Grumpfish's Clipper->Windows library, 2) Dolce Vita (With
    Craig Yellick's La Strada programming guide), and 3) >From DOS - A cool
    library for integrating Windows services into DOS apps.

    Darren will compare and contrast these tools on the following:

    o  The Windows Learning Curve
    o  The Windows API, and how it is accessed via each tool
    o  Product Architecture and features
    o  Porting existing Clipper code concerns and issues
    o  Event Driven Programming under Windows
    o  Portability to VO issues
    o  External Tools needed (linkers, resource editors, debuggers)

    Sample programs will be provided to give everyone an idea of what they
    are getting into with each product.  Time permitting, Darren will also
    discuss some of the other tools available from CA such as CA-DBFAST 2.0
    and CA-REALIZER 2.0, which are also some viable Windows programming
    options.

    This meeting should be fun and extremely informative.  Now is the time
    to embrace Windows, as Windows will definitely play a major role in all
    of our future programming.  Bring an open mind and lots of questions!
    Email your questions by February 13th to bcnn@world.std.com.


 3. Step Into The Future of Desktop Development With OS2 (Part I)
    -----------------------------------------------------------------------
    ReplyTo: Richard Simon [71141,2515]

    Imagine having 4 virtual PCs on your screen, each in its own window
    working on four tasks at the same time. Your are using Microsoft Word
    to write a proposal; while Exospace linking an application; while OSCIS
    is uploading a ZIP file to CIS; and you are processing some data in a
    Clipper App. Sound unreal?  You can do it today with one machine!

    About two months ago I started researching the two major alternatives:
    OS2 and NT. I chose OS2 2.1 after talking to many developers at
    Technicon 93 from around the world who praised OS2 as a stable product
    that is here today and works.  I will continue to look at NT as it
    becomes more mature. I ended up purchasing OS2 2.1 for Windows. This
    OS2 version simplifies the setup of Windows under OS2 and used my
    exisitng version of Windows.  For $49 it was a steal!

    Requirements.  IBM recommends a minimum system: 386SX, 6MB memory, and
    20-40 MB disk free space. I installed on a Gateway 4DX2 66 Eisa with
    SCSI hard disk, 16 MB memory, and 100MB free space. I think that raw
    processing power and memory are essential to good OS2 performance.
    SVGA is also a must with a minimum 15 monitor. SVGA enables you to see
    more detail with several virtual machines in windows on the screen at
    the same time.

    Installation.  Installing OS2, however, is not a task for the faint of
    heart!  Reading the installation guide is enough to scare a
    professional.  However, IBM has an excellent 800 number technical
    support group and you can actually get through with them paying the
    dime. IBM's commitment to OS2 is clearly evident in the quality of this
    support. Don't hesitate to pick up the phone when in doubt.  Also there
    is an excellent support forum on CIS:  GO OS2SUPPORT.

    Bootable Drive/ROM Version.  The installation media must match the PC's
    bootable diskette. I bought the 3.5 version, so I had to reconfigure my
    PC so the 3.5 diskette was the bootable drive.  Second, I considered
    all the warnings about the PC's ROM version, and decided to go ahead
    with fingers crossed!

    Dual Boot or Boot Manager.  This decision affects they way you system
    starts up and how many operating systems you can choose from.  With the
    Boot Manager you can choose among several operating systems (DOS5,
    DOS6, OS2, AIX, etc.).  Also, you must create a separarte 1MB partition
    used by the Boot Manager.  The Dual Boot option does not require a
    special partition, but you can only choose among OS2 and DOS at system
    startup time. Since I was only interested in OS2 and one version of
    DOS, I chose Dual Boot.

    FAT or HPFS?  OS2 supports a more sophisticated file system than DOS-
    FAT, called High Performance File System (HPFS).  HPFS minimizes file
    fragmentation and allows file names up to 254 charactes.  HPFS requires
    that OS2 is installed in a separate disk partition, and consumes 1/2 MB
    of memory. Since, I installed OS2 in my single C drive partition, I
    chose to continue to use the standard DOS FAT.  Maybe on my next
    machine!

    Joys of MultiTasking.  With OS2 up and running, I was ready to
    experience true multitasking on my comptuer. Next month I'll describe
    this experience, particularly what it means to the Clipper developer.


 4. Mini-Devcon:  Every TBROWSE Knows How to Export Itself to Windows.
    -----------------------------------------------------------------------
    ReplyTo:  Les Squires, Program Chair
              CIS:73020,3435 or >INTERNET:LSquires@world.std.com
    Priority: 500 Participants Required.

    It's clear when you start talking about Windows that many Clipper DOS
    applications are not about to be dismantled anytime soon.  Companies
    have tremendous investments in DOS development.  Hardware is often
    inadequate for Windows applications.

    Need for an Intermediate Strategy.  I recently faced a situation in
    which a client with a very large Clipper application required easy
    access to the Clipper data through Microsoft Word, Excel, and Access.
    It was simply out of the question to toss DOS-Clipper and rewrite
    everything.  It was also out of the question to 'attach' the large
    DBFs.  But it was feasible to give users the full range of Microsoft
    functionality if Word, Excel and Access had ready access to the data.

    The application is constructed around TBROWSE.  Users freqently focus
    on as few as 10-15 records scoped and sorted from 750,000 record files.
    Believing that no report writer on the market could extract those 10-15
    records as quickly as TBROWSE can make an export, I designed a CNTRL-P
    hot key in TBROWSE that tosses its current relational dataset to the
    users Windows software of choice.  Most importantly, the TBROWSE export
    is a flat ASCII file--saving naive users from wading through relational
    keys.  The Windows ALT-TAB exchanges Clipper for the Microsoft software
    concurrently in use.  From there users are only a few mouse clicks away
    from a brief list, or a set of mailing labels, or printing a fax
    thousands of miles away.

    I learned something from this experience:  let Clipper be Clipper and
    let Windows be Windows.  Having to decide to scrap DOS Clipper
    applications just to embrace Windows can be wasteful and silly.  They
    CAN co-exist--and very well in some circumstances.

    Are you interested in hearing more?  I'm willing to write write up the
    technique and distribute it via Email if you are interested.  I'll
    provide source code, including the data-driven techniques for
    normalizing the underlying relation, and give plenty of time for
    questions and answers -- just like a Devcon/Technicon!  Via email.

    Here's the deal.  I want your input.  Tell me in a paragraph or two why
    this approach would be of interest to you, how you might use it, and
    how it might contribute your DOS-Windows debates.  Be sure not to email
    proprietary material.  I'd like to quote freely.  The report will be
    made available to those who write.


 5. GUI Front End for Internet and CompuServe
    -----------------------------------------------------------------------
    ReplyTo:  Les Squires
              Internet:    BCNN@world.std.com
              CIS:73020,3435 or >INTERNET:LSquires@world.std.com
    ReplyTo:  David A. Yon, Author, RFDMAIL@World.Std.Com
              Performance Designs
              Concord, Massachusetts USA
    Download: CompuServe in the IBMCOM, WINSHARE, and WUGNET forums.
              GEnie in the WINDOWS and INTERNET roundtables.
              FTP:  world.std.com in /src/pc/email/rfdmail.zip
              FTP:  garbo.uwasa.fi in /windows/comm/rfdml112.zip
    CurrVer:  1.12

    Every once in a while a new product comes along which you should RUN,
    not walk, to get your copy.  Imagine a Windows front-end that works
    with CompuServe, Internet, MCI Mail, GEnie, and with any other BBS for
    which you write script files.  The obligatory functionality is there:
    graphical editing and browsing of letters, file folders, address book,
    carbon copies, automatic polling, individual and batch out box, backup
    and restore of folders, COMM throughput up to 115KB, etc.  Obvious
    places for improvement:  sending of binary files, forum access,
    attachments, and terminal mode.

    The software as slick as any Information Manager on the market.  It's
    shareware.  Around $29.00.  Usable for one month as an evaluation.  You
    can even pay the registration electronically via CompuServe.  Check the
    readmes and WRI files for details.


 6. Detached Locals.
    -----------------------------------------------------------------------
    ReplyTo: Philip K Scott <75460.2010@CompuServe.COM>
             Senior Software Engineer
             Fidelity National Title Ins. Co.
             Mission Viejo, CA

    Jack, one of my office cohorts, tipped me off on a method for creating
    code blocks at run time without macro compiling.  It only works if you
    know the contents of the code block, but the contents of some of the
    variables or array elements are what is needed at run time.  Its
    application may be rare, but it's elegant.

    FUNCTION Func1
     LOCAL aNames := {"BOB","MARY","JOHN","ELLEN"}
     LOCAL aBlocks := {}
     AEVAL( aNames, {|x| AADD(aBlocks, Func2(x)) } )
     RETURN aBlocks

    FUNCTION Func2( cName )
     RETURN {|| QOUT("HELLO" + cName + "!") }

    The memory location for "BOB" is different from the memory location for
    cName in Func2, because "BOB" is passed BY VALUE (a copy of "BOB" is
    made in a new locally scoped variable called cName).  When Func2
    returns, cName is supposed to be released from memory. But CLIPPER is
    smart enough to figure out that before releasing cName, aBlocks in
    Func1 will now be referencing that memory location, and so, it can't be
    released until aBlocks[n] is released. This makes aBlocks[n] the owner
    of a DETACHED LOCAL.

    I use this in a data driven dialog/screen engine that loops through an
    array of screen field definitions, creating GET OBJECTS.  Some of those
    get objects were for custom readers which required complex code blocks
    for the reader block.  In the past I generated a string and then macro
    compiled as a code block and stored it into the get object for the
    reader block.  But now, my DETACHED LOCAL GENERATOR FUNCTION returns a
    code block that is actually compiled at compile time (not run-time!).
    It shaved 25% off of the time spent creating get objects in my
    application.


 7. College of Informatics of Novosibirsk State University
    -----------------------------------------------------------------------
    ReplyTo:  Kathy Kelly BCNN@world.std.com  (for contributions)
    ReplyTo:  sychov@vki.nsk.su (Sychov N.A.)
              Dr. Mishenko A.M.
              Summer School Head

    Last Chance!  Contributions to the computer program at Novosibirsk
    State University in Russia are being closed February 15th.  We're going
    to forward a check soon after that.  Mail your check made out to 'BCS
    Xbase Group' to Kathleen Kelly, Novosibirsk Scholarship, P. O. Box 126,
    Center Harbor, New Hampshire 03226-0126 USA.


 8. Any Hints for '1 Computer Many Users' Problem?
    ---------------------------------------------------------
    ReplyTo:  John F. Shattuck [76116,3325]

    I am helping to automate Federal law enforcement agency at the bottom
    and top.  The problem: in any given site, as many as 1,600 agents may
    use one computer or may use up to 200 computers.  No agent uses the
    same computer over and over.  We must have a DOS/WINDOWS/NOVELL/3270
    desktop that floats from computer to computer.  Furthermore, it means
    that every product we install must not be C: drive based (temps files
    exception).  Most CIS forums discuss the "Fortune 500" solution where
    everyone "owns" their own desktop.  We are on the planet XENON and the
    forums are on planet EARTH.  Any hints on where these discussions are
    taking place that address these "1 computer many users" problems?


 9. Reflections on Windows Experiences
    ---------------------------------------------------------*----------------------------------------------------------------------


-----
    ReplyTo:  Bruce Dunlop <100033.2154@CompuServe.COM>

    I have been learning Access and Visual Basic. The hype about being able
    to put applications together in Access with no coding is untrue for
    anything intended for the real world.

    I am comming to the conclusion that for a Novell Lan environment
    Gupta's SQL Windows front end and NLM database engine would be best for
    development (it has true back end processing and an impressive front
    end development product).

    MS Access is a good product for end users but it is messy for
    development.  Access would be good for allowing users to to do their ad
    hock analysis of information on the NLM database. I understand Gupta's
    NLM database will support ODBC some time in early 1994.


10. Call for Papers Conference to the MAX'94
    -----------------------------------------------------------------------
    Send Proposal To: Ernst P. Tomminga 100042,1760
                      Clipper Developers Group Netherlands
                      Attn. Joop Pecht
                      P.O.Box 506
                      7100 AM Winterswijk
                      The Netherlands
                      Tel. +31-5430-18058, Fax. +31-5430-15399
                      CIS 100114,2535 or 100042,1760

    The Clipper Developers Group Netherlands (CDGN) will organize their
    third annual a Clipper Developers Conference called Conference to the
    MAX'94 (CttM'94), in late April 1994 in the Netherlands. CttM'94 is
    oriented towards the professional Xbase (Clipper) developer.

    We invite people who are interested the give one or more presentations
    to send us a proposal. Conference fee will be waved for speakers. Some
    travel grants are available. Due to the limited number of time slots
    available, not all proposals can be honoured.

    Proposals must include name, telephone, company address, job function,
    relevant presentation experiences, session title, target audience,
    level audience, and an abstract.

    Clipper Developers Group Netherlands is a non-profit, professionally
    organized Clipper user group with about 650 members, representing about
    1000 professional Clipper developers.  CDGN publishes a bi-monthly
    magazine Conference, organizes bi-monthly meetings in a informal
    (Conference LIVE) and formal setting (Conference to the POINT). Last
    CttM was attended by more than 250 people, not including about 25
    speakers from all over the world.


11. Must-Have Book on Legal Issues for Developers
    -----------------------------------------------------------------------
    ReplyTo:   David J. Byer [76304,206]
               Ipswich River Computer Studio, Ipswich, Massachusetts USA
               Internet: dbyer@ircs.com
    Title:     The Software Developer's and Marketer's Legal Companion
    Author:    Gene K. Landy, Attorney at Law
    Publisher: Addison-Wesley, 1993, $34.95, ISBN 0-201-62276-9

    I heard Gene Landy, an attorney at Shapiro, Israel & Weiner, P.C. in
    Boston, speak at a Boston Computer Society Consultants and
    Entrepreneurs User Group meeting and was so impressed that I went out
    and purchased his book.  I recommend this book to all developers as a
    volume they must have on their bookcases. It is 500-plus pages packed
    with information that we all need; a diskette of contract forms; and
    fold-out United States Copyright Office forms. It contains general
    information about issues like when you need an attorney for a
    particular job, what "trade secrets" are, and negotiating tactics. It
    contains practical information about issues like establishing price
    terms, shrink-wrap licenses, and registering your software copyright.
    It also contains the information you need if you are a contractor or if
    you are hiring contractors, if you are a beta tester or are soliciting
    beta testers, if you are a one-person company, a large organization, or
    are thinking about entering the world of software development.


12. My heart sticks with clipper. . . and DBFAST.
    -----------------------------------------------------------------------
    ReplyTo:  Frank Heinevetter <100023.1506@CompuServe.COM>

    Please kick me off the distribution list of Microsoft ACCESS. I feel
    ACCESS is a great product, but my heart sticks with clipper.

    Incidentally, I haven't read anything on dBFast 2.0 on your letters.  I
    think it is worth taking a look at that product. It is VERY easy to
    create Windows-like applications in a snap.  Of course you have to get
    used to all the new features, but I, as a non-Windows programmer, was
    able to put my first Windows application to work just 4 hours after
    installing dBFAST 2.0 on my computer.


13. Japanese Language Applications in Clipper 5.0
    -----------------------------------------------------------------------
    ReplyTo: Michael Hancock <71651.333@CompuServe.COM>

    We've found that with DOS/V's kanji support we can help foreign
    companies with local applications.  The choices before DOS/V were
    pretty proprietary.  For example, the largest selling PC in Japan is
    the NEC 9800 which is not compatible with what we are accustomed to
    using.  Its also a nightmare to port applications to.

    We can write DOS/V applications using Clipper by using the PCBIOS
    screen drivers and adding a few kanji handling functions to our
    library.  Its also very easy to modify the GETSYS to handle kanji a
    little better.  To clarify, you should modify the GETSYS to skip 2
    bytes when a cursoring on a kanji character.  Kanji takes up 2 bytes so
    you need to handle backspacing, deleting, and cursoring a little
    differently, but its not as hard as you would think.

    Windows applications can be much easier to write for or port depending
    on how you write your applications.  If you program in C you should put
    your all your strings in a resource file.  Then a lot of your work
    simplifies to a translation job.  A lot of the kanji handling is built
    into Japanese Windows 3.1J.  Can you imagine TrueType kanji fonts?
    Windows 3.1J has them.

    I'm sure there are other developers out there with experience in
    developing double byte applications.  Umm...  I wonder how many?


14. RDD Performance Tests
    -----------------------------------------------------------------------
    ReplyTo: Ron Dace, Manager, Information Systems [76256,2415]
             Tim Payne, Programmer/Analyst
             Illinois Commerce Commission
             527 E. Capitol
             Springfield, IL 62794

    The Illinois Commerce Commission conducted a test of various RDD's to
    determine relative performance and the rate of performance degradation
    under load.  The intent was to simulate standard application behaviors
    (scatter/gather, cascade updates, parent/child relationships etc.) on a
    live network rather than conduct optimized benchmark testing.

    Environment:  The ICC has multiple servers running Novell 3.11
    connected to a TCNS fiber backbone.  Various workstation configurations
    (286, 386 and 486) are connected to 16 bit TC ArcNet using enhanced
    drivers.  The test involved using the same set of workstations
    connected to three different servers accessing data and executables on
    a single server under normal network activity from other users.
    Workstations were connected to 486/33 servers, the data and executables
    resided on a 386/33 server.

    Data:  Three dbfs with a parent-to-2-children relationship on a single
    unique key were used.  A separate subdirectory was maintained for each
    type of RDD tested (i.e. NTX, CDX, NSX, MDX ).  Statistics were
    maintained in two dbfs and test configuration information in another.

    Process:  A separate executable was created for each driver using the
    recomended link script.  A baseline was established for each driver
    using the same workstation.  Statistics were compiled for 1, 6, 12 and
    18 workstations running the same test.  The tests were as follows:

    Scroll:  Beginning at a random location in the parent file, a fixed
    number of records were skipped one at a time.

    Random:  A fixed number of random explicit seeks to were performed.

    Change Key:  The key field linking the parent and the child dbfs was
    changed and each file updated for a fixed number of records per
    cycle.

    Append:  A new record was appended to the parent and each child and
    new data replaced in the records.

    Each test displayed information on the screen from the parent and
    both children for each record.  The time to complete the cycle and
    the number of records skipped were written to a statistics file and
    the performance measured in records/second/workstation.  The length
    of time in each test varied, but was of sufficient duration for
    variations in performance to stabalize.

                           DBFNTX Database Driver
                        (Records/Second/Workstation)

      # Wkstns   Scroll     Random Change Key     Update     Append
          1       22.04      21.21       4.46       8.51       4.89
          6       12.32       5.68       0.87       1.62       2.22
         12        5.81       2.14       0.35       0.68       0.99
         18        3.59       1.19       0.24       0.46       0.62


                        Advantage XBase Server (NTX)

      # Wkstns   Scroll     Random Change Key     Update     Append
          1       34.39      25.01       6.11      10.93       9.45
          6       17.91       9.90       2.17       5.98       4.87
         12       11.06       5.46       1.14       3.48       3.23
         18        8.99       3.88       0.77       2.31       3.41


                        SIXCDX Database Driver

      # Wrkstns  Scroll     Random Change Key     Update     Append
          1       13.13      11.21       3.37       6.58       2.56
          6        6.80       4.60       0.98       4.09       1.33
         12        4.17       2.13       0.45       2.45       0.83
         18        1.87       1.23       0.29       1.60       0.53


                        Advantage XBase Server (CDX)

      # Wrkstns  Scroll     Random Change Key     Update     Append
          1       32.13      23.87       6.05       9.76       6.31
          6       15.50       9.61       1.87       4.72       2.33
         12       10.48       5.96       1.08       2.84       1.34
         18        8.40       5.02       0.73       2.02       1.04


                 Performance Degradation of Scroll Test by RDD
                       (Records as a percent of Baseline)

     # Sta DBFNTX  % of 1  AXSNTX  % of 1  SIXCDX  % of 1  AXSCDX  % of 1
       1    22.04  100.00   34.39  100.00   13.13  100.00   32.13  100.00
       6    12.32   55.90   17.91   52.08    6.80   51.79   15.50   48.24
      12     5.81   26.36   11.06   32.16    4.17   31.76   10.48   32.62
      18     3.59   16.29    8.99   26.14    1.87   14.24    8.40   26.14


           Total Records Processed per Second for Scroll Test by RDD

     # Sta DBFNTX   Total  AXSNTX   Total  SIXCDX   Total  AXSCDX   Total
       1    22.04   22.04   34.39   34.39   13.13   13.13   32.13   32.13
       6    12.32   73.92   17.91  107.46    6.80   40.80   15.50   93.00
      12     5.81   69.72   11.06  132.72    4.17   50.04   10.48  125.76
      18     3.59   64.62    8.99  161.82    1.87   33.66    8.40  151.20

    Comments:  There are still a few observable phenomena that we haven't
    identified the cause.  1) The records/second rate on a scroll starts
    high, decreases for a while and then starts to increase again.  2)
    there is a visible pause periodically throughout the test (could be VM
    swapping, garbage collection).  Server utilization on the 386/33 hit
    99% with the AXS NLM loaded and 18 workstations running the test.

    Observation:  The Advantage XBase Server (AXS) yielded higher
    performance and a lower degradation rate than the other RDDs in our
    test environment. The total records processed for all workstations per
    second continued to increase for the AXS RDD but reached a maximum and
    began to decline for other RDDs.


15. *New Service*  BCNN Back issues FTP Downloads via SAMBDA.
    -----------------------------------------------------------------------
    ReplyTo: David J. Byer        dbyer@ircs.com

    Grant McHerron, Cezar Cichoki and I have successfully created a
    directory for Internet users to retrieve files distributed by BCNN.
    Back issues of BCNN are available.

    CEZAR@PSYCH2.PSYCH.UW.EDU.PL resides on a Warsaw University computer in
    Poland.  The network address is samba.iss.uw.edu.pl. It also carries
    many of the updates and patch files as well as demos, samples of OOP
    within Clipper, etc. which have been uploaded by various Clipperheads
    on the net.

    Use FTP or NCFTP to access SAMBA.  Read Grant's article in BCNN 10/93
    for full details on how to use FTP.  Here are some FTP essentials:

    ftp samba.iss.uw.edu.pl       //-Enter full login name as password.
    ftp> cd pub/clipper/bcnn      //-Change directory to BCNN.
    ftp> dir                      //-Look at available files.
    ftp> get bcnn0893.txt         //-Retrieve contents.
    ftp> quit                     //-Terminate FTP session.

    Editor's Note.  Back issues of the BCNN Jan-September, 1993 are
    available on CIS->CLIPPER LIB 1.  Subsequent issues have been moved to
    LIB 17.


16. Hiding DBF's from dBase.
    -----------------------------------------------------------------------
    ReplyTo: Adam T Winter <71022.703@CompuServe.COM>

    I needed to hide our DBF's from eager users who wished to use the DBF's
    for systems not approved by us, but didn't really like the idea of
    encryption because we do at times need to look at the data remotely.  I
    was not too concerned with them unraveling what we do, because foul
    play stops the system, but on the other hand I didn't like the idea
    that anyone with dbase or R&R could access the .DBF's.

    Changing the first byte of the DBF could create confusion since the
    system can be multi-user (and I didn't feel like creating the logic to
    deal with who had to close everything up - and what if the last person
    rebooted).

    The code to fake encryption is found below.  It changes the 16th byte.
    Now dbase and R&R report "database encrypted," but Clipper ignores that
    byte.  So far our application is running fine.

    PARAMETER cdbf
    lockdbf(cdbf)
    RETURN

    proc lockdbf (cdbf)
      LOCAL Handle, buffer := " "

    IF ((Handle := FOPEN (cdbf, 2)) > -1 )
         FREAD (Handle, @Buffer,1)
         FSEEK (Handle, 15, 0)
         FWRITE (Handle, CHR(12))
         FCLOSE (handle)
         ? "Database " + cdbf + " locked"
    ELSE
         ? "Did not work"
    ENDIF
    RETURN


17. FUNCTION AddMonth
    -----------------------------------------------------------------------
    ReplyTo: Mike Meinz <76047.46@CompuServe.COM>

    The ADDMONTH function found in CLIPPER5\SOURCE\SAMPLE\DATE.PRG doesn't
    work correctly for some dates.  Here is my correction.

    FUNCTION AddMonth
    =================
    Purpose:  Calculate a new date by adding a number of months to a date.
    Input:    Date
              Number of Months to Add
    Output:   New Date
    Warning:  nIncrement must be >= Zero

    FUNCTION AddMonth(dDate,nIncrement)
    LOCAL nMonth
    LOCAL nLimit    := 12-(nMonth:=MONTH(dDate))+1
    LOCAL nYearAdd  := MAX(0,INT((nIncrement+11)/12)-1)
    LOCAL nMonthAdd := ((nIncrement-1)%12)+1
    RETURN CTOD( ;
           STR((((nMonth+nMonthAdd-1)%12)+1),2)+ ;
           "/"+ ;
           STR(DAY(dDate),2)+ ;
           "/"+ ;
           STR((YEAR(dDate)+nYearAdd+ ;
           IIF(nMonthAdd>=nLimit,1,0)),4))


18. 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 5,400 persons
    world-wide participate with CA-Clipper and Microsoft Access.

    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 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 BCS is
    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 a day
    603-253-7214  Messages Only 24 hours a day
    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.
    One Kendall Square
    Cambridge, Massachusetts 02139 USA
    617-252-0600  General Number
    617-621-0881  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.
    Back Issues:            LIB 1 on CIS->CLIPPER Forum
                            FTP samba.iss.uw.edu.pl (CD pub/clipper/bcnn)

    (c) 1994 Boston Computer Society, Inc.


