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:
The metadata is simple such as JSON.
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.