log☇︎
181500+ entries in 0.111s
Framedragger: hehe ok thanks, i missed that one
Framedragger: shinohai: where is the flash crash? https://coinmarketcap.com/currencies/ethereum/#charts or were you talking about ETHC?
mircea_popescu: and to think we beliebed them!
BingoBoingo: <mircea_popescu> but ALL THAT VALUE! << Turns out the shoes and chain were both fake
a111: Logged on 2017-06-20 17:22 asciilifeform: http://btcbase.org/log/2017-06-20#1672507 << mircea_popescu: consider dropping another 50MTonne кузькина мать -- looked, at least to naked eye, to have miraculous educational effect last time around
mircea_popescu: to satisfy http://btcbase.org/log/2017-06-20#1672531 -- try and fuck with btc price, discover eth "price" was a joke all along. ☝︎☟︎☟︎
mircea_popescu: but ALL THAT VALUE!
deedbot: http://qntra.net/2017/06/the-poofening-ether-huffers-suffer-price-flash-crash-as-opposed-to-more-frequently-covered-service-crash/ << Qntra - The Poofening: Ether Huffers Suffer Price Flash Crash (As Opposed To More Frequently Covered Service Crash) ☟︎
BingoBoingo: https://archive.is/3KoLj << "Dude, you forgot that this is a STEALING SUB!! WTF?!"
mircea_popescu: meanwhile in teh shower, http://68.media.tumblr.com/9734ba893ca17c3f021b3de7ac9803a2/tumblr_oqtz43iXYU1vhnnuho1_1280.jpg
shinohai: I'm so accustomed to it now I can't imagine going back to my old ways.
ben_vulpes: first full day at the helm of gentoo workstation while rough, was a marked improvement over the previous wheelbarrow's spiky handles. many thanks to asciilifeform and trinque.
jhvh1: mircea_popescu: The operation succeeded.
mircea_popescu: !~later tell hanbot http://wotpaste.cascadianhacker.com/pastes/jMQOL/?raw=true
shinohai: lol mod6 caught it same time I did, was busy writing up the lulz and didn't see your msg.
jhvh1: shinohai: The operation succeeded.
shinohai: !~later tell BingoBoingo http://wotpaste.cascadianhacker.com/pastes/IY3pD/?raw=true
asciilifeform: so in that sense it is not at all spam
trinque: entirely worthwhile, for when one of us is next going through the Ada march.
asciilifeform: mod6: it is absolutely imperative that all future users of 'p' understand exactly how this thing worx
mod6: guess that clears that up. my apologies to TMSR~ for the spam.
mod6: L=8 then
mod6: so to work it out:
asciilifeform: 'from 0' means that it is permissible to have an array of length 0 ( not in ffa ! but in ada )
mod6: lol, this is why i asked first!
asciilifeform: length is the count of items in the array
mod6: K=4,J=3 when there are 8 words in FZ.
asciilifeform: 2 cuts into 1 and 1; 1 is the basecase
asciilifeform: 4 cuts the obvious way
mod6: i did that, see above.
asciilifeform: work out the arithmetic
mod6: X1.Z(X1.Z'First .. J) := X.Z(K + 1 .. X.Z'Last); << what about this one where J = 3?
asciilifeform: likewise the ability to refer to Foo'First and Foo'Last -- arrays know their size; and taking a slice from a nonexistent portion behaves SANELY (i.e. is a slice of size 0, and it is legal to assign another array to it, this is a null op)
asciilifeform: the 'index arrays from whatever' thing in ada is genius, it abolished the megatonnes of increments and decrements that litter c proggies and inevitably lead to 'fencepost' eggog
asciilifeform: ergo foo.Z(foo.Z'First .. 4) gives you the lower 4 words, for instance
asciilifeform: so you can see that the words are indexed from 1
mod6: well, not assigning, just not assigning the 4th word in X1.Z; where 4th == X1.Z[3]
mod6: which, i guess you would be assigning a null word then, also. not sure if that was intended.
mod6: X1.Z(X1.Z'First .. J) := X.Z(K + 1 .. X.Z'Last); << Further, it seems that here, we'd be setting (K + 1) .. X.Z'Last ; so, 5 .. 7. And assigning that to X1.Z(0 .. 3).
mod6: and my guess is that X.Z(X.Z'First .. K) would be assigning 5 words where K = 4.
mod6: So, in this case, it seems that we start at 0.
mod6: A'First denotes the lower bound of the first index range; its type is the corresponding index type." << http://www.ada-auth.org/standards/12rm/html/RM-3-6-2.html#I1941
mod6: asciilifeform: anyway, im just trying to figure out if this splits the number in a balanced manner or we're off by one.
ben_vulpes: holy doodle, my tunnel under steve's wall just broke the surface!
mod6: X0.Z(X0.Z'First .. K) := X.Z(X.Z'First .. K); << X0 will be assigned to X.Z[0] -> X.Z[4] ? or is the 'X.Z'First .. K' part exclusive? where it'll only do X.Z[0]->[3] ?
mod6: J : constant Positive := L - K; << J gets assigned to 3. 7 - 4 = 3.
mod6: K : constant Positive := (L + 1) / 2; << Now, K gets assigned to 4. (7 + 1) / 2 = 4
mod6: L : constant Positive := X.Z'Length; -- Words in each operand << let's say that L gets assigned to 7. (since we start at 0, we end on 7 as overall length)
mod6: asciilifeform: have a minute to walk through the splitting of the numbers?
mod6: ok, thx
asciilifeform: ... just read it, probably will make moar sense than my explaining it ( and if this is not so, then it is not written correctly )
a111: Logged on 2017-06-21 17:08 asciilifeform: also gotta understand what the F in 'ffa' means. it means that N**2 takes exactly same time as N**N
ben_vulpes: huh, i don't understand this comment then: http://btcbase.org/log/2017-06-21#1673195 ☝︎
asciilifeform: likewise, whole thing is 100% cpu arch AND endianity (!) independent, having any asm in the mix would ruin this.
asciilifeform: mod6: ffa has to stay an algebraic, if you will, whole, or you cannot prove that it works.
asciilifeform: it defeats entire point of the entire thing.
asciilifeform: mod6: i haven't tried and have 0 intention of
mod6: this is outside the spec, but just as an experiment, what kinda timings do we get if you were to do inline asm for the W_Mul & Karatsuba procedures? is this worth doing?
BingoBoingo: Kubota has a rather popular 3-cylinder diesel ~25-ish horsepower but lots of torque for the small holder who wants to deep rip their plot
BingoBoingo: three cylinder engines are not that uncommon
mod6: <+asciilifeform> mod6, phf , et al -- see if you grasp how the thing worx. << will continue to try to grok this thing.
mircea_popescu: also re "small cars", apparently fiat actually makes a THREE CYLINDER car
mircea_popescu: ty ty
deedbot: http://phuctor.nosuchlabs.com/gpgkey/4243CD67258D732BF7B2965A06839BDBB5CED0F8AE16B34FC085874FE89A4396 << Recent Phuctorings. - Phuctored: 1021...8907 divides RSA Moduli belonging to '74.45.229.139 (ssh-rsa key from 74.45.229.139 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (Unknown US)
deedbot: http://phuctor.nosuchlabs.com/gpgkey/357944F7083AA4DBA3BB8A7147F19D7F0C299F546964111FC9D2BEB093DDC815 << Recent Phuctorings. - Phuctored: 1334...8633 divides RSA Moduli belonging to '74.45.231.115 (ssh-rsa key from 74.45.231.115 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (Unknown US)
deedbot: http://phuctor.nosuchlabs.com/gpgkey/4243CD67258D732BF7B2965A06839BDBB5CED0F8AE16B34FC085874FE89A4396 << Recent Phuctorings. - Phuctored: 1334...8633 divides RSA Moduli belonging to '74.45.229.139 (ssh-rsa key from 74.45.229.139 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (Unknown US)
deedbot: http://phuctor.nosuchlabs.com/gpgkey/1882442C346E34C73069FB7ED55D952BCF5B7B1E2FF7FAB9C4337FD173C75180 << Recent Phuctorings. - Phuctored: 1334...8633 divides RSA Moduli belonging to '74.45.0.65 (ssh-rsa key from 74.45.0.65 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (Unknown US)
deedbot: http://phuctor.nosuchlabs.com/gpgkey/06A440A299DFAC49B901A7AC5546ADD656BFEBF0914010F1F0983B5481A4BA94 << Recent Phuctorings. - Phuctored: 1334...8633 divides RSA Moduli belonging to '74.45.0.64 (ssh-rsa key from 74.45.0.64 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (Unknown US)
asciilifeform: pleeez, folx, write in re typos, or any item that is unclear ( unclear is in itself a bug in critical code )
asciilifeform: ( oh, typo in comment : '-- J1 := Remaining J of Y' of course oughta be '-- Y1 := Remaining J of Y' )
asciilifeform: mod6, phf , et al -- see if you grasp how the thing worx.
asciilifeform: so there is no handwave away, 'average case will be better'. there IS no average case distinct from the others here.
asciilifeform: also gotta understand what the F in 'ffa' means. it means that N**2 takes exactly same time as N**N ☟︎
asciilifeform: ( or, charitably, because ada committee could not rely on ALL cpu having ability to return top word of mul, or even HAVING an iron mul )
asciilifeform: not to mention the shift and AND in the bottomhw/tophw subs
asciilifeform: doing FIVE ( yes, it's five ) machine muls, in there, and 5 machine adds ( instead of motherfucking ZERO ) JUST TO GET THE UPPER WORD of word*word mul, is not. ☟︎
mod6: you mean, storing the halfwords isn't going anywhere?
asciilifeform: main thing nuking the speed is the W_Mul thing and the fact that we copy EVERY split. the latter is not avoidable given as we ban pointers
mod6: yeah, don't let it get you down. all in good time.
asciilifeform: mod6: i mentioned all of the ones i could think of -- larger base case ( trivially necessary ), and parallelized recursing ( unacceptable in the msdos port, or on single-cored machines of whatever type, however )
mod6: so, there might be some optimization to be done (perhaps?) once we all grok the implementation.
asciilifeform: ( not to mention ~worthless for mircea_popescu's prize-problem of 'pure rsa link b/w 2 machines' )
mod6: i do not think this is depressing, more ~expected. we're doing things typically in crystal way up above where normally executed.
asciilifeform: mod6: understand, that translates into a YEAR or two of 4096bit rsa keygenning time.
asciilifeform: in that i still do not know if the problem can even be solved satisfactorily.
asciilifeform: so far this has been a quite depressing exercise
mod6: <+asciilifeform> but keep in mind mod6 et al that where before you had package ALU is new FFA(Width => Width, Word => OS.Machine_Word); you will now have, e.g., package ALU is new FFA(Word => OS.Machine_Word); << thanks for this too
asciilifeform: mod6: understand, we're still an entire order of magnitude away from being able to so much as miller-rabin.
mod6: yeah. no sewage in the champagne
asciilifeform: and yes, one can inline asm it. however the EXPLICIT spec was : NO ASM!!!!!
asciilifeform: so we end up having to do FOUR multiplications !! and buncha additions, to get it
asciilifeform: the INFURIATING thing is that, just as with the addition/subtraction carry bit (last month's thread), the compiler DOES NOT give us portable access to the upper word of MUL reg,reg
mod6: <+asciilifeform> mod6: if you want to test, keep in mind that you gotta Foo : FZ(Bits) ; now, rather than Foo : FZ; << good to note. thanks
asciilifeform: ( 8192bit exponentiation: ~10min with egyptological mul; 20.5s was with first-grade mul; 17.7 with karatsuba posted today ) ☟︎
trinque: http://vegweb.com/sites/default/files/styles/recipe_large/public/recipe/images/tofurkey2.jpg?itok=E92IW1jt << ah gross, I take it back
a111: Logged on 2017-05-23 18:39 asciilifeform: http://btcbase.org/log/2017-05-19#1659228 turns into 20.5s.
asciilifeform: mod6: interestingly, there is veeeeery little improvement so far, http://btcbase.org/log/2017-05-23#1660607 turns into 17.7 sec !! ☝︎
trinque: scam; I don't think you can stuff a tofurkey
jhvh1: BingoBoingo: pajama boy :: An insufferable Man-Child. About as threatening as Michael Cera and so nerdy he could guest-host on an unwatched MSNBC show. The purpose of Pajama Boy is not to get people to buy health insurance, but to get a rise out of more powerful personas. [ex:] Pajama Boy is an insufferable Man-Child probably reading The Bell Jar and looking forward to a hearty Christmas meal of stuffed tofurkey. If (2 more messages)
asciilifeform: ^ this oughta suffice, for whoever wants to try.