On Sat, Feb 12, 2005 at 12:45:42PM -0800,
FWIW, I personally don't see any need for more levels, but I have seen
some user requests for this and I understand others have seen considerable
demand for it.
Any of it compelling?
The one I find somewhat compelling is the desire to convert to existing uses
and cutoff values for SpamAssassin to sieve and spamtest. SpamAssassin uses
real numbered scores and the obvious mapping to a 1-10 scale is a bit too
grainy. A 1-100 scale, OTOH, is more than sufficient.
I'm kind of on the middle on this one. In general I like to avoid
hardwiring runtime elements into the language, preferring instead to
give options to the script writers. You just can't always predict what
people want, so trying not to guess is best. My ideal would be to say
"the spam test returns a value of this type" where "type" could include
a fundamental data type (e.g. an integer, a string, a floating point
number) as well as a range (e.g. integer between 6 and 10, a string
containing one of a number of keywords, and so forth). Much of that
doesn't fit here, of course.
But indeed I have heard from people who want far greater ranges than
0 to 10. To quote one anonymously, specifically about spam scores:
You can't easily use those results from procmail, as it can't do
numeric comparisons like 'if ( ( prob >= 99.0 ) && ( prob < 99.9 ) )
...' to decide where to file; you need to write them in terms of
pattern matching which gets messy.
So there's at least one person calling for a range of 0 to 1000!
There are other analyzers out there that return a floating point spam
score, although they tend to have their own ability to emit a summary
header based on a threshold.
Personally I'd try to find a way to say "map the spam test into a range
from m to n" rather than hardwiring one or two ranges in advance. There
would be no problem in having a default (e.g. m=0, n=10).