MOO-cows Mailing List Archive

[Prev][Next][Index][Thread]

RE: Does the new LambdaMOO core support Web?



I wrote:
>> Hacking the server or doing anything that depends on DB file format
>> (which is only sparsely documented and likely to change) is a less good
>> idea.
>
> Allow me to disagree. From our experience, the simplest method for logging
> is to fileappend() using FUP. Simple, quick, no scale-up problems, doesn't
> change the size of the database, has many other advantages.
>
> Sorry, but the mentality of 'keep the server unmodified or die' is
> obviously wrong. Arguably MCP 
?? MPL
> was 'bad', until the moment when Pavel added
> it to the server, and then it became kosher. Nah.

First of all, I didn't say "keep the server unmodified or die".  

But...

 (1) the farther you get from the stock MOO server, the more random
patches you install, and the more random hacking to it that you do on
your own, the more likely it is that something will break, and the fewer
the people there will be who'll be able to help you IF YOU NEED IT.  

Obviously Pavel is not the only person in the universe who knows how to
write and debug C code.  Clearly, if you're an experienced C coder and
are familiar with the internals of the server, this won't be a problem. 
How experienced you need to be, of course, depends entirely on what
you're doing; running with FUP is doubtless easier than running with a
custom-hacked parser.y.  

To my knowledge, most people running MOO servers are not experienced C
coders.

 (2) When something breaks in MOO-code, that verb/task ends.
     When something breaks in C-code, the server does a PANIC.

How much this matters depends on how much you care about your server
staying up.  If having the server go down is not a problem, then this is
clearly not an issue.  I suspect, however, that most people actually
*using* MOO for something place a high premium on the server staying up.

 (3) If you've got FUP, you now have a server that can do arbitrary
things to your file system.

This is not a comment on the reliability of FUP; in fact, I'd have to
guess that FUP is pretty reliable by now (though I have no personal
experience with it myself).  The point is that you now have a situation
where your wizards can write to your file system.  Whether this is an
issue depends on who your wizards are, the relative values of your DB
and your filesystem, and in the case of non-local ordinary-players, how
confident you are in the security of your DB.  

Most MOOs I know about have non-local wizards, and the filesystem is
usually worth more than any MOO db.

Perhaps some form of FUP option will indeed make it into a future server
release, but you can bet (assuming the new maintainer has any sense)
that it's going to carry at least as big a warning around it as #define
OUTBOUND_NETWORK does now.

 (4) If you depend on raw DB file format, then whenever the DB format
changes you have to update whatever tools you use to play with raw DBs. 
This assumes you even get to *find out* that the DB format changed; if
the change was subtle, maybe you won't find out for several weeks after
installing the new release when you discover that all of your backups
are corrupted in odd ways.


My choice of words, "less good" rather than "bad", was quite deliberate.
 Depending on who you are, what you're doing with your MOO, what your
network situation is, etc... the use of FUP, raw DB manipulations, and
server hacks indeed may not actually be Bad, but you have to know what
you're getting into and that *has* to be weighed against the the
benefits.




Home | Subject Index | Thread Index