asciilifeform: phf: hell knows, prolly kilometres of java
asciilifeform: this line of thought was prompted by my 'trb observatory', which has uncovered a number of 'mpb'-style nodes, i.e. trb-like but not presenting 'modern' vers and therefore invisible from heathen www indices☟︎
asciilifeform: i'd like a (ideally real-time) picture of the actual network.
asciilifeform: the heathen node-viewing www's systematically lie, e.g. conceal 'too old' clients , present fucking pseudos as if they were actual nodes, and commit other war crimes
asciilifeform: phf: i was aiming for 3 basic things : 1) recursively getaddr entire reachable btc net, perhaps erry hour or so 2) find trb-compat (i.e. 'services' == 1 ) non-pseudos (i.e. if i pull block hash out of a hat, he quickly gives correct block) and eventually 3) get inv's and monitor tx propagations.
asciilifeform: or disconnect in the middle of things, etc
asciilifeform: worx ok with trb. but heathens do all kinds of weird things, throw up various garbage in place of e.g. getaddr answer
asciilifeform: phf: context : i was baking a noad walker / torturer, orig in python, little thing, thought it would be doable in a day or 2; then found that mass of prb etc all break protocol in 9000 interesting ways, an extra byte here an' there, and realized that it aint doable without adult condition handling/restarts, which means cl.
asciilifeform: but even this may be too much to hope.
asciilifeform: would like to find something actually readable, at least, if not buildable-on.
asciilifeform: actually looking at my notes from ages past, i did, and did.
asciilifeform: and sbcl aint it. i'd prefer something like kyoto, or which ever was the absolute shortest that implemented whole standard, for starting point
asciilifeform: prolly the eventual Right Thing will be when we proclaim a republican cltron and start massaging it to eventually climb to that level.
asciilifeform: so he never had to eat the compat layer liquishit.
asciilifeform: my impression was that allegro did 'all them things not in the standard' and actually did them well.
asciilifeform: and it , afaik, worked 'like white man's tech' or near.
asciilifeform: right, they're mostly skins on sbcl, to the extent they work at all
asciilifeform: it's actually one of the reasons i haven't ever finished rewrite of phuctor in cl. erry time i sat down to do it, barfed on one of these things
asciilifeform: the particular experiment here is a node exerciser, rather than block eater, in cl
asciilifeform: ( recall, i have my own working block eater in ada, posted last yr, but currently was looking into 'binary-types' in application to btc trad encoding )
asciilifeform: dun need to be battlefield-grade, simply wanted to see how ben_vulpes did it, ty
asciilifeform: trinque: unrelatedly, i resolved the binary-types thing, will eventually genesis a working ver.
asciilifeform: this is prolly as far as the analogy goes, so i'ma leave it there.
asciilifeform: but let's suppose utkin had instead built a rocket that occupies all but one metre of standard rail car. i suspect that it would not have been received warmly by the brass, and at the very least they'd ask why, 'what will go in that free metre of car ? tinned fish ?'
asciilifeform: and notably, by some accounts the 'distribute the mass' gizmo did not actually work very well, hence why the thing was eventually scrapped. ( and not because 'usa asked eltsin nicely', as was the popular legend at the time )
asciilifeform: ^ the gizmo on the right, was a hydraulic thing to push any electric wires above the tracks, out of the way. whole thing was pretty clever.
asciilifeform: on 1 occasion it was found necessary to build a icbm rocket that is too heavy for 1 car. head designer v. f. utkin found solution, he had a system of springs to distribute the weight between ~two~ cars. this is analogous to udp fraggism.☟︎
asciilifeform: best analogy, imho, is sov train carriages. it is possible to make train carriage of many lengths, but they had 1 . so if cargo were smaller, it'd get packed in with other things, or sometimes partially empty car, but short car would not be specially built for shorter crate.
asciilifeform: ( and yes on paper ~could~ send shorter ones, but actual iron afaik never does )
asciilifeform: ave1: there is not much to be said further re subj, i looked into what actually comes out of my lan, it sends 1500 frames upstream always.☟︎
asciilifeform: this is the Right Thing, i.e. if you want a variant to exist, you gotta maintain it.
asciilifeform: ave1: no published vtron ever permitted 'more than one possible ancestor'
asciilifeform: ave1: which method is this referring to ?
asciilifeform: and instead each variant is a thing that its author is forced to actually test as-written.
asciilifeform: in that it prevents the combinatorial clusterfucks that ifdefism causes
asciilifeform: it is painful, but prolly the Right Thing.
asciilifeform: and ideally erry 'alt' variant has a maintainer, who will regrind so that his variant continues to be usable .
asciilifeform: ada deliberately does not offer equiv of #ifdef, because ifdefism is retarded. so you're left with this method, afaik.
asciilifeform: and yes they'd have to be reground regularly.
asciilifeform: to bring thread back to current-day -- afaik the only means to implement alternative builds, in current scheme, is 2 (or moar) pressable leaves in erry 'release' ver.
asciilifeform: that's where we differ, i think. my whole notion in inventing vtronics was to preserve all history that can be practically preserved.
asciilifeform: the diff was that the history was preserved, as opposed to painted over with cut&paste.
asciilifeform: mircea_popescu specifically barfed , tho, and nobody any moar does this. so for nao yer stuck with cut&pasteism, as i understand.
asciilifeform: so it was possible to write a proggy that used items from multiple trees.
asciilifeform: diana_coman: my orig v algo supported unlimited 'genesis'-en
asciilifeform: author can regrind all he wants, you are not forced to regrind yours unless you think it merits
asciilifeform: diana_coman: you carry with your proggy, the specific one you built on
asciilifeform: imho 'unifiers' (i.e. patch that pulls in specific state from a parallel tree) is a cleaner way of accomplishing this than cut&paste, but i was unable to persuade.☟︎
asciilifeform: he had a pretty good arg imho, tho, that when you write on top of a specific lib, you oughta freeze it in, rather than permit it to change 'under you' at any point.
asciilifeform: diana_coman: iirc mircea_popescu in particular specifically hates libs-as-separate-trees, insists that proggy oughta include errything it eats. ( i dun recall whether he answered why it should not also then include the os and compiler also in same genesis, but i'ma leave thread alone for nao)☟︎
asciilifeform: part of the exercise here is to purge head of the last vestiges of dark ages 'merge-istic' versiontronics . who wants variants, gotta remember that yer pressing variants built on specific states of the trunk. ( and if trunk meanwhile changed, and you still want it, must regrind )
asciilifeform: iirc mircea_popescu prefers this style to the other
asciilifeform: alternatively, both variants are physically included in euloratron tree, but then the latter has 2 pressable leaves, for the respective variants
asciilifeform: concretely : ave1 releases crc32 as standalone staticable lib, like my udp. it comes with 2 pressable leaves, 'tabletronic' and 'divtronic'. you can press either and use in e.g. euloratron when building.
asciilifeform: diana_coman: the way i understand 'v branching as civilized replacement for #ifdefism', the branches unavoidably gotta get reground whenever the whole tree is considered stable (i.e. no further changes likely to trunk)