Wed Oct 9 05:55:25 EDT 2019
There is no clean rebuild (there are only incremental build systems)
What made me see this is how to manage keys in a build system.
Ultimately, this is the idea that software is always relative: there
is some information in the system that is a proxy of the "real" stuff,
e.g. the hardware that interprets the software into physical effects.
Keys have the same kind of problem. Keys are necessary to deploy, but
the "initial" build will need to generate deployment keys, so
technically this is a bootstrapping problem.
It is best to acknowledge bootstrapping problems.
Or: when creating a clean build system, you always end up at
bootstrapping problems that will permanently prevent the "single root"
Or: all software evolution should be incremental, but preferably
separated into a germline that is made explicit, and a phenotype
construction line (a cache).
( yeah sorry bordering on mania, trying to salvage some ideas before i
Basic idea: S (source) relates to D (deployed, running software), but
the only real relation we have is that dS maps to dD. The initial
state D0 is almost always ad-hoc, provided by a human to "just make it
So there really are only incremental build systems.