Lexicon / flat

Douglas Edric Stanley

2002.03.18

Flat is a term often used in computer programming circles in relationship to data and databases. It describes a list of data ordered with no structural heirarchy, with each data item placed at an arbitrary position within the list. With neither vertical heirarchy (families or categories of data) nor horizontal heirarchy (the data has no singular structured order, for example A-Z), the data is described as being flat.

The spatial implication of the term is important, as it is tied both conceptually to the ribbon described in the Turing Machine, and pragmatically to its implementation in the array as a list of data-holders identified by numbers incrementing infinitely up from zero. The fact that the data is identified as flat suggests that its concrete, actual configuration is as close as possible to the pseudo-spatial diagram of the technical array that holds it (cf. raw). The further the database adheres to the contours of the technical apparatus that maintains it, the more we describe it as flat.

In Neal Stephenson’s Snow Crash, he describes « The Street » of the « Metaverse », a networked virtual reality mirror world:

Hero is approaching The Street. It is the Broadway, the Champs-Élysées of the Metaverse. It is the brilliantly lit boulevard that can be seen, miniaturized and backward, reflected in the lenses of his goggles. It does not really exist. But right now, millions of people are walking up and down it. The dimensions of The Street are fixed by a protocol hammered about by the Computer Graphics Ninja Overlords of the Association for Computing Machinery’s Global Multimedia Protocol Group. The Street seems to be a grand boulevard going all the way around the equator of a black sphere, with a radius of bit more than 10,000 kilometers. That makes it 65,536 kilometers around, which is considerably bigger than Earth. The number 65,536 is an akward figure to everyone, except a hacker who recognizes it more readily that his own mother’s date of birth. It happens to be a power of 2 — 2 to the 16th power to be exact — and even the exponent 16 is equal to 2 to the 4th, and 4 is equal 2 to the 2nd. Along with 256; 32,768; 2,147,483,648; 65,536 is one of the foundation-stones of the hacker universe, in which 2 is the only really important number because that’s how many digits a computer can recognize. One of those digits is zero, and the other is one. Any number that can be created by fetishistically multiplying twos by each other and subtracting the occasional one, will be instantly recognizeable to a hacker.
– Neal Stephenson; Snow Crash; 1994

As it is one long road, discretely sectioned up along one single linear line using the number 65,536 for each section, « The Street » is essentially flat in the computer science sense of the term. And although it is only a literary invention, « The Street » is a fairly accurate approximation of the way in which memory is actually distributed in a computer. Like a giant line extended out into space to a fixed length (65,536; 2,147,483,64; and so on) memory is identified inside of the computer like a series of linear emplacements on one giant flat street.

Common sense would assume that such an array should somehow be heirarchized, for example lower numbers having greater priority over larger ones on this flat array or « street ». For a computer, however, this is not the case. While it is surely economical to have numbers placed next to each other (this speeds up the operation of the computer), two numbers do not have to actually be sitting next to each other spatially into to be associated sequentially in a flat database. By using a GOTO, or some form of a pointer, two pieces of data or instructions on opposite sides of a flat database can be sequenced as linearly continuous entities. This completely annuls the eventual heirarchical nature of the database — its’ possible A-Z structure — and creates many interresting technological and artistic possibilities for mashups, collages, otherwise known as cut and paste.

A flat distribution of data creates an immanent space where all objects become potentially contingent.