My idea of how a modern mailing service should work

From one perspective, I can totally understand why small companies wantto outsource handling outgoing mail to a dedicated mail provider. Thedays when you could just install a MTA, plug in some settings, andbe done are long over; these days doing a decent job of sending mailand getting it delivered to as many places as possible requires asignificant amount of specialized expertise, and the expertise goes upif you want to use HTML mail. You could learn all of this, but why?It's better to


Another comment spam precaution that no longer works out

I use a number of comment spam precautions here (although most of the work is done by only one ). However every so often one of these clever tricks turns out to be not justuseless but a bad idea.One of my most elaborate comment spam precautions here is signing thecomment form with various information about the IPaddress that fetched it. When I came up with this precaution back fouryears ago, it was clear from my logs that spammers were fetching my 'adda comment' page from one IP


Understanding a tricky bit of Python generators

From this Python quiz 'sthird question, consider the following code:

units = [1, 2]tens = [10, 20]nums = (a + b for a in units for b in tens)units = [3, 4]tens = [30, 40]print nums.next()

This is a far more interesting quiz question than you might think,because what's going on is actually quite deep.

One of the things that gets people in Python


Unit testing by analogy to scientific hypotheses

In the popular and currently dominant view of how to consider whethersomething is a proper scientific hypothesis, an important criteria is falsifiability . Tosimplify a great deal, you test a scientific hypothesis not just bylooking for what it says should be there but also by looking for whatit says should not be there. If the hypothesis is 'all swans are white'you don't just look for white swans, you also look for ones that are notwhite.

Let us consider a theoretical function that returns True if


Some thoughts from a close view of catastrophe

The Computer Science department (who I work for) is spread out overthree buildings, which means that we have switch racks in wiringclosets or machine rooms in all three buildings. For historicalreasons, our switch racks in the smallest building are in an ElectricalEngineering machine room. EE mostly uses the machine room to house someresearch clusters and computing, but they also have their switches forthe building in a rack by ours in the corner. The weekend before last,a series of events lead to this machine room


Oracle shows its appreciation for long-term Sun customers again

I suppose that this is not exactly news, but I noticed recently thatas part of its 'transition' of sun.com (aka getting rid of sun.com),Oracle has of course gotten rid of docs.sun.com as well. Just as they'vedone with other sun.com properties, there are no specific redirectionsfor old docs.sun.com URLs; all URLs now wind up on a generic Oracledocumentation website.

So let me summarize that: Oracle broke all old links


A multilevel view of DevOps (with more balance)

Phil Hollenback in a comment on my earlier entry :

My take is that DevOps Means Don't Be An A-Hole . That'skind of a compliment to what you are saying I think - devops is aboutimproving communications.

I don't think it's this simple. Instead I think that the broad labelof 'DevOps' is a reaction to three different sets of organizationalproblems, which I am going to list in decreasing order of severity.

First is the blame problem , where developersget


DevOps and the blame problem: an outsider's view

I'm an outsider on the whole DevOps movement (we don't have anythinglike a traditional operations or development environment here ), but from my outside perspective itlooks like DevOps is really an attempt to deal with the blame problem.

The traditional organization's approach is to blame operations whenservices aren't running (or aren't running well enough) and to blamedevelopment when features aren't delivered. When you blame devs fornot delivering features, well, your devs deliver features but not


How we handle iSCSI device names in Solaris

One of the quite important things we've done in our SAN environment is that our local software hides the real Solarisdevice names in favour of local labels for iSCSI devices. Hiding thereal device names is not something that's normally recommended, but Ifeel that iSCSI is a special case, especially in a Solaris environmentwith MPxIO enabled .

First off, let me give you a concrete example that may illustratewhy we hide device names. Here is the normal Solaris device namefor a disk and the iSCSI name


Danger signs for mail senders in SMTP conversations

This is another one of those entries that I write for people who arenever going to read it, but I don't care; I just feel like pointingout the relatively obvious.

Suppose that you are someone who runs a mailing list service. Likeeveryone else who offers such a service, spammers will attempt to(ab)use it. Thus, one of the important things that you need to do isdetect signs that you have a spammer's mailing list, and these daysyou certainly can'