Confusing Data and Metadata

The times when data and metadata are confused.

Are these a simple example of Gödel’s Theorem?


Take for example the UART provided for the PSOC4 series of microcomputers. While reading data byte by byte this UART omits zero by default?! That is, a string of bytes received which contains a zero byte, will have the zero byte omitted when the data is read in the usual way. (There is a way to get every byte but it requires delving into the working of the UART.) Clearly the programmer of this utility has confused zero with nothing! The question of whether data has arrived or not is clearly a mater for metadata.

The question “How many ducks are in the front yard” cannot be answered with a simple integer of zero if in fact one has not looked! “I didn’t look“ is not the same as zero.

In the USB HID (Human Interface Device) report structure a first byte (The report ID) may or may not exist. The report ID can be any nonzero value and will be sent with the report. However if the report ID is zero no byte is sent. Here again zero and nothing are being confused! (In windows this byte is restored upon reception of nothing.—is this possible? Well, in USB there is plenty of metadata so things can be straightened out.)

Wikipedia says:

Gödel's incompleteness theorems are two theorems of mathematical logic that are concerned with the limits of provability in formal axiomatic theories. These results, published by Kurt Gödel in 1931, are important both in mathematical logic and in the philosophy of mathematics. The theorems are widely, but not universally, interpreted as showing that Hilbert's program to find a complete and consistent set of axioms for all mathematics is impossible.

It is usual to say that the proof of these theorems is extremely complicated. But in essence Gödel showed that within a system of mathematical logic it is actually possible ask questions about the logic itself. In my mind it means that there is always metadata that is not within the framework of the system.

If your system is the integers from 0 through 255 then the question “is there data” cannot be answered by such integer.

If you bothered to read this far, go take a nap now.