EByte and the Story of the Byte Behind the Name
EByte is a tool that cares about bytes, every one of them, so the name starts there. The word itself is younger than most people guess, and its odd spelling was on purpose.
First came the bit. The word is short for binary digit, and Claude Shannon put it in print in 1948 in his paper on the mathematics of communication, crediting John Tukey with it. A bit is a single 0 or 1. Useful, but too small to hold a letter or a number on its own.
A Bite Becomes a Byte
In 1956 Werner Buchholz was working on IBM’s Stretch computer and needed a word for a group of bits handled together, the chunk a machine bites off at once. Bite was the obvious choice. It was also one letter away from bit, and a single typo or a misheard word would turn one into the other. So he changed the i to a y. Byte looked different enough that nobody would mistake it for bit, and it stuck.
On Stretch a byte wasn’t fixed at eight bits. It could be anything from one to eight. The eight-bit byte became the norm with IBM’s System/360 in 1964, and it’s been the default ever since. Standards that need to be completely unambiguous still say octet when they mean exactly eight bits, which is why network protocol documents are full of them.
Why It Fits
A binary file is a row of bytes with no labels. EByte’s whole job is to give each of those bytes a name and a place: this byte is a version number, these four are a sample rate, these 1,600 are audio. When something goes wrong, the answer it gives is a byte too, the offset where a file stopped matching its description. A round trip passes only when every byte comes back.
The example format that ships with EByte has a small joke built in. Its files start with a two-byte magic number, the signature that tells a program it’s looking at the right kind of file. Those bytes are 45 42, and in ASCII that’s E and B. Run ebyte inspect on the example and the first field it reports is that pair, at offset 0, two bytes long.
Spelling It
It’s written EByte, said “e-bite”, and typed ebyte on the command line, in the Go import path and in the address of this site.