Exploring an ARP mystery: a little Linux surprise

Lately, some of our OpenBSD machines have been periodically loggingkernel messages like the following:

arp: attempt to overwrite entry for IPADDR on bge0 by MAC-ADDR on nfe0

What this message means is that the OpenBSD machine had previouslyacquired an ARP entry for IPADDR on bge0 but now it was seeing thesame IP address advertised in an ARP message from MAC-ADDR on nfe0.There are a number of things that can cause this; most of them arealarming.

Now I need to describe the


Why Exim has a single queue for all email

In a recent entry I mentioned that Exim putsall pending email into a single queue instead of having multiple queues(with one per destination domain or the like). Given that multiplequeues make it much easier to insure that a single slow destinationdoesn't affect email to other places, you might wonder why Exim has madesuch a choice. The answer is that a single queue is effectively forcedon Exim because of a core design decision.

All mailers have two conceptual stages for processing a message: theytake the


How to irritate sysadmins and give mailers heartburn with your MXes

Here's a simple way to irritate sysadmins and give mail systems somenice heartburn. First, send some email that will bounce or provokeautoreplies (for example, you could be sending email to an address that forwards it to somewhere that will rejectit). Next, have the following set of MXes:

; dig +short mx enviodigital2.info.0 mail1.enviodigital2.info.5 mail2.enviodigital2.info.10 mail3.enviodigital2.info.15

The well behaved Unix program and job control signals

The TTY demystified (which I'vecommented on before ) has some things to sayabout the SIGTT* job control signals. In the process it says somethingabout how they are and should be handled that I think is dangerouslymisleading.

Specifically, contrary to what The TTY demystified says, youshouldn't assume that the shell saves and restores TTY modes foryou when your program is suspended and restored. A well behavedUnix program that changes the TTY modes will remember and restorethe original modes when it gets SIGTTIN


The secure web voting problem

Somewhat recently, part of the anime blogging community had a certainamount of commotion and drama that culminated in this :

We are in the process of procuring a more secure voting system. We'renot quite sure how long it will take as of yet. Somewhere between aweek and the end of the month. [...]

(Here 'secure' means 'stands up to ballot stuffing'.)

When I read this, I think that my reaction could best be summarizedas 'oh really?


Another cynical take on the nofollow tag

What is now a relatively long time ago, I wrote a cynical take on thenofollow tag . I've recently come up with another takeon this issue, one that's even more cynical than before. As before, thebasic premise is that nofollow is really a clever way to improve searchengine results (which in practice means Google's results); however, thistime I think the mechanism is different.

Google's original PageRank algorithm assumes that a link from site Ato site B is


What Linux distributions should do to help their Python 3 transitions

After writing yesterday's entry , I'vewound up with some opinions on what Linux distributions should be doingas part of any transition to Python 3. This isn't aimed at gettingthe programs they package ported to Python 3 (that's really up to thedistributions and to the authors of the programs), but instead atencouraging general adoption of Python 3 among the people who use thedistributions and who may write some Python code.

(I could generalize this to all operating system distributions, but


The magnitude of the migration to Python 3, illustrated

I was just reading Nick Coghlan's Python 3 Q & A .and ran across this:

Support in enterprise Linux distributions is also a key point foruptake of Python 3. Canonical have already shipped a supported version(Python 3.2 in Ubuntu 12.04 LTS) with a stated goal of eliminatingPython 2 from the live install CD for 12.10. A Python 3 stack hasexisted in Fedora since Fedora 13 and has been growing over time, butRed Hat has not


More about my issues with DTrace's language

In his comment on my entry about why we haven't taken to DTrace , Brendan Gregg wrote in part:

It's been mentioned a few times, but I suspect it would be possible tocreate a higher level language ("D++") that speaks to libdtrace. Anadvantage of D being low level is that the user is conscious of howthe system is actually getting traced, in the same way that C is lowlevel. [...]

I don't think that this


Why I don't like implicit string interpolation

All (computer) languages of any practical use wind up needing to formatstrings somehow. There are many mechanisms for this and you can findlanguages that use pretty much any of them, so every so often someonecreating a language will settle on implicit string interpolation astheirs (this is where you write strings as something like "a: $a b:$b" and the actual string result has the variables substituted in). Inmy opinion this is invariably a mistake; to crib from the famous generalslam