asciilifeform: but would have to see what he says when wakes up.
asciilifeform: it's possible that mircea_popescu intends his item to be standalone, rather than pilot plant for all 'canonical' loggers. then dun matter so much whether calendar etc.
asciilifeform: as naggum observed, regexism indeed helps to ~quickly~ shit out a proggy that ~appears~ to work. but it will never become proggy that ~actually worx~ i.e. can be shown to work for all inputs.
asciilifeform: ( they are regularly found ~not~ to )
asciilifeform: this is not even to touch on the q of whether a particular shitlang's regextron even worx as specified.
asciilifeform: asciilifeform, for instance, likes to think that his hands grow from shoulders, and not from arse, and still evidently produced these.
asciilifeform: can be anyffin, even line count. so long as it can be mechanically derived from the actual lines, rather than clocks.
asciilifeform: imho a pregen-page logger must split on something ~other~ than calendarism.
asciilifeform: i.e. whole idea of synced loggers, becomes an impossibility.
asciilifeform: if you introduce hard splits by date -- the example differential pair nao will not only not load identically, but also not echo. and worse, there will be no decidable algorithm for even determining what the link made for 1 logger, corresponds to on other.
asciilifeform: the current logger only is able to get away with disregarding dates when echoes, because the pages are dynamically genned
asciilifeform: the sooner we find a pill for this, the fewer speshulcase atrocities will have to be committed to make old log readable in new formats.
asciilifeform: even if they're not indexed by line, but take the form ...../chan/date?start=foo&end=bar
asciilifeform: if the links contain dates, and the date is in any way significant to the machine -- which, if you cut by 'day' the pages, it will be -- yer stuck with this horror.
asciilifeform: lobbes: understand also that the problem aint limited to '2 loggers agree'. clocks -- drift. arbitrarily. needs also to agree re links with ~past self~
asciilifeform: you gotta break the pages ~somehow~. q is how. if you do it by 'day', you end up stepping on same mine.
asciilifeform: lobbes: is it not apparent that you will have same problem if calendar is used ~anywhere at all~ ?
asciilifeform: but if you calendarize the pregenned-pages thing, you end up baking the 'when does day start' idiocy right into the db. where cannot even be easily later fixed...
asciilifeform: the bots know what to do ( i wrote so it loads by index strictly ~when parsing for echo~ cuz ~possible~ there ) but yer browser does not !
asciilifeform: with ntpism they give up not only sovereignty (washington gets to tell you 'what time it is') but monotonicity !
asciilifeform: the heathens pretend that they 'solve' this via ntpism. but, characteristically of heathenisms, it dun fucking solve anyffin, is a 'can't believe it aint butter!' pressed sawdust 'solution'.
asciilifeform: the historic epochtimestamps are incidentally all over the place, try setting a scratch box logger to sort ~by time~ some time and weep. ( from when phf , for instance, imported his znc, evidently wasn't 100% synced to the primary logger ; and elsewhere )
asciilifeform: so , say you have a logger of whatever type (either traditional or mircea_popescuine) and 2 of these dun agree re when a day ended -- bang, you get links that dun lead to the desired text. cuz they try to use the fucking date.
asciilifeform: even to actually use the unix epochal time, is dodgy. cuz, again, no 2 tmsr boxes are ever likely to come to an accurate agreement re what unix.epochtime it is 'now'.
asciilifeform: nor is there likely ever gonna be any such agreement. use of reich time gotta be made 100% decorative, or to go away entirely.
asciilifeform: because currently no 2 logotrons actually agree on what reich.time it is.
asciilifeform: this problem, incidentally, if not cured, will persist in a hypothetical mircea_popescu-style pregenned-pages logger.
asciilifeform: ericbot: i'ma restate compactly. atm we index lines. by a monotonic # . the timestamps are stored as unix epochal times. the urls, however, demand a e.g. 2014-07-16 , and always did, and these both now and then were parsed via what the particular box thought local time was. resulting in headache, because machine timekeeping was , and remains, shite.
asciilifeform: so things could, i suppose, be worse, era1 could be in aramaic!111
asciilifeform: (couldn't agree on translation of n-1th ea. time they got hard-reset)
asciilifeform: ancient problem, sorta how the j00z ended up with a talmud in 4 langs
asciilifeform: imho all of this is a++ illustration of how even in very small, conceptually (vs. e.g. ye olde c/gcc/linux orchestra) system, 'legacy' retardation gets firmly baked in and very difficult to entirely remove.
asciilifeform: ftr we still haven't a pill for the url clocks problem.
asciilifeform: this, rather like the 'url clocks' problem, demands a 'smart' transmutation of old l0gz, somehow, in order to work 100% correctly.
asciilifeform: ... rapidly this becomes a headache, re historic logs where 1e6 times people cited specifically bot echoes
asciilifeform: would have to make the wwwtron avoid displaying bot echoes tho ( theoretically one'd still want bot echoes , to see wtf is going on when reading via live irc session rather than www )
asciilifeform: if finally throwing out the ancient kakobreklic format for logger display, wai not go full throttle.
asciilifeform: for folx who give a shit 'via what bot? was the citation' -- can put that in 'hovertext' .
asciilifeform: another thought : the display of literal machine-readable links verbatim in log, is quite wasteful, and if yer doing a whole-page transform, quite avoidable. why not make the cited text the displayed part of the clickable link (and orig. url -- the machine part when same is clicked) .
asciilifeform: incidentally, if yer going full throttle w/ selectables , the Right Thing imho would be to take it all the way and make items like this actually display (if reasonably compact.. config knob?) the linked text. a la old man ted nelson's 'transclusions' concept .
asciilifeform: the other thing, the adhoc traditional line select is human-friendly, very fast to grab a line url, whereas mircea_popescu-style selector less so, gotta find unique start/end text, when citing from trilema it usually takes asciilifeform 2-3 shots to nail down the correct snip
asciilifeform: so atm still using old, barbaric selector.
asciilifeform: in related grrs, asciilifeform recently attempted backport of mircea_popescu's selector knob to own wp, but broke teeth cuz it dun know how to cross paragraphs, and i have '9000' multi-para selections, esp. in ffa series where coad
asciilifeform: it'd be a 1st class bitch to resync ~from~, however. but fortunately we have other types of loggers that know how to emit lines x..y for given x/y
asciilifeform: imho a logger that can't resync at all, aint much of a logger. but at the same time i dun see why a generate-statics logger couldn't be made to resync. simply a bit moar complicated.
asciilifeform: lobbes: see what mircea_popescu says when wakes up.
asciilifeform: ( and to do it very quickly, else someone could easily speak during the regen, and leave you unsynced again )
asciilifeform: lobbes: as i understand, with that type of logger you'd have to regen all of the pages that include or follow the gap, in order to close a filled gap.
asciilifeform: lobbes: it's 1 of the reasons why asciilifeform did not like mircea_popescu's original tip re how to bake logger ('just pipe it into a wp') ; but mircea_popescu did specifically ask for 1 that does exactly that, for own www, i presume he knows what he's doing
asciilifeform: hence why imho resync ~must~ be a semi-automatic, rather than automatic, process.
asciilifeform: mechanical diffing, meanwhile, is tricky because ordering is already known to differ ( almost guaranteed to differ when bots are speaking, one's own bot's output ~always~ enters log before that of other bots ; but also can differ elsewhere on acct of fleanode weather )
asciilifeform: so far all the gaps have been small enuff to visually examine, but this will not necessarily remain the case
asciilifeform: otherwise you could easily end up importing the other logger's hole vs yours
asciilifeform: thing is -- imho it is poor practice to blindly pick another logger and overwrite massive chunk of own db with it w/out mechanically testing that they diverge strictly in favour of the other
asciilifeform: ( could of course add a cmdline param to it, to enable overwrite )
asciilifeform: currently this is a gnarly manually-cranked process, as ./eat_dump.py deliberately is made so ~not~ to import any line that conflicts with existing index
asciilifeform: lobbes: 'tail' here being whatever lines come after the gap, and thereby have erroneous index #s
asciilifeform: lobbes: not if it knows how to drop the broken tail
asciilifeform: another method would be that periodically tests against loggers given in config, and pm's operator if and only if finds divergence.
asciilifeform: if choose 'confirm' then eats all changes req'd to get to 'identical' .
asciilifeform: was thinking re how oughta do auto-syncs. one possible method, is for bot to take command via pm, e.g. !q sync 1000 http://logs.ossasepia.com ; would then walk last N (here, 1000) ln, and offer 'identical', 'diverges prior', or 'diverges at I', I is index, and offer alignment, operator (set in config who) can then confirm or reject
asciilifeform: ( granted this only worx if there's no conflicting tail, i.e. you get to the console just in time. failing that, (presently) gotta drop the conflicting tail in db before snarfing )