An update on faulted ZFS spares
We've recently got some additional pieces of news on the faulted ZFSspares situation .
First, our suspicion as to the cause was correct; Sun has confirmed thatthere is a race in adding the same spare to multiple pools under somecircumstances. The fix for it is apparently in Solaris 10 update 8, andSun did an 'IDR' for us for our Solaris 10 update 6 systems. (I assumebut have not confirmed that just applying the current set of ZFS patchesand their prerequisites is good
Spam and the attraction of reach
Here is a thesis: the larger or more standardized the environmentfor sending messages, the more spam you should expect to get in orthrough it. Accordingly, email is heavily abused because it is hugelystandardized.
The spammer's motivation for abusing larger, standardized environmentsis obvious; the larger the environment, the more people you can reachwith a single technique, approach, or system. Larger environments havebetter return on effort, since generally (but not always) most of theeffort in spamming in an environment
The corollary for effective anti-spam heuristics
Last time I mentioned that spammers wereperfectly capable of adopting their practices to defeat anti-spamheuristics like requiring a valid EHLO or reverse DNS, and so suchheuristics were, if effective and widely adopted, at best a temporaryfix. This raises an obvious corollary about good anti-spam heuristics.
Since spammers will adopt when it is both useful and possible, a goodanti-spam heuristic is some characteristic of the message or of how itis transmitted that the spammer cannot easily change. While people havemade various
Universities are open environments
One of the things that's led to the university Internet environmentchanging (per an earlier entry ) is thatuniversities are open environments in general and especially in termsof services. In this they are fundamentally different from companies,which can be much more closed and closeted environments.
I think that there's three reasons for this. First, there is a muchdifferent relationship between many people at the university and theuniversity. In a company, everyone 'at' or 'in' the company is workingfor
Finally understanding the appeal of 'Interfaces'
I spent a long time not really getting the need for coded, explicitimplementations of 'Interfaces', by which I mean things like zope.interface . Itdidn't help that I generally encountered them as part of very large,complex systems like Zope and Twisted, and they tended to come with alot of extra magic features, which made the whole idea seem like thesort of thing you only needed if you had to deal with such a beast.
Then, recently, the penny dropped and I finally
'Is-a' versus 'is-a-descendant-of'
One of the things that my issue with the Python re module not exposingits types has firmly mashed my nose into is thedifference between 'is-a-descendant-of' and 'is-a' in object-orientedlanguages. It's conventional to think of them as more or less the samething, even in a loose duck typed language like Python; it just seemsto make sense for all compiled regular expressions to descend from asingle base class, just as it theoretically makes sense for both
A limitation of Python types from C extension modules
It's recently struck me that there is an important difference betweentypes (and classes) created in a Python module and types/classes thatcome from a C-level extension module.
Suppose that duck typing is not enough and soyou really want to make a class that inherits from an outside class(one in another module), yet overrides all of its behavior. This letsyou create objects that work the way you need them to but will pass isinstance() checks that are insisting on instances of the
How to defer things in Exim
Normally, Exim routers will only accept or fail addresses (or beuninterested in them). This is good enough for normal handlingof addresses, but if you are using routers to their full power , there are times when you want to force routers todefer addresses instead. There are two general ways to do this.
(Unsuccessful DNS lookups can cause addresses to defer, but thisis not normally under your control.)
The straightforward way is to use a separate router to explicitly deferthe address using the :defer
(Ab)using Exim routers for their full power
Officially, as reflected in the documentation, Exim routers are expected to take more or less disjoint sets ofaddresses; for example, you have one router to do DNS lookups and SMTPfor external addresses, one router to handle aliases, one router toexpand the .forwards of people with them, and one router to deliver topeople's mailboxes for people without .forwards. This makes the orderingof the routers relatively unimportant; approached this way, it is usedmostly to make writing routers more convenient by having to
What makes Exim work as a mailer construction kit
In light of Postfix versus Exim , you might wonder whatfeatures make Exim into a mailer construction kit. For me, the easiestway to summarize the answer is to say that Exim has the idea of whatI will call a user-written mail processing pipeline (actually two ofthem, sort of).
By a mail processing pipeline I mean a series of steps that messagesgo through to decide what will happen to them and how they will bedelivered. In many MTAs, this processing pipeline is more or less