Hide Idle (>14 d.) Chans


← 2022-12-07
09:10 phf http://logs.bitdash.io/pest/2022-12-07#1017772 << one of the first books that made me "sad" https://www.elsevier.com/books/swarm-intelligence/eberhart/978-1-55860-595-4 because i realized that the "man in an ivory tower" is not a thing
09:10 bitbot Logged on 2022-12-07 22:28:20 signpost: grows convinced that the distributed computation is the thing, or is at least more thingly than individual meat puppets.
09:11 phf makes this very point that you just made
~ 50 minutes ~
10:01 unpx Currently thinking if I should publish my code that implements some number theoretic algorithms, this is my current progress: https://unpx.net/d4/articles/2022-11-alchemy.xhtml
10:01 unpx https://static.livecodingbook.toplap.org/books/livecoding.pdf
10:01 unpx Still broken?
10:01 * unpx is working on some Grobner basis stuff
~ 56 minutes ~
10:58 lobbes hello #pest
10:58 unpx Hello lobbes!
11:01 lobbes hi unpx (odd, I only see your hello from the logs, not my station; possibly it is eating through the backlog atm)
11:03 lobbes ah yup, there's the message history. Nice!
11:14 awt welcome lobbes!
~ 22 minutes ~
11:37 asciilifeform welcome lobbes !
11:37 signpost howdy lobbes!
11:39 asciilifeform unpx: i do see your msgs (and not only in log.)
11:39 asciilifeform http://logs.bitdash.io/pest/2022-12-08#1017778 << neato.
11:39 bitbot Logged on 2022-12-08 10:01:35 unpx[4]: Currently thinking if I should publish my code that implements some number theoretic algorithms, this is my current progress: https://unpx.net/d4/articles/2022-11-alchemy.xhtml
11:40 * asciilifeform sadly not has the cycles atm to properly read. but seems intended as ffa-style 'from 1st principles' Right Thing
11:41 signpost lobbes: http://paste.deedbot.org/?id=_G-o << peering info
11:46 asciilifeform unpx: peering info for asciilifeform
11:46 signpost http://logs.bitdash.io/pest/2022-12-08#1017775 << ty, just snagged a copy
11:46 bitbot Logged on 2022-12-08 09:10:46 phf[awt]: http://logs.bitdash.io/pest/2022-12-07#1017772 << one of the first books that made me "sad" https://www.elsevier.com/books/swarm-intelligence/eberhart/978-1-55860-595-4 because i realized that the "man in an ivory tower" is not a thing
11:48 unpx Yes, I published that to force myself on working on it in well defined chunks instead of trying to put something by time to time without a goal. The posts will be more about how I rewrote something and why, rather than here is how to do X, because the latter can already be found in books like the ones I mention or looking
11:48 unpx how other computer algebra system do.
11:49 asciilifeform unpx: added yer at entry from pgpgram earlier; use the key asciilifeform sent you, oughta work
11:50 lobbes heya signpost, asciilifeform! Looks like my station is still processing message history (seeing replays from feb 2022 atm). I'm using blatta with the pure python serpent versus mcrypt, so I think that is adding to my lag. Gonna let it chug for a few hours then hopefully I'll be caught up
11:50 signpost phf: speaking of peerings, dunno if this was lost in the pest noise but http://logs.bitdash.io/pest/2022-12-05#1017580
11:50 bitbot Logged on 2022-12-05 14:07:03 signpost: phf: http://paste.deedbot.org/?id=RUKq
11:51 signpost hilariously just as I do this, I get another mystery replay
11:51 asciilifeform lobbes: observe that you can operate normally while the thing getdata's
11:51 signpost yup, seeing your messages via bitbot atm
11:53 asciilifeform unpx: re: algebratrons, of possible interest re state of art ('80s! and afaik still unsurpassed)
11:54 dulapbot (trilema) 2019-02-04 asciilifeform: http://www.loper-os.org/pub/stoutemyer/index.html << for the l0gz, and for all 'derive' aficionados.
11:59 unpx Oh nice
11:59 signpost unpx, I'll bake you a peering key too if you like.
12:01 unpx signpost, I'd like to
12:01 signpost sure, sec
12:02 signpost unpx: did you ever have a key registered with deedbot?
12:02 signpost http://logs.bitdash.io/asciilifeform/2022-10-21#1114152 << looks like possibly not
12:02 bitbot (asciilifeform) 2022-10-21 unpx: I should somehow connect to deedbot to register the GPG public key
12:02 unpx I tried, but looks like deedbot didn't add it, signpost
12:03 signpost yeah, thing needs an out-of-band registration hole since we don't have n00b lobbies for pest yet
12:03 signpost got a link to key somewhere?
12:03 signpost actually, you should be able to register here
12:03 signpost or at least if it breaks I'll fix the attempt
12:03 signpost !!help
12:04 signpost hm! deedbot gone
12:04 signpost sec
12:04 unpx signpost, http://logs.nosuchlabs.com/log/pest/2022-10-25#1014460
12:04 dulapbot Logged on 2022-10-25 09:38:51 unpx[busybot]: !!register https://unpx.net/d4/gpg.txt
12:05 unpx asciilifeform, tried, can't reach you somehow
12:08 signpost !!help
12:10 deedbot http://deedbot.org/help.html
12:12 signpost !!key unpx
12:13 deedbot http://deedbot.org/help.html
12:13 signpost looks like it's still catching up.
12:13 deedbot http://wot.deedbot.org/C9293B16A16041E0D67790A7D5C56A34D8FB728A.asc
12:13 signpost there we go
12:14 unpx !!register http://paste.deedbot.org/?id=_KeG
12:14 signpost already reg'd ya
12:14 unpx Thanks
12:14 signpost from prior input, which contained the [foo][blah]
12:16 signpost unpx: http://paste.deedbot.org/?id=shD2
12:18 signpost seems like simplest fix to deedbot might be to make !!register take a requested-nick arg, !!register <nick> <key-url>
12:19 signpost was just a convenience that it took w/e nick currently in use by the sender; sender could /nick fart at any time to reg something else.
12:23 signpost unpx says perhaps addrcast got him my IP before he had time to update his AT
12:23 signpost pretty cool
12:24 signpost makes intros that much more convenient.
12:29 asciilifeform http://logs.bitdash.io/pest/2022-12-08#1017825 << same ip as 2w ago ?
12:29 bitbot Logged on 2022-12-08 12:05:32 unpx[jonsykkel]: asciilifeform, tried, can't reach you somehow
12:31 signpost !!register signpost http://butts.com/key.txt
12:31 deedbot FC66C0C5D98C42A1D4A98B6B42F9985AFAB953C4 is already registered as signpost.
12:32 signpost alrighty, deedbot registrations will work for relayed peers now
12:32 signpost !!help
12:32 deedbot http://deedbot.org/help.html
12:32 signpost ^ updated with new param
12:40 signpost http://wot.deedbot.org/ << fixed the styles causing overlapping graph too; report in if anyone sees a buggered up page pls
12:40 signpost still regenerating, so profile pages will be updated soon.
12:45 phf signpost, i haven't use for peering yet, because i'm still single station
12:46 phf i'm still trying to figure out how to do packet-insert properly
12:47 phf actually, maybe i could just add multipeer, meanwhile. because all i need to do is a dup check…
12:48 phf i'm trying to understand how multiple parallel netchains are supposed to work…
12:50 signpost ah ok. not a rush, key will be there when usable.
12:51 shinohai if unpx rejoins, will rate. (Saw in nosuchlabs logs he still has peering difficulties).
12:51 signpost shinohai: guy's in wot db now
12:52 signpost !!rate unpx 1 https://unpx.net/d4/
12:52 deedbot Get your OTP: http://paste.deedbot.org/?id=5DX1
12:53 signpost !!v 4271EEA3A812B0ECB01B7C05AC17FD065D7696A3316505630ECF229C12C10B02
12:53 deedbot signpost rated unpx 1 << https://unpx.net/d4/
~ 25 minutes ~
13:18 asciilifeform !!rate unpx 1 maths fella
13:18 deedbot Get your OTP: http://paste.deedbot.org/?id=NNmy
13:19 asciilifeform !!v 73DA01D5B98AC8387908190CA9CEE75EA83CA0FF38A0AD229A6569DE6D775F97
13:19 deedbot asciilifeform rated unpx 1 << maths fella
13:22 phf http://logs.bitdash.io/pest/2022-12-08#1017845 << wut
13:22 bitbot Logged on 2022-12-08 12:31:44 signpost: !!register signpost http://butts.com/key.txt
13:23 signpost was seeing that I got the right error message back.
13:23 asciilifeform http://logs.bitdash.io/pest/2022-12-08#1017856 << asciilifeform still thinking re possible need for ~3~ chain hashes rather than 2 ( if netchain starts being used for threading ), but imho avoidable , introduced 'inv' ( 5.4.9 in predraft spec ) for chronological g
13:23 bitbot Logged on 2022-12-08 12:48:37 phf[awt]: i'm trying to understand how multiple parallel netchains are supposed to work…
13:24 asciilifeform ... for chronological getting of 'recent' msgs
13:24 asciilifeform if operating per previous specs, is possible to walk netchain & selfchain and still miss a subthread (if such existed) because of where you started walk from
13:26 asciilifeform ( alternatively, getdata response could return a flag bit, say in formerly 'reserved' field, indicating existence of successor, which one could then fetch via a hypothetical 'getnext')
13:26 phf asciilifeform, i'm talking about the case when you have message A and messages B and C that both reference A as netchain. from that point on D is essentially arbitrary (depends on if B or C arrived last, or have later timestamp, whichever)
13:26 asciilifeform ( naturally a msg could have any # of successors per netchain )
13:27 asciilifeform tree, aha
13:27 asciilifeform and yea, currently arbitrary, which is Wrong Thing
13:28 * asciilifeform leaning towards 'need new knob to make threading go properly' but not yet figured out precisely where
13:28 phf which also made me wonder, which message exactly should prod return? the latest one recieved, or whichever the station considers to be the latest one by its own sort order
13:28 asciilifeform this is why not 'unpredrafted' the predraft spec yet
13:28 asciilifeform there's possibly a painful breaking change req'd
13:30 asciilifeform phf: per intent of current spec, the 1 that the station would use as default netchain if it were to transmit a msg at the time of issuing the prod
13:31 phf yeah that makes sense
13:31 phf which brings back the whole multichains issue
13:31 phf you can easily have a case when you have A<B<C A<D<E A<B<X<Y and more because of network congestion, packet loss, etc.
13:32 asciilifeform aha, as asciilifeform understands, already happens regularly
13:32 phf and when it lands, and everyone's up to date, there's no authorative way, if it's C E or Y that should be used to netchain
13:33 asciilifeform correct
13:33 phf i think awt said his are sorted by timestamp, but then you're in a no mans land of drifting clocks
13:33 asciilifeform per asciilifeform's original intent, netchain of $msg was 'what was at the bottom of my screen when i wrote $msg'
13:34 phf if e.g. your drift is at the limit of what's acceptable drift is (5 minutes?) it's possible that your message will be chosen for the next netchain, only because your clock is running 5 minutes late
13:34 asciilifeform ideally should never be necessary to use timestamps for sort
13:34 asciilifeform (given as indeed they aint reliably ordered)
13:35 phf asciilifeform, sure, in which case you're using arrival time, which is even more arbitrary
13:35 asciilifeform asciilifeform included timestamp orig. strictly as anti-replay booby
13:35 phf i'm still talking about the case of A<B<C A<D<E A<B<X<Y
13:35 asciilifeform aha
13:36 signpost !!rate zx2c4 2 linux kernel dev and wireguard author
13:36 deedbot Get your OTP: http://paste.deedbot.org/?id=-WlA
13:37 signpost !!v C0B7CB4E3D4C257E6E711D7E374DF8569C512E4B9787DD1A936B3A72491BC488
13:37 deedbot signpost rated zx2c4 2 << linux kernel dev and wireguard author
13:37 asciilifeform per intent of new spec, netchain oughta be able to point to any previously-existing msg. but this opens q of how to sort (and wat-do with messages where netchain==0)
13:38 asciilifeform imho pestron oughta simply reject'em, unless in fact its db is empty
13:38 phf yeah, but that's not possible unless you have mechanism to join multiple chains
13:38 asciilifeform (a new talker oughta sit still long enuff to receive even 1 msg)
13:38 asciilifeform phf: they oughta be joined at the roots
13:39 asciilifeform i.e. ought not be possible to have wholly disjoint subchains
13:39 phf what are roots?
13:40 phf so just to clarify < in my diagram is "packet's netchain property", of which there's only one
13:40 asciilifeform if A <- B <- C, and e.g. B <- P, B <- Q, you have subtrees joined at roots, and all is well
13:40 asciilifeform roots being the linkages of the 'top-level' chain, there
13:40 phf ah, i get it, you're walking from the opposite direction
13:40 asciilifeform i.e. you can walk from P and Q back to B, then to A
13:41 asciilifeform aha
13:41 asciilifeform that's how getdata walks
13:41 asciilifeform atm there's no way to walk 'forward'
13:41 phf ugh
13:41 phf getdata walks from e.g. C to A
13:42 asciilifeform correct
13:42 phf and with getdata there's no way to for example get all the possible packets, in the diagram above there's no way to get from e.g. C to P or Q
13:42 asciilifeform aaha!
13:42 asciilifeform the trouble is, presently a n00b can't retrieve 'world' if all he's got is a coupla recent msg
13:43 phf that's not the only problem
13:43 asciilifeform seems to be no way to escape adding 'forward walks' , if want to fix this
13:43 phf the other problem is that we a packet loss, it's possible to get to a state where some packets were lost and nobody knows
13:43 phf *with a packet loss
13:43 asciilifeform correct, tho unlikely if erryone were regularly prodding
13:43 phf that's invalid
13:44 asciilifeform (and observe that there is no way to reduce chance of 'lost but no one knows' to 0, even in principle)
13:44 phf e.g. "everyone" sees A<B<C, one station has A<Q, but Q is lost, then B lands, no that one station sent out a packet that nobody knows about
13:45 asciilifeform well if you sent out a packet but yer cable was unplugged, the next time you send it will have selfchain pointing to the lost packet, and folx will getdata for it
13:45 asciilifeform (next time you send with a working cable)
13:45 phf asciilifeform, that's not correct
13:45 asciilifeform so eventually the lost packet gets 'unlost'
13:45 phf please reread my example!
13:45 asciilifeform phf: hm?
13:46 * asciilifeform rereads..
13:47 asciilifeform phf: did asciilifeform read the notation correctly, i.e. lost packet Q netchain-points to A ?
13:47 phf yes
13:47 asciilifeform ok;
13:48 asciilifeform sender of Q sends anuther packet, at some later time, R. selfchain of R points to Q.
13:48 phf 􏿽you have a chain A<B<C that's going on and is shared, but you have one station that recieved A and got congested. at this point it can send out any number of packets, that get lost, THEN recieve outstanding B and C. now C is the latest in the netchain, on account of being last to a
13:48 phf 􏿽rrive/having higher timestamp. so the station is going to use C to netchain
13:48 asciilifeform receivers of R getdata for Q. no ?
13:49 asciilifeform phf: correct re netchain, per current scheme
13:50 asciilifeform but assuming sender of Q at some time sends R, Q will get retrieved by those who see R. problem however is that it will be retrieved ~only~ by those who see R (or a successor of R)
13:51 phf right, the way this is recovered is because you have selfchain
13:51 asciilifeform (cuz no fwd walks presently)
13:51 asciilifeform aha
13:52 phf of course in the case of "got sepsis, going to hospital", the selfchain might not continue for weeks, so nobody will get those messages until much later "i'm baaack!" :p
13:53 asciilifeform not if erryone has working periodic prod
13:53 phf that's not correct
13:53 phf you're still missing the specifics of this example
13:53 asciilifeform (then -- peers of sender notice that his selfchain points to sumthing they haven't got, and they getdata for it)
13:53 phf oh right, right prod also sends selfchain. right
13:53 asciilifeform aha
13:54 asciilifeform prod, per current (and prev.) spec, sends 1) selfchain (broadcast) 2) netchain (broadcast) 3) selfchain (with $peer directmsgs)
13:55 asciilifeform so handles 'sepsis' for so long as the operator's station did not also get sepsis at same time
13:55 asciilifeform 'prod' presently is what we have instead of synchronicity/acks
13:56 phf i guess you could have some kind of getdata, that asks for all the packets that are being referenced by X, e.g. in A<B<C B<P B<Q can say "getdatax B" and get C P and Q. but that violates your whole "no amplification"
13:56 asciilifeform selfchain is intended to be contiguous, per operator -- if you get 1 msg from $operator, can get all prev. msgs from him
13:56 asciilifeform fwd walk.
13:56 asciilifeform but tricky, aha
13:57 asciilifeform ( 1 possible scheme )
13:57 bitbot Logged on 2022-12-08 13:26:28 asciilifeform[jonsykkel|deedbot|awt]: ( alternatively, getdata response could return a flag bit, say in formerly 'reserved' field, indicating existence of successor, which one could then fetch via a hypothetical 'getnext')
13:57 phf well, selfchain doesn't have any of these problems, on account of being objectively linear
13:57 asciilifeform aha
14:00 asciilifeform the correct way to 'walk fwd' would prolly be a cmd which returns # of 'inv' payloads req'd to catalogue all successors; which then could request 'inv's and getdata for.
14:00 * asciilifeform not likes the proliferation of moving parts, but sumthing like above is prolly necessary
14:03 phf i guess the remaining hole is that a newb might not be able to get a complete log under some specific circumstances, since netchain/selfchain mostly covers it
14:03 phf some birst of "and fuck you all i'm never coming back", that just happened to go into a separate branch, and then there's never been any more messages from that station
14:03 phf *burst
14:04 phf which is also necessarily hearsay, so is that even a problem :>
14:12 asciilifeform a peer from whom one sees msg with unknown (missed) selfchain predecessor, who drops and never seen again, will indeed leave a perma-hole in the log. but if such holes handled correctly, not mega-problem ultimately
14:12 asciilifeform ( hence 'broken heart' idea earlier, so to avoid eternal hammer of getdata when encountering said hole )
14:13 asciilifeform ditto a peer who emits a msg that is chained to an invalid (violates format rule somehow, i.e. bad uniturd) msg
14:14 asciilifeform the invalid msg ought not to simply get discarded, gotta save it with a 'don't try to display' mark or equiv.
14:14 asciilifeform (otherwise potentially eternal getdata hammer for it)
14:14 asciilifeform this not yet covered in spec.
14:27 phf right, ignoring the case of subtly maliciuos peer
14:38 asciilifeform subtly (or not) malicious peer can do various annoying things. from pov of protocol design, q re subj is how to: 1) make immed. obv. ~which~ peer 2) limit same to 'annoying' rather than e.g. 'makes chain perma-inedible'
14:39 asciilifeform (to take 1 example, prolly oughta rate-limit chained msgs. currently not in spec at all)
14:39 asciilifeform right nao sumbody could easily shit out 1TB of chained msgs and fill errybody's hdd.
14:41 asciilifeform ( aaand not even speaking of straight-out lulbugs )
14:41 bitbot Logged on 2022-10-05 16:17:44 asciilifeform[6]: in otherlulz, lulzy sideffects of yest.'s blatta bugola.
14:44 asciilifeform ... at the very least, msg-eater oughta hard-prioritize immeds/directs over hearsays in all cases (and remain responsive to operator commands nomatterwhat)
14:47 asciilifeform 1 possible scheme would be -- quota: n peers, erry peer can occupy at most 1/n bw, 1/n cpu, etc
14:48 asciilifeform (outta whatever remains from processing incoming/unidentified blackpackets at line rate)
14:49 phf kind of wish™ there was automatic machinery for that kind of stuff on the language level. at present the only language i know that supports "max n-cycles" on environment level is lua
14:51 phf it's a pain to write anyway, ough to have a rate limiter on decoder, that backs off to in-memory store, that backs off to drive store, that caps out at some particular size, and then starts evicting old or rejecting new or whatever . ain't nobody got time for that
~ 57 minutes ~
15:49 asciilifeform phf: asciilifeform was thinking moar in the vein of careful algo design + 'round robin', rather than a custom scheduler with preemption
15:50 asciilifeform ( e.g., what's example of a slow op? let's say getdata -- which may load from disk. so $peer1 asks for getdata, but if he asks again, it sits until erry other peer's possibly queued getdata is handled; etc)
15:51 asciilifeform i.e. no need to actually count cpu cycles or preempt an operation.
15:53 asciilifeform as for rate limit on decoder, is rather easy -- pick a rate you know the box can handle (the hard part is determining the rate) and throw out incoming msgs as req'd
~ 4 hours 59 minutes ~
20:53 lobbes http://logs.bitdash.io/pest/2022-12-08#1017793 << peered! Looks like packets are being received
20:53 bitbot Logged on 2022-12-08 11:41:26 signpost: lobbes: http://paste.deedbot.org/?id=_G-o << peering info
20:54 signpost cool, yep!
20:59 lobbes I've posted some of my pest (blatta-9971) crib-notes up on my blog. Most likely only of use to me, with the possible exception of the fix I applied to line 71 of blatta/batta in order to get loggin
20:59 lobbes g sent to stdout
20:59 lobbes Possibly just a peculiarity with python 2.6 versus python 2.7
~ 1 hours 5 minutes ~
22:04 awt lol lobbes you just had to find an even earlier version of python
~ 31 minutes ~
22:35 lobbes lol. In retrospect I suppose this is precisely the use case for a virtualenv. Ah well, it was still an enjoyable exercise
22:41 asciilifeform lobbes: nifty
22:41 asciilifeform $ticker btc usd
22:42 busybot Current BTC price in USD: $17203.68
22:49 asciilifeform lobbes: fwiw if a box containing pestron is config'd as rec'd in orig spec (i.e. icmp disabled) yer nmap scan won't work.
22:49 asciilifeform this is intentional.
22:51 asciilifeform a key design principle is that a third party oughtn't be able to distinguish a pest box from an unused ip.
22:52 asciilifeform (assuming it aint hosting anyffin else that sits on a port)
22:53 asciilifeform ( see also. )
← 2022-12-07