u0_a185[asciilifeform]: test message from cli
asciilifeform: http://logs.bitdash.io/pest/2022-01-27#1003201 << correct, at least for asciilifeform's orig.
bitbot: Logged on 2022-01-27 02:10:30 signpost[asciilifeform|billymg]: to restate the problem for the logs, extant v-trons walk backward from a given specified leaf node to genesis, then press forward along that path.
asciilifeform: http://logs.bitdash.io/pest/2022-01-27#1003204 << orig. v.py took an explicit press head for 1) make explicit what yer intending to do; 2) save some labour of moving patches in/outta the patch dir when pressing variants. (arguably one could dispense with the press head arg, yes.)
bitbot: Logged on 2022-01-27 02:20:39 signpost[asciilifeform]: questions I think are worth revisiting: 1) do we in practice have any use for multiple press heads? 2) is the lack of v-tron enforcement of manifest contents matching the computed patch flow prone to unnecessary operator error? 3) do we care if we preserve vpatch compat with traditional posix patch?
asciilifeform: http://logs.bitdash.io/pest/2022-01-27#1003204 << 2 -- yes; 3 -- asciilifeform likes that vpatches can be pressed 'by hand' if req'd (say, on a n00b's box where no vtron, or as field expedient)
bitbot: Logged on 2022-01-27 02:20:39 signpost[asciilifeform]: questions I think are worth revisiting: 1) do we in practice have any use for multiple press heads? 2) is the lack of v-tron enforcement of manifest contents matching the computed patch flow prone to unnecessary operator error? 3) do we care if we preserve vpatch compat with traditional posix patch?
asciilifeform: http://logs.bitdash.io/pest/2022-01-27#1003210 << you'd have to break the classical patch syntax, and aint clear to asciilifeform what is gained by doing so in this case
bitbot: Logged on 2022-01-27 02:37:41 signpost[asciilifeform]: another approach would involve allowing patches to declare antecedents without requiring that those antecedents be modified.
asciilifeform: ( yes unix patch permits noop hunks, but traditional vtron dun permit identical 'in' and 'out' hashes, because such a pair cannot be placed in order by the tree walker, it could fit in >1 spot)
PeterL[asciilifeform]: http://logs.bitdash.io/pest/2022-01-27#1003202 << wasn't the bigger problem that patches touching different files would get missed in the flow and left out?
bitbot: Logged on 2022-01-27 02:11:47 signpost[billymg|asciilifeform]: this is to avoid the fact that two given leaf nodes may both mutate the same "from" hash, and it's not decidable in current spec which takes precedence.
shinohai[asciilifeform]: testing android logging flush times
asciilifeform: PeterL: orig. yes. was why 'manifests'
u0_a185[asciilifeform]: The 24-Hour VWAP for BTC is $ 36605.63 USD
asciilifeform in orig. v did not include any such demand, relied on brains of operators to produce valid fine-grained patches if they feel like.
signpost[asciilifeform]: PeterL: both are consequences of dependency information not included in the vpatch.
shinohai[billymg]: $vwap
u0_a185[billymg|asciilifeform]: The 24-Hour VWAP for BTC is $ 36605.63 USD
asciilifeform: 'manifest' fwiw was orig. a response to an 'own goal' by asciilifeform , where produced a v-valid patch that pressed to an unbuildable item on acct. of not cementing a #include dep.
signpost[asciilifeform]: yeah, practically speaking I wish to lop of a lot of caked, gnarled hair-and-shit off pentacle after initial release.
signpost[asciilifeform|billymg]: rip the fucking autotools out of it, the perl deps, etc etc.
signpost[billymg]: might as well consider whether current v is as simple as can be before this, where cutting *unrelated* wads off the patient.
asciilifeform: makes sense, and worth the sweat defo imho
signpost[asciilifeform|billymg]: http://logs.bitdash.io/pest/2022-01-27#1003216 << yeah, not dissuaded of the "press all that can be pressed" notion just yet, and dispense with HEAD, or make HEAD optional arg. at least want to bump into something solid down that line of inquiry.
bitbot: Logged on 2022-01-27 14:45:27 asciilifeform: http://logs.bitdash.io/pest/2022-01-27#1003204 << orig. v.py took an explicit press head for 1) make explicit what yer intending to do; 2) save some labour of moving patches in/outta the patch dir when pressing variants. (arguably one could dispense with the press head arg, yes.)
signpost[asciilifeform]: http://logs.bitdash.io/pest/2022-01-27#1003218 << agreed, I use also to bootstrap pentacle on a system which doesn't yet have v.
bitbot: Logged on 2022-01-27 14:48:16 asciilifeform: http://logs.bitdash.io/pest/2022-01-27#1003204 << 2 -- yes; 3 -- asciilifeform likes that vpatches can be pressed 'by hand' if req'd (say, on a n00b's box where no vtron, or as field expedient)
signpost[asciilifeform|billymg]: http://logs.bitdash.io/pest/2022-01-27#1003220 << I think this one can be dismissed on grounds of breaking trad. patch, but I included for completeness.
bitbot: Logged on 2022-01-27 14:49:50 asciilifeform: http://logs.bitdash.io/pest/2022-01-27#1003210 << you'd have to break the classical patch syntax, and aint clear to asciilifeform what is gained by doing so in this case
asciilifeform: signpost: it isn't even that it's utterly impossible to improve on unix diff format (or the vpatch glue on top of same); simply that imho there is much value in stable format and particularly that erryone in fact has already support for it outta-the-box
signpost[asciilifeform]: http://logs.bitdash.io/pest/2022-01-27#1003222 << I'm possibly dense, but wouldn't the >1 spot be disambiguated by the inclusion of other antecedent hashes which do mutate?
bitbot: Logged on 2022-01-27 14:50:49 asciilifeform: ( yes unix patch permits noop hunks, but traditional vtron dun permit identical 'in' and 'out' hashes, because such a pair cannot be placed in order by the tree walker, it could fit in >1 spot)
signpost[asciilifeform]: but yeah, it brings in "then you have to require that patch includes disambiguating hashes" and that spiders out.
signpost[asciilifeform]: asciilifeform: yep agreed, I like preserving traditional patch support.
asciilifeform: signpost: in principle yes. asciilifeform was under the impression that you were contemplating a 'per hunks' fine-grained walker in place of the original 'grouped by patch' tho
signpost[asciilifeform]: busybox patch eats happily, for example.
asciilifeform: aaha
asciilifeform many times historically contemplated replacements for trad. diff that would e.g. not spew entire line if you changed 1 char. but it would subtract from human-readability, which is an explicit goal of vtronics.
asciilifeform: that problem is prolly best handled by e.g. colourizers for reading patches a la phf's
signpost[asciilifeform]: yep, one can go all the way to "aaaa why not AST-level-diff" with that.
signpost[asciilifeform|billymg]: (to which, certainly, but on a better planet or in 300yrs)
signpost[billymg|asciilifeform]: to argue in favor of the manifest, a prime benefit is that the line-of-history intent of the author is made explicit and part of the authored content, rather than keistered away in another representation in e.g. .git/
asciilifeform: aaha, abolishing metadata liquishit was anuther explicit aim of vtronics
asciilifeform fucking hates '.git' and similar disk litter shat by heathen versionatrons
signpost[asciilifeform|billymg]: indeed, git's meant to maximize code vomit - by volume - of desk slaves
shinohai[asciilifeform|billymg]: git out!
signpost[asciilifeform]: I think I'd be satisfied by v telling the operator when manifest diverges from press flow, and I'm still interested in perhaps making head optional.
signpost[asciilifeform]: though that latter bit isn't urgent.
asciilifeform: 'head optional' is comparatively trivial, simply let it pick the outermost leaf in the flow (and eggog if there's 2+ equal branches there)
asciilifeform: ^ famously in asciilifeform's original v.py the last part was omitted
signpost[asciilifeform]: a use-case in my mind is keeping a pile of experimental patches without needing to re-grind them.
signpost[asciilifeform]: but vpatching these by hand is not so much work
signpost[asciilifeform|billymg]: and have to regrind anyway once ready to publish to peers, to add a manifest entry.
signpost[asciilifeform|billymg] pretty satisfied actually. will take a run at v from "vtools" barking when manifest is stale.
PeterL[asciilifeform|billymg]: so I was thinking, it seems messy to have things like empty files/folders with just a comment in them (#this file is empty), wouldn't it be better to include a "setup" script that went through and touched all the needed empty files/dirs?
signpost[asciilifeform]: PeterL in what?
signpost[asciilifeform|billymg] dealt with this in pentacle, but considers software that "requires" empty files broken
signpost[asciilifeform]: I just did a for f in $(find -size 0); do echo '' > $f; done
signpost[asciilifeform]: (for now)
PeterL[asciilifeform]: like in blatta, lib/__init__.py
signpost[billymg|asciilifeform]: imho the line of reasoning you're following becomes "autotools"-esque over time
PeterL[asciilifeform]: is that bad?
signpost[asciilifeform]: i.e. src that mutates itself in all manners after press
signpost[asciilifeform|billymg]: python has a particularly stupid way of denoting what directories are considered modules
signpost[asciilifeform|billymg]: seems fine that the burden of this falls on python src to have a return in those files.
PeterL[asciilifeform|billymg]: and don't you also need to make some files executable, the setup script could do that too?
signpost[asciilifeform|billymg]: yeah, that is reasonable, and in fact this is what "pentacle" is
signpost[asciilifeform]: lemme snag you an example build script.
signpost[asciilifeform] has taken the view that these scripts do not belong in blatta's own src, because this is how you end up with a sad piece of software befouled with 1000 systems' compatibility tweaks, which again, straight to autotools hell.
signpost[asciilifeform|billymg]: folks might find this build script reminiscent of gentoo's "ebuild", but simpler.
signpost[asciilifeform] even has a basic use-flag mechanism in there.
signpost[asciilifeform] bbl, appointment
signpost[asciilifeform|billymg]: btw that's the build script for gnu make.
awt[asciilifeform]: I could release a version of blatta that wouldn't die on GetData packets right now, but unless anyone is in a particular hurry, I'll go ahead and finish up GetData support prior to the next release (currently only sends out handles GetData requests, doesn't know how to handle GetData responses).
awt[billymg|asciilifeform]: Pest supported version will be 0xFC
awt[asciilifeform|billymg]: BTW trying out PyCharm. Pretty nifty.
whaack[asciilifeform|billymg]: awt: not too bad eh?
whaack[billymg]: view -> active editor -> show whitespaces is nice for checking to make sure your tas/whitespaces are done correctly
awt[asciilifeform]: whaack: indeed. Would be cool if I could figure out how to get it to do a build where it starts up 3 instances and allows attaching the debugger to them.
whaack[asciilifeform]: awt: you had a few unused imports, strange whitespaces, etc. that the ide makes very obvious
whaack[asciilifeform]: awt: there is a part where you can write a script inside it iirc
awt[asciilifeform]: whaack: yeah helped fix all that
whaack[asciilifeform|billymg]: and you can write a deploy script and hotkey it, it's nicely organized
signpost[asciilifeform|billymg]: they have a pretty good deal on buying intellij ultimate these days, includes the py-ide and many others.
signpost[asciilifeform] uses daily
signpost[asciilifeform]: their php support is even nice when dealing with the shitwad known as wordpress.
whaack[billymg]: signpost: what is the antecedent of 'they' in 'they have a pretty good...'
whaack[asciilifeform]: are you selling they are selling at a good price?
signpost[asciilifeform|billymg]: yeah, saying the company sells it pretty cheap per year.
signpost[asciilifeform|billymg]: "jetbrains"
whaack[asciilifeform|billymg]: pycharm has a community edition that is free
whaack[asciilifeform]: but i have paid for jetbrains products before and would happily do it again
asciilifeform recalls their java thingie
asciilifeform served time in a java mine, used
signpost[asciilifeform|billymg]: I don't recall what they leave out of the free ones, but might be entirely sufficient.
signpost[asciilifeform|billymg]: the refactoring tools are god-tier.