The V questionarium & answerarium, 2018 edition
To set the mood, let's snipe from the log :
trinque I don't see that eucrypt code includes the ada compiler? why not? or linux kernel, or etc.
mircea_popescu because nobody willing to sign it has yet been found.
mircea_popescu but should eg, bitcoin-fs be written, then yes trb will exist in the same tree as bitcoin-fs. and should we go as low as tmsr-os, then yes, tmsr-os as genesis will have bitcoin-fs patchzone and then trb patchzone after that. and people wanting to use bitcoinfs for something else can just press up to there and no further. and projects wanting to import bitcoinfs but not trb will just build off that height of tree, and continue thusly. and yes, "the complete tree of all patches ever downstream from tmsr-os genesis" will include ~everything~ we ever made, and there's nothing wrong with that ; and people not caring to keep the complete patchset will keep whatever subs they want, exactly like http://btcbase.org/log/2018-04-09#1794613
a111 Logged on 2018-04-09 14:31 mircea_popescu a right. hanbot do me a favour : download ~only~ those patches which are in the leftmost trunk seen on phf's viewer (so exclude vtools_vdiff_sha, and its dependents) and try to flow again ?
spyked but say I have a similar itcbot vtree, with logbot on top. then top of it I include trilemabot (handling self-voicing et al.), then on top of that rss bot. then if I want to use rss bot but not logbot (which don't depend on each other), how would I go about that?
mircea_popescu why is trilemabot on top of logbot instead of on the side of logbot ? (the realisation that v-tree management is a lot like playing tetris should probably hit just about now)
trinque I think this is absolutely correct, and I'm in error not putting logbot in ircbot's tree.
mircea_popescu not the end of the world, the "author1 thionks author2 is an idiot" can be very mild indeed, "i didn't like the patchlength, collapsed some and regenesised"
spyked then if they're separate branches and if I want to make purely hypothetical spykedbot that does both? would end up with patch with two antecedents, should v press that? should I regrind?
mircea_popescu v presses that as it is now, why not. plenty of examples extant.
trinque I suppose I should've said instead "had there been a gnat v-tree, eucrypt would never find itself in a position where gnat had moved, and nobody can find the gnat to build eucrypt"
mircea_popescu indeed that'd be so, and how joyous a circumstance. that's even why eucrypt doesn't want to be outside of the tree of its dependencies, after all.
trinque there's a cultural thing here that just came into view. the work will be regrinding until there's fewer and fewer disjunct trees.
mircea_popescu whenever the weight of signatures warrants the effort.
spyked was thinking, will "the (one and only) v tree" end up eating everything?
mircea_popescu depends on dependencies. eg you can have independent arm and x86 osen. or can have special purpose osen in other ways, and end up with lone trees. for instance : bitcoinfs may be found useful by someone storing flac muzak. they'd then copy it from its original tmsr-os / trb tree, and put it in their gp-os / torrent tree. this'd take some doing, conceivably, but the someone in question may find the answer to "import or rewrite" favourable on the import side.
trinque will be interesting what comes of tracking those lineages
mircea_popescu i dunno that they're to be tracked, it'd be 100% elbow grease of the porter and his beard.
trinque sure, but whether the same patch hunk ended up in two places is computable, interesting in a patch-viewer sense, not in a vtron-operation sense
mircea_popescu i suspect it may not be fully computable. but, sure, we see how it goes.
And now, let's proceed to the questions & answers :
1. Suppose multiple projects really do live in the same tree. What do you mean by interleave ?
That project A may import something from the state of project B at time t1, and then later something (else) from the state of the same project B at time t2.
2. Shouldn't project A simply wait for B to finish ?
Why waste time ? Use what works when it starts working. Waiting is for Windows printers.
3. What should a user of project A do, in case where project A imports an early version of project B, and the user must use project A but would like to also have the later version of project B ? Is he locked into the older version of B that A presses ?
The user should write a privatei patch that merges the version he likes of project A and the version he likes of project B.ii In general, private patches will approximately work as portage masks should work these days.
4. What if the maintainer of project B would like a prior version of B obsoleted but this can't be achieved because project A imported it with a historical patch ? Even if nothing in the present state of A imports anything from the old state of B, nevertheless the historical tree does and so it can not be deleted.
There is no option to delete code other people trust and use, and calling the deletion "obsoleting" instead doesn't change anythingiii. Once nobody trusts the signatures on a patch, then and only then does that patch disappear -- write them with this plain knowledge in mind, and sign them idem.
If the maintainers of A dislike the situation, they can refactor A, to include a different set of imports. If the maintainers of A like the situation but they're insane, someone else can do the refactoring, and the community will follow the new alternative. If the maintainers of A like the situation but they're insane, and someone else did the refactoring but the community didn't follow the new alternative, the someone else in question should a) shut the fuck up, b) understand what about their pomposity covers up for their unimportance and c) fix their stupid fucking heads.iv
5. I've written some code, where do I dump it ?
6. There's something I want. How do I find out if it already exists ?
Ask in #trilema ; or if that's not feasible, see if any of the lords is willing to ask (many maintain their own castles) ; or if that's not feasible either, ask the person maintaining the closest item to what you want that you know about, they should be able to route you.
7. There's something I want that I established doesn't exist. How do I proceed ?
If it's even vaguely useful you found out it doesn't exist through the device of me giving it to you as a task. If that didn't happen you're probably wasting your time.
If that did happen, you're first to decide if your thing should be a patch on an extant tree or a genesis of a new tree. The process of making this decision does not at any point involve your feelings, hopes, desires, self image or any other psychogenic noise you may be able or inclined to contribute ; nor is it at all open to your free arbiter (irrespective of what you might be -- wrongly -- thinking).
Instead, making this decision is a simple three step process : 1. establish who maintains the closest tree to the thing you want (multiple alternatives are fine) ; 2. ask them whether it should be a patch or a stand-alone item ; 3. see if their response makes sense. That's it and that's all, your only job is to make sure they're not spewing chunks of nonsense, naught else.
Proceed thencefore in a close cycle of the following binome of announcing whatvi you're about to do and why then doing it all through design and then implementation -- in that order! Following this process will ensure the other interested parties form accurate mental representations of both your work and your person, which will allow them to both use your product later on and also sign off on your work ; and the overwhelming power of the logs to build a culture will also ensure that parties that should become interested later can nevertheless catch up, and form the same accurate representations.
If you run into trouble, which is to say conflicts you do not know how to resolve, complain. They will be arbitrated, and from experience the net result will be a much clearer view of yourself, for your own benefit. Except of course if you're the sort that doesn't see the benefit in a clearer view of himself -- in which case, you absolutely do not belong here at all.
8. Isn't a good naming scheme very important for patches ?
Yes, actually, I'm glad you asked. Now go ahead and bring it before the forum, see what people have to say.———
- There's no rule all patches must be released. You can even sign private patches with a private signature (ie, not in WoT), which means that even should they be accidentally published nothing would happen. [↩]
- Trinque's manifest files allow this to occur for free, even. [↩]
- And fucking stop trying to call things you're not permitted to do "something else" that "we don't know about". Jesus that's annoying. [↩]
- The republic is not "all-inclusive" ; and is not all exclusive either by the thinnest of margins. There is no room here (or indeed -- anywhere good) for the sort of fucktard that would like to but can't. It's the lime pits for that lot!
Phlegm and rheum upon the UStardian "science" consisting of "we're renaming everything every 5 year plan so a bunch of politruks in lab coats can tell themselves they've contributed to science" ; and pseudo-technology idem. [↩]
- Read the whole conversation, it's the up to date standard of working within the republic. [↩]
- What includes a time horizon, yes. [↩]
Sunday, 27 May 2018
I think it would make sense to reference this in the TMSR primer.
Monday, 28 May 2018
I guess that's primed for an update...