Linux-Misc Digest #678, Volume #24                Thu, 1 Jun 00 19:13:02 EDT

Contents:
  Need Netscape killer... (Andrew Purugganan)
  Re: how to enter a bug report against linux? ("John W. Stevens")
  Re: how to enter a bug report against linux? ("John W. Stevens")
  Apache problem ("Paolo Zaccagnini")
  Lockups continued (William Hamish Bell)
  Re: how to enter a bug report against linux? ("John W. Stevens")
  Re: how to enter a bug report against linux? ("John W. Stevens")
  Re: how to enter a bug report against linux? ("John W. Stevens")
  Re: how to enter a bug report against linux? ("John W. Stevens")
  Re: Question about Virtual Hosts ("Tom Hoffmann")
  Re: how to enter a bug report against linux? ("John W. Stevens")

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

From: [EMAIL PROTECTED] (Andrew Purugganan)
Subject: Need Netscape killer...
Date: 1 Jun 2000 21:55:29 GMT

i need a simple script that would be monitoring the netscape job before 
it starts thrashing my hard drive. It happened again while I left several 
Nscape windows running (well, open if you will). Even switching to 
a VC with root couldn't help me in time, not even to do a killall; it had 
gotten too far along already.
BTW Nscape 4.61 I think on Mandrake 6.0 but kernel 2.2.13-22mdk or 
something like that
Have you written anything like this, I would appreciate any assistance
--
jazz  annandy AT dc DOT seflin DOT org
Registered linux user no. 164098
Doesn't it bother you, that we have to search for intelligent life
--- OUT THERE??

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

From: "John W. Stevens" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.advocacy
Subject: Re: how to enter a bug report against linux?
Date: Thu, 01 Jun 2000 16:05:51 -0600

lop@l wrote:
> 
> One can eliminate many unneccessary code iterations by spending more
> time in the analysis and design stage.

Some, but not "many".  Analysis will not tell you the answers to
questions you do not know to ask.  Analysis only catches *KNOWN*
mistakes (IE, it only gives you answers that you already have, by either
allowing you to recognize known-good design patterns, or conversely, to
recognize known anti-patterns).

> Imagine a civil engineer building a bridge, then finding out near the
> end that one end is shorter than the other, then blowing it, and starting
> again.

That's exactly what they do do . . . it's called: "Modeling".  The only
difference is that they don't build the bridge "to scale" the first 8
times they build it (then tear it down).  Most engineering professions
perform multiple iterations in a methodology sometimes refered to as the
"Spiral Model".

Note that Linux wasn't "Built to Scale" the first time, either.  Like it
or not, Linux follows a known-good software development methodology.

> There is nothing wrong with re-writing the program again the second time,
> I've done that many times. The first time one learn things they could
> not have seen before. But still, carfull analysis and design at the
> start will always product a much better product the first time.

No, not always.  In fact, to much analysis and design at the start can
produce an inferior product.

The temptation, when a great deal of up-front analysis and design has
been done, is to believe that you know what you are doing.  This makes
you more likely to build a monolithic system, rather than "staying
loose", and building a system out of smaller, independent, blocks
(Objects).

Linux can be managed much more successfully than other kernels for the
simple reason that it is more "modular" (Object Oriented).  In fact, it
*HAS* to be more OO than other kernels, due to the commnications
restrictions that exist *precisely* because the development process is
so distributed.

The reason that the X Window system has had such a long and successful
life, is because it is a (relatively) small and independent object. 
Contrast and compare that to the Windows GUI system.

> Looking at the linux and open source software I see very little of
> that, very little in terms of analysis and design documents for some
> very complex programs. Even looking at the source code, very little
> documentation. I mean design documentation. Every programmer keeps the
> design (if there is one) in their head, becuase that way they feel
> smarter.

Nope.  They create and keep the design documents, but in general, those
design documents are not made generally available *PRECISELY* because it
is a bad idea to do so!

The most important, most powerful OO concept is that of an opaque
interface.

You shouldn't *KNOW* how an object does what it does inside, you should
simply use the supplied interface.  This is one of the reasons that
Linux is a Unix-like OS: because Unix is a true "Open System", one based
on open, public standards (interfaces).

> For a small program this can be OK, for larger programs this will
> eventually come back and bite you.

There are at least two kinds of large programs: those that were designed
and written as "A Large Program", and those that were designed and
written as "A Bunch of Small Programs".  Linux, indeed Unix, is a
composite of a bunch of smaller programs, so an "overall design and
analysis document" would actually be *detrimental* to the success of the
system.  Linux is as adaptable as it is because it isn't a single,
monolithic system.

In fact, to a certain extent, Linux kernel development is an example of
a "self-organizing" system.  In self-defense, module (Object) authors do
not poke holes into other people's modules: they simply use the supplied
interface.  This reduces coupling, which reduces complexity, and
therefore reduces the total cost of developing and maintaining the
system (the whole of software engineering can probably be reduced to the
following: "Software engineering methodologies are simply collections of
methods for controlling or reducing the complexity of an information
processing system").

Some of that savings is given away on the back end when, sometimes,
existing interfaces are scrapped in an example of "punctuated evolution"
(when the costs of an existing interface out weigh its benefits, Linux
kernel developers have no qualms about taking a scalpel and hacking out
the dead weight, then replacing that object or module with a new and
improved object).

Of course, every manufacturer of systems has done this: Can you say:
"OLE", anyone?

-- 

If I spoke for HP --- there probably wouldn't BE an HP!

John Stevens
[EMAIL PROTECTED]

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

From: "John W. Stevens" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.advocacy
Subject: Re: how to enter a bug report against linux?
Date: Thu, 01 Jun 2000 16:15:38 -0600

Mark Wilden wrote:
> 
> A couple of points: first, when they first started building bridges
> (especially the first iron bridges), they made a lot of mistakes, and
> they didn't get blown up, they just collapsed when the first train ran
> across them, killing people. Hence, today's bridge designers have a lot
> of negative experience to go against.

And today, engineers use a little trick known as "modeling".

> Second, a computer program is far more complex than a bridge. It's much
> harder to design. I've read estimates that the average computer program
> has more parts than a 747.

At the time that it was written, Lotus 123 was the most complex system
ever built by man.

> Third, a computer program _can_ be blown up and started over. That's one
> of the beauties of software, and one big reason why we love it so: our
> tools and our products are so much more plastic.
> 
> Fourth, the needs of a bridge are pretty simple. How many use cases does
> a bridge support (so to speak)?

And are well and totally known.

> Fifth, a bridge's requirements are unlikely to change with the speed of
> a computer program's. That's why it's easier to say OK, here's what we
> want out of this bridge, and have a hope in hell of leaving that spec
> frozen until delivery. Not so with computer programs.

Too, most bridges are simply reimplementations of known-good design
patterns.  As such, you're talking an entirely different development
methodology than when you develop software (which is more like applied
research, than widget building).

> All that said, I do believe in analysis and design and agree that Linux
> could use more of it (if it's true that there's no specification for its
> components at all).

There are rarely, if ever, specifications for software components in any
organization, and Linux is no exception (either way).

There are, however, almost always requirements documents for Linux
components.  They are, in order: 1) The open, public standard that
describes the interface to the component under development 2) The
complete collection of (free) prior art plus the end result of months of
"list discussion" about the component.

For those of you not familiar with this process, I suggest that you read
the average of 6 MBytes worth of email that make up any single month of
the kernel development mailing list.  Take, as an excellent example, the
storm of commentary surrounding the devfs component.

[ QZ:  There's no such thing as a silver bullet!

  TZ:  Right!  That's why I believe in the double barrel, over-and-under
shotgun loaded with
       silver shot!
]

-- 

If I spoke for HP --- there probably wouldn't BE an HP!

John Stevens
[EMAIL PROTECTED]

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

From: "Paolo Zaccagnini" <[EMAIL PROTECTED]>
Subject: Apache problem
Date: Fri, 2 Jun 2000 00:33:41 +0100

I have a RedHat 6.2 box with a 1.3.9 apache; if I give the daemon a sighup,
I find in the errorlog a lot of "cannot remove module modXXX: not found in
module list" errors. All the modules were compiled staticly
(--enable-module=all). Has anybody got any idea about this problem?


--

============================================
--== Paolo Zaccagnini ==--
--== Kataweb ==--



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

From: William Hamish Bell <[EMAIL PROTECTED]>
Subject: Lockups continued
Date: Thu, 1 Jun 2000 17:23:21 -0500

Hi,

Having installed RedHat 6.1 from the network a month ago I have been
plagued by lockups.  Each time the machine locks up I have to press the
reset button.  I made a two vain attempts to fix the problem by upgrading
the kernel from 2.2.14-12 to 2.2.14-6.0.1 to 2.2.12-20.  This didn't cure
the problem.  Each time I run netscape or ghostview (large ps file) for a 
little while I can achieve a complete lock up within minutes.

My gut reaction is to guess that the swap space isn't being correctly
used.  The partition table for the machine in question looks like:

   Device Boot    Start       End    Blocks   Id  System
/dev/hda1   *         1       260   2088418+   6  FAT16
/dev/hda2           261      2495  17952637+   5  Extended
/dev/hda5          2487      2495     72261   82  Linux swap
/dev/hda6           261       286    208782   83  Linux
/dev/hda7           287      1561  10241406   83  Linux
/dev/hda8          1562      1816   2048256   83  Linux
/dev/hda9          1817      2199   3076416   83  Linux

WinNT is sitting on the FAT16 partition.

Does anyone have any suggestions or diagnostic tools?

I might be forced to rip LINUX off and try again with a bought
disk.  Since I have installed a lot of physics software this will be
painful.

Thanks and Best Regards,

Will


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

From: "John W. Stevens" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.advocacy
Subject: Re: how to enter a bug report against linux?
Date: Thu, 01 Jun 2000 16:24:56 -0600

s@- wrote:
> 
> It looks like you never looked at an engineering mathematics book
> before. Structural engineering is far harder subject that generic
> software. proof, almost any idiot can learn to program in VB or
> Java. But you need to be really smart to pass all those advanced
> engineering courses.

You've just illustrated, in a nutshell, why most software is so poorly
designed and constructed . . . "pass all those advanced engineering
courses", vs. "learn to program in VB or Java".

You don't even realize that you are comparing Apples to earthworms . . .

Structural engineering is *NOT* harder than software engineering.  Just
'cause a high school kid can teach himself to write VB scripts doesn't
prove that software engineering is easier than structural engineering .
. . after all, I've seen Boy Scouts build bridges (and, they were good
bridges)!

Neither one, of course, is doing "engineering".

> >Third, a computer program _can_ be blown up and started over.
> 
> Yes it can. and so can a bridge. If you do not care for the cost
> and waste resulting from such an act.

Modeling . . . Modeling . . . Modeling . . .

> Not only there are no design,

Wrong.

> looking at the linux kernel code,
> you look at a function, and you have no idea what is the input
> and output.

Read the source.  If you cannot figure it out, then *PLEASE* do not
create patches!

> no function headers to give one an idea
> about it, nothing. If I where a manager at such a sw project, I'll fire
> those programers who write such code.

Which pretty much describes just about all of the body of existing
commercial source code . . . and that code that does have documentation
is often *WRONG*!

C'mon, lets here it from the professionals out there . . . how often do
you just read the comments, trust 'em, and design your code to 'em?  How
often is that documentation *ENOUGH*?  How often is it *CORRECT*?  How
often is it even *USEFUL*?

-- 

If I spoke for HP --- there probably wouldn't BE an HP!

John Stevens
[EMAIL PROTECTED]

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

From: "John W. Stevens" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.advocacy
Subject: Re: how to enter a bug report against linux?
Date: Thu, 01 Jun 2000 16:32:59 -0600

"Peter T. Breuer" wrote:
> 
> In comp.os.linux.misc lis@ec wrote:
> : In article <[EMAIL PROTECTED]>, [EMAIL PROTECTED] says...
> :
> :>
> :>And if we were talking about just one project you might have a point.
> 
> : he was. It was the kernel.
> 
> Unfortiunately, "the kernel" is not one project, but many. There is the
> USB projects, the sound project(s), the IR projects, the scsi
> subsystem, the pci system. Even the inner kernel itself has various
> distinct subsystems and mailing lists. The MM list, for example.

Just out of curiosity, Peter, do you suppose that it is possible that
what we have here is a culture clash?  The "procedural, cathedral,
monolithic systems guy", against the "object oriented, bazaar, composite
systems guy"?

-- 

If I spoke for HP --- there probably wouldn't BE an HP!

John Stevens
[EMAIL PROTECTED]

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

From: "John W. Stevens" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.advocacy
Subject: Re: how to enter a bug report against linux?
Date: Thu, 01 Jun 2000 16:39:39 -0600

Mark Wilden wrote:
> 
> I don't mean to sound flippant, but if a piece of code doesn't have a
> 'contract' ('I will do this if you give me that') then it doesn't have a
> spec. If it doesn't have a spec, then I can see that it would be hard to
> create a unit test for it. And if you can't properly test your work, I
> think the Linux team deserves even more credit for the results it has
> achieved than it already does! :)

Actually, Peter is making a minor error.  There is an "agreed upon
interface".  However, part of the contract is the expectation that the
interface can and will change (when the cost of "backwards
compatibility" exceeds the benefits).

-- 

If I spoke for HP --- there probably wouldn't BE an HP!

John Stevens
[EMAIL PROTECTED]

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

From: "John W. Stevens" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.advocacy
Subject: Re: how to enter a bug report against linux?
Date: Thu, 01 Jun 2000 16:43:26 -0600

[EMAIL PROTECTED] wrote:
> 
> In article <[EMAIL PROTECTED]>, Mark says...
> 
> >
> >Nevertheless, if 'Linux' insists that there is no agreed interface, it
> >sounds to me that more work is being created than necessary. But
> >whatever works, I suppose...
> 
> you don't get it, do you? Linux is developed by thousands of hackers
> all over the world, setting up some bloody contracts and specs
> for every interface in the kernel, not only will slow us down,
> it will be a nightmere to maintain.

Ohhh, but . . . Linux developers *DO* develop contracts and specs!  The
simple act of creating a new module creates a new contract and
specification.

> Who the hell is going to maintain
> all those specs and tests? you want one, you write your own.
> 
> Linux does not follow those procedures, becuase linux does not need 'em.

Linux *DOES* follow those procedures, but unlike a commercial system,
Linux is free to discard backwards compatibility (the "Old" contract)
when the cost of that contract exceeds the benefits of that contract.

> Everything you ever wanted is in the code. you want to find something,
> get the source code and see how it works. no bloody specs or test suites
> will ever be as good as looking at the source code.

Peer review is certainly, by far and away, the most efficient and
productive quality assurance procedure.

But unit testing does have its place.  It wouldn't hurt to write unit
tests for along with the production code.

-- 

If I spoke for HP --- there probably wouldn't BE an HP!

John Stevens
[EMAIL PROTECTED]

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

From: "Tom Hoffmann" <[EMAIL PROTECTED]>
Subject: Re: Question about Virtual Hosts
Date: Thu, 01 Jun 2000 23:01:58 GMT

> <VirtualHost test.com>
>         ServerAdmin [EMAIL PROTECTED] NameVirtualHost xxx.xxx.xxx.xx
>         ServerName something DocumentRoot /home/test Options ExecCgi
>         Includes IncludesNOEXEC MultiViews Indexes
> FollowSymlin$
> </VirtualHost>

This just looks like an example of a VirtualHost entry.  It is surprising
it is not commented out though as most of the other "examples" are in
htpd.conf.

> Would it be correct to after this just add and point the domain the the
> IP?:
> 
>     <VirtualHost xxx.xxx.xxx.xx>
>     ServerName http://www.somethingcom DocumentRoot /home/whatever
>     </VirtualHost>

Or just modify the "example".


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

From: "John W. Stevens" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.advocacy
Subject: Re: how to enter a bug report against linux?
Date: Thu, 01 Jun 2000 16:47:57 -0600

Mark Wilden wrote:
> 
> 
> That's rather nonsensical (besides being overly confrontational). What
> would be the point of me writing specs and tests if no other Linux
> developer used them?

Come, come, now . . . the interface to the spin lock facility under
Linux is a "contract".  Mind you, you are warned up front that that
contract can and will be terminated by the responsible party if and when
the cost of maintaining that old contract exceeds the benefits obtained
by continuing to conform to that contract. . . but if you are paying
attention, you not only get plenty of advance warning of such interface
changes, you even get a voice in the discussion.

Note, also, that most systems in userland are built on/around open,
public standards ("contracts").

-- 

If I spoke for HP --- there probably wouldn't BE an HP!

John Stevens
[EMAIL PROTECTED]

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


** 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 PROTECTED]

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

    Internet: [EMAIL PROTECTED]

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

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

Reply via email to