log☇︎
194700+ entries in 0.116s
mod6: mircea_popescu, asciilifeform, et. al: Third FG, first run of entropy collection & testing of `ent` && `dieharder` complete: http://www.mod6.net/fg/fg-test/fg3.ent_run1.txt http://www.mod6.net/fg/fg-test/fg3.dieharder_run1.txt
mircea_popescu: (i said them backwards. auto is the old one.)
mircea_popescu: ben_vulpes at least theoretically auto_ptr was the standard replacement for unique_ptr, with the difference that it can also be copied, not just moved. so in point of fact plain replacement of one for the other is bound to cause grief.
mircea_popescu: double carry ? this sounds eerily familiar in retrospect.
asciilifeform: mircea_popescu: see thread - i solved the general case. maybe oughta demand master degree nao, lol.
mircea_popescu: asciilifeform the only practical use may be that it's perhaps cheaper to count l's to exclude unoverflowing mults and then appl ythe double reg mult to the remainder, than to apply the double reg mult uniformly throughout.
diana_coman: actually I found the paper too meanwhile, ping me
diana_coman: asciilifeform, a search for that thing turned out what seems to be the MSc thesis behind it if that's any help
a111: Logged on 2017-04-29 05:56 mircea_popescu: ben_vulpes whart's the difference between auto_ptr and unique_ptr, dja know ?
asciilifeform: now all that remains is to prove...
asciilifeform: this here seems like the finalsolution, folx.
asciilifeform: when the left shifter ( x ) overflows for the first time, we set a bit, q, and clear another, r. r is set whenever right-shifter (y) overflows. now : if r is set again subsequently to q being set -- it means we overflow.
asciilifeform: say, 1000 * 0010 . ( i won't clutter the log with the steps, will leave as exercise. )
asciilifeform: but in other cases, you cannot do this:
asciilifeform: in this case, detecting overflow simply during the addition stage, works : 0110 + 1100 sets the carry , because result is 10010.
asciilifeform: you take multiplicands x, y, and accumulator a (initially 0) , and do : while y!=0: { if odd(y): { a += x } ; x <= x*2; y <= y/2 } .
asciilifeform: i'll review, for the l0gz, the 'ancient egyptian' mult algo, which is the simplest practical, and illustrative of the difficulty of determining overflow ~while doing the mult~ in fixed space.
asciilifeform: ( it is how the problem is 'solved' on all known hardware ALUs )
asciilifeform: keep in mind that 'double the available register width' IS NOT A SOLUTION !!
asciilifeform: for my purposes i could entirely do with a constant-time-and-space mult algo that knows when to set the overflow flag.
asciilifeform: let's formalize the problem statement. N is integer, N>1 . x, y are int, 0 <= x < 2^N; 0 <= y < 2^N. determine an f, such that f(x,y) is true iff x*y >= 2^2N ; such that complexity of f is less than that of * operation.
asciilifeform: however i've also not turned up a rigorous proof that it is unsolvable. which is bothersome imho.
asciilifeform: apparently this is a bona fide unsolved problem.
asciilifeform: 'This paper presents efficient methods for performing unsigned or two's complement integer multiplication with overflow detection or saturation. ' supposedly.
asciilifeform: and incidentally the given formulation doesn't work, take the first case, 0011*0110 . it turns into 001*010 = 010. the result (N-1 = 3) has 1 leading zero. no overflow. apply recurse again, we get 00*00 -- definitely no overflow, and no moar leading 1s to flip...
asciilifeform: so in the end we have nodice.
asciilifeform: 'If l1 + l2 = N-1 let a' be equal to a with its leading 1 set to 0, let b' be equal to b with its leading 1 set to 0, let N' = N - 1 and apply the same algorithm.' << the problem with this is that it reduces to actually DOING THE MULT
asciilifeform: now let's do mircea_popescu's third statement:
asciilifeform: these 2 cases overflow, but the fact does not trivially flow from mircea_popescu's equation, you do not know that they will do so by counting the leading 0s
asciilifeform: take, e.g., these 4-bit cases:
asciilifeform: however this takes us only in 1 direction.
asciilifeform: 'If l1 + l2 > N-1, the product of a and b can never overflow N.' is true. 'If l1 + l2 < N - 1, the product of a and b will always overflow N.' is also true.
asciilifeform: mircea_popescu: 'l1 + l2 < N - 1, the product of a and b will always overflow N.' << didja mean > rather than < ?
pete_dushenski: lol speaking of special interests going at each other, "She’s the Alternative for Germany’s new co-frontrunner despite a great divergence from the party’s typically conservative, xenophobic portrait. Alice Weidel, an openly gay economist, was nominated as the anti-immigrant, far-right party’s chief candidate on Sunday, set to run alongside AfD co-founder Alexander Gauland in September’s federal
mircea_popescu: mats i'm pleased to see trilema moved teh overton window so.
mircea_popescu: hey, the whole point of even buying tickets at the Decaying Empires show is to watch special interest groupas gfoing at each other.
pete_dushenski: "Oxford University has apologised for saying that avoiding eye contact could be "everyday racism" after it was accused of discriminating against autistic people." << in other british sads that i can only wish were trolls.
mats: https://i.imgur.com/ozC5uTx.jpg 10/10 troll
asciilifeform: http://wotpaste.cascadianhacker.com/pastes/4jCKm/?raw=true << a mult table, for convenience .
mircea_popescu: alrighty, this is turning out to be more interesting than i thought.
asciilifeform: takes, say, 2 3bit nums, and tells if mul will overflow.
mircea_popescu: asciilifeform you will have to consider the parity of the two items to decide if you go by N or N-1.
asciilifeform: rather than 'iff'
asciilifeform: this test only works in one direction
pete_dushenski: shinohai: there ain't no happening like an unhappening. just priceless.
mircea_popescu: anyway, as i said : i thought ~this~ is why computers even use binary in the first place.
mircea_popescu: well... that may be, but you asked.
asciilifeform: this is still pretty expensive op tho.
mircea_popescu: we also notice that 0 +1 = 1 which being < 3 we lost bits.
asciilifeform: mircea_popescu: let's, for simplicity, take 3bit regs :
mircea_popescu: meanwhile 255 * 255 does not overflow ; you know this because 8 + 8 is not < 16.
deedbot: http://phuctor.nosuchlabs.com/gpgkey/53C6B99375383B7B79B64399F7B2E611F9C2E5ED90FA79C25279DF1C348297B1 << Recent Phuctorings. - Phuctored: 1657...5419 divides RSA Moduli belonging to '155.253.6.47 (ssh-rsa key from 155.253.6.47 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (Unknown IT 25 MI)
deedbot: http://phuctor.nosuchlabs.com/gpgkey/53C6B99375383B7B79B64399F7B2E611F9C2E5ED90FA79C25279DF1C348297B1 << Recent Phuctorings. - Phuctored: 1545...6329 divides RSA Moduli belonging to '155.253.6.47 (ssh-rsa key from 155.253.6.47 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (Unknown IT 25 MI)
mircea_popescu: for convenience, consider 16 bit registers : 8245×8 = 65960 which overflows. you know this because 0010000000110101 x 0000000000001000 ie 2 + 12 = 14 which is < 16.
asciilifeform: less than N, or less than leadingzeros(N) ?
mircea_popescu: so then. if these two added together are less than N you've lost some high bits.
mircea_popescu: you can't tell me how many leading zeros x1 has ?
asciilifeform: mircea_popescu's statement is true but doesn't help, because we do not have an elastic register to represent the arity of the mult result.
mircea_popescu: if l1 of x1 added to the l2 of x2 exceeds N then it doesn't represent x1 * x2
asciilifeform: or we lost the high bits.
asciilifeform: the result is always N bits long, fixed N. what we want to know is whether it actually represents x1*x2.
mircea_popescu: the l of "000000" is 0 for this purpose.
mircea_popescu: if two numbers of lengths l1 and l2, with l1 and l2 < N are multiplied, and the result is less than l1+l2 bits long, then it has overflown.
asciilifeform: i thought it was clear that thread is about fixed-register arithmetics.
asciilifeform: mircea_popescu: this only works for addition.
mircea_popescu: to put it another way, two N-bit items muliplied so they yield a M bit result, where M < N, overflowed the buffer.
mircea_popescu: asciilifeform isn't it the case that if the result was 0-led you'd know the product had overflown ?
mircea_popescu: i thought this was the reason computers EVEN USE binary in the first place.
asciilifeform: i'm thick, explain which op would demonstrate the overflow here.
mircea_popescu: 85 * 97 overflew if the result is not led by a 7.
mircea_popescu: ahem ? if the product of the leading q bits isn't equal to the leading q bits of the result, you have overflow.
asciilifeform: seems like the only guaranteed solutions are either to trial-divide every time (eat 2x the space and 2x the time!) or to keep around 'behind the scenes' 2x the nominal register, so as to have where to overflow into, and then test it for zero (2x the space, and 2x the time ! just like the other 'solution')
asciilifeform: ^ if anyone thinks otherwise, please write in!
jhvh1: asciilifeform: The operation succeeded.
asciilifeform: !~later tell phf if you are still working on the puzzle : it is my current understanding that no clean detection of multiply-overflow (when operands and result are all N-bit registers of same N-arity) is possible...
mircea_popescu: conceivably he might also explain how to make a gentoo that works, and in the process of trying find out a few things for himself.
mircea_popescu: graybeard, perhaps not entirely objectionable. ~the iota of value in the whole pile of idiotic kids trying to bypass mp's "talking about bitcoin doesn['t make you part of bitcoin" by hanging out in ##crypto and pretending like they know maffs.
mircea_popescu: anyway, i invited steve arnold aka sarnold over ; plox to voice / explain how to register his key if i'm not around.
asciilifeform: it's the same story as email hosters etc
mircea_popescu: see, bukharin who idiotically will not go to china to hang out with a 30yo deng xiaoping also pays $9 a month "for his team" to github.
asciilifeform: ( the phree hosting is for public material strictly )
asciilifeform: paid hosting thing
asciilifeform: mircea_popescu: it's how they always worked
mircea_popescu: o check it out, github has a "pricing" tab i never noticed before. $9 per user per month ? really ?
jhvh1: mircea_popescu: Nicolas Dupont - Aignan - Wikipedia: <https://en.wikipedia.org/wiki/Nicolas_Dupont-Aignan>; N. Dupont - Aignan (@ dupontaignan ) | Twitter: <https://twitter.com/dupontaignan%3Flang%3Den>; France election: Marine Le Pen would make Dupont - Aignan PM - BBC: <http://www.bbc.com/news/world-europe-39757887>
mircea_popescu: in other lulz, le pen has a lengthy list of other-provinces-generals to name in various places once she wins. such roman empire.
mircea_popescu: we'll talk of them when we run into them.
asciilifeform: not even certain that this is a 'morality' tale re dope -- there are 'genius' who behave this way even sans dope.
mircea_popescu: not somebody is an imbecile, like adlai et al, to actually dose themselves.
asciilifeform: iirc d00d did something or other while on dope, that was later spun as 'threat to public official'
mircea_popescu: which is a perverse sort of reminder : taking the usg seriously, IN ANY WAY, is what the usg lives off if.
mircea_popescu: at any rate -- it is worth pointing out that the original "charges" proferred by the sops terrorist organisation were dropped ; the current "sentence" stems from posturing around a youtube video the guy made discussing said "charges".
mircea_popescu: he has time. s took 20 years or what.
asciilifeform: afaik fella did not go on to write the next 'gulag archipelag', no.
mircea_popescu: apparently i'm not the last to make this point, huh.
mircea_popescu: ”The U.S. government decided today that because I did such a good job investigating the cyber-industrial complex, they’re now going to send me to investigate the prison-industrial complex,” he said, thanking the government for providing “free food, clothes and housing as I seek to expose wrongdoing by the Bureau of Prisons officials and staff and otherwise report on news and culture in the world’s greatest prison sy
mircea_popescu: the pretense to be taken seriously is so fucking lulzy by now. i expect next is a shoe banging moment, yes ?
mircea_popescu: from the monkeystan link : "Ms. Luz Lujan, his BOP contact, refused to provide him with copies of program statement rules". but ofcoars. and "ms" luz lujan is going to do no time for this, because hey, good soviet.
mircea_popescu: ps things were always thus; but there is a particular danger when a party has had too much power for too long: its members cannot compete to attack the enemy so they attack each other instead. If future commentators identify a "missing generation" of politicians who were in their twenties during the Thatcher years, this will have been the cause."
mircea_popescu: to briefly revisit kochanski, "I was subsequently elected to the post of Research Secretary of the Bow Group, which meant that I was the general editor of its published papers from 1989 to 1990. My abiding impression of the foothills of the Conservative Party at the time is of a world where people eyed their friends suspiciously and if they saw signs of possible talent then they knifed them before they became a danger. Perha