Gentoo Archives: gentoo-dev

From: james <garftd@×××××××.net>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Guidelines for IUSE defaults
Date: Fri, 03 Feb 2017 19:01:43
Message-Id: eed36728-d5f0-4ac6-4823-1e6de44f33a8@verizon.net
In Reply to: Re: [gentoo-dev] Guidelines for IUSE defaults by james
1 On 02/03/2017 12:39 PM, james wrote:
2
3 > So imagine flags are a giant 'sparse matrix' that I need to 'mollify'
4 > individually periodically, then run CI on that complete-set of packages,
5 > and then test against automated attack vectors.
6
7
8 So, were we to want to 'enhance' flag representation from a binary
9 tree form to a sparse matrix, there are many more robust things
10 we can do. For those not aware of sparse matrix benefits, they
11 basically provide for streamlined solving of large complex problems,
12 buy using special (matrix tricks) mathematical techniques to reduce
13 the full, valid set of parameters, into very small sets of smaller
14 problems. IMO, very applicable to CI and flag set testing. These sorts
15 of theories are trivial to test on minimized systems (huge shout out to
16 Walt, as the king of the minimizers!).
17
18
19 For starters, I suggest the package listing (i.e.) the future complete
20 listing of gentoo packages down the 'Y' (left) axis and the actual flag
21 status along the (top) X axis. Left Margin and Top margin
22 representations allow the (sub)matrix to be manually viewed as a typical
23 2-D table, very convenient. First we can alphabetize this 2-D flag
24 matrix for a baseline (base profile) reference matrix.
25
26 But, once you start thinking about it, recalling your grammar school
27 matrix algebra class, you realized that grouping flags by their myriad
28 of heuristical properties, you realize that the aggregate effect of a
29 flag is not binary at all, but more akin to a 'fuzzy logic' function.
30 For example, cluster up a group of packagers inside the sparse matrix
31 that all have the same flag, but it has different meanings, slightly per
32 package. Turn that flag (on) for all packages and it has a "staccato"
33 effect on the system as a whole. Turn that flag off and it is
34 null-effect (at least theoretically). This is how we currently discern
35 flag setting meanings, but by manually bumbling around in the dark.
36
37
38 Now, any number of flag activation, per package of that flag may or may
39 not have secondary (tertiary etc; kinda line harmonics on a LaPlace
40 or Z/s transform) effects on the system as a whole. WE as a community,
41 have been ad-hoc tweaking flags and noting the effects, in an
42 inconsistent manner, with only anecdotal means to share the result
43 of those intrinsic flag settings. Alchemy 2,000 years ago was almost
44 identical to how we (today) analyze flag effects. Grouping all the
45 packages with a given flag, for CI studies allow for row reduction in
46 the sparse matrix of flags, as CI runs are amassed into a larger
47 collective of heuristical interpretations of such specific flag groupings.
48
49
50 Or that is my latest treaty_proposal, on how to filter a particular
51 collection of flag settings and installed packages. I am open to other
52 ideas too, as well as traditional regression testing in a hybrid model.
53
54
55 Ultimate flexibility in the profile/flag tree, greatly simplifies the
56 automation of CI testing and automated results interpretations, imo. So
57 hopefully I have sufficiently explained my pathway forward, what I need,
58 and how these seemingly disparate issues, are all really just moving
59 parts of a much larger (system) need.
60
61
62 At the very least a 100% flexible flag settings/negation, via a profile
63 tree and other mechanisms, will not hinder the formation of matrix
64 representations of flag configuration sets, which are keenly needed to
65 draw reasonable automated conclusions from CI, at least related to flag
66 settings and secondary (inter-intra) flag setting interactions.
67
68
69 hth,
70 James