Subject: Re: Security 'n MOO 'n UNIX 'n stuff. (fwd)

From: Jeff d'Arcy <[email-masked]>
Date: Fri, 8 May 1992 06:03:43 -0700

>From: Clay Luther <[email-masked]>
>Message-Id: <[email-masked]>
>Subject: Re: Security 'n MOO 'n UNIX 'n stuff. (fwd)
>Date: 	Thu, 7 May 1992 19:29:36 PDT
>
>Give me credit, Pavel.  You aren't the only proferssional unix programmer
>alive.

No, he's not.  I'm another one (and, I dare say, one with greater variety of
experience than most).  I think Pavel's points were very good ones, whereas
you seem to be doing nothing more constructive than taking pot-shots.

>> The simplest interface I can imagine is to reflect the ANSI C `system()'
>> procedure in MOO as a built-in function.  That is, you could say
>> 	system("cp foo bar")
>
>Simple, and borderline innane, for the obvious reasons you stated.
>
>> 	+ There is no provision for giving input to the command or getting
>> 	  output back.  One could, I suppose, take a list-of-strings argument
>
>Ever heard of signals?  
>Ever heard of pipes?  
>Ever heard of sockets?  
>Ever heard of forking? 
>I know you have.  I have, too, and I can think up many wonderful incantations
>using these tools.

Based on what I'm seeing here, I'm surprised you have a job programming.  Your
inappropriate condescension and your deliberate attempt to misunderstand what
Pavel said in the interests of pursuing your personal grudge would get you
thrown out of any development organization I've worked at.  That said, I'll go
one better than you did and try to provide some answers to your questions.

	1. What we were originally talking about was a UNIX *command* level
	interface, not API level as you seem to be suggesting (I'm sure I don't
	need to ask that you correct me if I'm wrong).  There's a difference at
	both the conceptual and practical levels.

	2. Forking does avoid *one* of the problems Pavel mentioned - that of
	stopping the server while the command executes.  When and where to
	wait(2) for the forked process, however, may be a matter of some
	delicacy.  More importantly, all the world's not UNIX.  MOO is, I
	believe, supposed to run on DOS too.  Last time I looked, DOS didn't
	have fork(2).  I'm sure we could debate for a while about the wisdom of
	providing a UNIX-only feature in MOO.

	3. No matter how you cut it, a solution that involves forking, dealing
	wih signals, input and output, etc. is far from trivial.  It may still
	be relatively simple, but the statement that Pavel rightly challenged
	is that it's trivial.  You seem to regard this discussion as a battle,
	but you may want to change your attitude now that you've "lost".

>So, sorry about the tirade, but I don't like being mischaracterized or 
>slandered, or being told something contrary to what I know is true.  And 
>contrary to what you may be thinking, I am not angry.  Just downright annoyed.

Pavel's comment about your attitude may have been inappropriate in the context
at the time, but its truth seems to've been validated by your response.  You
may be a very talented programmer, and you may have some legitimate gripes
about how Pavel has responded to your suggestions for improvement.  However, as
any book on negotiation skills (I wish one were required reading for engineers)
will tell you, attacks such as yours are more likely to hurt your case than
help it.  Never alienate someone from whom you expect concessions.

	jeff

---

From: Clay Luther <[email-masked]>
Date: Fri, 8 May 1992 08:38:01 -0700

> you seem to be doing nothing more constructive than taking pot-shots.

Well, you seem to have read a different letter than I did.  I have no personal
gripe or grudge against Pavel.

Nor did I ever say Pavel's points weren't valid or good.  In fact, I agreed that
within the context of his example his points were correct.

I was just terribly offended that he had called me wrong, confused, and 
overreactive in one breath, especially when I was not any of them.  I kept 
asking myself "Who does he think he's talking to?"

> about how Pavel has responded to your suggestions for improvement.  However, as

I have learned not expect anything from persons who think they understand
everything.  And, like I said, I have no grudge or gripe *with* Pavel.  Pavel 
is Pavel, and nothing I say or do will change that, just like Clay is Clay 
(although I have to ability to correct and re-evaluate my behavior).  I may
not agree with Pavel's methods or his opinions.  But, I do not feel I have to
stand around and be dengrated by someone who has never even taken the time to
talk to get to know me.

As I said at the end of my message, I apologize that I got angry, but I also
feel, within the context of that message, that I was justified.

-- 
Clay W. Luther                  [email-masked]
System Manager                  Center for Network Neuroscience
University of North Texas       PO Box 5218 Denton, Texas 76203
817/565-3896,3472               aka. Malraux@GodNet (Bushashuru!)

---

From: [email-masked]
Date: Fri, 8 May 1992 10:28:04 -0700

> providing a UNIX-only feature in MOO.

Although most of the MOO server appears to be quite portable, parts of
it are targeted only at Unix.  Providing similar functionality can be
troublesome.  bsd_network.c is, of course, not portable, and I seem to
remember some odd BSDism in server.c.  fork is already used in the
server to do checkpointing.  In the my Amiga and Zippy's MS-DOS port,
the server does checkpointing in the main thread, and thus pauses for
the duration of the checkpoint.

Even though I am enthusiastic about the server running on operating
systems other than BSD Unix, I don't want MOO development driven by
the lowest common denominator.

  // Jay Carlson/Jonny
\X/  [email-masked]