BingoBoingo: Diesel piss injector fluid https://i.redditmedia.com/SMPez8fdNyAiv6Hm8DGnZXbNlvEGMYa1bJYj9MkpMwI.jpg?w=1024&s=3f037d128b77330e4d2b5457e7468484
ben_vulpes: going to bounce logs.bvulpes.com a few times here shortly
asciilifeform: !~later tell danielpbarron your www is down ?
jhvh1: asciilifeform: The operation succeeded.
ben_vulpes: asciilifeform: for a few days now, i think he's waiting for me to cough a mp-wp up
asciilifeform: aah
danielpbarron: yz
danielpbarron: sorry about that, but all of my posts are archived.is'd if you need something in particular
ben_vulpes: (maint over)
deedbot: http://phuctor.nosuchlabs.com/gpgkey/F48F4BA0B89F3E84569480B01FA33F546777F7755B42719B1AFBF70F96BF4444 << Recent Phuctorings. - Phuctored: 1651...8113 divides RSA Moduli belonging to ' (ssh-rsa key from (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (Unknown CZ ST)
deedbot: http://phuctor.nosuchlabs.com/gpgkey/F48F4BA0B89F3E84569480B01FA33F546777F7755B42719B1AFBF70F96BF4444 << Recent Phuctorings. - Phuctored: 1357...2489 divides RSA Moduli belonging to ' (ssh-rsa key from (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (Unknown CZ ST)
ben_vulpes waves at asciilifeform
ben_vulpes: http://btcbase.org/log/2017-01-28#1609084 << http://logs.bvulpes.com/trilema?d=2017-1-31#5d50b877-ab20-45e2-a046-58727868025f☝︎
a111: Logged on 2017-01-28 04:46 asciilifeform: or nm, just drops 'actions'
ben_vulpes: pheexd.
trinque: oya?
asciilifeform: ben_vulpes: neato
ben_vulpes: trinque puzzlingly enough subclassing logbot and defining an ircbot-connect :after method to add the relevant hook (ctcp-action-message, in case anyone is looking for cl-irc action message hooks later) did not result in a hook landing in the connection object that the message-dispatcher would poop into
ben_vulpes: so the patch is currently sitting in logbot code
trinque: dunno why an :after wouldn't work
trinque: there's an :around but it's politely calling call-next-method
trinque: I don't think I'd want to subclass for that though, whole thing just needs to fart raw protocol lines into the db
ben_vulpes: no disagreement on that point.
simonpenner: so what all bitcoin stuff do you all get up to here
simonpenner: since I'm noticing this trend
mircea_popescu: wow that was a broken question. try again ?
asciilifeform: from the dept. of wtf : https://www.adacoin.io/Home/pageContent/introduction
mircea_popescu: and in other news opengl managed to break my machine. gooo team gui!
asciilifeform: this has gotta be the most elaborate heathen shannonization of the l0gz to date
ben_vulpes: asciilifeform: wowee
ben_vulpes: ada /and/ cardano?
ben_vulpes: "why don't they like us yet?!"
asciilifeform: and who knows wat else
mircea_popescu: asciilifeform i think we should just stop playing now, dat usg is just too competent.
asciilifeform: apparently!!
mircea_popescu: suspicious lack of pr0n though.
asciilifeform: i can't picture this being the only one , also
mircea_popescu: i like the font.
ben_vulpes: nanananananananan
ben_vulpes: WATMAN
trinque: where's the upward inflecting graph? hacks
mircea_popescu: i also like the game development <-> apple / google arrow schematics.
mircea_popescu: i think it has potential.
ben_vulpes: my dong has potential
ben_vulpes: trinque: i don't have the appetite for the protocol-level patch atm
asciilifeform: wonder if this was kako's Seekrit Project
mircea_popescu: ben_vulpes your dong actually has offspring what.
ben_vulpes: i thought that was an ice cream shop
ben_vulpes: mircea_popescu: moar spawn, moar potential
asciilifeform: ben_vulpes: nah that was pre-braindamage kako
mircea_popescu: this is a good point
ben_vulpes: trinque: i briefly looked at https://github.com/jorams/birch but it smells like new
asciilifeform: oh hey hey hey lbj:
asciilifeform: http://cardano.io
ben_vulpes: lolwtf
asciilifeform: 'A decentralized network system fully-utilizing Blockchain in every aspect, aims at solving current difficulties faced by key cryptocurrencies such as Bitcoin and Ethereum, preventing from frauds and money-laundering, ID management and being a mediator with taxing/administrative system in various countries.
asciilifeform: In this network system, Blockchain is used for managing development and release of game applications, players matching, game fairness and payment function.'
ben_vulpes: there is so much js on that page my poor computer cannot cope
trinque: ben_vulpes: I'd rather get some gossipd work rolling than put any more effort into hugging the IRC turd tighter
ben_vulpes: scrolling at three frames per second!
ben_vulpes: trinque: aye, witcha
ben_vulpes: the odd surgical cut ain't so bad
trinque: we could implement the stuff ircbot actually uses in cl-irc as one macro, a socket, and a ping/pong loop
asciilifeform: ben_vulpes: it's optimized for crapplepad
trinque: but, works
asciilifeform: ben_vulpes: where it renders beautifully
asciilifeform: brain-melting.
ben_vulpes: this is a crapbook!
ben_vulpes: no man js like that is never optimized
ben_vulpes: it is always cobbled together out of five different wordpress themes and four javascript libraries
mircea_popescu: ^
ben_vulpes: i recently saw a wp plugin also pull some near-mb of jsolade in to serve a modal
ben_vulpes: *present* a modal
mircea_popescu: which one is the modal again ?
asciilifeform: at any rate, if somebody feels like a bit of exercise -- would be hilarious, to learn whothefuck, and wai
asciilifeform: and eulora.io when
mircea_popescu: asciilifeform nobody because why not. you're welcome.
asciilifeform: mircea_popescu delivers.
mircea_popescu: there's also a band which thinks it's tmsr ; and other such things. there is, as previously mentioned, a small island thinks itself "the republic of china".
mircea_popescu: way of the usg.
mircea_popescu: there's a "ukraina" which does ~same as the "us army" does, ie steiner angriffs every other day.
asciilifeform: polish government in exile!!1111
mircea_popescu: which reminds me, i had a dream last night, mosul had been actually conquered by teh coalitioderacy of dounces and they were rebuilding it.
mircea_popescu: in kansas.
ben_vulpes: living arab museum! complete with sectarian warfare!
ben_vulpes: put it a mile down the road from the amish
ben_vulpes: wcgw (tm) (r)
mircea_popescu: myeah. the locals were kinda wtf, why does there have to be an "artificial river" ie this muddy trench and they gotta wear weird clothes
mircea_popescu: "but whatever, benefits are ok, i got dental..."
asciilifeform: hey there's already williamsburg.
ben_vulpes: renn fair derps could work the gate for food
mircea_popescu: nobody could speak arabic but "they had been told" by a politruk it's ok to go blawhahelabalawala while waving arms in air
mircea_popescu: so they mostly did
asciilifeform: (18th c. theme park)
mircea_popescu: asciilifeform yeah i think this was mostly dreamscape reinterpretation of my one time at some renaissance faire.
asciilifeform: mircea_popescu: ever hear the ru they 'speak' in american films?
asciilifeform: i always wanted to know, who came up with that.
mircea_popescu: hey, you should hear the latin they speak at "ivy league" "classics".
asciilifeform: unfortunately i have
mircea_popescu: possibly same person came up with both.
mircea_popescu: blawhahelabalawala!
asciilifeform: hey it was on trilema.io!!!
asciilifeform: must be tru.
mircea_popescu: i think the trilema.io is actually trilema.com or something.
asciilifeform: nope?
asciilifeform: it's a null it seems
mircea_popescu: oh ? im sure there was something
asciilifeform: at any rate, Unknown Hero wins asciilifeform's bronze trololol'o'today medal
ben_vulpes: "First, we're releasing a database migration tool that lets you migrate data from your Parse app to any MongoDB database" << oh that's kind of you
ben_vulpes: "our developer finger trap didn't work at all, so we're going to get you stuck in this other one"
asciilifeform: 'Parse' ?
asciilifeform: wassat
ben_vulpes: near as i ever figured out, some heinous mishmash of "totally not localstorage" and "mongo" "in the cloud"
ben_vulpes: "db for mobile apps"
ben_vulpes: i mean what, a rest api can't be *that* damagingly expensive for a well-funded sv startup
ben_vulpes: and if it is, compiling libpq into your app and generating keys client side is trivial
mircea_popescu imagines how sad things would have been if the computers of the 1990s were tablets instead.
ben_vulpes: blech
ben_vulpes: asciilifeform: it's all inane insider baseball from the gilded cage
ben_vulpes: > insider babble
ben_vulpes: anyways, survived train ride without rupturing bladder. now to sea of dopamine, ttyl
asciilifeform: mircea_popescu: i actually had an msdos tablet
asciilifeform: i shit thee not
asciilifeform: 'ncr penpad', from dumpster
mircea_popescu: was it any good ?
asciilifeform: it got me into badhabit of 'comp in bed'
asciilifeform: so in that sense, terrible
asciilifeform: otherwise spiffy. 20MB hdd!
asciilifeform: b&w lcd, 640x480 with reflector (no lamp)
asciilifeform: 386 20MHz iirc.
asciilifeform: sufficed for plenty of things.
asciilifeform: https://randoc.wordpress.com/2014/05/29/ncr-3125/ << heeere we go
asciilifeform: photo.
asciilifeform: that thing was ~glorious~.
asciilifeform: esp to a kid who never even saw a laptop close-up
mircea_popescu: i can see it
asciilifeform: http://www.nytimes.com/1991/06/30/business/the-executive-computer-what-a-more-powerful-pen-based-computer-can-do.html << vintage propaganda re subj
asciilifeform: lulzily, the only i/o was... laplink!
mircea_popescu: i had a ~9 lb laptop cca 1995 that could almost play master of orion
mircea_popescu: the thing sucked.
asciilifeform: games were a ~nonstarter on old lappies, dualscan lcd!
asciilifeform: 'snail trail'
asciilifeform: btw i nearly forgot, that pen box had 100% STEEL case
asciilifeform: hence the astonishing weight
asciilifeform: where do i buy a steel lappy nao?
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 ' (ssh-rsa key from (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 ' (ssh-rsa key from (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
scriba: ssh banner of 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 ' (ssh-rsa key from (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 ' (ssh-rsa key from (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
mircea_popescu: !$ssh
mircea_popescu: !$ssh
mircea_popescu: !$ssh
scriba: ssh banner of 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
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: " I’ve 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/