Subject: Linux-Misc Digest #863
From: Digestifier <[email-masked]>
To: [email-masked]
Date: Sun, 2 Oct 94 00:13:15 EDT

Linux-Misc Digest #863, Volume #2                 Sun, 2 Oct 94 00:13:15 EDT

Contents:
  Re: unctrl.h: No such file or directory (Matthew Hannigan)
  Re: [Q] Anyone working on aOpenGL port ? (Matthew Hannigan)
  Re: Split this group! (.help) (Mr D R Barlow)
  Re: Linux, 40,000 Cover CD's (Stuart Booth)
  dstool binary anyone ? (Vince Taluskie)
  Re: Where did you buy Motif? (Brian Weaver)
  Re: QNX, Linux, or 386BSD? (Jason Fordham)
  Re: Yggdrasil Linux Plug and Play CD ver1.1 ? (Robert Willett)
  Dynamic IP PPP server (Richard Farrar)
  Re: unctrl.h: No such file or directory (Zeyd M. Ben-Halim)
  Re: P5-90 MHz beats SGI R4000-100MHz. (Valery Petrov)
  X Font Creation? (Benedict J Raia)
  SEMINAR: LINUX - A UNIX Clone. 10/5. By ILA (Charles Liu)
  Re: SCO WordPerfect: does it run on Linux? (Robert Bruce Prior)

----------------------------------------------------------------------------

From: [email-masked] (Matthew Hannigan)
Subject: Re: unctrl.h: No such file or directory
Date: Sat, 1 Oct 1994 17:11:07 GMT

[email-masked] (Zeyd M. Ben-Halim) writes:

>Programmers should not use <ncurses/ncurses.h>. stick to <ncurses.h>
>and use -I/usr/include/ncurses to direct the compiler to the correct
>directory.

But if you do this, then isn't it possible that
you might include other stuff in /usr/include/ncurses/
that you might not want?

e.g. you might #include <termcap.h>, and get the one in
the ncurses directory rather than the one in /usr/include/.
(They're different on my system, I don't know how much
that matters)

I just have a feeling that it is safer to #include <pkg/somefile.h>
in general rather than -I/usr/include/<pkg> , #include <somefile.h>

--
        -Matt Hannigan

------------------------------

From: [email-masked] (Matthew Hannigan)
Subject: Re: [Q] Anyone working on aOpenGL port ?
Date: Sat, 1 Oct 1994 17:21:20 GMT

[email-masked] (Harald Milz) writes:

>Subject sez all: Is anyone working on an OpenGL port for Linux? I mean
>the 3D part, not the 2D implementation.

You might want to join the freegl mailing list;
try mailing to:
         [email-masked]

Regards,
        -Matt

------------------------------

From: [email-masked] (Mr D R Barlow)
Crossposted-To: comp.os.linux.help
Subject: Re: Split this group! (.help)
Date: 1 Oct 1994 18:59:59 +0100

In article <[email-masked]>,
        [email-masked] (Ian T. Zimmerman) writes:
>
>Folks, this newsgroup can net ~400 messages a day! That's just TOO 
>f#!@$#ing MANY! I vote will all my extremities to split.

Into what?  Maybe we could split into
comp.os.linux.help.havereadthefaq
comp.os.linux.help.lazy
comp.os.linux.help.hey-isnt-doom-great

Problem is (can I remove a file called kcore in my 'proc' directory?)
the second would be declared bogus does to lack of traffic.

Seriously.  What do you suggest?

Daniel
[followups to .misc, as this isn't really a help issue]

------------------------------

From: [email-masked] (Stuart Booth)
Subject: Re: Linux, 40,000 Cover CD's
Reply-To: [email-masked]
Date: Tue, 20 Sep 1994 12:32:37 +0000

In article <[email-masked]>
           [email-masked] "A.P. Crossan" writes:
> 
> > When is it supposed to be on the shelves? And what issue should I
> > ask for?
> 
> I mailed lasermoon this question, but I'm still waiting a reply.
> 
> The latest edition of PC-PLUS states that they are changing the publication
> date. The November copy will not appear until 1st of that month -- quite a
> wait :-(

That PC-PLUS edition...

It's on the shelves in the UK *NOW* - I have a copy of the CD-ROM on my desk,
and the mag's at home!

Wahey!

-- 
Stuart Booth
[email-masked]

------------------------------

From: [email-masked] (Vince Taluskie)
Subject: dstool binary anyone ?
Date: 30 Sep 1994 21:09:26 GMT

Anyone have an installation of dstool properly compiled and configured
that they can make available.  I remember that I got one ages ago that
was well setup until a professor removed it to make space for other
programs...

Vince
-- 
Vince Taluskie
UT Physics Computer Group     [email-masked]
UNIX Systems Administration   http://www.ph.utexas.edu/~taluskie/home.html
 
   "It's easier to be a result of the past than a cause of the future"

------------------------------

From: [email-masked] (Brian Weaver)
Subject: Re: Where did you buy Motif?
Date: 1 Oct 1994 18:18:16 GMT

Bought it from [email-masked]

Michael P. Jarreau ([email-masked]) wrote:
: I need to buy Motif and I need recommendations on distributors.

: Any thoughts?

: Thanks,
: Michael
: [email-masked]

--
===========================================================
Brian Weaver                               wk. 303-491-0352
Systems Administrator                     fax. 303-491-1245
Veterinary Teaching Hospital
Colorado State University    [email-masked]
===========================================================

------------------------------

From: [email-masked] (Jason Fordham)
Crossposted-To: comp.os.qnx,comp.os.386bsd.misc
Subject: Re: QNX, Linux, or 386BSD?
Date: 1 Oct 1994 11:39:13 -0700

In article <[email-masked]>, Dan Pop <[email-masked]> wrote:
>You forgot to tell us what you mean by "the best unix operating system".
>Or specify a method of comparing two OS's. So, your question is 
>meaningless.

Ahhh... a Wittgenstien rebuttal, I think...

------------------------------

From: [email-masked] (Robert Willett)
Subject: Re: Yggdrasil Linux Plug and Play CD ver1.1 ?
Reply-To: [email-masked]
Date: Sat, 1 Oct 1994 18:40:52 +0000

In article <[email-masked]>
           [email-masked] "Jeff Kesselman" writes:
> > [Stuff Deleted]
> > it can't seem to install packages from the
> >control panel in X-Windows like it says it can.  I don't know why this is; I
> >just never had any luck making it work.

I had problems with that, I ended up deleting the links back to the CD-ROM
from the directory and it's worked eversince.
-- 
Robert Willett
============================================================
"Life is too short to spend on the Internet"

------------------------------

From: [email-masked] (Richard Farrar)
Subject: Dynamic IP PPP server
Date: 1 Oct 1994 18:23:28 GMT

I am looking for information on how to set up my linux box as a
dynamic IP ppp server for dial in. Currently I am set up for dump terminal
dial in. PPP is complied in my kernel 1.1.51 and is running. I would like 
to offer PPP dial in for Mosaic users. I've RTFM net-2-howto and the readme from 
ppp-2-1-2a and all they talk about is how to dial into a DYN ppp server,
but not how to configure your box to be a dynamic IP PPP DIAL IN SERVER.

Can Any One Provide Some Help, Thanks

[email-masked]

------------------------------

From: [email-masked] (Zeyd M. Ben-Halim)
Subject: Re: unctrl.h: No such file or directory
Date: Fri, 30 Sep 1994 02:33:54 GMT

In article <[email-masked]>,
zachary brown <[email-masked]> wrote:
>Hi. Has anyone seen this? I #include <ncurses/ncurses.h> and compile
>with -lncurses, but I get an error saying it can't find unctrl.h.
>
>If I make a link from /usr/include/ncurses/unctrl.h into /usr/include,
>everything works fine.
>
>I use a recent Slackware on a 386 with kernel 1.1.18.

Programmers should not use <ncurses/ncurses.h>. stick to <ncurses.h>
and use -I/usr/include/ncurses to direct the compiler to the correct
directory.

Zeyd

-- 
---
Zeyd M. Ben-Halim       [email-masked]
NCURSES is available from ftp.netcom.com:pub/zmbenhal/ncurses
Current version is 1.8.5

------------------------------

Subject: Re: P5-90 MHz beats SGI R4000-100MHz.
From: [email-masked] (Valery Petrov)
Date: Thu, 29 Sep 1994 16:18:40 GMT

In article <[email-masked]>, [email-masked] (Larry Pyeatt) writes:
|> In article <[email-masked]>, [email-masked] (Valery Petrov) writes:
|> |> Some benchmarks comparison:
|> |> 
|> |>                   DELL XPS-90      SGI with R4000 cpu (100MHz):
|> |> Integer:          19.2 sec.               23.3 sec.
|> |> Floating point:           200 sec.                199 sec.
|> |> 
|> |> I used gcc-2.5.8 with Linux-1.1.51 on DELL's Pentium and C 3.18 with
|> |> Irix 5.2 on Silicon Graphics machine. Programs were written in plain
|> |> C using double precision for floating point. Considering 
|> |> the price difference (similarly equipped SGI is ~3 times more expensive)
|> |> I wonder who whould like to buy those Indigos nowdays. 
|>             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|> No one.  The SGI you are describing is outdated and not sold anymore.

I saw it in the recent SG flyer for ~$12,000. Add to this the price
of software and you get triple.

|> Funny how a top of the line PC is being compared to something that
|> is too slow to be a workstation anymore.
|> 
|> 1. the MIPS R4000 is hardly the fastest processor made by MIPS.  The
|>    Indego line is several years old whereas Pentium 90 is new.  If you
|>    want to compare apples to apples, use a new Indy with a MIPS R4600
|>    processor at 166 Mhz.  It blows the doors off Pentium 90.  Would you
|>    like to send your code to me so I can run it on a new SGI machine?

This is the code to I've used to test floating point performance. I would
appreciate if you post your results for R4600.
On R4000 it gives:
timex:
real     3:37.38
user     3:13.71
sys        10.37

!!! Use user+sys = 203 sec as a run time.

SGI -R4000 hinv:
1 100 MHZ IP20 Processor
FPU: MIPS R4010 Floating Point Chip Revision: 0.0
CPU: MIPS R4000 Processor Chip Revision: 2.2
On-board serial ports: 2
On-board bi-directional parallel port
Data cache size: 8 Kbytes
Instruction cache size: 8 Kbytes
Secondary unified instruction/data cache size: 1 Mbyte
Main memory size: 32 Mbytes
Integral Ethernet: ec0, version 1
CDROM: unit 4 on SCSI controller 0
Disk drive: unit 1 on SCSI controller 0
Integral SCSI controller 0: Version WD33C93B, revision C
Iris Audio Processor: revision 10
Graphics board: GR2-XZ
Galileo video: unit 0, revision 2

On DELL XPS-90 (256K cache 16M RAM) compiled with pentium NONoptimized gcc2.5.8
program runs 224 sec. ( A bit different then I had before but still it makes a point)

Integer point on DELL is 20% faster! 

**************************************************************************

/*I assume no responsibilty if you kill yourself trying to make this program
run faster or trying to figure out how it works.
You MAY NOT use it for any purposes other then benchmarking */

/* Propagation of the flame front with diffusion induced instabilities */
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
#include <math.h>
#define mx 400
#define my 81
    double h[mx][my], h1[mx][my], f[mx][my], f1[mx][my];
    double f2[mx][my], h2[mx][my], f3[mx][my], h3[mx][my];
    double A[mx][my], B[mx][my], W[mx][my];
    double A2[mx][my], B2[mx][my], timeser[100];
    double ah[mx], af[mx], bh[mx], bf[mx], ch[mx], cf[mx], bfe[mx], bhe[mx];
    double dfl[my], d21[mx], d2_1[mx], d2[mx], s[mx], d[mx];
    double ly = 60.0, eps = 0.15, del = 1.25, v = 0.337, va, xmin;
    double hx = 0.20, hy, alff, alfh, tref = 0.0, tpr = 50.0, t, dt, avgdfl;
    double  g = 0.00, sflx = 0.00, toler = 3.0e-6;
    FILE *fpw, *fpw1, *fpw2, *fpw3, *fpw4, *fpr, *fpr1;
    long int  n, ntot, nref, kiter = 0;
    int niter, ie, je;
    double  ttot,  ftr, s1, ds, dv, dt1, t1 = -100.0;
    double x0, x1, x2, tst = -3000.0, tch = 60000.0, errt;
    double ReacTerm();
    double ErrChk();
    int mxctr = 100, mcut = 98;

 void main(argc, argv)
 int argc;
 char *argv[];
  {
    int i, j, k = 0;
    char  str1[30], str2[30], str3[30], str4[30];

     if( argc > 1 )  { fpr1 = fopen(argv[1], "r"); } 
     /* Read the data from Flame.in */
    /*  fscanf(fpr," %lf %lf %lf %lf\n",&ly, &ttot, &dt, &sflx ) ; */
      ttot = 3.0e8;
      ly = 109.3;
      dt = 0.1;
      sprintf(str1,"./Fl%.f_%.2fbif.dat",ly, del);
      sprintf(str2,"./Flm%.f_%.2f.ts",ly, del);
      sprintf(str3,"./Flm%.f_%.2f.dat",ly, del);
      sprintf(str4,"./Flm%.f_%.2f.sav",ly, del);
      fpw = fopen(str1, "w");
      fpw1 = fopen(str2, "w");
      fpw2 = fopen(str3, "w");
      fpw3 = fopen(str4, "w");
      fpw4 = fopen("MOVIE.DAT", "w");

     fprintf(fpw,"@TYPE nxy \n");
     fprintf(fpw2,"@TYPE nxy \n");
     fprintf(fpw4,"Ly = %lf \n", ly);

    Seth();

    if ( argc < 2) {         /* Initialize if initial data not provided */
       Inset();
     } else {
       PullDat();
     }

     t = 0.0;
     printf("Data: Ly = %lf, time = %lf\n", ly, t);

    while(t < 100.0) {
       sflx = 0.0;
      Step();
         t += dt ;
         n ++;
     }
       WriteData();
       Exit();
}

Seth ()     /* Set some constants */
  {
    int i;
        dt *= 0.5;

        hy = ly/(my - 1);
        alfh = dt/hy/hy;
        alff = alfh*del;
        for( i = 0; i < mx; i++) {

  /* 1st Nonlinear grid */
  /*   s[i] = hx*(i - mxctr + exp((i-mx+38)/8.0) - exp((i-mx+14)/4.0)); */

  /* 2nd Nonlinear grid */
         s[i] = hx*(i - mxctr + 0.0*log(1.0 + exp(0.5*(i - mx + 8)))  );
         s[i] -= hx*50.0*log(1.0 + exp(5 - i));

         if ( i > 0 ) { d[i-1] = s[i] - s[i-1] ; }
         }

        for( i = 1; i < mx - 1; i++) {
        d21[i] = 2.0/(d[i]*(d[i]+d[i-1]));
        d2_1[i] = 2.0/(d[i-1]*(d[i]+d[i-1]));
        d2[i] = -2.0/d[i]/d[i-1];

        cf[i] = -dt*d21[i]*( del + d[i-1]*v*0.5);
        ch[i] = -dt*d21[i]*( 1.0 + d[i-1]*v*0.5);
        bf[i] = 1.0 - dt*d2[i]*( del - (d[i]-d[i-1])*v*0.5) + 2.0*alff;
        bh[i] = 1.0 - dt*d2[i]*( 1.0 - (d[i]-d[i-1])*v*0.5) + 2.0*alfh;
        af[i] = -dt*d2_1[i]*( del - d[i]*v*0.5);
        ah[i] = -dt*d2_1[i]*( 1.0 - d[i]*v*0.5);

        }
        ah[0] = 0.0;
        bh[0] = 1.0;
        ch[0] = 0.0;

        af[0] = 0.0;
        bf[0] = 1.0;
        cf[0] = 0.0;

        ah[mx-1] = 0.0;
        bh[mx-1] = 1.0;
        ch[mx-1] = 0.0;

        af[mx-1] = 0.0;
        bf[mx-1] = 1.0;
        cf[mx-1] = 0.0;

        dt /= 0.5;
  }

Inset()      /* Set initial concentration and temperature profile */
{
  int i, j;
     for( i = 0; i < mx - 1; i++)
       {
        for( j = 0; j < my; j++)
          {
           if( s[i] > 0.0 ) {
            f[i][j] = 1.0 - exp(-v*s[i]/del);
            h[i][j] = (1.0-eps)*exp(-v*s[i]) + eps;
            } else {
            f[i][j] = 0.0;
            h[i][j] = 1.0;
              }
          }
       }

        for( j = 0; j < my; j++)
          {
            f[mx-1][j] = 1.0;
            h[mx-1][j] = eps;
           }
        for( j = 0; j < (my-1)/2; j++)
          {
           for( i = 0; i < mx - 1; i++)
            {
             f[i][j] = f[i+1][j];
             h[i][j] = h[i+1][j];
            }
         }
 }

PullDat()    /* Read conc. & temp. data from specified file */
 {
  int i, j;
    for( j = 0; j < my; j++) {
      for( i = 0; i < mx; i++) {
          fscanf(fpr1,"%lf %lf\n", &f[i][j], &h[i][j]) ;
         }
       }
 }

WriteTS()   /* Write information about minimum position */
 {
  int i, j;
       for( j = 1; j < my-1 ; j++)
         {
           if(dfl[j] < dfl[j-1] && dfl[j] < dfl[j+1])
              {
               xmin = (j-1)*hy + 0.5*hy*( 4.0*dfl[j] - 3.0*dfl[j-1] - dfl[j+1])/  \
               (2.0*dfl[j] - dfl[j-1] - dfl[j+1]);
               xmin /= ly;
               fprintf(fpw1," %lf %lf\n", t - tch + 100000.0, xmin);
              }
          }
         fflush(fpw1);

 }

WriteData()    /* Save data when calculation finished */
 {
  int i, j;
  double xp, yp;
     for( i = 0; i < mxctr + 30; i += 2 )
       {
       fprintf(fpw1,"@TYPE nxy \n");
        for( j = 0; j < my; j++)
         {
          xp = 0.5*hy*j + s[i];
          yp = h[i][j] + 0.001*hy*j;
          fprintf(fpw1,"%lf %lf\n",xp,yp);
         }
        fprintf(fpw1,"&\n");
       }

     for( j = 0; j < my; j++ ) {
       fprintf(fpw2,"%lf %lf \n", j*hy, dfl[j] );
       }

     for( j = 0; j < my; j = j + 2) {
       fprintf(fpw1,"@TYPE nxy \n");
       for( i = 0; i < mx; i++ ) {
         xp = 0.5*hy*j + s[i];
         yp = h[i][j] + 0.001*hy*j;
         fprintf(fpw1,"%lf %lf\n",xp,yp);
        }
       fprintf(fpw1,"&\n");
     }
       fprintf(fpw2,"L\n@TYPE nxy\n");
     for( i = 0; i < mx; i++ ) {
     fprintf(fpw2,"%lf %lf %lf\n",s[i], f[i][30], h[i][30]);
      }

    for( j = 0; j < my; j++) {       /* Save data for next restart */
       for( i = 0; i < mx; i++ ) {
        fprintf(fpw3,"%lf %lf \n",f[i][j], h[i][j]);
       }
     }

 }

FindDfl()   /* Finds position of deflection point of temp. profile */
 {
  int i, j;
  double dd[mx];
  avgdfl = 0.0;
    for( j = 0; j < my; j++ ) {
      dfl[j] = 0.0;
      for( i = mxctr - 40; i < mxctr + 40; i++ ) {
       dd[i] =  h[i+1][j]*d21[i] + h[i-1][j]*d2_1[i] + h[i][j]*d2[i];
         if( i > mxctr - 39 ) {
           if( dd[i]*dd[i-1] < 0.0 ) {
              dfl[j] =  s[i-1] - d[i-1]*dd[i-1]/(dd[i] - dd[i-1]);
            }
          }
       }
     avgdfl += dfl[j];
     }
    avgdfl /= my;    /* Calculate average position */
 }

Peptdag(a,b,c,d,e,rs,u,k)  /* Solves peptadiagonal system of equations */
 double *a, *b, *c, *d, *e, *rs, *u;
 int k;
 {
  double rtc;
  int i2;
    for( i2 = 0; i2 < k-2; i2++ ) {
      if(c[i2] == 0.0) { printf(" Failure in Peptdag, i2 = %d\n", i2); }
        rtc = 1.0/c[i2];
        d[i2] *= rtc;
        e[i2] *= rtc;
        rs[i2] *= rtc;
        c[i2 + 1] -= d[i2]*b[i2 + 1];
        d[i2 + 1] -= e[i2]*b[i2 + 1];
        rs[i2 + 1] -= rs[i2]*b[i2 + 1];
        b[i2 + 2] -= d[i2]*a[i2 + 2];
        c[i2 + 2] -= e[i2]*a[i2 + 2];
        rs[i2 + 2] -= rs[i2]*a[i2 + 2];
      }

       d[k-2] /= c[k-2];
       rs[k-2] /= c[k-2];

       c[k-1] -= d[k-2]*b[k-1];
       rs[k-1] -= rs[k-2]*b[k-1];

       u[k-1] = rs[k-1]/c[k-1];
       u[k-2] = rs[k-2] - u[k-1]*d[k-2];

     for( i2 = k; i2 > 2; i2-- ) {
       u[i2-3] = rs[i2-3] - u[i2-2]*d[i2-3] - u[i2-1]*e[i2-3];
     }
 }

ErrExit(ie, je)
int ie, je;
{
 int i,j;
     for( j = 0; j < my; j++ ) {
 fprintf(fpw2,"%lf %g %lf \n", j*hy, (h[ie][j]-h1[ie][j])/toler, h[ie][j]);
       }
       fprintf(fpw2,"&\n@TYPE nxy\n");
     for( i = 0; i < mx; i++ ) {
 fprintf(fpw2,"%lf %g %lf \n", s[i], (h[i][je]-h1[i][je])/toler, h[i][je]);
       }
    Exit();
}

Exit()
{
       fprintf(fpw,"P \n" );
       fprintf(fpw2,"& \n" );
       printf("\nDone, v = %lf, avgdfl = %lf dt = %lf\n", v, avgdfl, dt);
             fclose(fpr);
             fclose(fpr1);
             fclose(fpw);
             fclose(fpw1);
             fclose(fpw2);
             fclose(fpw3);
             fclose(fpw4);
             exit(0);
}

Reaction()
{
  int i,j;

      for( j = 0; j < my; j++ ) {        /* Set reaction terms */
        for( i = 0; i < mx; i++ ) {
         A[i][j] = 0.0;
         B[i][j] = 0.0;
         W[i][j] = 0.0;

          if( h[i][j] > 0.5 ) {
           if ( f[i][j] < 1.0e-8 || i < 5) {
            h[i][j] += ( 1.0 - eps )*f[i][j];
            f[i][j] = 0.0;
            } else {
           A[i][j] = 0.5*dt*1.0e10*exp(-20.0/h[i][j]);
           W[i][j] = A[i][j]*f[i][j];
           B[i][j] = 20.0*W[i][j]/(h[i][j]*h[i][j]);
           }
          }
        }
      }
 }

DXsi()  /* Semiimplicit solver in X */
 {
  double  rs[2*mx], u[2*mx], a[2*mx], b[2*mx], c[2*mx], d[2*mx], e[2*mx];
  int i,j;

      for( j = 0; j < my; j++ ) {
       for( i = 0; i < mx; i++ ) {
         rs[2*i] = f2[i][j] + B[i][j]*h[i][j];
         rs[2*i + 1] = h2[i][j] - 0.85*B[i][j]*h[i][j];

       if( j > 0 && j < my - 1 ) {
         rs[2*i] += alff*(f[i][j-1] + f[i][j+1]);
         rs[2*i+1] += alfh*(h[i][j-1] + h[i][j+1]);
       }
       if( j == 0 ) {
         rs[2*i] += alff*(2.0*f[i][j+1]);
         rs[2*i+1] += alfh*(2.0*h[i][j+1]);
         rs[2*(mx-5)] += dt*sflx;
       }
       if ( j == my - 1 ) {
         rs[2*i] += alff*(2.0*f[i][j-1]);
         rs[2*i+1] += alfh*(2.0*h[i][j-1]);
         rs[2*(mx-5)] -= dt*sflx;
       }

         a[2*i] = af[i];
         a[2*i + 1] = ah[i];
         b[2*i] = 0.0;
         b[2*i + 1] = -0.85*A[i][j];
         c[2*i] = bf[i] + A[i][j];
         c[2*i + 1] = bh[i] - 0.85*B[i][j];
         d[2*i] = B[i][j];
         d[2*i + 1] = 0.0;
         e[2*i] = cf[i];
         e[2*i + 1] = ch[i];
        }
          rs[0] = 0.0;
          rs[1] = 1.0;
          rs[2*mx-2] = 1.0;
          rs[2*mx-1] = eps;

       Peptdag(a, b, c, d, e, rs, u, 2*mx);

        for( i = 0; i < mx; i++ ) {
        f1[i][j] = u[2*i];
        h1[i][j] = u[2*i + 1];
       }
    }
 }

DExpl()   /* Explicit */
 {
  int i,j;
                /* Diff in X dir */

    for( j = 0; j < my; j++ ) {
     for( i = 1; i < mx-1; i++ ) {
      h1[i][j] = h[i][j]*(1.0-bh[i]) - h[i+1][j]*ch[i] - h[i-1][j]*ah[i];
      f1[i][j] = f[i][j]*(1.0-bf[i]) - f[i+1][j]*cf[i] - f[i-1][j]*af[i];
        }
     }

    for( i = 0; i < mx; i++ ) {
      for( j = 1; j < my-1; j++ ) {
         h1[i][j] +=  alfh * (h[i][j+1] + h[i][j-1]);
         f1[i][j] +=  alff * (f[i][j+1] + f[i][j-1]);
        }
       h1[i][0] +=  2.0*alfh*h[i][1];
       f1[i][0] +=  2.0*alff*f[i][1];
       h1[i][my-1] +=  2.0*alfh*h[i][my-2];
       f1[i][my-1] +=  2.0*alff*f[i][my-2];
     }

       f1[mx-5][0] += dt*sflx;
       f1[mx-5][my-1] -= dt*sflx;

       for( j = 0; j < my; j++ ) {
        for( i = 0; i < mx-1; i++ ) {
         h1[i][j] += ( 1.0 - eps )*W[i][j];
         f1[i][j] += -W[i][j];
        }
        h1[mx-1][j] = 0.0;
        f1[mx-1][j] = 0.0;
        f1[0][j] = 0.0;
        h1[0][j] = 0.0;
      }

 }

double ErrChk(toler)
double toler;
{
double ermax, err;
int i,j;
ermax = 0.0;

         for( j = 0; j < my; j++ ) {
           for( i = 0; i < mx; i++ ) {
           err = (h[i][j] - h1[i][j]);
           err *= err;
           if ( err > ermax ) {
            ermax = err;
            ie = i;
            je = j;
            }
          }
        }

   /*     printf("\t %lf  %d  %d    \r", \
                (h[ie][je] - h1[ie][je])/toler, ie, je);
        fflush(stdout);    */

         for( j = 0; j < my; j++ ) {
           for( i = 0; i < mx; i++ ) {
             f[i][j] = 0.97*f1[i][j] + 0.03*f[i][j];
             h[i][j] = 0.97*h1[i][j] + 0.03*h[i][j];
            }
          }
        return (ermax/(toler*toler));
}

Iter()
{
int i,j;
double errt;

      Reaction();
      DExpl();
       for( j = 0; j < my; j++ ) {
        for( i = 0; i < mx; i++ ) {
        f2[i][j] = f[i][j] + f1[i][j];
        h2[i][j] = h[i][j] + h1[i][j];
        f[i][j] += 2.0*f1[i][j];
        h[i][j] += 2.0*h1[i][j];
        }
      }
      niter = 0;
      do {
        Reaction();
        DXsi();
        niter ++;
        errt = ErrChk(toler);
       } while( errt > 1.0 && niter < 12);
}

Step()
{
 int i,j,ntry = 0;

      for( j = 0; j < my; j++ ) {
        for( i = 0; i < mx; i++ ) {
        f3[i][j] = f[i][j];
        h3[i][j] = h[i][j];
        }
      }

        Iter();

       if ( niter > 10 ) {
        dt *= 0.5;
        t -= dt;
        n--;
        ntry++;
        Seth();
         for( j = 0; j < my; j++ ) {
          for( i = 0; i < mx; i++ ) {
           f[i][j] = f3[i][j];
           h[i][j] = h3[i][j];
           }
          }
        } else {
          if ( niter > 4 ) {
           dt *= 0.9;
           Seth();
          }
         ntry = 0;
       }

        if ( ntry > 50 ) { ErrExit(ie, je); }

       if ( niter < 4 ) {
        dt *= 1.1;
        Seth();
       }
      printf(" t=%.1lf,  nit=%d, dt=%.2lf, xmin = %.4lf \r",\
                                   t, niter, dt, xmin);
      fflush(stdout);    
}

PrinT()
{
  int jts;
        FindDfl();

        ds = avgdfl - s1;
        s1 = avgdfl;
        dt1 = t - t1;
        dv = ds/dt1;

        if (t1 > 0.0) {
        v += dv + avgdfl/tpr;
        Seth();
        }
        t1 = t;

         WriteTS();

        for ( jts = 99; jts > 0; jts-- ) {
           timeser[jts] = timeser[jts - 1];
        }
        timeser[0] = xmin;

           x2 = x1;
           x1 = x0;
           x0 = xmin;
     if ( (x2 - x1)*(x1 - x0) < 0.0 && x2 > 0.0) {
        if( t > tch - 20000.0 ){
            fprintf(fpw,"%g  %g\n", ly, x1);
            fflush(fpw);
        }
         if ( t > tst + 400.0 ) {
           tst  =  t;
           sflx = g*(x1 - 0.5); 
          }
     printf("t=%.1lf, Extr. detected = %lf;  sflx=%lf \n", t, x1, sflx);
      }
}

------------------------------

From: Benedict J Raia <[email-masked]>
Subject: X Font Creation?
Date: Sat,  1 Oct 1994 15:02:07 -0400

I'd like to know if there is Linux software available that I can use to edit
or create fonts for X.  

Thanks,
Ben Raia
[email-masked]
[email-masked]

------------------------------

Crossposted-To: sbay.linux,ba.seminars,comp.unix.misc,comp.unix.pc-clone.32bit,comp.unix.programmer
From: Charles Liu <[email-masked]>
Subject: SEMINAR: LINUX - A UNIX Clone. 10/5. By ILA
Date: Sat, 1 Oct 1994 01:20:57 GMT

ILA (tm) International Linux Association (tm) :

Contact: 408-369-9818; [email-masked]

*******       Linux Seminar on 10/5        **********

Topic: Linux - a Complete  PC UNIX(tm) Clone, by Randy Hootman

Time: 6:00 - 10:00 pm, October 5, 1994 (Wednesday)

Location: 2940 Scott Blvd., Santa Clara. (Near Central Expressway; if you 
        are from San Francisco on 101, make right turn on San Thomas, then left 
        turn on Scott) 

Cost:   Member $20; Non-member $25.  (The fee may be increased in 
        near future)

Audience:
        1.      Experienced Unix professionals like to see how to install your own Unix system on your PC inexpensively and experience how other Unix hackers world wide are enhancing the system on hourly bases.
        2.      Computer professionals like to start learning Unix.
        3.      Corporate MIS personnel like to explore this new open   system of open systems, to seek why PC Week is using Linux for internal Internet and W-Window services.

Display/Sale:  Various current Linux CDs, Books, Linux Journal.

Note: 

Same class will be offered again (Wednesdays in October, please call); also 
watch for our future offer of advanced Linux related seminars such as networking.  

===============================================================================

        Linux is a free Unix clone, can be purchased as low as $20 on CD-ROM Disc.  Linux gives stable full power of POSIX Unix including kernel, C/C++, X-Window, NFS, TCP/IP, INTERNET and MOSAIC, along with editing and system administration programs.
        Linux was selected as the product of the week by PC Week April 11, 1994, and used internally for PC Week's WWW, FTP, and X Window host server. 
        Over 80 people have attended this seminar during last two months, 
        resulting in saving learning curve and time to bring Linux to live.

Seminar content (with live demonstration):

   I. Brief History of Linux
  II. System Features   
 III. Software Features
  IV. Installation
   V. Setting up X-Windows
  VI. Obtaining programs and compiling
 VII. System administration
VIII. Frequent asked questions and problems.

-- 
End of Note

------------------------------

From: [email-masked] (Robert Bruce Prior)
Subject: Re: SCO WordPerfect: does it run on Linux?
Date: 29 Sep 1994 18:06:43 GMT

: Hmm, I was told that 5.1 was the first X version.... perhaps they meant
: the first X version for SCO.  Maybe an earlier, slower, buggier version
: was available for other platforms.

Speaking of SCO WP, I e-mailed someone at Wordperfect and found out that 
there should be a demo version of WP6.0 for SCO on the ftp site in a week 
or two.

(waiting with baited breath... :)

-R

------------------------------

** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: [email-masked]

You can send mail to the entire list (and comp.os.linux.misc) via:

    Internet: [email-masked]

Linux may be obtained via one of these FTP sites:
    nic.funet.fi				pub/OS/Linux
    tsx-11.mit.edu				pub/linux
    sunsite.unc.edu				pub/Linux

End of Linux-Misc Digest
******************************