diana_coman: oh hey asciilifeform , that looks good!
diana_coman: client did build previously on gentoo so yes, I'd expect it builds on cuntoo as well really
feedbot: http://qntra.net/2019/01/us-profesional-organization-for-psychologists-condemns-masculinity-as-harmful/ << Qntra -- US Profesional Organization For Psychologists Condemns Masculinity As Harmful
asciilifeform: diana_coman ( and mircea_popescu , when he wakes up ) -- do you have a position on http://www.loper-os.org/?p=2963#selection-2087.0-2115.72 ?
asciilifeform: meanwhile, pehbot updated
asciilifeform: !!up pehbot
deedbot: pehbot voiced for 30 minutes.
asciilifeform: !A .008871B618BB1046D3E9402594D417A66A008A783015CE571154D8FBA8FBFA28.003706868725DC1588310446A51BADC1461ACED1F02AE12768D926D9EADEF4E8G#
pehbot: asciilifeform: 0000000000000000000000000003D29513C432BF1D2A8A0E47BFBDCF33649538
diana_coman: asciilifeform, hm, I can't say that I have a very clear idea of ALL potential implications but atm I don't see some specific downside to that; I suppose the alternative would be to raise an error on gcd(0,0)?
asciilifeform: diana_coman: correct
asciilifeform: diana_coman: near as i can tell, nobody ever does tho
asciilifeform: !A .0.1G#
pehbot: asciilifeform: 0000000000000000000000000000000000000000000000000000000000000001
asciilifeform: !A .1.0G#
pehbot: asciilifeform: 0000000000000000000000000000000000000000000000000000000000000001
asciilifeform: !A .0.0G#
pehbot: asciilifeform: 0000000000000000000000000000000000000000000000000000000000000000
diana_coman: myeah, that's not in itself a reason to not do it (if anything, it's the opposite really, given the usual "what everybody does"
asciilifeform: diana_coman: correct. but i also did not 'ha! let's make it eggog cuz nobody did'
asciilifeform: ideally would like to conceive of a justification for either setting.
diana_coman: mathematically it does grate, yes
diana_coman: is the performance penalty significant?
asciilifeform: depends where used.
asciilifeform: i'ma leave it permitted for nao, and if somebody has persuasive arg why to prohibit, will listen.
diana_coman: other than that the "reason" I can see is that otherwise in principle you need an additional check each time you call gcd (i.e. to make sure you don't step even if once in a blue moon) on this particular rake
asciilifeform: yes.
asciilifeform: i sat down last night and tried to conceive a 'div0'-style situation where you 'bought own cross' as result of permitting gcd(0,0) to execute. but did not find one.
diana_coman: I suppose only in some silly situation such as "let's take 2 numbers from user; compute gcd and then proceed to divide and print results"
asciilifeform: rright but why wouldja do that.
asciilifeform: if yer dividing, you gotta determine that it aint by 0.
asciilifeform: e.g.,
asciilifeform: !A .1.0/#
pehbot: asciilifeform: EGGOG: Pos: 4: Division by Zero!
diana_coman: well, because technically gcd is never 0, right?
asciilifeform: !A .1.1.0M*
pehbot: asciilifeform: EGGOG: Pos: 7: Division by Zero!
asciilifeform: and so forth
asciilifeform: diana_coman: indeed gcd aint ever legitimately 0.
diana_coman: i.e. why would you check a gcd for not being 0 since it should never be 0
diana_coman: so there
asciilifeform: imho arg can be made for it being the gcd-invoker's responsibility to know what to do with the output
asciilifeform: ( and observe that all instances where we divide, we're doomed to check for 0 regardless )
asciilifeform: in situation where cpu cost matters greatly, testing 1 register (output of gcd) for nullity is cheaper than testing two (its args)
asciilifeform: possibly this is why it was traditionally permitted.
asciilifeform: ( tho it grates on me that i never found any coherent discussion of subj anywhere, yet )
diana_coman: possibly; at the end of the day it's a choice and one can have gcd implemented one way or another, as long as the choice made is clearly stated on the tin
asciilifeform: correct. hence why i decided subj is worth touching in the piece & in the l0gz.
asciilifeform: it is also clearly stated in the proggy comments.
asciilifeform: diana_coman: iirc gcd(0,0) is permitted in your sys also
diana_coman: http://btcbase.org/log/2019-01-09#1886075 -> on additional digging, static lib apparently does have libnameinit so yest I was looking for the wrong thing
a111: Logged on 2019-01-09 14:14 diana_coman: my trajectory in hitting walls on this was precisely that: make it static -> surprise, no adainit exported/included, checked the .a file and everything, went nuts; make it dynamic -> ugh, need -lgnat and whatnot; rtfm again and again, there is this calo-magar
diana_coman: but now I'm confused on whether *that* is enough or not (standalone thingie claims it takes care of everything needed for elaboration, correctly)
asciilifeform: diana_coman: if your 'main' is a c/cpp proggy , you gotta trigger the elaborator 'by hand', regardless of which type of lib your ada coad is in, afaik.
diana_coman: asciilifeform, yes, but is the one generated for static lib the same? or wtf is with the encapsulated-shit then?
diana_coman: because in the docs it's claimed that non-ada main should be with the encapsulated-lib version, ugh
asciilifeform: last time i touched the subj with own hands, i concluded that elaborator isn't even permitted in static ada lib.
asciilifeform: but i cannot yet say conclusively. diana_coman is at the bleeding edge of this q.
diana_coman: so far it certainly feels like bleeding, dunno about edge
asciilifeform: diana_coman: what i meant was, my proggy has no elaborator, and yours -- has, so i am not qualified to say 'here's how to fix elaborator in static lib' of yet.
diana_coman goes to read some more and test even more
asciilifeform goes to tea
asciilifeform: diana_coman: if you're utterly stumped, i can allocate some cycles to the problem tomorrow -- with mircea_popescu's permission ( i swore to him that i will not embroil meself in matters euloric , recall )
asciilifeform: ... or i suppose if yer still stumped next friday night, then.
asciilifeform: unrelatedly: diana_coman , were you ( or anyone else... ) ever able to derive a bound for 's' in m-r ? ( http://ossasepia.com/2017/12/28/eucrypt-chapter-3-miller-rabin-implementation/#selection-125.2765-125.2766 )
asciilifeform: cuz without a bound, s is potentially ffawidth - 1 .
asciilifeform: which means ugh, for e.g. 2048bit candidate being tested for primality in constant time, ~each~ witness needs 1 modexp and 2047 modsquares !
asciilifeform: hrm , asciilifeform's 'wtf' to this was based on a backwards reading of his chalkboard. modsquares are fast.
asciilifeform: so we dun actually care.
asciilifeform: would still be handy if someone knew of a smaller bound for s, but not burning q.
asciilifeform: btw per asciilifeform's chalkboard, the physical cost of constanttime m-r is ~equal to that of (2 modexps of the given width) x (number of witnesses) .
asciilifeform: this means that the use of gcd litmus very muchly wins.
asciilifeform: take for example diana_coman's system , where 16 witnesses are used. ( i'd use moar, but let's go with the example. ) so if we're generating 2048b primes (for 4096b rsa mod), per ch.14b timings on asciilifeform's iron this costs ~2.9s per modexp, and thereby ~93sec per m-r procedure.
asciilifeform: whereas the gcd litmus ( gcd(candidate, primorial) ) costs 1ms .
asciilifeform: anyway i'ma post the actual physical measurement once i have it, but i dun expect it will be far from this chalkboard figure.
Mocky: is the number of witnesses to be a knob or fixed?
asciilifeform: Mocky: what'd 'fixed' mean ?
Mocky: hard coded
asciilifeform: nope
asciilifeform: per the ffa plan, 'P' command will take two numbers from the stack, a candidate integer and a witness. author of pcode tape determines how many witnesses to use, he iterates by generating witnesses and calling P repeatedly as many times as he wants
asciilifeform: ( in each invocation, P returns 1 if m-r didn't 'go bang' and a 0 if did. )
asciilifeform: presently looping is prohibited in pcode, in later ch. will be introduced. (but i am spoiling things..)
Mocky: right
asciilifeform: this allows 'P' to be a constant-spacetime operation, and hands the decision of 'just how important to constant-time the whole prime generation' to the author of the tape.
asciilifeform: ( he can use 'G' as litmus, or not use, can use 16 witnesses or 666, etc, rather than being forced into a particular scheme )
asciilifeform: see, i fucking hate 'magic numbers'.
Mocky: indeed
asciilifeform: the only 'magic number' in ffa is the concession that all FZ must be at least 256bits long
asciilifeform: and this was forced by the irons ( it's evenly divisible by all known bus widths )
asciilifeform: ( re 'how many witnesses', see diana_coman's article, it reviews the necessary maffs, i.e. P(yer prime aint a prime and you die) == (1/4)^n, where n is # of witness )
asciilifeform: observe that by this scheme, we also avoid hardcoding primorials for 'G' test. author of tape is responsible for including a primorial ~for his chosen ffawidth~ if he intends to use G litmusing.
asciilifeform: consider from pov : there is no particular reason for enemy to know precisely ~how~ you baked the primes for yer privkey.
asciilifeform: a 'graduate' of ffa (i.e. fella who ~read~ the thing, as it was intended to be read, and fit-in-head) will have no trouble writing his particular variant of correct prime generator for his particular type of key.
asciilifeform: i'ma include a few obvious approaches as example tapes, but it is NOT the intention that anyone use'em as-found.
asciilifeform: 'peh' is intended as a working, weaponized demonstration of the 'specificity of diddling' principle. (but perhaps this was obvious to errybody.)
diana_coman: http://btcbase.org/log/2019-01-11#1886349 -> better spent on ffa, surely; thanks for the offer anyway though!
a111: Logged on 2019-01-11 16:49 asciilifeform: diana_coman: if you're utterly stumped, i can allocate some cycles to the problem tomorrow -- with mircea_popescu's permission ( i swore to him that i will not embroil meself in matters euloric , recall )
diana_coman: so far I can tell that the static lib has the huge disadvantage that one needs then to link with it everything but the kitchen sink to bring in all it needs from ada runtime
diana_coman: so that'd be at least the "encapsulated" part explained
asciilifeform: diana_coman: plz dun see the orig statement as ' asciilifeform presumes that diana_coman is dummkopf and problem is trivial, asciilifeform can do it with 1 hand '. i simply dun like to see people sitting stuck, is all.
asciilifeform: and ftr i'm surely doomed to run into diana_coman's puzzler myself, when i go to write a threaded proggy (e.g. adaized trb)
diana_coman: asciilifeform, I know, no worries at all! onth I'm not going to *sit* stuck, no - digging at it
asciilifeform: aite
asciilifeform: meanwhile, in other lulz, http://koclab.org/ffa.html
asciilifeform: ( i dun have a trademark on the phrase, naturally, but still a lul )
asciilifeform: http://www.reparaz.net/oscar/misc/dudect.html << elsewhere in heathendom.
feedbot: http://qntra.net/2019/01/huawei-sales-director-arrested-in-poland-over-ambiguous-spying-charges/ << Qntra -- Huawei Sales Director Arrested In Poland Over Ambiguous Spying Charges
asciilifeform: lol dafuq was he doing in the reich
BingoBoingo: Selling
asciilifeform pictures convo, 'hm we send the n-th d00d to trade with the natives' 'and..?' 'skull came back, cannibals ate' 'who wants to go next'
asciilifeform: http://btcbase.org/log/2019-01-11#1886376 << grr, oughta be 1/(4^n)
a111: Logged on 2019-01-11 17:48 asciilifeform: ( re 'how many witnesses', see diana_coman's article, it reviews the necessary maffs, i.e. P(yer prime aint a prime and you die) == (1/4)^n, where n is # of witness )
asciilifeform: err, nm, lol, they're same thing, asciilifeform prolly oughta go to bed
feedbot: http://qntra.net/2019/01/three-weeks-into-partial-usg-shutdown-over-single-budget-item-small-signs-becoming-visible/ << Qntra -- Three Weeks Into Partial USG Shutdown Over Single Budget Item, Small Signs Becoming Visible
feedbot: http://qntra.net/2019/01/pantsuit-capital-allocator-jeff-bezos-mismanages-household-to-dissolution-after-sexing-up-49-year-old-matron/ << Qntra -- Pantsuit Capital Allocator Jeff Bezos Mismanages Household To Dissolution After Sexing Up 49 Year Old Matron
asciilifeform: !#s varanul
a111: 1 result for "varanul", http://btcbase.org/log-search?q=varanul
asciilifeform: hrm, could've sworn there was a moar recent mircea_popescu thread re same
a111: Logged on 2019-01-08 17:10 mircea_popescu: (that article, btw, remarkable because i told ro bezos "Si, draga Varanule, nu-i clar ca mai ai cinci ani" ie, "dear reptile, it's not clear you have five years left" in 2012 -- by 2014 he was in jail. because hey, mp is right now and again accidentally which is to say 1024/1024 occurences on his blog etc etc)
asciilifeform: wtf re '49 Year Old' tho! i'd naively think 'may as well hang for a sheep as for a lamb'...
BingoBoingo: Judging by the pictures it looks like she was a tanner more silicone'd version of his domestic partner
BingoBoingo: And Amazon was built by boldly taking coeds
BingoBoingo: * was not built by
BingoBoingo: American Apparel was built by taking coeds. Amazon was built on retiree RV cities seasonally wintering at their distribution centers
BingoBoingo: !!invoice mircea_popescu 0.05780660 S.MG rental server
deedbot: Get your OTP: http://p.bvulpes.com/pastes/L1ExE/?raw=true
BingoBoingo: !!v 55AB9BC88BB9D3D528D1F5C9E3F9E38828BDFAC70846198BC8808C48C770A2F1
deedbot: Invoiced mircea_popescu 0.05780660 << S.MG rental server
BingoBoingo: !!invoice billymg 0.06300756 Rockchip Quarterly
deedbot: Get your OTP: http://p.bvulpes.com/pastes/QbcXn/?raw=true
BingoBoingo: !!v 69FC66DB37B56AAE91AEB35C06D7A41B232D6780678C2793E45B430E40EBAC41
deedbot: Invoiced billymg 0.06300756 << Rockchip Quarterly
BingoBoingo: !!invoice lobbes 0.06900756 Rockchip and shared hosting quarterly
deedbot: Get your OTP: http://p.bvulpes.com/pastes/OXHwy/?raw=true
BingoBoingo: !!v 5DE08CD57DAF2AA34A889E09EB7D760543E5970073A8CAF8B8421FB71DA05EA3
deedbot: Invoiced lobbes 0.06900756 << Rockchip and shared hosting quarterly
BingoBoingo: !!invoice bvt 0.002 shared hosting monthly
deedbot: Get your OTP: http://p.bvulpes.com/pastes/IA7JJ/?raw=true
BingoBoingo: !!v 77AEEBEBEBDD0B5BBD13997D69F27A4F0EDFB5E09A1F25E3E7EF38517AF3B7BA
deedbot: Invoiced bvt 0.002 << shared hosting monthly
BingoBoingo: !!invoice jurov 0.03968076 TBF colocation monthly
deedbot: Get your OTP: http://p.bvulpes.com/pastes/BMZ3V/?raw=true
BingoBoingo: !!v 8A2AF3ED0B636D23359772FFD1F852229BF99FE18E8E8459829E2BFEB26AFCE9
deedbot: Invoiced jurov 0.03968076 << TBF colocation monthly
BingoBoingo: !!invoice trinque 0.04168076 colocation and shared hosting monthly
deedbot: Get your OTP: http://p.bvulpes.com/pastes/T3dSM/?raw=true
BingoBoingo: !!v CB98CF6BDBCAACE10B1CA69BBE38F2882A52AB2EB09FA729DD53DB8E4B457D15
deedbot: Invoiced trinque 0.04168076 << colocation and shared hosting monthly