lobbes: http://btcbase.org/log/2017-01-02#1595330 << yeah, gotta be mike_c (not mine, at least)
a111: Logged on 2017-01-02 22:10 hanbot: <mircea_popescu> but i am well and truly at a loss, who owns it ? no idea. maybe lobbes ? i somehow du nthink it was mike_c- << i'm pretty sure it was his, yeah.
mircea_popescu: aha
mircea_popescu: and in other disbelief, http://68.media.tumblr.com/98ca711f5c182ad59659a3dcda925f17/tumblr_o3qciviaCT1uzvpfmo1_1280.jpg
mircea_popescu: meanwhile in not-terrible blogs, http://thetarpit.org/posts/y03/055-on-education.html
mircea_popescu: of course, he got half of the discussion of etymology of engineering from the older discussion ; it's true that in french it comes from ingenuity however in english it comes from engine. which was the fucking point, this slide.
BingoBoingo: And in African it derives from the man Petrus telling the boy David that building is skilled work as David plays gopher for Petrus's tools
asciilifeform: http://btcbase.org/log/2017-01-03#1595391 << quite interesting www -- do you know this d00d?
a111: Logged on 2017-01-03 05:24 mircea_popescu: meanwhile in not-terrible blogs, http://thetarpit.org/posts/y03/055-on-education.html
deedbot: http://www.contravex.com/2017/01/03/whats-a-hackathon-anyways/ << » Contravex: A blog by Pete Dushenski - What’s a hackathon anyways?
Framedragger: https://blog.torproject.org/blog/tor-heart-firefox << systematic incorporation of security/privacy related (anti-tracking, sandboxing, etc.) patches by tor browser team into firefox mainline. (http://archive.is/SSNzk)
mircea_popescu: anything good ?
mircea_popescu: in other lulz : <!-- Ticket #11289, IE bug fix: always pad the error page with enough characters such that it is greater than 512 bytes, even after gzip compression abcdefghijklmnopqrstuvwxyz1234567890aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz11223344556677889900abacbcbdcdcededfefegfgfhghgihihjijikjkjlklkmlmlnmnmononpopoqpqprqrqsrsrtstsubcbcdcdedefefgfabcadefbghicjkldmnoepqrfstugvwxhyz1i234j567k890laabmbccnddeoeffpg
mircea_popescu: ghqhiirjjksklltmmnunoovppqwqrrxsstytuuzvvw0wxx1yyz2z113223434455666777889890091abc2def3ghi4jkl5mno6pqr7stu8vwx9yz11aab2bcc3dd4ee5ff6gg7hh8ii9j0jk1kl2lmm3nnoo4p5pq6qrr7ss8tt9uuvv0wwx1x2yyzz13aba4cbcb5dcdc6dedfef8egf9gfh0ghg1ihi2hji3jik4jkj5lkl6kml7mln8mnm9ono -->
shinohai: lmao
Framedragger: lol
Framedragger: certainly nothing of huge import. some of those are definitely a bit snakeoil'y, but not completely useless. i don't know how much you care about e.g. browser fingerprinting. right now html5 canvas leaks badly, i.e. "The adversary simply renders WebGL, font, and named color data to a Canvas element, extracts the image buffer, and computes a hash of that image data. Subtle differences in the video card, font packs, and even font and graph
Framedragger: simple, high-entropy fingerprint of a computer. In fact, the hash of the rendered image can be used almost identically to a tracking cookie by the web server."
Framedragger: so turn off such on-by-default leakage (and other leakages for fingerprinting), etc.
mircea_popescu: Framedragger you are aware firefox is dead for all practical purposes, yes ? in fact i don't know any browser that lost market share at its speed, except of course netscape back in the day.
Framedragger: because of the recent whatitwas?
mircea_popescu: which is in itself a very amusing commentary on the toils and travails of the jwz gang. they... rescued netscape. and it did... netscape.
Framedragger: what does mircea_popescu use currently?
Framedragger: i guess you meant conceptually dead, and with definite practically-dead event horizon in sight
mircea_popescu: Framedragger because who knows, but it is under 10%, a lesser opera by now.
mircea_popescu: both chrome and, insanely, ie, the ie above, ate it.
mircea_popescu: Framedragger nah, it's been going on for 2-3 years at the least.
Framedragger: so suddenly the numbers of wide populace matter? :)
Framedragger: but i agree that things don't look too good.
Framedragger: (fwiw sandboxing efforts look nice and more technically involved; question is how easy it'd be to apply work done there to other browsers and so on; if not, meh)
mircea_popescu: for a browser ? come on. it's not good. the only thing it had going for it were a bunch of retards using it. now it doesn't even have that.
Framedragger: yeah, gossipd client != browser. market share matters hm.
mircea_popescu: i use lynx and curl.
Framedragger: that's cool.
Framedragger: (i at least check that my webpages look good on lynx/elinks)
mircea_popescu: i dunno how cool it is, but let me tell you it is very productive
Framedragger: i suppose you also avoid the 'why does a multibillion clock machine lag on key press omfg' fail as icing on the cake.
mircea_popescu: how the fuck would it lag, really now.
Framedragger: this one time, i was scriptifying cheap flight booking. was amazed how less-laggy the simulated/automated 'browsing experience' (website didn't like bots, needed to convince it by running part of actual browser) was (cf. manual clicking on airline's website). got depressed
Framedragger: sorry state of affairs.
mircea_popescu: the moment they start with "not like bots" you know they're imbeciles.
Framedragger: some airlines (such as ryanair) try to stuff the user with tons of shitty offers before reservation confirmation page. horribru UX. such m0netizzation $trategy. imbeciles indeed :/
mircea_popescu: it's not a strategy for anything than for the pernicious insanity of "marketing matters".
deedbot: http://trilema.com/2017/qntra-sqntr-december-2016-statement/ << Trilema - Qntra (S.QNTR) December 2016 Statement
adlai: deedbot: http://dpaste.com/3VFZXYN.txt
mircea_popescu: and in new tendencies in home entertainment systems for 2017, http://68.media.tumblr.com/6b97896138173843e20809c15fc09979/tumblr_o9qcvhfobN1vxlh30o1_1280.jpg
adlai: happy integer fiats since genesis, o chanl of the schemer's truth
mircea_popescu: how's life in africa's last rhodesia ?
adlai: today is a beautiful day, it hasn't rained in /hours/
mircea_popescu: lol
adlai: !!deed http://dpaste.com/3VFZXYN.txt
mircea_popescu: you mean you just got your first period ?!
deedbot: accepted: 1
adlai: thar she go
adlai: mircea_popescu: nah, back in middle school mrs whatsit told me not to forget those because they help to end e sentence, yet mene hesn't even begen yet!
trinque: adlai: what is this, a gunzip exploit or something?
mircea_popescu: talk sensibly trinque ; gnuzip is made by foss, it has had millions of eyes on it. all bugs are shallow!
trinque: lel
mircea_popescu: fucking idiots, "oh, in this very narrow sliver of experience that is our irrelevant if self-important life, x observation held so far, especially because he have no fucking clue as to statistics, logic, or anything else. THEREFORE IT IS A NATURAL LAW OF THE UNYVERSE!!!"
adlai: trinque: took me a moment but i lol'd
mircea_popescu: shinohai the "altcorn" eh. bien trouve.
shinohai: ah mircea_popescu you refering to scotcoin or whatever it is
mircea_popescu: aha
mircea_popescu: http://thelastpsychiatrist.com/images/grade%20inflation.jpg << fucking epic graph. if enough eyes watch it, there's no further need for Cs.
mircea_popescu: "The "college is a scam" train is one on which I'm all aboard, but that doesn't mean each individual professor has to be scamming students; there's no reason why he can't do a good job and teach his students something that they aren't going to get simply by reading the text. If a student can skip class and still ace the class, the kid is either very bright or the professor is utterly useless. Right? Either way, the kid's
mircea_popescu: wasting his money." quoth the endearigly naive mr ballas. except the counter to this is in disgrace, the novel, of course : when a teacher does finally, for incomprehensible reasons, try, the OTHER TEACHERS assemble a panel to try and con
mircea_popescu: vince him never again to try.
mircea_popescu: actually -- to try and convice him to sign a statement beseaching all the other teachers never EVER to try.
mircea_popescu: anyway, http://thelastpsychiatrist.com/2011/08/grade_inflation.html ; total must-read.
jurov: S.QNTR distributed
shinohai: "But for complex reasons, Wilcox had to prevent the calculations from ever being seen." http://archive.is/m9i1U
mircea_popescu: danke jurov
asciilifeform: meanwhile, from the dept. of orlols, http://cluborlov.blogspot.com/2017/01/how-to-make-america-great-again-with.html >> '...This was the last time the Americans were able to run off with a fantastic amount of other people’s money, giving the US yet another temporary lease on life.'
mircea_popescu: wait wut ?
asciilifeform: (tldr : d00d seems to think that saudi a. will be plundered next.)
BingoBoingo: But Iran'll do that!
asciilifeform: 'If Trump doesn’t crack open the chocolate egg that is Saudi Arabia and run off with the toy inside, then somebody else will. Saudi Arabia’s days are numbered. For now, it is still rich in money, oil, sand and imbeciles, but it is burning through the first two faster and faster. Just wait a decade or so, and the sand and the imbeciles will be all that’s left. Somebody will try to get to them and snatch what’s left of the priz
asciilifeform: e well before then. It might as well be the Americans: they started this shambolic desert kingdom; they might as well be the ones to put it out of its misery.'
asciilifeform: lulzy.
mircea_popescu: yes, russian policy in middle east is pretty much centered in squashing the saudis.
trinque: lulzy, so US-istan is unique in its scam and plunder campaign for a few paragraphs, then "lets get the rest of the major powers to all plunder saudi together"
asciilifeform: difference (at least afaik, from armchair) is that ru would have to actually fight, but usg would only need to press a few buttons and turn off the (u.s.-made) air defense systems of s.a.
trinque: this guy's a fucking cartoonist
asciilifeform: am i the only one who recalls the fanfare re ru supposedly selling s400 rocket system to s.a. ? if true, possibly they also want in on the spoils
asciilifeform: ('we switch off if you switch off & share')
trinque: if we want to get out the real tin foil for a minute, somebody might suspect the "great powers" have been planning on how to restructure the middle east *together*
mircea_popescu: because they've never done this before, about 12 or so times since 1880 ; not that it EVER fucking worked , nor that the "great powers" that wanna be, and until the last boot steps on the last bureaucrat face will continue to pretend to be, are actually capable of learning or anything.
trinque: aha
mircea_popescu: "you have to do this sort of thing!" "why ?" "because if you don't it might appear you don't exist" "but you do in fact not exist" "SHH!!!11"
mircea_popescu: man check it out, simutaneous bloks, 60 and 61
mircea_popescu: the fucking odds of this ? bw.com and btc.com boundry, and it really doesn't look like there's more than 18 seconds delay. so btc.com checked the block 446460 and built on it and found a block within ~15 seconds ?
mircea_popescu: these people aren't checking ANYTHING.
asciilifeform: either that, and/or the cartel hidden block buffer is 2+ long
mircea_popescu: leaking the info quite so ineptly ?
asciilifeform: ( not hard to ~release from buffer~ ~simultaneously )
asciilifeform: either ineptly, or wanted to leak a bit.
asciilifeform: a 'hello' for mircea_popescu et al.
mircea_popescu: bw got what, like 3k blocks past 6 months. not much of a player.
mircea_popescu: course btc.com is half that.
asciilifeform: none of these observations disprove a scenario where both are fingerpuppets.
mircea_popescu: anyway, the only good news on that front is that fees are consistently over 5% of the block reward.
mircea_popescu: 5.05% over the past 30 days.
asciilifeform: http://btcbase.org/log/2017-01-03#1595397 << the various leprosoria ~could~ have an actual sporting shot! at maintaining successful pretense of independence , if they were to not do this kind of obvious 'we all pull shitpatches from one another' circus
a111: Logged on 2017-01-03 13:38 Framedragger: https://blog.torproject.org/blog/tor-heart-firefox << systematic incorporation of security/privacy related (anti-tracking, sandboxing, etc.) patches by tor browser team into firefox mainline. (http://archive.is/SSNzk)
asciilifeform: as it is, no one who understands the actual purpose of tor could possibly suffer illusions re firefox, or vice-versa
mircea_popescu: but that's kinda the point. avoid specificity of diddling
asciilifeform: expand
mircea_popescu: all empire code must be <than x steps away from one common trunk.
mircea_popescu: that;s the entire fucking point of socialism. "gotta keep together".
asciilifeform: http://btcbase.org/log/2017-01-03#1595417 << firefox, if you have not had the misfortune to look at the internals, is quite like other 'open sores' in that it is ~impossible to meaningfully recycle any part of it in 'other' (supposedly they are in fact ~other~, and not minor variations on the original) projects
a111: Logged on 2017-01-03 13:50 Framedragger: (fwiw sandboxing efforts look nice and more technically involved; question is how easy it'd be to apply work done there to other browsers and so on; if not, meh)
asciilifeform: you will have more luck recycling a rotting deer carcass in the road.
mircea_popescu: dja know btw there's an entire subculture living off those ?
asciilifeform: no doubt
asciilifeform: (chukchas and many neighbouring tribes had an entire thing where they would lower deer into a swamp, and dig him up months, sometimes years, later, and eat. apparently putrefaction toxins can be 'trained for', from childhood even. rather like strychnine.)
asciilifeform: re 'open sores', even a ~very~ small gadget, and in fact one that started life as a stand-alone library: mpi (bignum) piece of gpg 1.4, was quite astonishingly painful to properly saw off the kochball
asciilifeform: ( found here, http://www.loper-os.org/?p=1533 )
asciilifeform: there were tentacles throughout.
asciilifeform: it was also a demo of the utter malignant idiocy of automake (zapped! and you won't miss it, thing builds on all major unixlikes with a single 'make')
mircea_popescu: may be worth your time to specificallyt document this
asciilifeform: killing automake cut the size of the thing literally in half.
mircea_popescu: for later, have a proper example of wehat these metaphors mean.
asciilifeform: i actually sat down to write a long and painfully pedantic piece about what i did, but gave up, let the diff speak for itself
mircea_popescu: i think that wasn't the right choice.
asciilifeform: it was literally a week+ of sawing off #includes, nixing #ifdef's, moving blocks of code from 1,001 places and deduplicating, etc.
mircea_popescu: graves do not speak, not by themselves, not for themselves.
asciilifeform: the other thing is that i'm not entirely convinced that i was barking up a useful tree there.
asciilifeform: we won't be welding gnu mpi onto anything permanent.
mircea_popescu: the process is of interest.
asciilifeform: aite, i'ma put this on (long) list of things-must-be-done
mircea_popescu: the driver isn't "this is how we got the perfect woman" ; the driver is "and this is how separating one of these ugly argentine schmucks from her fambly and society goes"
asciilifeform: (but if someone ~else~ wants to take the diff, and write article -- do not hesitate)
mircea_popescu: the reason you are stuck with it is that apparently the soul resides in the gall bladder.
mircea_popescu: another's bile might not do.
asciilifeform: quite likely.
asciilifeform idly wonders if prb is infested, yet, with automakeism
asciilifeform: it is pestilential in opensores world.
asciilifeform: and i was quite surprised when starting trb and noticing that it was absent there.
mircea_popescu: they don't just release binaries ?!
trinque: heh, I'll not link the shithub
trinque: but yes, appears to have accreted automake
asciilifeform: lol megaunsurprise.
asciilifeform: 'what could be better than 800KB of makefile! and perl to make the makefile!'
asciilifeform: in other noose, asciilifeform recently bought a 'top of the line' civilian motherboard, and as soon as being lifted from the crate, it shed a few 0805 capacitors
asciilifeform: unleaded solder ftw.
mircea_popescu: in the same vein, i have now spent in excess of $300 buying no less than nine "pc sound systems" over the past 2 years. i have nfi why i decided to just buy one of the cheapo, two speaker things. and then replace it and so on.
asciilifeform: they burn out ?
mircea_popescu: the last pair died in the lulziest of ways : it's usb powered, and it will short the usb when the sound is loud enough, lose power, then come back a half second later.
mircea_popescu: im guessing a capacitor went. this time.
asciilifeform: aaah those
mircea_popescu: another one, the transformer went, evidently, wire too thin and melted
mircea_popescu: each had a different story of sadness, and all together they could have made a small rocket. if only their materials weren't allocated by idiots, that is.
asciilifeform: i recall i threw one just like this out, and kept , to my grief, its transformer. which then nuked $1000+ worth of various iron i connected it to, because the voltage it put out was actually ~double what was on the sticker.
asciilifeform: (the speakers -- did not care.)
mircea_popescu: heh
asciilifeform: even simple thing, that i would have bet money no one could fuck up -- fucked up. ~year ago i bought 'antistatic mat', conductive rubber thing with coiled cord that goes to ground pin of mains socket, etc. that cord is now frayed in 11 places.
asciilifeform: each hanging by hair's breadth of wire now.
mircea_popescu: and thereby working more as antenna
asciilifeform: was ok antenna even when new
asciilifeform: because the thing that was supposed to sit in the socket, would wiggle, like 'hotdog in hallway'
asciilifeform: had to bend it so it would sit even moderately still and make contact
asciilifeform: i must echo the words of mircea_popescu's electric heater article, and say, that such a thing could never appear by chance, someone busted his arse to design something so malignantly anti-functional .
asciilifeform: the other hypothesis that invites itself is the tlp/mp 'ceremonial object' one. the, e.g., static mat, was sold on a www with reviews, and not necessarily faux ones. many satisfied sheeples own various tools and NEVER USE, and they -- are quite happy!
asciilifeform: because 'mine is still in great shape after 5yrs' 'how many times you used it' 'umm... 1? 2?'
asciilifeform: 'all wire frays' 'really nao? i have wire here from 1940s that is frayed in 0 places'
asciilifeform: questionable metallurgy is another thing. not only pb-free solder, but, e.g., aluminum wire.
asciilifeform: much less ductile than copper, and it frays.
asciilifeform: (sc4mz0rz invariably cu-plate it, to deceive simple-minded buyer)
mircea_popescu: nasty.
asciilifeform: didja know it is nearly impossible to buy pure-cu ethernet snake ?
mircea_popescu: nope
asciilifeform: you gotta test it, when you buy
mircea_popescu: well this is different\
asciilifeform: half the time you pay 2-3x for the Real Deal, and get Al.
mircea_popescu: yes, but they you also hit the provider with five figure bill for it.
asciilifeform: i suppose you could, if you buy by the trainload & get shafted there
asciilifeform: (if you buy by the hundy - you're a gnat, and will be hitting nobody with nothing)
mircea_popescu: nickle and dime worked this way in 1816 too.
asciilifeform: the folx who buy by the trainload, generally are happy to pass the scam on to their retail chumps tho.
asciilifeform: i've yet to personally meet the howard hughes who buys cable by trainload for ~own house~.
mircea_popescu: the problerm with "everything is for retail" version of "man is the measure of all things" huh.
asciilifeform: aha.
BingoBoingo: * asciilifeform idly wonders if prb is infested, yet, with automakeism << Monero is!
BingoBoingo: <asciilifeform> the other hypothesis that invites itself is the tlp/mp 'ceremonial object' one. the, e.g., static mat, was sold on a www with reviews, and not necessarily faux ones. many satisfied sheeples own various tools and NEVER USE, and they -- are quite happy! << Like your HDX hacksaw!!!
asciilifeform: quite like
BingoBoingo: Plastic part under tension!
asciilifeform: no shortage of these.
asciilifeform: e.g., harbour freight corp., sells lathes (not tiny ones, either, but proper-sized) with PLASTIC GEARS
asciilifeform: i shit thee not
mircea_popescu: plastic is as good as anything else!
asciilifeform: quite so, when NOBODY USES
mircea_popescu: using things is abusive, rapist and racist.
BingoBoingo: That's kinda harbour freight's schtick "You can say you now own X, but pls don't use!"
asciilifeform: makes for quite as effective a ritual object as titanium
mircea_popescu: have you talked with your lathe about its feelings ?
asciilifeform: i've lost count of how many times i buy a not-the-cheapest $tool, and after 2-3 uses it crumbles into, literally, dust, and then buy 'nice' one, which half the time has been chinafied/plasticized already into very close resemblance to the el cheapo item, sometimes beyond any meaningful diff
asciilifeform: to take entirely random example, top-of-the-line 'wiha' multihead screwdrivers, ALL now have plastic handles
mircea_popescu: hey, the notion that people want to do things has given way to the reality that people want to look like doing, appear to be doing, but safely (ie, not doing).
asciilifeform: one or two stuck screws, and the hex slot in it , becomes circular.
mircea_popescu: the "tools" are kindergarten items because the people are kindergarten kids.
asciilifeform: mircea_popescu: yeah but the 'moment of truth' comes when you go and buy 3, 4 figure (usd) 'adult' item and get same.
asciilifeform: 'demise of lispm' applied universally.
BingoBoingo: <asciilifeform> one or two stuck screws, and the hex slot in it , becomes circular. << Probably not "stuck", just married with "blue loctite" proper tool to free is bit, breaker bar, and mallet
asciilifeform: BingoBoingo: lel, mallet on lcd? german optics ? etc
mircea_popescu: aha, there's nothing special about it. the "adult" item, how could this be.
BingoBoingo: No mallet on breaker bar
asciilifeform: BingoBoingo: and where do i buy a 'breaker bar' that fits 0.5mm screw.
trinque: gotta be a narrow, long pipe out there that'd do
BingoBoingo: You use adapters to take it down to size that eats bit
mircea_popescu: ahahahaha
asciilifeform: does BingoBoingo work on anything smaller than tractor ?
BingoBoingo: And hope there isn't too much slack to eat impact
BingoBoingo: asciilifeform: Worked to free last stubborn screws on laptop
mircea_popescu: the idea is grandiose, a lengthy telescope of adaptors used by a guy standing on a box on a chair on a desk on a stair on a rope,.
trinque: now turn carefully!!!
mircea_popescu: with caliper (adapted from wrench)
BingoBoingo: Anyways shouldn't take more than four adapters, 3 if you start with 1/4" drive bar
mircea_popescu: this should be a story, totally. man finds love of life, is glad, convinces her, discovers it dun fit, goes back through his hero's journey to get all the various helpers to help. finally he sticks it in her among the octopi, crabs, bat wings and other fit-makers
BingoBoingo: lol
mircea_popescu: it could be called
mircea_popescu: AUTOMAKE
asciilifeform: ^^^
trinque dies
BingoBoingo: !~bash 13
jhvh1: Last 13 lines bashed and pending publication
asciilifeform: mircea_popescu: related http://xwap.me/books/36430/Skazka-skolzkaya-nemnozhko.html << supposedly written in gulag
asciilifeform: 'Вот царевна под замком / стонет сизым голубком, / слезы тяжкие роняет, / за свечой свечу вставляет... / Извела уж сто свечей, / а ничуть не легче ей.'
mircea_popescu: hehe
BingoBoingo: Other higher danger way to unstick screws http://www.kleintools.com/catalog/torque-and-impact-drivers/reversible-impact-driver-set
BingoBoingo: Also taller stack of octopussy likely required.
asciilifeform: lol, perforator
asciilifeform: why not woodchipper.
asciilifeform: or 120mm mortar.
mircea_popescu: small flamethrower
mircea_popescu: it is a point oft verified in history, that if howitzer fails to solve problem it was only because not enough caliber.
jurov right today attempted to switch door hinge on a new fridge, wore up a shitty screw, gave up :(
BingoBoingo: Anyways chuck on this could probably grasp free screwdriver shaft http://www.ebay.com/itm/Vintage-Milwaukee-1678-21-VSR-Extended-Reach-Hole-Hawg-Drill-/231839081329?_ul=BO
jurov: dunno if pyrotechnics would help
BingoBoingo: jurov: Drill out old screw and tap in new threads
mircea_popescu: jurov in practice, once you notice the screw is shedding, which should not ever happen ever, what you do is you put in one of those magnetic detachable screwdriver bits with cyanoacrylate. once it's cured you take the screw out and throw it away.
jurov: prolly next time when defrosting
BingoBoingo: mircea_popescu: or epoxy or "red loctite" depending on how much force is planned to be needed to free
mircea_popescu: right.
mircea_popescu: for all the hatred of modern agriculture / plastics, this business beats the shit out of the 1980s method, cut the head and drill the screw.
asciilifeform: mircea_popescu: ever actually try this? cyanoacrylate has ~0 torsion strength
asciilifeform: (~everyone thinks of this, and tries it: once)
mircea_popescu: pretty much what i do.
mircea_popescu: why would it need torsion strength ?
BingoBoingo: <mircea_popescu> why would it need torsion strength ? << Some people likely try this too late and cyanoacrylate is a poor filler material
mircea_popescu: ah. that;s why i said, when you notice it ~starts~ shedding.
mircea_popescu: by the time you drilled a hole into the head with your screwdriver...
BingoBoingo: lol
davout: http://btcbase.org/log/2017-01-03#1595511 <<< o noes, i'd have read
a111: Logged on 2017-01-03 17:27 asciilifeform: i actually sat down to write a long and painfully pedantic piece about what i did, but gave up, let the diff speak for itself
mircea_popescu: life on island so boring, davout would read anything.
davout: yeah, check it out i'm reading teh log
mircea_popescu: lol
davout: still working on my take on cutting the wallet out of TRB
davout: it is more painful than expectation
mircea_popescu: a shocking development.
davout: well yes, indexing UTXOs by address seems expensive
davout: if you want to index every address
davout: and if you don't, well, you're back at "monitor subset of all addresses" which immediately reduces to "wallet"
mircea_popescu: in other things that seem expensive, http://68.media.tumblr.com/8b667b77c63c92f2f4606e64e7723857/tumblr_o90ypvnzSL1rth3slo1_1280.jpg
ben_vulpes: holy fuq nearly lost a toe on the ride in it's so cold
ben_vulpes: davout: have you considered hammering a spigot in for "gimme utxo's relevant to this address"?
mod6: that's just like the listunspent thing that i backported.
davout: ben_vulpes: i'm listing it as an option
davout: downside of it is "node has to know which addresses to monitor, still has to keep clunk 'rescan' logic as well"
ben_vulpes: mod6: listunspent takes arbitrary addresses or just what's in the wallet already?
asciilifeform: davout: your (hypothetical? or is it done?) uncoupled-wallet -- what does it eat ?
ben_vulpes: davout: i imagined this as a component of bear stone and skin knife transacting
asciilifeform: (incoming blocks?)
asciilifeform: (to learn how much coin you actually have)
trinque: http://btcbase.org/log/2016-12-19#1586221 << thread
a111: Logged on 2016-12-19 20:03 trinque: I'd have it run along indexing mine
mod6: ben_vulpes: addys in the wallet
trinque: isn't equivalent to "wallet"
trinque: done right, it'd be cracking the thing into many tools with clear purpose
trinque: davout: ^
davout: ben_vulpes: to take arbitrary addresses it needs an UTXOs indexed by addresses, which isn't cheap
asciilifeform: trinque: what, in your analysis, is the set of orthogonal pieces 'wallet' breaks into ?
ben_vulpes: davout: or to lean on the clunk, right?
davout: trinque: yeah, that's the kind of design i'd like to end up with
davout: ben_vulpes: i failed to parse
ben_vulpes: instead of maintaining whole 'utxo pool', rescan for specific addresses on demand, shit utxos for that addr onto disk.
trinque: asciilifeform: utxo index for arbitrary selected addresses (emphatically not for all addresses including one user just pulled from his ass), tx maker, tx signer, tx sender
trinque: my wanting to track an address balance may have nothing at all to do with *me* spending to/from that address
davout: ben_vulpes: sounds slow, although i confess i haven't actually experimented
asciilifeform: trinque: looks reasonable
asciilifeform: how does 'tx sender' work ?
davout: trinque asciilifeform tx-sender must be built-in node
trinque: sure
ben_vulpes: davout: a full rescan of the blockchain takes ~12 hours on mod6's machine
ben_vulpes: mod6: or was it shorter?
mod6: it wasn't that long
asciilifeform: the sad part is that this is 'embarrassingly parallel'
trinque: davout: I agree with "RI must bitcoinate *completely*"
davout: ben_vulpes mod6 could probably be heavily parallelized too
mod6: iirc it was somewhere between 3-6 hours.
ben_vulpes: davout: aye
davout: trinque: but "must RI be a single binary?"
trinque: asciilifeform: tx sender is just a "sendrawtxn" that eats the data from user. maybe he made the txn with other RPC calls, maybe got from elsewhere
ben_vulpes: davout: what if one thread finds a tx spent that another thread finds the unspent for
asciilifeform: i get it, the 'decouple everything', 'unix philosophy!!!' thing is appealing. but it runs into practical limits.
davout: ben_vulpes: if i namedrop 'map-reduce' does that appease you?
asciilifeform: we recently had a thread, where i described how parts of phuctor are quite slow precisely because of such decoupling.
davout: i haven't thought about the rescanning approach much
ben_vulpes: no
trinque: davout: hard to say with current rats nest if things could be that cleanly separated ~starting from trb~
ben_vulpes: because "map-reduce" does not reduce to "here's how i'm going to solve specifically the case where thread n finds an unspent out and thread n+1 finds its spent and in the reducing phase i collate everything proper-like"
davout: asciilifeform: nobody said it was cheap, maybe we end up finding out it's not really worth it
ben_vulpes: leastaways not in my head
trinque goes to find the "cleave the network fiddling and block verifying parts of trb" thread
davout: ben_vulpes: when aggregating the outputs, nuke those for which a spent out is found? it sounds pretty trivial to me, am i missing something obvious?
a111: Logged on 2016-12-20 19:40 mircea_popescu: at the very least block digestion and peering must be cleaved in trb
asciilifeform: trinque: http://btcbase.org/log/2016-11-02#1562019 << possibly thread
a111: Logged on 2016-11-02 15:33 asciilifeform: after slicing apart mempool-node from blockchain-node, building 'dioded node' becomes trivial exercise.
trinque: also that
ben_vulpes: davout: you know maybe i need another cup of coffee
davout: guess the "how do we then ban peers that send garbage" has been brought up wrt the network/data validation cleavage
asciilifeform: trinque: it isn't , currently, clear to me that you can make this cut cleanly without hard-breaking with the traditional protocol.
davout: ben_vulpes: what time is it in ben_vulpistan?
ben_vulpes: davout: "impossible without gossipd" according to asciilifeform
asciilifeform: (what does the thing that actually speaks with peers look like, in your view ? peers will ask for, and send, blocks AND tx, on same socket, as per current protocol.)
ben_vulpes: davout: dunno, "just biked into office after spending as much time with family as i wanted o'clock"?
ben_vulpes: ~noon
asciilifeform: ben_vulpes: feel free to suggest solution that does not 'require gossipd' but is also not perlistic ducttape.
asciilifeform: everyone will clap.
ben_vulpes: asciilifeform: just trying to get the guy up to speed
ben_vulpes: i generally assume "everyone will clap" but rarely have that for which
trinque: I was going to say the same, does require gossipd
trinque: "don't talk to idiots" is a far broader problem than bitcoin
asciilifeform: 'requires 80% of gossipd' would be a stronger statement, but then i'd have to explain which 80
mircea_popescu: http://btcbase.org/log/2017-01-03#1595690 << it actually must not be a binary.
a111: Logged on 2017-01-03 19:53 davout: trinque: but "must RI be a single binary?"
asciilifeform: i dun recall anyone ever suggesting that trb be distributed as exe...
asciilifeform: ( BingoBoingo quit drink, adlai, iirc, quit lsd, so there is no one left to think this sort of notion )
mircea_popescu: hey, he asked.
asciilifeform: i parsed it as the sense-making 'build to one binary'
asciilifeform: (as it presently does)
mircea_popescu: what is this "one binary", for srs.
asciilifeform: 1 process, in which all threads share (quite catastrophically, as readers of trb ml will know) the heap.
mircea_popescu: well shit, we specifically don't want this
asciilifeform: aha.
mircea_popescu: so hence my answer!
mircea_popescu: http://btcbase.org/log/2017-01-03#1595700 << this has the cheap solution of "spent prevails" on the theory that it can't be the case an unspent input is ever found spent.
a111: Logged on 2017-01-03 19:56 ben_vulpes: because "map-reduce" does not reduce to "here's how i'm going to solve specifically the case where thread n finds an unspent out and thread n+1 finds its spent and in the reducing phase i collate everything proper-like"
mircea_popescu: http://btcbase.org/log/2017-01-03#1595712 << you've never defined the level of "cleanly" contemplated here ; and for all practical purposes it's not relevant (ie, any uncleanliness in the result is already present in the current soup anyway)
a111: Logged on 2017-01-03 19:59 asciilifeform: trinque: it isn't , currently, clear to me that you can make this cut cleanly without hard-breaking with the traditional protocol.
mircea_popescu: it ~may~ be the case that some arbitrary level of cleanliness requires an entirely new universe. this, however, can never inhibit the brushing of toilets.
asciilifeform: mircea_popescu: the tcp stack per se does not offer any means whereby two proggies speak simultaneously through 1 socket
mircea_popescu: this was not an input in teh scheme.
asciilifeform: so you end up needing a third. (supposing that you are trying to speak the old protocol, with heathens!)
asciilifeform: because if not, then naturally -- not.
mircea_popescu: you do not. a speaks through b and through b only.
asciilifeform: who's b ?
mircea_popescu: b handles the networking ; a handles the blockchain.
asciilifeform: so b there is the 'third' contemplated earlier.
asciilifeform: (really, a 'c', 'a' speaks blockchain and 'b' speaks mempool)
mircea_popescu: no such third was contemplated ; when discussing a proposal you are stuck, willy nilly, first understanding it and then referring it
asciilifeform: mircea_popescu: draw the cut plox
mircea_popescu: you're not at liberty to discuss something else, in different terms.
asciilifeform: explicitly, where do you propose the cut
mircea_popescu: http://btcbase.org/log/2016-12-20#1586739 exactly where trinque linked.
a111: Logged on 2016-12-20 19:42 mircea_popescu: nope. blockchain part will get to it when it gets to it, and tell you. until then, peer part builds queues.
asciilifeform: your 'b' : mempool+networking, 'a' -- blockchain ?
mircea_popescu: which mempool ? each b has one, as a queue.
mircea_popescu: each b, a have one, i mean.
asciilifeform: aite, this is the interpose thing
asciilifeform: (imho good idea)
mircea_popescu: "i have heard this transaction" is of interest to b ; not of a. "this is a transaction from a block" is of interest to a.
mircea_popescu: yes, they're both "transactions" in the terms of the eventual datastruct they'll occupy. they aren't for that reason the same thing.
mircea_popescu: but anyway, this is all well known matter.
asciilifeform: it might be worth mircea_popescu's time to write a detailed sketch of this item.
asciilifeform: (the 'sanity proxy', if you will, for trb)
mircea_popescu: hm.
mircea_popescu: asciilifeform :
mircea_popescu: TRB to be split into two parts : TRB.B and TRB.N. Queues B.B B.T N.B to be created. TRB.N inherits the code to connect to peers. TRB.N reads blocks from peers, and puts them in N.B. TRB.N reads txn from peers and puts them in M.T. TRB.N does nothing else (with the possible exception of rate limiting for peers). TRB.B reads N.B and verifies the blocks. if the block is verified it is added to B.B and its component txn to B.T ;
mircea_popescu: otherwise it is discarded. B.T may be pruned (according to arbitrary address list, for instance). Rate limiting in TRB.N may be constructed to observe N.B items that fail to propagate to B.B and ban the originating peers.
mircea_popescu: all three queues to be implemented as ring buffers of user specified size.
mircea_popescu: M.T deliberately left unspecified, it is the equivalent of today's "mempool". perhaps should also be a ring buffer like the other 3.
mircea_popescu: in any case : TRB.N needs write access to N.B and M.T and read access to B.B ; TRB.B needs read access to N.B and write access to B.B and B.T. it may be a good idea to also give TRB.N read access to B.T but this should be operator-knob
asciilifeform: what does B.T do ?
mircea_popescu: that's ~the wallet.
asciilifeform: N.B ?
mircea_popescu: "watched addresses", or something of this kind.
mircea_popescu: "blocks that have been recevied via the network"
mircea_popescu: this scheme among other things cheaply allows the "add arbitrary new address to wallet", just have utility that (separately) processes B.B and produces new set of B.T.
mircea_popescu: but it is not required for B.T to be used only in this way or for this purpose. in principle there could be a whole pile of these, readily extended into whatever operator wants to do.
mircea_popescu: "this is my B.T1 of all txn with no fee, this is my B.T2 of all the payments to my X, this is my B.T3 of all txn over 5kb relayed by ip X"etc.
mircea_popescu: it seems certain B.B belongs on disk. it seems likely B.T also belongs on disk. it seems certain M.T belongs in memory. it seems likely N.B also belongs in memory.
mircea_popescu: in particular N.B should be "older overwrites newer" style ring buffer. of particular concern are situations where the buffer is set shorter than the longest reorg, in which case the node will wedge. TRB.N not accepting blocks with index lower than highest of B.B is for sure not feasible. "how many behind" should be an operator knob.
mircea_popescu: (this knob is then in practice equivalent to the "checkpoints" discussed previously)
davout is getting lost in the variable names
mod6: i drew myself a diagram, helps.
mircea_popescu: N indicates networking, B indicates "blockhain", or homebase or whatever.
davout: hrm, i'll have to re-read
mircea_popescu: anyway, the great gain is that no two elements need/have write access to the same thing by this scheme. in point of fact one way to look at current trb/prb is to say that they have "write locks" on all the fucking time and deadlock.
mod6: indeed, synchronized code everywhere.
asciilifeform: mircea_popescu: i can think of one (nonfatal, but quite unpleasant) headache: without a less-idiotic replacement for gnudiff, the resulting cut-trb becomes very difficult to pedigree to trad-trb . sorta like the problem with the tabs/spaces cleanup proposed by mircea_popescu last year
asciilifeform: to rephrase: the resulting vdiff would be quite far from minimal
lobbes: http://btcbase.org/log/2017-01-03#1595456 << "First, and obviously, since the majority of the students are going to get an A, he just has to do just as well/horrifically as the average student, and if they're all writing about slavery with the enthusiasm of a photocopier then if he wants an A he better buckle down and learn the truly useful skill of masking the words of a Wikipedia page. "
a111: Logged on 2017-01-03 15:15 mircea_popescu: anyway, http://thelastpsychiatrist.com/2011/08/grade_inflation.html ; total must-read.
asciilifeform: (gigantic deletes and inserts, rather than the actual 'we moved such-and-such lines to this-here place...')
mircea_popescu: asciilifeform this is a problem yeah. will however have to be bit, wtf else to do.
mircea_popescu: "never change anything" i guess.
asciilifeform: i can think of a few palliative pills for it, in particular to structure the deletions and insertions in separate vpatches
asciilifeform: but it does not ~solve~ problem, only makes it manageable.
mircea_popescu: lobbes this incidentally explaisn why wikipedia is such shit - it's ~only function is a sort of open-sourced cliffnotes, and people would much prefer it to be bland and stupidly written so the teacher in class doesn't feel too inclined to think the kids' lifted material isn't his. after all he added all the flavour words in there!
lobbes: That was a great read, thank you. Lined up exactly with my own anecdotal experiences. If I learned one thing in 'business school', it was how to properly bullshit. Only cost some 20k! Real learning didn't happen until after graduating (funnily enough, I also learned to drive -after- getting my license)
mircea_popescu: asciilifeform i dunno, one huge insert patch is still pretty dubious as far as paternity goes.
asciilifeform: yeah
mircea_popescu: i suppose it IS easier to check though
asciilifeform: hence 'palliative'
mircea_popescu: yeah.
asciilifeform: but a differ that ~understands moves~ would be quite spiffy.
asciilifeform: ditto deletes.
asciilifeform: !#s teco
a111: 9 results for "teco", http://btcbase.org/log-search?q=teco
mircea_popescu: myeah. and if unfixed this issue liable to recur.
mircea_popescu: v is really only as powerful as the underlying differ is.
davout: but if it really needs a magical difftron, can it still be said the operator can see everything with naked eye?
lobbes: Re: wikipedia. I remember early on in grade school I was actually taught that wikipedia was shit. By the time I entered college this tune had changed. Now it all makes sense
mircea_popescu: davout the gordian knot is how to make it both unmagical and self-summarizing.
mircea_popescu: this is obviously true ai problem.
asciilifeform: davout: that'd depend on 'how magical' , neh ?
davout: sure
asciilifeform: mircea_popescu: i'm not entirely certain that the problem is solvable (it IS possible to define a richer diff language that permits block moves, but this also permits inscrutable-to-naked-eye patches to exist.)
mircea_popescu: yes.
mircea_popescu: i suspect graph theory may have a solution for us, but it is not clear to me how.
asciilifeform: this is why the original genesis was such a painful affair (and why it was and remains important to READ how i did it)
deedbot: http://qntra.net/2017/01/venice-refugee-center-patrons-riot-and-take-hostages/ << Qntra - Venice Refugee Center Patrons Riot And Take Hostages
BingoBoingo: lobbes: You had wikipedia in Grade School! Poor Child!
asciilifeform: the entire point in using a differ in vtron at all (as opposed to signing ENTIRE body of work) is to make the work of the reader tractable.
asciilifeform: a patch that has any significant 'cut-and-pasteology' -- tends to make it intractable again.
asciilifeform: (if i cannot ~mechanically~ tell that the untouched parts are untouched -- they are, for all intents and purposes, touched)
mircea_popescu: still, due to the fact that v allows attribution, the change can be digested over time.
asciilifeform: theoretically.
asciilifeform: in actual practice, gigantic turds take eons to fit in head.
asciilifeform: as, e.g., trb itself.
mircea_popescu: true.
asciilifeform: (it remains to be seen if the thing had ever, or will ever, fit entirely in any head)
mircea_popescu: still, the "frozen trb because networking" or "because badlt done block check" etc can't go on forever.
asciilifeform: tru
asciilifeform: though what i pictured is that trb can finally produce the motherfucking ~book~ and it will be possible to start rewrite...
mircea_popescu: and what i pictured were 72 cubits high, translucent, ageless, nonmenstruating and deliver pregnancy to term within the day.
lobbes: BingoBoingo: aha. Yeah, I guess more towards high school. Luckily I was just old enough to still have been taught how to research using actual b00ks and/or libraries.
asciilifeform: mircea_popescu: these: next!111
mircea_popescu: right-o.
mircea_popescu: meanwhile, http://68.media.tumblr.com/d643fbf482be283423336539830d4710/tumblr_oahu79jAGK1vyw3iyo1_1280.jpg
asciilifeform: mircea_popescu: imho it is necessary to 'defile grandfather's pistol' in certain carefully-selected ways, but only if it can be done while making it clear that it was defiled in ~these but not other, unspoken~ ways
asciilifeform: to steal from mircea_popescu's article on subj, 'get inseminated on purpose, rather than 'because hey, there was a party, and i like to drink''
deedbot: http://fr.anco.is/2017/removing-the-wallet-from-trb-first-thoughts << fr.anco.is - Removing the wallet from TRB, first thoughts
davout: http://btcbase.org/log/2017-01-03#1595836 <<< my image is more like: "trb is this thing from which more and more is removed, until only the radioactive code consisting in ball of tightly packed hot wires which we proceed to put in a little box in which epoxy is poured, and is only interacted with as some black box"
a111: Logged on 2017-01-03 21:29 asciilifeform: though what i pictured is that trb can finally produce the motherfucking ~book~ and it will be possible to start rewrite...
asciilifeform: davout: thing is, there is no such thing as this 'hot core'
asciilifeform: spittoon is in, imho, one strand.
asciilifeform: asciilifeform's (and later again jurov's) utter failure to unravel the heap, at least, suggests this.
asciilifeform: this was, if anyone recalls, the reason i asked for the functional flow graph
asciilifeform: to lean what ~actually depends~ on what.
asciilifeform: so that the places to make all plausible cuts become apparentl
asciilifeform: *apparent
asciilifeform: (unfortunately a flow graph where every motherfucking line intersects 55 other lines, is NOT good for anything)
asciilifeform: *learn
davout: yet another obvious benefit of amputating the wallet, miner and everything that can pretty obviously done without
davout: but i also get the other point, a lot of that complexity becomes apparent once one actually goes ahead and pops the hood
asciilifeform: i historically refused to touch the miner, and will not encourage anyone to touch it, because neither i nor anyone i know is equipped to properly test the result.
asciilifeform: (a result where there is ~no~ miner available, i exclude from consideration because it pisses on the R in 'trb')
asciilifeform: wallet - sure.
asciilifeform: now you ~could~ make the -- imho very tenuous -- argument that mining logic is ~implicitly~ present in the block verification logic.
asciilifeform: but it is a stretch. and does not let you ignite a bitcoin overnight if transported to alpha centauri (or, more likely, earth-with-broken-mainnet)
asciilifeform: trb miner is mircea_popescu's 'fleet in being'
asciilifeform: gotta be ready to roll on five minutes' notice if the old miners ALL go home SIMULTANEOUSLY.
asciilifeform: incidentally, ben_vulpes -- what height are your 'solipsist nodes' up to nao?
ben_vulpes: asciilifeform: i've been working on phf's recommendations of late
ben_vulpes: so -- zero
ben_vulpes: haven't made checkpoints configurable, so solipsist nodes won't even mine
ben_vulpes: unless i misunderstand, the project is truly blocked on making checkpoints configurable.
davout: asciilifeform: i don't thing the argument that the block validation logic can be found in the block validation logic is tenuous
davout: make the miner a separate bin
ben_vulpes: (fwiw i'm down to the last ghostly suggestion, which was to read in the hash as a bignum)
asciilifeform: davout: aha, separate bin. but not 'today NO miner and MAYBE SOMEDAY a new miner'
asciilifeform: no transformation of mud-todays into jam-tomorrows plox.
asciilifeform: ben_vulpes: what means 'as a bignum' ?
asciilifeform: i.e. as an object you can divide by 33 ?
asciilifeform: why??
davout: asciilifeform: i think it would be hard to make the argument that a separate binary sitting aside the node could hurt in any way
ben_vulpes: asciilifeform: i misspeak, 'as an integer'
asciilifeform: davout: could, theoretically, hurt, if it requires adding 100,000 lines of i/o glue logic
davout: the miner does require the transactions being mined to be valid, so there's that
asciilifeform: let's take the cuts as specified by mircea_popescu earlier.
asciilifeform: they will require a -- quite complicated -- entirely new protocol
asciilifeform: for the components to speak to one another.
davout: we might en up with a libbitcoinconsensus.a
ben_vulpes: triggered
davout: png
davout: trollface.png
davout: either way, imma head to bed, interdasted in comments re mah wallet cut piece
asciilifeform: davout, ben_vulpes , et al : it is also tricky to properly rule out the situation where split-trb node behaves like a 'split-brain patient', and external observer gets contradictory answers from it to some possible question
asciilifeform: (this is a certainty if the various components do not AT ALL TIMES agree)
davout: pilot handbook 101: "if after landing you need to apply full throttle to get back to your parking spot, you probably forgot to lower the gear"
asciilifeform: aahahahaha
asciilifeform: davout: similar book i recently read -- claimed that 'gear retract on parking lot' accidents are still a regular thing
asciilifeform: i gotta wonder why
asciilifeform: gear button is right next to starter button, or wat.
davout: yeah, i've heard some things like that too
davout: in these case it appears the cause is often confusion with the flaps lever
davout: *cases
asciilifeform: lulzy
davout: after you land you retract flaps
davout: but obviously retracting gear isn't a good idea
asciilifeform: i'd naively think that this would've been resolved in 1930s, if not earlier, just make the levers vastly different (shapes, or lengths, and feel, etc)
davout: i have nfi why some airplanes allow this
asciilifeform: davout: didja ever weigh in on the rudder thread ?
davout: asciilifeform: they *are* very different
ben_vulpes: fuck levers, pressure on the wheels should engage hard interlock
asciilifeform: (why do we still find pedals on ~all machines)
davout: asciilifeform: no?
asciilifeform: davout: http://btcbase.org/log/2016-11-30#1574899 << thread
a111: Logged on 2016-11-30 21:04 asciilifeform: i have here a b00k on piloting circa 1940, and already then author insists that rudder pedals are obsolete and have killed a thousand men
davout: maybe i'll understand the answer to this mystery when i become retractable gear certified!
davout: small thread is small
asciilifeform: ben_vulpes: my current (wholly nonexpert) understanding is that airplane DELIBERATELY omits 'hard interlocks' wherever possible, on the principle that not-being-able-to-X-when-you-must is worse than can-X-when-you-mustn't
davout: well, you need rudder, how else are you going to, you know, pilot?
asciilifeform: davout: e.g., 'ercoupe', had rudder, but linked to ailerons
asciilifeform: so 0 pedals.
ben_vulpes: i have only recently developed an interest in ice flugen mobiles
asciilifeform: ben_vulpes had a 'trains' boyhood didn't he.
asciilifeform: in 19th c!
trinque: anecdotally I seem to recall my dad talking about using rudder in crosswinds on large aircraft
trinque: ianap
davout: trinque: yeah, i have nfi how i'd land anything in a xwind without rudder
ben_vulpes: asciilifeform: sailboats, motorbots, cars, bicycles mostly
trinque: right, not as if you can roll the aircraft when you're about to touch ground (intentionally!)
davout: asciilifeform: i'll research this ercoupe thing, seems interdasting
ben_vulpes: horses and women as opportunity presented
davout: trinque: actually you *are* supposed to
asciilifeform: davout: it was a (long-extinct) machine from the age of 'everybody will have an airplane'
asciilifeform: davout: the place that made'em is not far from where i live, it was slowly demolished over decades
trinque: davout: in a not wings horizontally level manner?
davout: trinque: no
davout: when landing in a crosswind you basically apply rudder during the approach so that your airplane flies towards the runway, but the nose pointing to the side
davout: 'crab-like'
trinque: yeh, what I was fumbling for
ben_vulpes: note! this does not mean the wings are not horizontal
trinque: isn't that yaw?
davout: and when you are about to touchdown, you apply rudder to align the nose with the runway
davout: but that causes the plane to drift
davout: sideways
davout: you apply roll to counter the drift
trinque: yeah I thought that was called yaw
trinque: it is
asciilifeform: davout: are there any situations other than crosswind landings/takeoffs where you need yaw-without-roll ?
davout: if the wind comes from the right you'll end up landing with right wheel first, then left wheel, then nose wheel
trinque: oic
asciilifeform: (and in fact, do those entirely ~demand~ yaw-without-roll?)
davout: asciilifeform: yeah
davout: motor effects
davout: lemme check out how that's referred to in engrish
asciilifeform: davout: i thought motor effect could only affect roll
asciilifeform: (gyroscopic moment of the motor, but also differently-impacting stream from propeller on one wing vs other)
trinque: easiest example that comes to mind would be losing an engine on a multi-engine plane
davout: here ya go
davout: http://wiki.flightgear.org/Understanding_Propeller_Torque_and_P-Factor#Propeller_torque_effect
davout: asciilifeform: propeller torque is one thing
davout: gyroscopic precession of the propeller when changing directions is yet another thing
asciilifeform satisfied! will buy machine with rudder!
davout: also trinque is right, when losing an engine on a multi-engine you need to apply rudder to compensate for the thrust differential
ben_vulpes: yeah see when they start talking like this my flugenboner starts to droop
asciilifeform: ben_vulpes: wai's that
asciilifeform: most folxs' -- hardens
davout: which is also why there's yet another minimum speed for a multi engine running on a single engine
ben_vulpes: trained response to risky dynamics problems
davout: below which the rudder loses sufficient authority to compensate for the asymmetric thrust
davout: ben_vulpes: piloting when you're actually in the plane is an entirely different thing
ben_vulpes: asciilifeform: i suspect that if i start to explore this risk manifold i will have trouble not ratcheting the risk back
davout: basically "watch your airspeed, watch the fucking airspeed"
davout: also "the ball goddammit"
asciilifeform: davout: different thing from what? from piloting on grid paper and with pen? i'd imagine so!
davout: asciilifeform: point is piloting a small plane there's just a few things to pay attention to constantly
asciilifeform: ben_vulpes: lulzy contrast of the solid 'hp oscilloscope' goodness of the console buttons, with the crapple turd
ben_vulpes: amusing on so very many levels
ben_vulpes: asciilifeform: it would be utterly nutso to consider an ode/fluids sim as a hashing function, right?
asciilifeform: almost the very definition of terrible hashing function
asciilifeform: because the transition between 'irreducibly complex' and 'braindamagedly simple' phase space is unknown.
ben_vulpes: very similar inputs could, even over long runs, result in very similar outputs
asciilifeform: in a hash for just about any application you want to always live in the former and never, ever in the latter.
ben_vulpes: elaborate?
ben_vulpes: or point me at something to read?
asciilifeform: ben_vulpes: consider the things you actually want from a cryptographic hash
asciilifeform: just take a piece of paper, and list'em
asciilifeform: then list things you do ~not~ want
asciilifeform: and if you want reading material, reread the thread where mircea_popescu suggested crypto using transcendental constants etc
asciilifeform: (tldr -- a digital approximation of a complex process is 1) not ~the process itself~, noshit.jpg 2) not necessarily all that complex, in the chaos/avalanche sense, or in any way cryptologically hard)
ben_vulpes: mhm
asciilifeform: ben_vulpes: to take toy example: 'game of life' playing field state, with initial state S and move count M, naively might seem like good crypto
asciilifeform: but if you actually try this, you will learn that it is not.
asciilifeform: because 'life' automaton tends to settle into quiescent states (bunch of small oscillating 'critters', no real turmoil)
ben_vulpes: myup.
asciilifeform: there is ~0 actual relationship between 'confusing to the naked eye' and 'crypto-hard'
ben_vulpes: b-but turbulence!
asciilifeform: most schemes naively stemming from such confusion end up equivalent to electric version of invisible ink.
asciilifeform: ben_vulpes: if you know how to get effect entirely analogous to gas turbulence in a purely electric machine, there are many folks who will clap, do say.
ben_vulpes: i am no karman reincarnate with god's knowledge
asciilifeform: and if you can achieve it in a ~discrete~ system, you can get wolfram to drink himself to death, by properly demonstrating 'cellular physics' (tm) (r) where he failed.
asciilifeform: all by itself it'd be a worthwhile thing, if only for this.
asciilifeform: to go back to hashes, and if you for some reason eschew 'when hiring fortune-teller, hire the cheapest',
asciilifeform: i know of 0 uses for a 'hash' where the same ~input~ is not guaranteed to produce ~same output~
asciilifeform: but i could think of one definitive improvement over traditional hashes: non-algebraic (see recent 'rsa padding' thread) tranform
asciilifeform: *transform
asciilifeform: essentially, anything where you cannot, in any practical computer, express the hash's reversal as an n-sat problem
asciilifeform: all well-known hash algos, afaik, lack this property.
asciilifeform: they are arithmetical, because the designers insisted that the hash be computable in fixed number of cpu cycles.
asciilifeform: this is great from many pov but imposes own cost.
ben_vulpes: why is 'fixed number of cpu cycles' a great thing?
asciilifeform: because it is bounded
ben_vulpes: wyrdmantis: again with the laptop messages
asciilifeform: (and tends to be small)
asciilifeform: ben_vulpes: a non-algebraic ('programmatic') hash algo opens the possibility of crafted cpu-ddos
asciilifeform: esp. if the actual computation is unbounded
asciilifeform: (recall one of the nails in the ethertardium coffin)
jurov: http://btcbase.org/log/2017-01-03#1595849 iirc the issue is pervasive use of std::map, which fucks with the heap like horny pig
a111: Logged on 2017-01-03 22:06 asciilifeform: asciilifeform's (and later again jurov's) utter failure to unravel the heap, at least, suggests this.
asciilifeform: aha
asciilifeform: and not only of std::map in the abstract, but of the same set of maps everywhere in trb, simultaneously, and at the same time with the pestilential global locks
asciilifeform: and there are no provisions for safely ~removing a tx~ from mempool, ever, at all
asciilifeform: (every tx in memory relies on its inputs being present , and at all times becomes a threat to crash the process if one should turn out not to be there. ~all pointers potentially dangle . thing is as rotten as could be imagined.)
deedbot: http://qntra.net/2017/01/iraqi-government-violating-latest-opec-agreement-government-blames-kurds/ << Qntra - Iraqi Government Violating Latest OPEC Agreement, Government Blames Kurds
deedbot: http://cascadianhacker.com/how-to-fuck-up-without-being-a-fuckup << CH - How to Fuck Up Without Being a Fuckup
BingoBoingo: OMG ben_vulpes wrote on Step 9!
ben_vulpes: ;)
BingoBoingo: !~step9
jhvh1: 9. Made direct amends to such people wherever possible, except when to do so would injure them or others.
mircea_popescu: http://btcbase.org/log/2017-01-03#1595862 << this is a stronger argument than it appears. we may find ourselves in the position where we have to, if not "mine" in the current sense, say what mining should be. in no case can it be "oh, mining, not something we care about". about mining, about any other part.
a111: Logged on 2017-01-03 22:16 asciilifeform: but it is a stretch. and does not let you ignite a bitcoin overnight if transported to alpha centauri (or, more likely, earth-with-broken-mainnet)
mircea_popescu: http://btcbase.org/log/2017-01-03#1595871 << in practice this is how it works, and has, for at least 3 years now.
a111: Logged on 2017-01-03 22:19 davout: make the miner a separate bin
mircea_popescu: http://btcbase.org/log/2017-01-03#1595883 << the only reason to even do it is if no protocol is created at all.
a111: Logged on 2017-01-03 22:24 asciilifeform: they will require a -- quite complicated -- entirely new protocol
mircea_popescu: the whole point is for them to NOT speak to one another.
asciilifeform: mircea_popescu: how does txtron accept/reject without talking to blockchaintron?
asciilifeform: what am i missing
mircea_popescu: puts into queue. accepts nothing, rejects nothing.
asciilifeform: who eats the queue then ?
mircea_popescu: trb.b
asciilifeform: so they talk! via the queue
asciilifeform: (trb.b, presumably, polls..?)
mircea_popescu: no. one just reads, the other just writes, at all points where they interact. no talking is contemplated, and if this is "a protocol" then it's already given.
asciilifeform: what happens when evilpeer dumps a TB of liquishit into the queue?
mircea_popescu: do you read the spec or just sit there and dream a little dream ?
asciilifeform: i did
a111: Logged on 2017-01-03 20:48 mircea_popescu: in particular N.B should be "older overwrites newer" style ring buffer. of particular concern are situations where the buffer is set shorter than the longest reorg, in which case the node will wedge. TRB.N not accepting blocks with index lower than highest of B.B is for sure not feasible. "how many behind" should be an operator knob.
mircea_popescu: including that part ?
asciilifeform: aha, incl that part.
mircea_popescu: so then what happens ?
asciilifeform: in the tx case, anybody can overwrite legit tx in your buffer by dumping liquishit in.
mircea_popescu: there is no tx. you do not read. what is N.B ?
asciilifeform: candidate-block receiver, neh?
mircea_popescu: so then.
asciilifeform: in the case of candidate-block and candidate-mempooltx queue receiver (from outside the walls), mircea_popescu proposes to throw out even the weak logic for banning obvious crapola that we have today in trb?
asciilifeform: (banning would, as far as i can tell, require 2way comms b/w the modules)
asciilifeform: and whatdoyoumean 'no tx', is the thing contemplated a wholly mempool-less node ?
asciilifeform goes to reread mircea_popescu's scheme
mircea_popescu: i don't think today's logic does anything ; and i don't expect carrying it forward is useful. spec does include room for trb.n to do some banning, including on the basis of passively exfiltrated data from trb.b. that a protocol for this purpose may later develop i don't dispute, but it's not included both because it's not needed and because it can't become a "dependency". it's not.
mircea_popescu: and in other alt-universes, http://68.media.tumblr.com/29a57cee1f8350a5c981f7ec5d318221/tumblr_mqko9plKqo1r7dgcpo8_1280.png
mircea_popescu: and no, not wholly mempool less. there is m.t. what it contains - we care not. when problems will arise, they will be solved without impacting on the core scheme.
mircea_popescu: that being the fundamental point of separation in the first place.
mircea_popescu: (the correct solving scheme is still as i said back when we were discussing mempools, to keep track of peers (yes, by ips) and score them by the fees they bring your mempool. with this change -- that is even implementable.)
asciilifeform: while i like the 'diode' aspect of this scheme, i will say that my public nodes would fall down in about three seconds, and permanently, if the primitive autobanhammer of gaviniferously-symptomatic peers were to be switched off.
asciilifeform: (confirmed, experimentally.)
asciilifeform: perhaps if nothing could possibly land in the queues faster than it can be eaten, this would not be so.
mircea_popescu: you don't have to switch it off ; carry it over.
mircea_popescu: i have no idea how you maintain your mempool atm ; or if it is what you're talking about even, is it ?
asciilifeform: stock trb mempool
mircea_popescu: so then use that. as the spec says, m.t specifically left unspecified.
mircea_popescu: this is what "trb.n inherits network code" means. let it inherit.
asciilifeform: well the old code has ban(...) which instructs 'this datum was a malicious turd and i dun want no moar from that ip'
mircea_popescu: and reads the blockchain to do that ?
asciilifeform: in the case of verifying a block -- it does
mircea_popescu: we were discussing txn and mempool.
asciilifeform: in those, you also need blockchain
mircea_popescu: then no wonder your node falls over.
asciilifeform: (a tx can have valid form in all sense other than being a doublespend, mircea_popescu knows this)
mircea_popescu: i do, but it is also insanity.
mircea_popescu: you cvan not engage in an open ended "i will for all comers do the work of checking one cent txn against a 10 dollar blockchain".
asciilifeform: it is physical reality, and ergo by definition no moar 'insane' than gravity. unless mircea_popescu offers a breakthrough where we can test doublespendity without keeping blockchain around at all
mircea_popescu: to doublespend you have to MINE it. to accept something in mempool, does not mean it has become accepted in blockchain.
mircea_popescu: something like "one txn accepted in mempool per hour per peer" is reasonable.
mircea_popescu: how MUCH verification work i wish to do for the world - is my choice, not the world's.
asciilifeform: mircea_popescu: here i gotta agree, the 'allcomers can get their tx candidates evaluated' is doomed
mircea_popescu: right.
asciilifeform: just like i can't go and offer a candidate tx to swift because i feel like it
mircea_popescu: worked while it worked but on the long term "collegiallity" of this elk is unsustainable.
asciilifeform is a bit more 'doomer' than mircea_popescu on this subj, and does not see a future for 'anyone can send packet to anyone' net in ~general~
mircea_popescu: yes but there's at least a decade between these.
asciilifeform: 1 tx / hr / peer will make for one hell of a turtle relay
mircea_popescu: tough titties, get in people's wots/gossipds.
mircea_popescu: this is a fine avenue of rebalancing the miner/node nonsense.
mircea_popescu: (yes, yes, "prb nodes will outcompete". sure. and reddit/wikipedia/etc outcompete us, totally.)
asciilifeform: seems to me like it might unduly empower miners.
mircea_popescu: how do you reason ?
asciilifeform: if being 1 hop closer to a miner now means an hour less avg. delay.
asciilifeform: instead of a few min.
mircea_popescu: davout your four main pieces are a b and c ?
asciilifeform: waiwat
mircea_popescu: asciilifeform nobody forces you to keep the throttle in place for your friends.
asciilifeform: how does your box know who are 'friends'
mircea_popescu: so in my thinking it incentivizes proper behaviour.
mircea_popescu: by ip. yes yes, i know i know.
asciilifeform: you gotta have the crypto auth.
asciilifeform: and RST-idiocy-proof pipe.
asciilifeform: aite, we had thread, i won't repeat
mircea_popescu: these are good-to-have, not dependencies. let the lizzard queen fuck with ips a while first.
asciilifeform: tru
asciilifeform: i like mircea_popescu's scheme, imho it should be written exactly like-so
mircea_popescu: we'll see if we find someone to do it, nao.
mircea_popescu: !!up PUMBLECHOOK
deedbot: PUMBLECHOOK voiced for 30 minutes.
mircea_popescu: (re the above discussion - one of the B.Ts may well be "cache of txns with unspent outputs" specifically to aid in mempool evaluation. but this is philosophy 102.)
mircea_popescu: (re the above discussion - one of the B.Ts may well be "cache of txns with unspent outputs" specifically to aid in mempool evaluation. but this is philosophy 102.)
mircea_popescu: doh.
mircea_popescu: in other news wow Framedragger your log selection thing is immensely useful for eg leaving comments on davout 's site.
mircea_popescu: who, apparently, still has his doubtsd about me, and moderation-queues mah comments!
mircea_popescu: http://btcbase.org/log/2017-01-03#1595903 << gas pumps for diesel look every year more like dildos, accidentally poured gasoline in diesel engine accidents still occur.
a111: Logged on 2017-01-03 22:32 asciilifeform: i'd naively think that this would've been resolved in 1930s, if not earlier, just make the levers vastly different (shapes, or lengths, and feel, etc)
asciilifeform: mircea_popescu: in usa, the ~only way to achieve this 'feat' is to pour into jerrycan first
asciilifeform often wondered why the things can't simply be made threaded, and with variant thread
mircea_popescu: for srs.
mod6: it easy to put unleaded regular gas into a diesel, but not vice-versa. the diesal nozzles are too large for a standard gasoline tube.
asciilifeform: '... and that was how we found that the average policeman is not so smart, but very strong' (from -- iirc -- one of mircea_popescu's articles)
mircea_popescu: and in other news, girl preparing to weigh self, "if it shows me over what i started at ima jump out the window". me, equanimous "wouldn't it be better to jump out window if surprisingly light, than if surprisingly heavy ?'
mod6: know someone this happened to once, apparently diesel was shooting flames of unleaded out of the tailpile, while running like dog-shit (excessive knocking etc).
mod6: *tailpipe
asciilifeform: (possibly davout might have some input) i recently read an american-flavoured thing re pilotage accidents, and it dwelled on 'jp in petrol tank' , insidious condition where the engine ~will~ start but tends to quit ~during takeoff~, guaranteed corpse
asciilifeform: they have clever nozzles now, but there are always mega-heroes who manage to fuel up with entirely wrong liquid
mod6: yeah, actually, now that I think about it, i was told that in this particular case I was talking about, the guy didn't even put in regular unleaded (87 octane), he put in like 110 octane racing fuel.
mod6: lol
mod6: i guess this took place at a refueling stop in the middle of the night.
mod6: asciilifeform: jp = jet fuel?
asciilifeform: aha
mod6: is that the same as the JET-A1 or whatever I sometimes see on the side of tanks?
asciilifeform: it
mod6: aha
asciilifeform: (there are other variants sold, but mostly 'A' on most of the planet)
deedbot: http://cascadianhacker.com/how-to-actually-learn-programming << CH - How to (actually) "learn programming"
mod6: ben_vulpes: fyi, second edition has the red cover, the first edition is the blue cover one.
mircea_popescu: mod6 theoretically cylinders blow.
mod6: yeah, can wreck the thing for sure.
mircea_popescu: http://btcbase.org/log/2017-01-03#1595914 << this is just about it ; the python 3 cancer hasn't eaten through most of that yet. at least afaik.
a111: Logged on 2017-01-03 22:35 asciilifeform: ben_vulpes: my current (wholly nonexpert) understanding is that airplane DELIBERATELY omits 'hard interlocks' wherever possible, on the principle that not-being-able-to-X-when-you-must is worse than can-X-when-you-mustn't
mircea_popescu: http://btcbase.org/log/2017-01-03#1595972 << kinda where all those "great future everyone flies plane" threads always die, with mp saying "i wouldn't put that work in if the plane sucked my cock."
a111: Logged on 2017-01-03 22:48 davout: asciilifeform: point is piloting a small plane there's just a few things to pay attention to constantly
asciilifeform: d00d dun even drive cars!11
BingoBoingo: Apparently all of a sudden "mesentery is new organ", Leonardo years ago
mircea_popescu: aha
mircea_popescu: http://btcbase.org/log/2017-01-03#1595990 lies! https://niginsblog.wordpress.com/2016/03/07/new-spaceship-speed-in-conways-game-of-life/
a111: Logged on 2017-01-03 23:06 asciilifeform: because 'life' automaton tends to settle into quiescent states (bunch of small oscillating 'critters', no real turmoil)
asciilifeform: these and others are neato but for some reason ~never show up unless hand-built
asciilifeform: rather like real-life spacecraft.
mircea_popescu: mostly linked because of the epic announcement, "there may be bugs in gfind"
mircea_popescu: DUDE BUT I THOUGHT MANY INTELLIGENT EYES MAKE BUGS SHALLOW
asciilifeform: https://cp4space.wordpress.com/2016/05/02/is-craig-wright/ << small vintage lulgem from mircea_popescu's link
asciilifeform: (linked mainly for the comments. seriously, wtf)
BingoBoingo: https://i.sli.mg/zJE2z7.jpg << Hamplanetary destination for space ship. Also an eater.
asciilifeform: herr doktor mengele could not even dream , of what welfare state creates 1,001 every day nao.
mircea_popescu: now this is tru
BingoBoingo: I think you mispelled "wellfed state"
trinque: https://www.rt.com/usa/372609-public-decency-boston-law/ << ahahaha, hey mats, let it be known that you can jack it on the subway up there so long as nobody's "shocked" or "alarmed"
trinque: The state’s highest court explained, “the detective was the only eyewitness who testified to the defendant's conduct” and that he was disgusted “after viewing the defendant's exposed penis, not for himself, but rather out of ‘concern’ for the women seated on the bench.”
mircea_popescu: this has been good law for a century +
mircea_popescu: http://btcbase.org/log/2017-01-03#1595997 << now this!
a111: Logged on 2017-01-03 23:09 asciilifeform: and if you can achieve it in a ~discrete~ system, you can get wolfram to drink himself to death, by properly demonstrating 'cellular physics' (tm) (r) where he failed.
BingoBoingo: !~ticker --market all --currency eur
jhvh1: BingoBoingo: Bitstamp BTCEUR last: 999.893604, vol: 8443.50362043 | BTC-E BTCEUR last: 984.02502, vol: 257.15036 | BTCChina BTCEUR last: 1043.716113, vol: 1914935.90380000 | Kraken BTCEUR last: 1003.108, vol: 8466.09555672 | Volume-weighted last average: 1043.33872246
BingoBoingo: http://www.slackware.com/security/viewer.php?l=slackware-security&y=2016&m=slackware-security.567619
asciilifeform: lel, 512b pgp key?!
BingoBoingo: You know where to stuff it!
mircea_popescu: iot ?
asciilifeform: (btw, trinque et al, here's a bot command idea: #!k (for instance) takes url and looks for pgp keyblocks or sigs or any other pgptronic object from which a key bitness , fp, or other interesting attribute can be pgpdump'd, and prints same in log)
mircea_popescu: how is it supposed to do this ?!
asciilifeform: pgpdump -i
asciilifeform: curl http://foo | pgpdump -i | .... to be 'precise'.
mircea_popescu: this is so horribly stated. so what you want is, for trinque or you, these being the only "et al" curtrently keeping pgp data ; to implement a search through it by random string ?
asciilifeform: nope
asciilifeform: a 'this www has apparent pgp signature, let's see whose, and for the record', was the idea.
asciilifeform: probably not all that useful unless part of archive bot.
mircea_popescu: you want it to go through a www page, find all signature blocks, and identify it as a fingerprint then ?
asciilifeform: and nobody needs to 'search by random string', phuctor eats fp.
mircea_popescu: "this page contains signatures from x y z " with links to phuctor pages ?
asciilifeform: aha
asciilifeform: practical?
mircea_popescu: you ~could say that~ you know. what you actually said was like, gosh jolly.
mircea_popescu: yeah it's actually not even a bad idea.
mircea_popescu: possibru shinohai feels like adding whistles to jhvh1 ?
ben_vulpes: http://btcbase.org/log/2017-01-04#1596139 << fixed, ty
a111: Logged on 2017-01-04 03:14 mod6: ben_vulpes: fyi, second edition has the red cover, the first edition is the blue cover one.
ben_vulpes: these episode 2 crickets are unsettling, perhaps i need to write more things for people to disagree with
asciilifeform: ben_vulpes: the blue-cover crapola thing is technically a different b00k
asciilifeform: that s. peddled as a 'replacement' for 'applied crypto'
ben_vulpes: asciilifeform: has libkez on tap?
asciilifeform: ben_vulpes: it was 'cryptography engineering'
asciilifeform: we had a thread.
mircea_popescu: ben_vulpes wut is this virutal server ?
ben_vulpes: typical aws digitalocean thingers
mircea_popescu: like a virtual server ?
ben_vulpes: ...
ben_vulpes: k
ben_vulpes: thanks
mircea_popescu: that was fun
ben_vulpes: asciilifeform: the ~1993 version is the original?
asciilifeform: aha
ben_vulpes: k ty
asciilifeform: i actually like the crc encyclopaedia moar
mircea_popescu: but anyway, this is actually a point - maintaining a stable irc connection is both informative and good preparation for the tasks ahead.
mircea_popescu: precisely the "trivial" thus instructive sort of task
trinque: filters out some power rangers right there
mircea_popescu: also is the first stone of "well your computer doesn't actuallty work, does it" most normies may encounter.
mircea_popescu: [- GLOBAL NOTICE - freenode itself not actually up to this standard. thank you.]
ben_vulpes: heh
mircea_popescu: but to please ben_vulpes : it may amuse you to learn that ask.fm put in a mitigation for my bot (ill designed, and fail to work) sometime on dec 30th. AND THEN apparently (accidentally ?) reverted it sometime jan 2nd.
ben_vulpes: cute
mircea_popescu: which i give 50-50 odds was just an accidental server update with old code.
ben_vulpes: how do people accidentally old code
ben_vulpes: i don't even programming and don't do that
mircea_popescu: wasn;t there an automake for kubinetes or such ?
mircea_popescu: anyway, i kind-of gave up documenting their downtime.
mircea_popescu: daily occurence.
ben_vulpes: bbl food
mircea_popescu: fuck i put comment in wrong article.
hanbot: it's a virutally harmless mistake
mircea_popescu: lmao