phf: http://btcbase.org/log/2017-01-30#1609850 << i am, but it's in the list of things i need to accomplish. i want to wrap up "blame" next, and i can work no graphs after
a111: Logged on 2017-01-30 16:55 mircea_popescu: speaking of which phf you still working on that ?
mircea_popescu: worx
shinohai: !~later tell BingoBoingo http://wotpaste.cascadianhacker.com/pastes/agePU/?raw=true
jhvh1: shinohai: The operation succeeded.
BingoBoingo: shinohai: ty fxd
shinohai: o/ cheers and gm!
deedbot: http://qntra.net/2017/01/roger-ver-presents-bitcoin-com-presents-bitcoin-unlimited-mining-pool-goes-over-on-blocksize-gets-orpaned/ << Qntra - Roger Ver Presents Bitcoin.com Presents "Bitcoin" Unlimited Mining Pool Goes Over On Blocksize, Gets Orphaned
asciilifeform: in other lulz, https://www.debian.org/security/2017/dsa-3775
asciilifeform: 'Multiple vulnerabilities have been discovered in tcpdump, a command-line network traffic analyzer. These vulnerabilities might result in denial of service or the execution of arbitrary code.'
asciilifeform: Run Moar Debian.
asciilifeform: in other monkeystan chatter, 'Pence is sane enough to oppose rash acts involving, say, the evisceration of all U.S. military alliances, or America's first use of nuclear weapons - and presumably, if things got bad enough, other Trump cabinet members might also be inclined to oust their boss and replace him with his vice president. Congress would have to acquiesce in a permanent 25th Amendment
asciilifeform: removal, but if Pence and half the cabinet declared Trump unfit, even a Republican-controlled Congress would likely fall in line.'
asciilifeform: (source -- http://archive.is/3mkfG )
asciilifeform: and to top off the lulzfest, http://archive.is/jMArA : 'Microsoft Corp said it has been cooperating with the Washington State Attorney General's Office, which is suing in federal court to stop President Donald Trump's order restricting immigration from several Muslim countries.'
thestringpuller: BingoBoingo: funfact kindergarten cop is a textbook "comedic thriller"
thestringpuller: In other "news" >> https://it.slashdot.org/story/17/01/31/1425259/netgear-exploit-found-in-31-models-lets-hackers-turn-your-router-into-a-botnet
deedbot: http://phuctor.nosuchlabs.com/gpgkey/DDE2BA903B5B33E79BA63AD7CD4401DB427E8E77C8E4A31789667B9AC97619BA << Recent Phuctorings. - Phuctored: 1373...5033 divides RSA Moduli belonging to '85.125.140.228 (ssh-rsa key from 85.125.140.228 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (85-125-140-228.static.upcbusiness.at. AT)
deedbot: http://phuctor.nosuchlabs.com/gpgkey/DDE2BA903B5B33E79BA63AD7CD4401DB427E8E77C8E4A31789667B9AC97619BA << Recent Phuctorings. - Phuctored: 1377...9033 divides RSA Moduli belonging to '85.125.140.228 (ssh-rsa key from 85.125.140.228 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (85-125-140-228.static.upcbusiness.at. AT)
Framedragger: !$ssh 85.125.140.228
scriba: ssh banner of 85.125.140.228 as seen on 2016-06-13: SSH-2.0-OpenSSH_4.3p2 Debian-9
asciilifeform: Framedragger: neato
Framedragger: (i'm afraid i won't have much time to work on bot or anything for the next ~two months, though. will maintain things and slowly move ahead, tho.)
ben_vulpes: shinohai: that is a funny tweet from gavin
ben_vulpes: asciilifeform: h1b pipeline jeopardized?
shinohai: haha ben_vulpes .... his tweets are just more of same butthurt and wtf since the "But he *is* satoshi* thing.
shinohai: All Unlimited is now superior to core things.
asciilifeform: ben_vulpes: h1b from obummer's Badness Enumeration List ~= 0
shinohai: "I'm half-Latina, my mother full-blooded. My father is white. At Thanksgiving, I was having a discussion with another relative when my dad's aunt called me a Communist and started chanting 'Build that wall.' Should I write her off?"
shinohai: hmmmm
thestringpuller: i've never seen h1b1 used for its "intended purpose". at first coal mine, director would hire h1b applicants over the norm due to cost.
thestringpuller: ended up turning the place into almagamation of sweatshop and click farm...
deedbot: http://phuctor.nosuchlabs.com/gpgkey/B222AE99114C968292A3E25BF957904F867CAC0764829606CE8713E800CC79E7 << Recent Phuctorings. - Phuctored: 1711...1857 divides RSA Moduli belonging to '201.248.243.31 (ssh-rsa key from 201.248.243.31 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (201-248-243-31.dyn.dsl.cantv.net. VE)
deedbot: http://phuctor.nosuchlabs.com/gpgkey/B222AE99114C968292A3E25BF957904F867CAC0764829606CE8713E800CC79E7 << Recent Phuctorings. - Phuctored: 1770...5107 divides RSA Moduli belonging to '201.248.243.31 (ssh-rsa key from 201.248.243.31 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (201-248-243-31.dyn.dsl.cantv.net. VE)
asciilifeform: in other adanoose, appartently
asciilifeform: type Foo is range 0 .. (2**64)-1;
asciilifeform: barfs gcc:
asciilifeform: 'integer type definition bounds out of range'
asciilifeform: because -- marvel of marvels, gcc has nfi how to generate bounded unsigned 64bit types in ada on x86-64.
asciilifeform: now, type U64 is mod 2**64; works
asciilifeform: but this gives you a C-style 'modular type' -- e.g., it can overflow and underflow.
asciilifeform: motherfucking tards.
deedbot: http://trilema.com/2017/lethargy-part-6/ << Trilema - Lethargy, part 6
mircea_popescu: http://btcbase.org/log/2017-01-31#1610170 << ok i lolled.
a111: Logged on 2017-01-31 14:29 deedbot: http://qntra.net/2017/01/roger-ver-presents-bitcoin-com-presents-bitcoin-unlimited-mining-pool-goes-over-on-blocksize-gets-orpaned/ << Qntra - Roger Ver Presents Bitcoin.com Presents "Bitcoin" Unlimited Mining Pool Goes Over On Blocksize, Gets Orphaned
mircea_popescu: http://btcbase.org/log/2017-01-31#1610174 << wtf are they smoking over at nytimes retreat ? vp is not involved in nucular deployments.
a111: Logged on 2017-01-31 15:07 asciilifeform: in other monkeystan chatter, 'Pence is sane enough to oppose rash acts involving, say, the evisceration of all U.S. military alliances, or America's first use of nuclear weapons - and presumably, if things got bad enough, other Trump cabinet members might also be inclined to oust their boss and replace him with his vice president. Congress would have to acquiesce in a permanent 25th Amendment
mircea_popescu: also, amendments to the constitution aren't made by congress.
shinohai: I like the "America's first use of nuclear weapons" part.
asciilifeform: mircea_popescu: they dun need an amendment to dethrone president
shinohai: "We all slept in history class"
mircea_popescu: jesus turns out the "our democracy" folk had been living in a full on play-by-the-ear dictatorship since the 70s ? they have nfi how anything works do they ?
asciilifeform: 30s
mircea_popescu: asciilifeform iirc yeltsin won this dispute in practice.
mircea_popescu: they could use some howitzers ; they ain't got 'em.
mircea_popescu: http://btcbase.org/log/2017-01-31#1610175 << pence and half the cabinet ?! what is this, our democracy ?
a111: Logged on 2017-01-31 15:07 asciilifeform: removal, but if Pence and half the cabinet declared Trump unfit, even a Republican-controlled Congress would likely fall in line.'
mircea_popescu: !$ssh 68.65.169.6
mircea_popescu: !$ssh 62.102.148.183
mircea_popescu: !$ssh 213.127.32.7
mircea_popescu: !$ssh 71.232.150.212
scriba: ssh banner of 71.232.150.212 as seen on 2016-06-13: SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u2
mircea_popescu: this has been a random sampling of the ips leaked by people connecting today. Framedragger, any idea why only 1 in 4 is in your list ? evidently the ips are routable ; can you check if you talked to them and htey didn't respond, or just didn't talk to them ?
mircea_popescu: also this is very nice item.
asciilifeform guesses that they belong to luser boxes, i.e. konsoomer routers, no ssh
Framedragger: will check later! main guess is that there's no actuall ssh server running on port 22 (or rather, there was none at time of scan.) would be great to know the overall statistics, yes.
Framedragger: the `ssh` command should take multiple IPs per msg, btw
mircea_popescu: http://btcbase.org/log/2017-01-31#1610191 << the aunt is right ; "latinos" don't belong in civilised society. see also http://btcbase.org/log/2017-01-30#1610004
a111: Logged on 2017-01-31 17:38 shinohai: "I'm half-Latina, my mother full-blooded. My father is white. At Thanksgiving, I was having a discussion with another relative when my dad's aunt called me a Communist and started chanting 'Build that wall.' Should I write her off?"
a111: Logged on 2017-01-30 21:18 mircea_popescu: because, of course, "Sepan los nacidos y los que van nacer que nacimos para vencer y no para ser vencidos."
Framedragger: (is this to be expected, statistically speaking, and so on. but yes have logs, will check ~tomorrow or today)
mircea_popescu: Framedragger was planning to use it as a snide "you're leaking ip" for noobs' benefit
mircea_popescu: no rush whatever.
Framedragger: :)
shinohai: Stupid hotel I'm in has only ipv6 addys
mircea_popescu: http://btcbase.org/log/2017-01-31#1610204 << wait so ada is brokened ?
a111: Logged on 2017-01-31 18:12 asciilifeform: motherfucking tards.
thestringpuller: segwit addys
mircea_popescu: i'm sorry, "the gcc ada implementation"
asciilifeform: mircea_popescu: even this, is debatable
asciilifeform: i've been pondering subj for ~hour nao; it is not entirely clear that '100% machinewordsize-independent arithmetic' is compatible with 'zero-surprise compilation on all machines'
asciilifeform: it's an abstraction leak that is not trivially pluggable.
asciilifeform: as per ada standard, in order to have a constrained type (e.g., type foo is range 0 .. 10; ) the compiler must find a X such that X is representable on the machine as a fixint, and range of X is larger than asked-for range
asciilifeform: so it'll turn type Foo is range 0 .. 10; into type Foo is Integer range 0 .. 10 ;
asciilifeform: even type Foo is range 0 .. (2**63)-1; worx on x64, because there is a superset, i.e. range 0 .. 2**64 .
asciilifeform: but if there is no fixint superset, there cannot, apparently, exist the constrained type.
asciilifeform: seeeee this is what i mean when i say 'hardware is catastrophically retarded'
shinohai: ^ ah ha!
asciilifeform: and no, you can't gabriel_laddel over this boojum, and 'work around in software automagically', result will be a massive time AND space penalty at a seemingly arbitrary boundary (i.e. if you had bignumatron kick in above the can't-fixnum-no-moar threshhold)
asciilifeform: likewise default assumption in ada world is that there is not necessarily a heap. (safety-critical proggies typically use NO HEAP EVER)
asciilifeform: so you ~must~ have fixnum arithmetic.
asciilifeform: this is, as i see it, a philosophical problem, and i post it here for that reason.
asciilifeform: this is not as simple as 'gcc suxxxxx, let's fix gcc'. because i have nfi what The Right Thing looks like here.
asciilifeform: and the 'doctor, it hurts when i do that! --- so stop doing that!' option is NOT available, as bitcoin's protocol mandates a 'compactsize' variable-bitness integer idiocy that maxes out at unsigned 64bit. ( see http://btc.yt/lxr/satoshi/source/src/serialize.h?v=asciilifeform_add_verifyall_option#0192 ) .
asciilifeform: now! IN PRACTICE! any bitcoin message with a 0xFFFFFFFFFFFFFFFF varint in it, is an eggog, because max message length is smaller than this.
ben_vulpes: compact size is an excellent example of a throwaway "engineering" decision that imposes rather a lot of costs on the future
asciilifeform: but this is small comfort
asciilifeform: i will explain why:
asciilifeform: let's say we go type Btc_Varint is range 0 .. (2**63)-1;
asciilifeform: (and then define the correct reader, writer, for streams, i am omitting these here for clarity)
asciilifeform: this will never result in a block verification eggog (varints are used ONLY for counts of entitites, and no bitcointronic subentity contains 2**64 of anything, or could, by the classical rules)
asciilifeform: BUT! now an enemy can distinguish your node from satoshi node, by when the connection barfs. potentially.
asciilifeform: (by injecting a 2**64 varint in some message.)
asciilifeform: this, i suppose, is not a mega-discovery, it is just trivial fact that you cannot 100% match the semantics of a broken system without being broken in all of the exactly same ways (in this case, over/under-flowable arithmetic)
asciilifeform: that being said, my current understanding is that no bitcoin message containing a varint equalling 2**64 is ever possibly valid.
asciilifeform: mircea_popescu ^ does this match your calculation ?
asciilifeform: ben_vulpes ? et al
asciilifeform: (2**64 -1 rather !!!!)
asciilifeform: 2**64 is a 65-bit number.
asciilifeform: proposition: 'no valid bitcoingram contains a varint greater than 2**63 -1 ', let's say. tru?
asciilifeform: or not.
asciilifeform: pretty sure that nothing ever hits even 2**32-1.
asciilifeform: varint-wise.
asciilifeform: (a 1MB block cannot, no matter how much you might want, ever hold > 1048576 of ANYTHING!)
asciilifeform: as for mempool messages, we have , in current trb :
asciilifeform: inline unsigned int ReceiveBufferSize() { return 1000*GetArg("-maxreceivebuffer", 10*1000); }
asciilifeform: inline unsigned int SendBufferSize() { return 1000*GetArg("-maxsendbuffer", 10*1000); }
asciilifeform: some idiot ~could~ enable receipt of 4GB messages. but exabyte ??
asciilifeform: http://btcbase.org/log/2016-10-03#1551706 <<< directly related old thread.
a111: Logged on 2016-10-03 16:20 asciilifeform: i will give example here, to nail in the point:
asciilifeform: we are looking at a real engineering constraint, flowing from the broken way in which c-machine implements the ring of integers.
asciilifeform idly wonders if ye olde https://www.engadget.com/2015/05/01/boeing-787-dreamliner-software-bug/ was an instance of 'can't do 64bit unsigned int as constrained range type on any extant iron'
mircea_popescu: asciilifeform i don't think "zero surprise compilation on all machines" is a notable or even desirable concern.
mircea_popescu: go, make "zero surprises compilation" on intel pentiums.
mircea_popescu: machine's problems must be solved by machines ; software is the standard they are led to much like the erect cock is the standard women are held to.
mircea_popescu: !$ssh 108.82.224.168
asciilifeform: mircea_popescu: on no extant cpu can you apply range constraint predicate to a bus-wide fixnum. think about it.
mircea_popescu: seems like a strange sort of fencing error. vaguely reminiscent of the whole "is 1 inch pipe 1 inch outside or inside ?" debacle for apprentice plumbers
mircea_popescu: it bloody well can't be 1 inch in all the ways
asciilifeform: think: you can cmp rax, 0xffffffffffffffff . but you cannot cmp rax, 0x10000000000000000 , it dun matter how much you want to.
mircea_popescu: yea.
asciilifeform: whole notion of a fixnum, is this.
mircea_popescu: why ?
asciilifeform: it has finite bitness.
mircea_popescu: why is this the whole notion of a fixnum ?
asciilifeform: fixnum is the term of art for the mathematical object that you end up with when you arithmetize on registers of particular physical size.
mircea_popescu: that's a part of the thing. consider, why isn't "the whole notion of fixnum" that if you b = size+1 then b = 0 ?
asciilifeform: this comes with the territory of 'naked' register. in ada you have to explicitly ask for this horror, it is called 'modular type'. all c types are it.
mircea_popescu: so there's at least two "whole notion of fixnum is this"
asciilifeform: but ada also introduces notion of sane (non-underflowing and non-overflowing, and in fact arbitrarily constrained) types.
asciilifeform: they are necessarily implemented on top of machine fixints.
mircea_popescu: well good for it, but if it introduces it without providing it then ada's an idea man ; we have plenty of these up in wash dc. their product is called "unfunded mandates".
asciilifeform: (a set of comparisons gets inserted by compiler on any operation that could result in walking out of the bounds)
mircea_popescu: would be saner to add a mod at the tail of each op.
asciilifeform: mircea_popescu: in all fairness this was only a surprise to asciilifeform because he is a n00b; the b00k warns explicitly, in black on white letters.
asciilifeform: mircea_popescu: what the fuck will a mod do ??
mircea_popescu: cut the value to size
asciilifeform: BUT WE DO NOT WANT
asciilifeform: to cut it.
mircea_popescu: what do we want ?
asciilifeform: we gotta ring red alarm , reactor is melting, if an arithmetic op results in exceeding range.
mircea_popescu: the thing is called modular exponentiation you know :D
asciilifeform: same as if you try to add 1 to a foo where type Foo is range 0 .. 10; and Q: Foo; and Q was already 10.
asciilifeform: it is NOT the same as 'modular arithmetic', modular arithmetic is the behaviour of the native iron that we are going AWAY from here.
mircea_popescu: aite.
asciilifeform: y'know, the one where the boeing 787 engine melted.
asciilifeform: and other beautiful things.
mircea_popescu: so basically, what my mind has strained from this convo, is that ada implements bound checking badly ; in that it (wrongly) assumes that it can always source a larget item to compare to, like < size+1.
mircea_popescu: should do <= size instead.
asciilifeform: it implements it in the only way that is guaranteed to be invariant, and run in constant spacetime, on all iron.
mircea_popescu: < as opposed to <= ?
asciilifeform: by comparison to a constant.
asciilifeform: problem is that you cannot represent MAXINT+1 as a constant !!
asciilifeform: on any box!
mircea_popescu: dude, stop picking the irrelevant. pick the meat of what i say.
mircea_popescu: your choice is either < maxint + 1 or else <= maxint
mircea_popescu: why the fucksticks did you pick the first.
asciilifeform: maxint+1 DOESN'T SIT DOWN IN YOUR REGISTER
asciilifeform: srsly
asciilifeform: think for a minute.
mircea_popescu: i think i'm done with this convo.
asciilifeform: the fact won't go away if you put head in sand.
mircea_popescu: so then why do you ?
mircea_popescu: DO NOT implement bounds checking as "smaller than bound +1". DO implement bounds checking as "smaller or equal than bound".
asciilifeform: pick a cpu, any cpu, let's work example ?
mircea_popescu: i'm not interested in picking anything. bound checking is to be done by comparing TO THE BOUND not to some other random value picked by the compiler.
asciilifeform: how do you compare to a bound that needs moar bits to represent than the number you are comparing ?
mircea_popescu: and therefore question for type Foo is range 0 .. 10 must always be, is foo <= 10 ; not is foo < 11
asciilifeform: let's revisit the particular of how you can even end up with an X that no longer sits down in 64 bits, using an op on an A and a B which ~do~
mircea_popescu: because if the programmer said the number 10, the compiler is NOT at liberty to invent magic number 11.
asciilifeform: mircea_popescu: 'programmer said 11 -- we beat him with a stick' is trivial. of concern is arithmetic overflow/underflow.
mircea_popescu: ...
asciilifeform: in same language, program throws ~runtime~ exception if you EVER try to assign the 11, no matter how it was arrived at
asciilifeform: it isn't a compile-time static thing
mircea_popescu: so then what are you on about ?
asciilifeform: that you can't do this for full machine-width integer. for fundamental reason, turns out.
asciilifeform: you're stuck with 1 bit smaller quantities than the full bus width.
asciilifeform: if you want sane runtime safety.
mircea_popescu: which fundamental reasons entirely consist of "alf the bee dog with his magical black and white spots vision managed to read the expliciting of the < vs <= difference SIX TIMES and ignore it every time"
asciilifeform: mircea_popescu: it makes no difference !
mircea_popescu: and why not ?
asciilifeform: guaranteed. try it yourself.
mircea_popescu: are you saying the problem ISN'T after all that "the compiler can't find 0x10000000000000000" as you originalyl stated, but that it can't be arsed to compare to 0xffffffffffffffff instead ?
asciilifeform: comparing to 0xffffffffffffffff is not what the program stated, in the example. and since the compiler is sane, it does not substitute a semantically variant statement to what programmer wrote, under any circumstances.
asciilifeform: instead it barfs.
mircea_popescu: ahem.
mircea_popescu: i thought bounds checking was introduced by the compiler not by the program.
asciilifeform: 'you asked me to make 2 equal 4, go fuck yerself'
mircea_popescu: indeed 0x10000000000000000 is not what the program stated ; and indeed the problem is that (if) the compiler adds one to what the program statyed ; it shouldn't do that.
asciilifeform: mircea_popescu: if you write down a statement that is logically impossible to transform into compiled code, per the ground rules, it is a compiletime eggog.
asciilifeform: the thing will not, like idiot cpp does, emit some 'but he REALLY WANTED THIS...'
mircea_popescu: if the compile rules do "add one and <" the compiler is wrong ; it should not add one ad <=.
asciilifeform: right! but in order for the machine to KNOW that it cannot, the ranges have to be representable.
mircea_popescu: ...
mircea_popescu: the range is 0 to 0xfffffffffffffff. the test is >=
mircea_popescu: the range is 0 to 0xfffffffffffffff. the test is >= 0 and <= 0xfffffffffffffff.
mircea_popescu: that is the test. all of it is representable.
asciilifeform: let x == 0xfffffffffffffff . y = x + 1. is y in range ?
mircea_popescu: the test MAY NOT BE > 0 (or -1 ?) and < 0x10000000000000000. if the compiler does that the compiler is very, very stupid.
mircea_popescu: asciilifeform 0x10000000000000000 is not in range no ; 0x0 is in range, yes.
mircea_popescu: it's not clear how you represent the y ; but whatever, half questions ftw.
asciilifeform: y is of the constrained type contemplated.
asciilifeform: in this example. and it gotta signal the overflow.
mircea_popescu: is it 64 bit ?
asciilifeform: in this case aha.
mircea_popescu: you get memory access violation for trying to write at offset-1 in memory.
asciilifeform: the cpu NEVER DOES THIS omfg
asciilifeform: is not how 'add' instruction works.
mircea_popescu: i didn't realise the above high level math was stand-in for asm.
mircea_popescu: the cpu does bounds checking in your ada ?
asciilifeform: to make bounds checking happen, on whatever particular cpu, gotta emit not only the add instruction but a few others also
asciilifeform: for addition, this is actually simple on most chips, there is a 'carry' flag
asciilifeform: problem comes with multiplication
mircea_popescu: so if the carry flag is set you blew it.
asciilifeform: aha, for add / sub it is trivial
asciilifeform: now take mul .
mircea_popescu: ok ?
mircea_popescu: so you do 0x100000000 * 0x100000000 and get the carry set and you blew it.
asciilifeform: that doesn't set the carry on x86...
mircea_popescu: so it just returns the same as 0x000000000 + 0x000000000 ?
asciilifeform: nope. x86 (and correspondingly x64) mul gives you ~two~ buswidth-sized results, the bottom and top half of the result.
mircea_popescu: ok, so the carry being set, you blew it.
mircea_popescu: top half being, obviously, THE FUCKING CARRY.
asciilifeform: the top of the result, rather. but yes. on x64 you could!!! have the Right Thing bignumtron.
mircea_popescu: ok. what's this to do with ada i dunno, but anyway, there it is.
asciilifeform: mircea_popescu: 'carry' on most chips refers to a physically separate 1bit register. but sure
mircea_popescu: yes but here is used conceptually, as the "top half of the result", be it 1 bit or 1 machine word.
asciilifeform: mircea_popescu has mega-point --- you CAN make range-checked (at least for upper bound of range not exceeding the native fixint size by more than factor of 2) behaviour on x86
asciilifeform: but iirc the reason why we do not have this behaviour by default is that there are boxes that don't give you the upper bits of an overflowing mul. or set the carry.
mircea_popescu: well i don't see how you can get 3 words by multiplying 1 word with another word.
mircea_popescu: asciilifeform there's also fleshlights. i don't program on those.
asciilifeform: mircea_popescu: there's another op defined for ring of integers, that is SHL
asciilifeform: shl can give you as much overflow as you like.
asciilifeform goes to the b00kz room to fetch 'ada 2012 rationale', to learn whether he is complete moron, or wat.
mircea_popescu: well yes, but as long as the job is "check for machine word fixed type", the carry will save you.
mircea_popescu: incidentally this whole thing with mul add etc is a fine working example for the in band / out of band discussion.
mircea_popescu: ie, origin ally the philosophical minds prevailed, and a special wire was added (the carry). but then ww2 ended and saner minds prevailed ; thus double sized results on the same bus and the world went back to the peace and prosperity of everything in band.
asciilifeform: actually that second thing only half-happened, you only get a second machineword out of mul on any known chip
asciilifeform: and never from add/sub
mircea_popescu: myeah. but if i ever make a chip myself, there's not going to be fucking carry speshul bit.
asciilifeform: and i 100% agree, it is blitheringly idiotic, let ALL arithm ops return 2wordz!!
asciilifeform: mircea_popescu: if i make a chip, all regs are 1 trit wide.
mircea_popescu: it's literally from like 1939
asciilifeform: throw out the dumb speshulcases.
mircea_popescu: what's a trit
asciilifeform: 3-state storage element.
mircea_popescu: ie a glorified pointer ?
asciilifeform: (you can elegantly implement with 2 ordinary binary registers, and use 4th state to store propagating-eggogs, aka NaNs)
asciilifeform: mircea_popescu: no pointer contemplated, just knuth's trinary arithmetic scheme, familiar from kindergarten.
asciilifeform: but forget, for this thread, trinary adders, you can just as readily have same arithmetron with binary regs
asciilifeform: all regs are 1bit.
asciilifeform: all nums -- 'bignums'.
asciilifeform: this goes back to the 'dma' thread. large machine registers are an ad-hoc and clumsy form of parallelism.
asciilifeform: where, yes, you can add 0xFFF......FFF and 1 in constant time, but the cost is that now some numbers are 'special'
mircea_popescu: are you also going to have serial bus ?
mircea_popescu: machine words exist because bus.
asciilifeform: mircea_popescu: your box already has serial bus, nyooz at 11.
mircea_popescu: seriously, single wire ?
asciilifeform: not single, but < the actual logical width, almost certainly.
mircea_popescu: and someone somewhere is going to want to talk of it directly rather than haskelly, and so they will use the concept of... machine words.
asciilifeform: so you beat him with sticks.
mircea_popescu: why ?
mircea_popescu: he has a point.
mircea_popescu: multi-wire bus delivers a specified amount of buckshot each fire.
asciilifeform: because folx who want to break logical structure to get 'percept cycle massage' oughta be beaten with sticks.
asciilifeform: *percent
mircea_popescu: the only way to make them wrong would be to make your cpu work without clock and bus cycles.
mircea_popescu: if you can't do that, they have a point.
asciilifeform: mircea_popescu: the correct parallelization scheme is N single-bit ALUs working in concert.
mircea_popescu: and synced how
asciilifeform: rather than arbitrary constant N-wide bus.
asciilifeform: synced with muller gate.
mircea_popescu: you understand, all this, cpu freq, bus aperture, words etc exist because simple and cheap solution to the clock problem
mircea_popescu: maybe. i'd have to see the scheme.
asciilifeform: it is neither simple nor particularly cheap.
asciilifeform: the one thing it is, is ~familiar~.
mircea_popescu: nothing ever is.
asciilifeform: but when you open the hood you discover that there are all kinds of idiocies that 'people live with' because 'what else can you do'
asciilifeform: http://blog.regehr.org/archives/1154 << see also.
asciilifeform: looks like ARM might be the culprit.
mircea_popescu: i couldn't care less what rust dork has to say on any topic.
asciilifeform: !#s regehr
a111: 6 results for "regehr", http://btcbase.org/log-search?q=regehr
mircea_popescu: rust is pretty much the anti-language ; as someone explained "the red hat decided to present it as the thing and hope for all the idiots to contribute freely to make it the thing for this reason".
mircea_popescu: 0 support for usg.rhel "schelling point" delusions.
asciilifeform: first time i see the d00d mention shitlangs. but the overflow thing affects shitlangs just as much as sanelangs.
mircea_popescu: " Ive heard that this results in a 5-10% slowdown for basically all JavaScript code."
mircea_popescu: dude are you kidding me ; anything in javascript is a 2-500% slowdown over everything else.
asciilifeform: if tomorrow knuth starts to harp about slow $shitlang, mircea_popescu will throw out his copy of aop ?
asciilifeform: regehr is (or at least was) solid thinker, and the problem being spoken of, actually exists. there are archs with no sane overflow handling. and hence why gcc doesn't use, apparently, carry flag.
mircea_popescu: no. and also not the first copy of scheider.
mircea_popescu: but look where the harping got him.
mircea_popescu: idiots, and by this i mean specifically intelligent ones, benefit immensely from warnings
mircea_popescu: especially if they are then followes through with merciless, disfiguring beatings.
mircea_popescu: the best thing you can do for a pianist in general is take a hammer to the fingers of the "most talented piano player of his generation" so he can never as much as open a can of tuna with his own hands ever again.
asciilifeform: there is deep wisdom in this here this.
mircea_popescu: so yes, i'm perfectly willing and entirely able to banish knuth.
asciilifeform: (is knuth even alive still?)
mircea_popescu: bad example, seeing how senescent senility is a fine excuse, but anyway
asciilifeform prepares for inevitable long, painful dive into liquishit of gcc internals.
asciilifeform cleans bathyscaphe.
jurov suspects that all the alf-alikes just barfed at JO instruction "no we want trapping! and true pyrex glass!"
asciilifeform: jurov: let's-have-programs-that-crash is not an admissible alternative.
BingoBoingo: <mircea_popescu> also, amendments to the constitution aren't made by congress. << I think they are referring to section 4 of the 25th amendment, tis a mess
BingoBoingo: !~ticker --market all
jhvh1: BingoBoingo: Bitstamp BTCUSD last: 964.13, vol: 9411.65085988 | BTC-E BTCUSD last: 947.149, vol: 7155.77275 | Bitfinex BTCUSD last: 964.54, vol: 19383.26046051 | BTCChina BTCUSD last: 972.726, vol: 6204.27230000 | Kraken BTCUSD last: 969.316, vol: 3287.18573036 | Volume-weighted last average: 963.179653727
BingoBoingo: LOL, Wapo flunkies: American's Support Trump http://www.slate.com/blogs/the_slatest/2017/01/31/reuters_ipsos_muslim_ban_poll_finds_support_for_order.html
ben_vulpes: "generic/Trump-friendly phrasing"
ben_vulpes: zlozlzozl
ben_vulpes: and in other what the everloving shits: https://techcrunch.com/2017/01/31/ycaclu/
deedbot: accepted: 1
deedbot: http://qntra.net/2017/02/qntra-s-qntr-january-2017-report/ << Qntra - Qntra (S.QNTR) January 2017 Report
ben_vulpes: aah, i get it. ycombinator is buying their way out of the sins of refusing to disavow thiel by "funding" the aclu.
BingoBoingo: ben_vulpes That's not the words they used
ben_vulpes: BingoBoingo: nono, i said it therefore it is
BingoBoingo: AHA
ben_vulpes: they probably need an app!
BingoBoingo: Well in their words, YCuminasser is teaching ACLU how to spend money
BingoBoingo: So probably a Rails app
ben_vulpes: the specifics are irrelephant
BingoBoingo: Nah, very R-elephant. ACLUOMGWTFBBQ and all along with their donors have been spending, spending, spending these past 11 days. Their march to povertree is lulzy
mod6: Ladies and Gentlemen of The Most Serene Republic; The latest State of Bitcoin Address: http://therealbitcoin.org/ml/btc-dev/2017-February/000246.html
BingoBoingo: tyvm mod6
mod6: yw, Sir.
ben_vulpes: coolio mod6
mod6: o7
mircea_popescu: dun dun dun
asciilifeform working on article!
mircea_popescu: o hey
mircea_popescu: !!reputation simonpenner
mircea_popescu: !!rate simonpenner runs status451.com
deedbot hands you a broomstick.
mircea_popescu: !!rate simonpenner 1 runs status451.com
deedbot: Get your OTP: http://wotpaste.cascadianhacker.com/r/6m157/?raw=true
shinohai: O hey that guy finally dropped by mircea_popescu ?
mircea_popescu: who ?
shinohai: Simon Penner.
shinohai: Must've missed it in lawgs
mircea_popescu: ah yeah, came same day. turns out he just runs the blog though
deedbot: http://www.loper-os.org/?p=1871 << Loper OS - Practical Lead to Gold Conversion; or an Intro to Opteron Resurrection.
mircea_popescu: o.O
shinohai: yay, Alchemy!
ben_vulpes: right on, asciilifeform
asciilifeform: needless to say i did not invent this recipe, it is ancient.
ben_vulpes: nevertheless, a man in my wot republished it and so i did not have to go looking for it myself when the time came.
asciilifeform: note, i had a spare board. but decided to try to repair the old one first.
asciilifeform: (found spare unit by pure luck, vendor had ~one~ on shelf)
ben_vulpes: asciilifeform: any idea who came up with the re-alloying trick?
asciilifeform: dunno... robert wood ?
asciilifeform: (d00d who wrote https://archive.org/details/howtotellbirdsfr00wood among other works.)
ben_vulpes: > while etymologists concur, there is no b in plover
ben_vulpes: lol'd
mod6: nice alf
asciilifeform stumbled on vintage lul, https://archive.is/bYrYc
asciilifeform: 'Date: 2016.01.30' >> mod6 ?
a111: Logged on 2017-02-01 00:41 mod6: Ladies and Gentlemen of The Most Serene Republic; The latest State of Bitcoin Address: http://therealbitcoin.org/ml/btc-dev/2017-February/000246.html
mod6: oh, whoops. looks like i forgot what year it is.
mod6: my apologies.
mircea_popescu: likely story. your flimsy cover-up of the time travel technology is not convincing anyone mod6
mod6: haha.
mod6: a few months back, i actually said it was "October" when it was in fact, November. No one said anything though. Every now and again, one sneaks by me.
BingoBoingo: Time is over rated
mod6: maybe going forward, i'll add the most recent block height in there.
mircea_popescu: not a bad idea, at that.
BingoBoingo: !~ticker --market all
jhvh1: BingoBoingo: Bitstamp BTCUSD last: 968.43, vol: 10702.30820958 | BTC-E BTCUSD last: 948.223, vol: 8336.63461 | Bitfinex BTCUSD last: 967.84, vol: 23097.46684426 | BTCChina BTCUSD last: 983.635362, vol: 8906.83050000 | Kraken BTCUSD last: 968.508, vol: 3560.07076641 | Volume-weighted last average: 967.580662979
BingoBoingo: "SEA delivered a counter-offer on December 12. It was a 15-year contract, which Wright admits was a stretch. He has since been lampooned for this ask in Crains Business."
BingoBoingo: They started with three [years], we came back with 15, and we expected to negotiate somewhere around seven to ten years.