Putting an End to Endianism: the feud you probably never noticed but take part in every day

“This is an attempt to stop a war. I hope it is not too late and that somehow, magically perhaps, peace will prevail again.” (Cohen 1980)

Let’s begin this tale of the conflict you’ve probably never heard about with a quotation from Gulliver’s Travels:

It began upon the following occasion. It is allowed on all hands, that the primitive way of breaking eggs, before we eat them, was upon the larger end; but his present majesty’s grandfather, while he was a boy, going to eat an egg, and breaking it according to the ancient practice, happened to cut one of his fingers. Whereupon the emperor his father published an edict, commanding all his subjects, upon great penalties, to break the smaller end of their eggs. The people so highly resented this law, that our histories tell us, there have been six rebellions raised on that account; wherein one emperor lost his life, and another his crown. These civil commotions were constantly fomented by the monarchs of Blefuscu; and when they were quelled, the exiles always fled for refuge to that empire. It is computed that eleven thousand persons have at several times suffered death, rather than submit to break their eggs at the smaller end. Many hundred large volumes have been published upon this controversy: but the books of the Big-endians have been long forbidden, and the whole party rendered incapable by law of holding employments. During the course of these troubles, the emperors of Blefuscu did frequently expostulate by their ambassadors, accusing us of making a schism in religion, by offending against a fundamental doctrine of our great prophet Lustrog, in the fifty-fourth chapter of the Blundecral (which is their Alcoran). This, however, is thought to be a mere strain upon the text; for the words are these: ‘that all true believers break their eggs at the convenient end.’

For Jonathan Swift, the wars of religion and generations-long rivalries between Britain and France were precisely as arbitrary as a decision about which end of a boiled egg to crack. Since it really doesn’t matter, everyone should do as they see fit, and ‘break their eggs at the convenient end’. The question remained: which end would that be?

For modern day computer engineers considering which byte order to set their hardware and software to, the decision is still fairly arbitrary, but it matters at least a little which end is adopted. Rather like driving on the left or right, no one really cares which is which as long as everyone agrees on a convention, but also like driving on the left or the right, no one is prepared to shift their preference, and when pressed will provide justifications for the status quo. Unlike driving on the left or right, however, those justifications do have some reasoning behind them. It actually is possible to come up with a list of why a particular byte order is useful for particular purposes, and therefore to prefer one order or the other on somewhat rational grounds.

Danny Cohen’s article, the one that announced the war in the first place, lent its central metaphor of big endians and little endians to the concept of byte order:

“Endianness describes how multi-byte data is represented by a computer system and is dictated by the CPU architecture of the system. Unfortunately not all computer systems are designed with the same Endian-architecture. The difference in Endian-architecture is an issue when software or data is shared between computer systems. An analysis of the computer system and its interfaces will determine the requirements of the Endian implementation of the software. ” (Intel white paper, quoted in Blanc and Maaraoui 2005:2)

For instance, Intel x86 architecture is little-ended (see LaPlante and Mazor 2006 for a history), while Motorola architecture is mostly big-ended. ARM architecture and some others, meanwhile, have switchable endedness, which tends to be set one way or the other by default. The distinction between Intel chips used in most IBM compatible PCs and Motorola chips used in most Apple computers meant that the byte order issue was, to say the least, overshadowed by intense marketing competition and rivalry during the 1980s and into the 1990s. Behind the embryonic “I’m a Mac – I’m a PC” rivalry lay another much less glossy rivalry, between big-endian and little-endian architecture.

In seeking a resolution to these fairly arcane distinctions in computer architecture, Danny Cohen identified a number of alternatives, which, as it turns out and though he probably didn’t know it, relate quite well to the four cultural biases or worldviews identified by the anthropologist Mary Douglas in her Grid-Group Cultural Theory . The first was continued ‘holy war’. This is what Lilliput was pursuing against Blefuscu and, according to Cohen an appropriate metaphor for the standoff between big-enders and little-enders in computer communications architecture. It seemed likely to continue because:

“Each camp tries to convert the other. Like all the religious wars of the past, logic is not the decisive tool. Power is. This holy war is not the first one, and probably will not be the last one either. The “Be reasonable, do it my way” approach does not work. Neither does the Esperanto approach of “let’s all switch to yet a new language”.”

An alternative was to somehow supply a big man like Gulliver to come and sort out the problem from on high. Here we see the strong Grid – strong Group approach of the Hierarchical cultural bias:

“We would like to see some Gulliver standing up between the two islands, forcing a unified communication regime on all of us.”

Yet another alternative offered by Cohen was to trust to chance and abide by the dictates of fate:

“How about tossing a coin ???”

This is a nod to the strong Grid – weak Group cultural bias of Fatalism.

Lettle Endian / Big EndianCohen, like Swift before him, was not terribly optimistic that conflicts over arbitrary decisions would be resolved amicably. He forecast:

“Our communication world may split according to the language used. A certain book (which is NOT mentioned in the references list) has an interesting story about a similar phenomenon, the Tower of Babel. Little-Endians are Little-Endians and Big-Endians are Big-Endians and never the twain shall meet.”

Cohen was writing in 1980. Computer engineers have now had thirty years to resolve the war of the byte order. So how have they fared?

What happened next? How did things pan out? Which end of the egg triumphed?

Continue reading “Putting an End to Endianism: the feud you probably never noticed but take part in every day”

Advertisements