log☇︎
167100+ entries in 0.101s
lobbes: http://btcbase.org/log/2017-08-14#1697607 << here is my computation (using 4096 bit limit; comes out to 4093 bits): http://wotpaste.cascadianhacker.com/pastes/WonUN/?raw=true ☝︎
ben_vulpes: oh subject of, i just had a grand time with rushdie's satanic verses.
mircea_popescu: i suppose a better translation would be "doctor, i hear voices, they talk to me, should i worry ?" "you should worry when you start talking back."
mircea_popescu: as per that ancient "doctor, is it bad if i hear voices ?" "only if you start answering."
mircea_popescu: im not even sure what the failing is ?
ben_vulpes: aaah. then it was a /personal/ failing, not a systemic one.
mircea_popescu: this stays the same irrespective of which base you use to express the ratio.
mircea_popescu: 16 is 2 to the power of 4.
ben_vulpes: what secrets of the universe did my inferior american education deprive me of? ☟︎
ben_vulpes: why is ln(16)/ln(2) so tidily and precisely 4?
asciilifeform: try working through a case where k != j and see what happens.
mod6: alright. thanks for the explanation.
asciilifeform: you can't use ada's array concatenation feature either, to cheat, because i banned it. it introduces implicit jump.
asciilifeform: and you can't subtract ffa x0 - x1 unless they are same lengh !!
asciilifeform: this is because in the original, you can have a L of, say, 3
asciilifeform: they exist so that the input:output lengths invariants of subtraction and of kara recurse per se, 1:2, are met
asciilifeform: they're temp copies of the multiplicands
mod6: <+asciilifeform> and incidentally mod6 , is it obvious why this only works if L is restricted to powers of 2 ? << no, i think im missing the entire idea of why this is written this way.
asciilifeform: array slices retain the indexing of the underlying array. this is The Right Thing ( see prev thread on subj where i explained to mircea_popescu ) but makes iterating over them slightly trickier in certain cases.
asciilifeform: mod6: an array slice ( concept which also exists in common lisp ) can be thought of as a sane man's pointer. i.e. it maps into the original, and writes go through; but it is guaranteed not to spill, out of the original or out of its own more constrained bound
asciilifeform: and incidentally mod6 , is it obvious why this only works if L is restricted to powers of 2 ?
asciilifeform: they're replaced with the slice expression
asciilifeform: mod6: because we can't use the shorthand any moar
mod6: i dun get why, if you didn't change the maff, why you would make it more complicated
asciilifeform: they're the foundational abstraction that makes the thing compact and readable
asciilifeform: mod6: to understand ffa, you absolutely gotta grasp how ada array slices ( which Always Do The Right Thing ) work
mod6: i dun get it then
asciilifeform: but no copying of the input
mod6: the math is different from one to the other, is it not?
asciilifeform: you can't 'similar to the original' , it would BE the original
mod6: just was curious if your readability issue could be resolved with pulling the paramaters of Mul_Karatsuba back out in similar fashion to the original. 'tis all.
asciilifeform: e.g. the one you quoted
mod6: maybe i should ask a different question: which part do you find to be less readble?
asciilifeform: if you do this, you get the original, what else could you get
asciilifeform: mod6: i dun understand the question
mod6: not that the latter is all /that/ bad.
mod6: as opposed to:
mod6: basically, being able to call something like:
mod6: asciilifeform: so if you add back in the FZs that were removed in the 2^n version (re-adding in the 50% reduction of temp space that yields no opt.), do we get the ~runtime of the original?
ben_vulpes: "the greatest website to ever fit in a single TCP packet"
mod6: <+asciilifeform> this kind of optimization could be interesting if we were dealing in MB+ ffaism << yeah, perhaps the sample size used was not enough to see the delta?
a111: Logged on 2017-08-14 17:58 asciilifeform: and by extension, with the temp buffers in same
mod6: http://btcbase.org/log/2017-08-14#1697732 << >> <+asciilifeform> despite 50% reduction in temp space used by karatsuba mult and square ☝︎
BingoBoingo: <mircea_popescu> is the "i just wanted to" right opposed at the "i just wanted to left" removal as being too radical ? after all, they DO "just want to" undisturbed ? or what ? << It seems like there is a mass of confusion in them.
asciilifeform tries to count how many 'improved' versions he wrote, and then discarded...
asciilifeform: this is perhaps the most pedantically massaged item asciilifeform ever wrote, this thing
asciilifeform: ( the whole thing is quite compact, and misering on codesize loses massively moar than it wins here. (
asciilifeform: hence why everything that oughta be inlined, i empirically determined, and already is.
asciilifeform: the inline thing may seem like premature optimization, but function calls in ada are quite expensive, because bounds checking. so it makes MASSIVE difference.
asciilifeform: ( and it ain't an instance of 'compiler too smart for own good', either, but perfectly legitimate refusal to try to fill up the universe with your mistake )
mod6: that's what i was trying to get at. i suppose the compiler would just reject your request to inline then, or perhaps thats ctronic thinking.
asciilifeform: i thought this was clear...
asciilifeform: mod6: you can't inline a recursive call because this'd be logically equiv. to making the program infinitely long
asciilifeform: ( in so far as i can tell, it indeed respects the standard, and preserves control flow as written )
asciilifeform: gnat ain't supposed to unroll. at all.
mod6: yeah, ok, so the compiler can't determine the max depth to unroll when recursive
asciilifeform: ^ for readers who wondered why karatsuba is the 1 routine in ffa ~not~ inlined... think.
asciilifeform: ( picture this )
asciilifeform: 'this' being, if it wasn't obvious, the powerof2 constraint thing.
mod6: this might be extra-strength dumb, but... in your new power of 2 version, do you need to inline the Mul & Square of karatsuba?
asciilifeform: but as it happens, my hypothesis re 'this will speed up mult' is wholly false; and the one where 'it will simplify program from reader pov' also, somewhat paradoxically, false.
asciilifeform: mod6: idea with this item, is that L is a power of 2 always. in 'classical' one, L can be anything (e.g. a 192-bit ffa ends up 3*64 on my box, i.e. L=3 )
asciilifeform: and to simplify reading.
asciilifeform: ( to enable building with all oopism banned )
asciilifeform: i abolished the 'record' thing
asciilifeform: mod6: see earlier thread
mod6: but i've only scanned it once. so perhaps I shouldnt comment too much on that.
mod6: as it stands, at the moment, sounds like a mechanical push. with the ability to set the length to some power of two. i'd say it's a bit harder to follow, code-wise, with the recursive calls perhaps.
asciilifeform: so it turns out that imposing 'powers of 2' is NOT a win.
asciilifeform: also imho the item above is LESS readable than the original.
asciilifeform: but apparently does 0 for us in the expected application.
asciilifeform: so reducing temp space, does 0.
asciilifeform: i suspect that the reason is that the op fit in cache ANYWAY even prior
mod6: so you didn't get the 10%?
asciilifeform: how this can be -- remains a puzzler.
asciilifeform: despite 50% reduction in temp space used by karatsuba mult and square
asciilifeform: however, the expected speedup did NOT materialize !!
a111: Logged on 2017-08-14 17:57 asciilifeform: if instead of 'mult of 64' we had 'powers of 2', we could dispense with the odd split in karatsuba
asciilifeform: yeah i thought also.
phf: for a second there i thought freenode finally jumped the shark
mod6: heheh, good to hear, Sir.
mod6: how goes tonight?
asciilifeform: iirc the details of this tale are in last summer's l0gz
a111: Logged on 2017-08-14 20:57 mircea_popescu: how the fuck does the police "decline" to patrol.
asciilifeform: http://btcbase.org/log/2017-08-14#1697933 << pretty easily. asciilifeform had a bumper wreck in bmore once, passing cop declined to take report, demanded 'who was killed here? if nobody, i have no time for this, and no one else from station will come either' ☝︎
a111: Logged on 2017-08-14 20:37 mircea_popescu: that's why the whole "doctor shining light in eyes" thing.
deedbot: http://www.contravex.com/2017/08/14/the-phantom-of-the-opera/ << » Contravex: A blog by Pete Dushenski - The Phantom of the Opera
shinohai: Annnnnnnnnnnnnnnd ... there's yer answer asciilifeform
asciilifeform: which is odd, because i still see the bots !
mircea_popescu: is the "i just wanted to" right opposed at the "i just wanted to left" removal as being too radical ? after all, they DO "just want to" undisturbed ? or what ?
mircea_popescu: um. "The goal is to turn peaceful protests violent, and spark a Civil War." i don't get it, how is this a bad thing ?
BingoBoingo: "According to the Southern Poverty Law Centre, (fuck them, but they've done good research into him), Jason Kessler was previously involved with the Occupy Movement and was an ardent Obama supporter through both terms."
shinohai: https://pbs.twimg.com/media/DHM3nOhWsAA9PFB.jpg <<< Well they aren't wrong
danielpbarron: i did get a pm on tardtalk recently but i didn't log in to read it; just saw the notification email
mircea_popescu: "innovative" sf webscum running out of shit to sell.
BingoBoingo: Lol, steemit wants a PHONE NUMBER to post a comment!
mircea_popescu: shinohai so tell him to come over an' explain himself ?
mircea_popescu is persuaded they;d bit flip A FEW TIMES in the process.
shinohai: Some derp on tardstalk linked me to it in a PM ... wouldnt be surprised if he has spammed them to dpb too
mircea_popescu: a better exercise would be if any/all these webexperts actually bothered to sit down and derive their conclusions from prime notions.