01:31 |
signpost |
http://logs.bitdash.io/pest/2022-01-26#1003094 << when in doubt, get older vintage. 2.6.2 worx fine. must've snagged 2.6.4 when carving off individual vpatches |
01:31 |
bitbot |
Logged on 2022-01-26 22:50:27 signpost[asciilifeform]: farting around with a segfault in the flex build, details here https://developers.redhat.com/blog/2019/04/22/implicit-function-declarations-flexs-use-of-reallocarray |
01:31 |
* |
signpost rebuilds all, sacrifices virgin chicken |
| |
~ 36 minutes ~ |
02:08 |
signpost |
asciilifeform: sometime, perhaps tomorrow, it'd be great to give the v "manifest" thing another look. |
02:09 |
signpost |
still feels like a kluge to me. |
02:10 |
signpost |
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. |
| |
↖ |
02:11 |
signpost |
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. |
| |
↖ |
02:16 |
signpost |
http://trinque.org/2018/06/02/v-manifest-specification/ << relevant write-up |
02:20 |
signpost |
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? |
| |
↖ ↖ |
02:24 |
signpost |
(also ignore the GNS mention in the blog post. I was macroexpanding that to a distributed item, not a reboot of DNS with replaced crown) |
02:26 |
* |
signpost would like operators to have maximal control over which patches they choose to use, rather than an author-dictated ordering, where/if possible |
02:29 |
signpost |
asciilifeform originally envisioned v pressing all paths that can be pressed, iirc, or in other words, if the operator doesn't want a patch pressed why'd he place it in `patches` dir? |
02:30 |
signpost |
in that view, having same antecedent in two patches simply fouls the press, and operator is invited to regrind one of them. |
02:31 |
* |
signpost sees very little problem with this approach, but invites reminders if forgot other problems. |
02:37 |
signpost |
another approach would involve allowing patches to declare antecedents without requiring that those antecedents be modified. |
| |
↖ |
02:38 |
signpost |
perhaps this can even be done today with a no-op hunk. I'll have to try that. |
02:40 |
signpost |
hm, dropped a line fighting with mega-slow ping. will pick this up tomorrow. cya! |
| |
~ 11 hours 59 minutes ~ |
14:40 |
u0_a185 |
test message from cli |
14:43 |
asciilifeform |
http://logs.bitdash.io/pest/2022-01-27#1003201 << correct, at least for asciilifeform's orig. |
14:43 |
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. |
14:45 |
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.) |
| |
↖ |
14:45 |
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? |
14:48 |
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) |
| |
↖ |
14:48 |
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? |
14:49 |
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 |
| |
↖ |
14:49 |
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. |
14:50 |
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) |
| |
↖ |
| |
~ 32 minutes ~ |
15:23 |
PeterL |
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? |
15:23 |
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. |
| |
~ 20 minutes ~ |
15:43 |
shinohai |
testing android logging flush times |
15:57 |
asciilifeform |
PeterL: orig. yes. was why 'manifests' |
15:57 |
shinohai |
$vwap |
15:57 |
u0_a185 |
The 24-Hour VWAP for BTC is $ 36605.63 USD |
15:58 |
* |
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. |
16:03 |
signpost |
PeterL: both are consequences of dependency information not included in the vpatch. |
16:04 |
shinohai |
$vwap |
16:04 |
u0_a185 |
The 24-Hour VWAP for BTC is $ 36605.63 USD |
16:04 |
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. |
16:05 |
signpost |
yeah, practically speaking I wish to lop of a lot of caked, gnarled hair-and-shit off pentacle after initial release. |
16:05 |
signpost |
rip the fucking autotools out of it, the perl deps, etc etc. |
16:06 |
signpost |
might as well consider whether current v is as simple as can be before this, where cutting *unrelated* wads off the patient. |
16:06 |
asciilifeform |
makes sense, and worth the sweat defo imho |
16:08 |
signpost |
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. |
16:08 |
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.) |
16:09 |
signpost |
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. |
16:09 |
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) |
16:09 |
signpost |
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. |
16:09 |
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 |
16:10 |
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 |
16:10 |
signpost |
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? |
16:10 |
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) |
16:11 |
signpost |
but yeah, it brings in "then you have to require that patch includes disambiguating hashes" and that spiders out. |
16:11 |
signpost |
asciilifeform: yep agreed, I like preserving traditional patch support. |
16:11 |
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 |
16:11 |
signpost |
busybox patch eats happily, for example. |
16:12 |
asciilifeform |
aaha |
16:14 |
* |
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. |
16:15 |
asciilifeform |
that problem is prolly best handled by e.g. colourizers for reading patches a la phf's |
16:17 |
signpost |
yep, one can go all the way to "aaaa why not AST-level-diff" with that. |
16:17 |
signpost |
(to which, certainly, but on a better planet or in 300yrs) |
16:18 |
signpost |
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/ |
16:20 |
asciilifeform |
aaha, abolishing metadata liquishit was anuther explicit aim of vtronics |
16:20 |
* |
asciilifeform fucking hates '.git' and similar disk litter shat by heathen versionatrons |
16:21 |
signpost |
indeed, git's meant to maximize code vomit - by volume - of desk slaves |
16:21 |
shinohai |
git out! |
16:22 |
signpost |
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. |
16:22 |
signpost |
though that latter bit isn't urgent. |
16:23 |
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) |
16:23 |
asciilifeform |
^ famously in asciilifeform's original v.py the last part was omitted |
16:23 |
signpost |
a use-case in my mind is keeping a pile of experimental patches without needing to re-grind them. |
16:24 |
signpost |
but vpatching these by hand is not so much work |
16:24 |
signpost |
and have to regrind anyway once ready to publish to peers, to add a manifest entry. |
16:27 |
* |
signpost pretty satisfied actually. will take a run at v from "vtools" barking when manifest is stale. |
16:38 |
PeterL |
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? |
16:44 |
signpost |
PeterL in what? |
16:45 |
* |
signpost dealt with this in pentacle, but considers software that "requires" empty files broken |
16:45 |
signpost |
I just did a for f in $(find -size 0); do echo '' > $f; done |
16:45 |
signpost |
(for now) |
16:47 |
PeterL |
like in blatta, lib/__init__.py |
16:49 |
signpost |
imho the line of reasoning you're following becomes "autotools"-esque over time |
16:49 |
PeterL |
is that bad? |
16:49 |
signpost |
i.e. src that mutates itself in all manners after press |
16:50 |
signpost |
python has a particularly stupid way of denoting what directories are considered modules |
16:50 |
signpost |
seems fine that the burden of this falls on python src to have a return in those files. |
16:50 |
PeterL |
and don't you also need to make some files executable, the setup script could do that too? |
16:51 |
signpost |
yeah, that is reasonable, and in fact this is what "pentacle" is |
16:51 |
signpost |
lemme snag you an example build script. |
16:52 |
signpost |
http://paste.deedbot.org/?id=fZSk |
16:53 |
* |
signpost 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. |
16:54 |
signpost |
folks might find this build script reminiscent of gentoo's "ebuild", but simpler. |
16:54 |
* |
signpost even has a basic use-flag mechanism in there. |
16:54 |
* |
signpost bbl, appointment |
| |
~ 15 minutes ~ |
17:09 |
signpost |
btw that's the build script for gnu make. |
| |
~ 3 hours 21 minutes ~ |
20:31 |
awt |
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). |
20:32 |
awt |
Pest supported version will be 0xFC |
20:33 |
awt |
BTW trying out PyCharm. Pretty nifty. |
20:34 |
whaack |
awt: not too bad eh? |
20:34 |
whaack |
view -> active editor -> show whitespaces is nice for checking to make sure your tas/whitespaces are done correctly |
20:35 |
awt |
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. |
20:35 |
whaack |
awt: you had a few unused imports, strange whitespaces, etc. that the ide makes very obvious |
20:35 |
whaack |
awt: there is a part where you can write a script inside it iirc |
20:35 |
awt |
whaack: yeah helped fix all that |
20:36 |
whaack |
and you can write a deploy script and hotkey it, it's nicely organized |
| |
~ 32 minutes ~ |
21:09 |
signpost |
they have a pretty good deal on buying intellij ultimate these days, includes the py-ide and many others. |
21:09 |
* |
signpost uses daily |
21:09 |
signpost |
their php support is even nice when dealing with the shitwad known as wordpress. |
| |
~ 30 minutes ~ |
21:40 |
whaack |
signpost: what is the antecedent of 'they' in 'they have a pretty good...' |
21:40 |
whaack |
are you selling they are selling at a good price? |
21:42 |
signpost |
yeah, saying the company sells it pretty cheap per year. |
21:42 |
signpost |
"jetbrains" |
21:44 |
whaack |
pycharm has a community edition that is free |
21:45 |
whaack |
but i have paid for jetbrains products before and would happily do it again |
| |
↖ |
21:46 |
* |
asciilifeform recalls their java thingie |
21:46 |
* |
asciilifeform served time in a java mine, used |
21:48 |
signpost |
I don't recall what they leave out of the free ones, but might be entirely sufficient. |
21:50 |
signpost |
the refactoring tools are god-tier. |
| |
↖ |