[GNC-dev] Normalizing/obfuscating live data

Wm wm_o_o_o at yahoo.co.uk
Mon Feb 11 08:48:57 EST 2019

On 04/02/2019 08:40, Christian Stimming wrote:
> In a real data file there are still more places with text that need to be
> modified, e.g. the scheduled transaction templates, bayes import matching, and
> such. Also, the dates are left unmodified which may or may not be a problem.

Stripping out scheduled tx should be OK unless they are specific to the 
problem being reported.

Because gnc is, by definition, a tx stream processor future tx are not 
normally noticed until encountered.  (Personally I love the ability to 
generate tx in the future, it allows me to model my immediate monetary 
future.  A very positive thing.)

I think all of the import stuff should be stripped too.

Dates are more interesting, Christian

people (right or wrong) place value on dates (in my culture it will be 
14 Feb soon)

How about this as a proposal?

If the dates in the file are in sequence it usually won't matter how 
much time is in between each date.

Why do I say this?

Because gnc is a *sequential* tx processor and as such the *sequence* of 
transactions can be important but the actual dates often aren't.

If anyone is struggling with this conceptually, in a gnc file the date 
defines the order in which a tx is processed, that is what a transaction 
stream program does.  The tx may be in the wrong order (this is part of 
the reason why gnc does the weird thing of loading everything into 
memory, it can't trust the file!) so it has to work out which tx is 
first, which one comes next and so on.

I don't think I am teaching ChristianS anything, just explaining stuff.

So, I think the dates can be modified so long as the *order* of dates 
and times is left extant.

Proposal: make the first date random (after 1971 or some later date for 
technical reasons), treat the tx in date+time sequence adding one day 
each time a difference is noted.  This will produce a time compressed 
file that obfuscates when someone actually did something.



More information about the gnucash-devel mailing list