Big And Little Indian

A week or two ago I went to the ODVA EtherNet/IP Developers Quick Start in Andover MA. It’s a really good event. Lots of good information in one place if you really want to drink from the firehose on EtherNet/IP.

After the morning presentations I was teasing Ray Romito of Rockwell about both his tenure at Rockwell (34 years) and the terms “Little Indian” and “Big Indian”. About the former I told him that he’s been at Rockwell longer than I’ve been alive! Not true but it was fun to say. I asked him what it was like to take a buggy ride with Lynne Bradley or party all night with Stan Allen. I expressed surprise why the company name wasn’t Allen-Bradley-Romito. The least he should have done was to marry one of their daughters.

For those of you who don’t know the terms Big Indian and Little Indian is a perversion of the actual terms; Little Endian and Big Endian. It refers to the order of data bytes within a processor’s memory. In the old days, Intel and Motorola had to decide that within a two byte word of data, would the most significant byte of the data be first or would the least significant byte of data be first? Well, Intel decided it one way and Motorola decided to do it the other way. There’s more lost productivity to this arbitrary decision than almost any other I can think of.

For those of you non-programmers, here’s why it’s important. The two hexadecimal bytes 01 02 refer to the decimal value 258 in a Motorola processor and 513 in an Intel processor. In the first case the decimal value is computed as 1 * 256 + 2. In the second case, it’s 2 * 256 + 1.

Ray knows all this and just made a slip of the tongue. I’m glad of it, of course. Always looking for something to tease somebody about.

But, as always, there’s a finer point. The finer point is that there are a lot of things like this that are second nature to us networking people and foreign concepts to everyone else. And that’s true in every industry. On my recent experience with serious biking enthusiasts (didn’t want to say nuts) I could hardly follow their conversations. Lots of technical gibberish about biking that I don’t know and really had no interest in.

We have lots of things like this with our industrial gateways. Besides endian, there’s different styles of Floating point that people use, there are weird parities like Space and Mark. And there’s all the strange ways of describing connections and making them sound important like Group 1 Only I/O Server. I’ve been using terms like Group 1 Only I/O Server in bars for a while now but have yet to find a woman that it impressed.

I have to hand it to my engineers, they’ve buried a lot of these details from customers so that you really don’t have to deal with it. All these weird terms and odd peculiarities are concealed in products like our ASCII to ControlLogix gateway, or our gateway to move Modbus registers to a BACnet IP Client or our gateway to move raw TCP data into a Modbus TCP PLC.

If you every get the opportunity to attend one of these events, please do. They’re pretty informative and fun; more so when the speaker routinely messes up the names of terms. If you do show up, I’ll be the guy out by the cookies giving him crap about it.