11 by 3 is 3

Quick thoughts on data structures.

Human vs. Machine

Using C/C++ and integer division, the result is three.
In financial applications, such as your tax declaration, the result is four.

As instrument engineer, you write kernel drivers and use indices starting at zero.
You query your ADC from 0 to N-1, because that is a C or assembler code.

Giant companies with hundreds of developers for your code may add all convenience functions you can think of.
We can’t. We have to keep it simple, or KISS (keep it simple, stupid).

From my experience, even in 100 years, the average user takes a text editor and applies changes to the data. Even though you supplied a fail safe function to do this with the archive format.

There are two consequences:

  1. The metadata is simple such as JSON.

  2. The data is simple such as a simple IEEE 754 double number stream.

Small data, such as calibration data, can be JSON; they are likely to be edited by hand.

Groups

All in, one out

Since we can not write all convince functions, a good idea is to have a dump format, where the user can manipulate (or destroy) the data.
In case he is doing right, he can push the data back into a newly created archive.

../_images/io_process.svg

Fig. 1 name: proposal-io-process alt: Proposal IO Process src: proposal/io_process.svg align: center

IO Process