Maintainer: firstname.lastname@example.org (Tim Skirvin)
Original-Author: email@example.com (Chris Lewis)
Current Spam thresholds and guidelines.
This article is intended to describe the current consensus spam thresholds
and ensure that the definitions of these terms are available and consistent.
It is believed that most, if not all, spam cancellers use these terms and
definitions in their work; however, many other people use the terms
inappropriately, which leads to confusion in discussions. This is an
informal FAQ aimed at clarity and understanding, not anal-retentive
Excessive Multi-Posting (EMP) has the same meaning as the term "spam"
usually carries, but it is more accurate and self-explanatory. EMP means,
essentially, "too many separate copies of a substantively identical
"Substantively identical" means that the material in each article is
sufficiently similar to construe the same message. The signature is
included in the determination. These are examples of substantively
- byte-for-byte identical messages
- otherwise identical postings minimally customized for
each group it appears in.
- advertising the same service.
- articles that consist solely of the same signature
- articles which consist of inclusions of other user's
postings, but are otherwise identical.
Cross-posting means that a single message appears in more than one group.
Most newsreaders allow you to specify more than one group in a posting.
Excessive Crossposting (ECP) refers to where a "lot" of postings to more
than one group each have been made.
Some people think cross-posting is "bad". In and of itself, it's good
behaviour - it allows you to reach more groups with less impact on the net.
Especially if you set the Followup-to: header to one group. It is "bad"
when it's done to attack newsgroups or provoke flamewars (like cross-posting
how to cook a cat between alt.tasteless and rec.pet.cats), but this is
the scope of this FAQ.
This author considers the term "spam" to mean excessive postings of
EMP and/or ECP variety. That is, "spam", is a generic term for several
different things. The term was originally supposed to mean EMPs only, but
most people use "spam" to mean "any excessive posting".
A spam, EMP, or ECP therefore refers to a posting that has been posted to
many places. There is a consensus that there is a point at which it is
abuse, and is subject to advisory cancellation.
A formula has been invented by Seth Breidbart which attempts to
quantify the degree of "badness" of a spam (whether EMP or ECP) as a
single number. The Breidbart Index (BI) is defined as the sum of the
square roots of n (n is the number of newsgroups each copy was posted
Example: If two copies of a posting are made, one to 9 groups, and one
to 16, the BI index is sqrt(9)+sqrt(16) = 3+4 = 7.
The BI2 (Breidbart Index, version 2) is an experimental metric, which
may eventually replace the BI. It is calculated by computing the sum
of the square roots of n, plus the sum of n, and dividing by two. Eg:
one posting to 9, and one to 16 is
(sqrt(9) + sqrt(16) + 9 + 16) / 2
( 3 + 4 + 9 + 16 ) / 2 = 32 / 2 = 16
The BI2 is more "aggressive" than the BI, intended to cut off the "higher
end". BI allows about 125 newsgroups maximum. BI2 allows a maximum of 35.
A slightly less aggressive index is the SBI (Skirvin-Breidbart Index); it
is calculated much the same as the BI2, but sums the number of groups in
the Followup-to: header (if available), rather than the newsgroups. Eg:
one posting to 9 groups, and one to 16 with followups set to 4 is
(sqrt(9) + sqrt(16) + 9 + 4) / 2
( 3 + 4 + 9 + 4 ) / 2 = 20 / 2 = 10
Except in nl.*, where the SBI is followed, the BI2 and SBI are not used to
determine whether a spam is cancellable.
The thresholds for spam cancels are based only on one or more of the
1) The BI is 20 or greater over a 45 day period.
2) is a continuation of a previous EMP/ECP, within a 45 day
sliding window. That is: if the articles posted within the
past 45 days exceeds a BI threshold of 20, it gets removed,
unless the originator has made a clear and obvious effort to
cease spamming (which includes an undertaking to do so
posted in news.admin.net-abuse.usenet). This includes "make
money fast" schemes which passed the EMP/ECP thresholds
several years ago. This author recommends one posting
cross-posted to no more than 10 groups, no more often than
once every two weeks (a BI of 3).
A single posting cannot be cancellable - to reach a BI of 20, it would
have to be cross-posted to 400 groups. This isn't possible due to
limitations in Usenet software.
These thresholds nominally apply to all hierarchies - not just the Big-8
and alt.*. Many hierarchies have more restrictive rules, which are decided
upon and enforced by their users and administrators; they may also opt out
of the cancellations, at the discretion of the same users and admins.
These cancels have nothing whatsoever to do with the contents of the
message. It doesn't matter if it's an advertisement, it doesn't matter if
it's abusive, it doesn't matter whether it's on-topic in the groups it was
posted in, it doesn't matter whether the posting is for a "good cause" or
not - spam is cancelled regardless, based on how many times it was said
and not what was said.
Administrators wishing to ignore spam cancels can "alias out" the site
"cyberspam", and the cancels will not affect your system. This is normally
done at your feed site, but patches are available for INN to allow you to
reject spam cancels on your own system. Ask in news.admin.net-abuse.usenet
if you need this patch.
Further literature on posting etiquette and related information:
The newsgroup news.announce.newusers
Wrong again, Cliff. PowerSolids is (actually WAS) an add-on (plug-in), not
part of the base version of Rhino. You also might want to check dates and
such before you post outdated info - note that the latest version of
PowerSolids offered was for the previous version of Rhino (V3) and doesn't
exist for the current one (V4).
The IntegrityWare "kernel" is being used however for MoI3D as far as I
--moi (no relation with MoI3D)
wrote:> Search out which kernel they switched to then.
I know which "kernel" they are using... It's their own.
Find and post some accurate current info that indicates otherwise.
Otherwise, I'll just take your silence as a tacit admission that you have no
idea what you're talking about.
To no one in particular.
I'm trying to figure out what's going on,
not tell anyone what is.
I remember seeing quite a lot of discussion at the, v2~v3, time
regarding the loss of Alias purchased AGLib usage and development
of their current geometry engine on McNeel's Rhino forum. Efforts
to search for any of those old discussions have been fruitless.
Archives hosed? Unfortunate if so.
If you can find any of the old discussions ...?
Regarding OpenNURBS, I've never paid much attention to it.
openNURBS is an open source toolkit for reading and writing models
in the 3DM format. Our full-featured development platform is Rhino.
The openNURBS Initiative was founded by Robert McNeel & Associates
in January 2000, with the sole purpose of providing CAD, CAM, CAE,
and computer graphics software users reliable methods for transferring
3-D geometry between applications.
Who is funding the openNURBS Initiative and why?
Robert McNeel & Associates. They feel that the 3-D market is stifled
because of the inability to reliably transfer 3-D geometry between
applications. The problem is too big for us to solve alone. By funding
the operating cost of openNURBS, others will get involved in the toolkit
design and development. It will be a much cheaper and effective way to
solve the problem.
It would appear that it is not intended to be a "kernel", e.g. geometry
creation and manipulation functions. True? ...
The openNURBS toolkit does not contain any functions or classes
to assist in calculating intersections of curves or surfaces.
You will have to come up with your own intersector or find a 3rd
party product to use.
Robert McNeel & Associates
McNeel use to license the AG LIb geometry kernel from Alias. A good
deal of Rhino was built on this kernel. There came a time when Alias
didn't want to license it to McNeel anymore and because Bob McNeel
signed a bad contract with Alias, McNeel had to yank out all the code
from AG Lib. Now McNeel is scared to license any components for Rhino
so Rhino develops at a snails pace as they try and do it all
themselves. Dumb move. So is ignoring the mechanical market.
San Diego, CA
I don't know that not planting a worn out mechanical field is dumb.
Why is it every wino with a dialup is an expert analyst? Sad commentary on the
Wino's like you aren't very articulate and are hard to understand.
Yes you do have comprehension problems, nitwit.
You can barely put two words together that makes sense nitwit so who
knows what you asked.
If you're asking what Rhino uses now it's mostly their own stuff with
a little help from IntegrityWare.
San Diego, CA
Rubbish. Or not, depending on what you mean.
Who owns the core function code? Is it licensed?
Written 'in house' or contracted out? If you can't
be more concise just shut up.
Because everybody and his dog develops a "mechanical" modeler.
They are being given away.
Winos have a poor sense of ... whadayizzit? ... time ...
... and comprehending tetetetechnology.
Winos don't have any business messing with customer furnished models.
Leave the cerebral work to someone capable of working with complex
concepts and sentences and, yep, maybe even CAD software.
Winos shouldn't operate machinery. Oh! That's right. You don't.
I rest my case.
Need a place to sleep it off, buddy?
Maybe take a bath and wash those clothes?
I know a group that can help.
You use no parametric-history based CAD product because it looks
You don't want a massive learning curve learning stuff that seems
stupid to you.
You realize that you don't want to waste hours using a rollback bar to
try and understand some pick your nose engineer's design intent just
so you can modify their solid model to machine it.
You have to work with other people's solid models.
You have to work with non-native solid models.
You use Mastercam and realize you want more powerful CAD.
You have seen SolidWorks and don't wish to be a CAD expert.
You use SolidWorks and realize it leaves a lot to be desired.
You use Pro/E and realize it leaves a lot to be desired.
You use Surfcam and realize Surfcam CAD leaves a lot to be desired.
You use Featurecam and realize Featurecam CAD leaves a lot to be
You use Rhino and want a modeler that's much better for mechanical
You use Mecsoft Visual Mill 6 and want a better CAD program.
You use an old version of BobCRAP, hang up on their telemarketers and
refuse to downgrade your old copy of BobCRAP to BobCRAP 2007 / V22 and
give these lying Scientologist slime balls another dime.
I have some good news for you:
I can show you a better way to model!
If you are in the following categories you're a brain dead idiot and I
can't help you:
You use AutoCAD and think 2D is good enough.
You use Gibbscam and think it's CAD and CAM are just fine and have no
clue that Mastercam X2 blows Gibbscam away in most areas.
You use BobCRAP 2007 / V22.
You use Alibre.
You think Matt Lombard is a genius and actually knows something about
You think Franco Folini is a genius and actually knows something about
You think Novedge actually adds value to the CADCAM products they
You think that CATIA is an affordable answer.
You think CATIA has the equivalent of what Solid Edge with Synchronous
You think SolidWorks has the equivalent of what Solid Edge with
Synchronous Technology has.
The Jon Banquer blog has linked to a new video which makes it very
clear how much better thought out Solid Edge with Synchronous
Technology is and how much easier it is to model with their new tools.
San Diego, CA
I don't know what to think OpenNURBS is. It appears, to me, to simply
be a library of functions that will read / write native Rhino 3dm. A
tool or hook for 3rd party developers? I don't know. The extent of
my knowledge ends with what I posted.
_ _ _ _ _ _
"Rhino started out as a surface modeler, not a solids
modeler (which use kernels to produce BREP solids
from such as NURBS surfaces). You don't need a kernel
to create curve or surface either."
What is a "kernel"?
Is that wino bait?
Are we just playing with semantics?
It looks like a serious statement, with which I can't agree, so I'm
lacking some knowledge or the terms used mean something inconsistent
with my understanding of them or the statement is incorrect.
First: What is a "solid"?
It's a concept, a database entity.
Unless something's changed since I last looked Rhino (v3) can create
and manipulate nonmanifold boundary representations, it can boolean
add or subtract two closed shells where there is an intersection. It
can calculate and report the volume represented. It can not create a
"solid" with an internal void. It can create the closed shell
representations. It does not have a database structure to contain
them, call it a "solid" and manipulate it as such; i.e. report the
"solid" volume or boolean subtract its volume from an encompassing
volume yielding two disjoint "solids".
In my mind THAT is what makes Rhino a "surface", vs. "solid", modeler
more so than its lack of all the typical Solid Modeler sequential
function call macros that create surface geometry, perform intersect,
trim, join operations consistent with the user defined boolean
operator and validate the manifold solid b-rep object without
additional user input.
To create a curve you need functions that accept two or more user
defined points at minimum, possibly tangent direction, curvature and
rate definitions and from that input return; usually, a graphic
representation and coordinate values for any point on that curve.
To create a surface you need functions that extend curve creation,
query and manipulation from one (U) dimension into the second (V)
To create a shell you need a database entity to contain one or more
surfaces, their supporting (curve) entities or pointers to discrete
database entities that define them and any additional attributes that
may be associated with the object, and you need functions that will
manipulate the shell entity as a single object.
To create a solid you need a database entity to contain ... yadadada
... and functions to manipulate the entity as a single object.
So what is a kernel?
Parasolid, ACIS, Granite, ...
Is C(atia) A(pplication) A(rchitecture) a kernel?
Is Rhino's geometry engine, e.g. it's core creation, query,
manipulation function library a kernel?
_ _ _ _ _ _
"But what of the current Rhino solids "kernel"?"
Obviously I can't answer that question.
To the best of my knowledge, the extent of which was gleaned from
the previously mentioned and presumably lost forum discussions which
McNeel tech and development personnel participated in; their geometry
and database creation and manipulation functions are their own and
were written 'in house'.
If they have "solid" capabilities in addition to what I've described
above I have no idea if they are 3rd party add-on, core product,
licensed, owned, ...
I'd be tickled if I knew if they have a "kernel".
Who said it does?
And, what in this specific context does "enclosed" mean?
Generally speaking a volume is not defined by surfaces
but by "shells". It's the "topology" that makes the
Reread what I wrote. I indicated that, in my opinion, the ability
to create a shell, define a volume, ..., whatever does not a "solid
And let's be specific: what we are talking about is b-rep modelers.
Some have the ability to create and manipulate (the volume with
internal void) "solid" (database) objects, some don't. Some have
the ability to create and manipulate "disjoint solid" objects, some
Rhino does booleans. That's been stated.
They are still there. The surface definition remains unchanged.
Interior trim boundaries were added to shell (or whatever; some
database entity defining the trimmed surfaces) definitions.
Ref IGES type 144 Index 5 (PTI).
We'll have to agree to disagree that "automatic" does not
a solid modeler or a kernel make.
Putting that aside though:
Rhino does booleans, therefore "automatic" trimming.
Does Rhino have a kernel?
Is this getting a little soft around the edges?
Where else would the definitions be?
Rhino has database entities containing ("deals with") topology
definitions. Does it have a kernel?
Thanks for the links. I'll check 'em out. Wiki I take with
a grain of salt. I assume, since you made the recommendation,
you're vouching for technical accuracy.
I confess. When I entered this phase of the discussion I brought
with me the opinion that "What is a kernel?" resides with "Why is
there air?" Your statement took me by surprise.
What are Parasolid, ACIS, Granite but libraries of functions and
supporting data structure definitions? What is the scope of each?
When do application developers pass user input to library function
calls and when must they write their own functions and pass the
results to licensed library functions or simply integrate the
results in the data set? Who maintains the history and parametric
relationships? Varies. Correct?
(Now that it's been mentioned; what "kernels" do maintain history
and parametric relationships? I might lose my nickle but I'd bet
that is always the application developer's responsibility.)
I see no distinct difference between SchmoCAD passing user input
to an ACIS or Parasolid function and Rhino passing user input to
its 'home grown' function.
If you run across a nice, clean definition of "kernel" ...
maybe I'll buy it, maybe I won't.
Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here.
All logos and trade names are the property of their respective owners.