log☇︎
▁▁▁⏐︎▁▁▁▁ 11286
mod6: evenin'
asciilifeform: ohai mod6
mod6: how goes?
asciilifeform: experimenting...
mod6: nice
mod6 reads l0g
mod6: <+BingoBoingo> But 2014 is like the 1960's of Bitcoin. Ancient history!!! << seems like yesterday
PeterL: http://btcbase.org/log/2017-09-10#1711925 << how do you type * without hitting the shift key? ☝︎
a111: Logged on 2017-09-10 20:12 asciilifeform: we're talking about simple ops, i should not have to touch fucking shift key
asciilifeform: PeterL: numpad
PeterL: somehow I didn't even think of that, I never use the numpad *!
asciilifeform: lol
PeterL: plus, it is waaaay over there, isn't it easier to just hit shift-8 ?
shinohai: I mean, it's just a few inches to the right - not a trip to Saturn.
PeterL: now I am wondering, what else does my keyboard have that I never use because I don't even notice it?
PeterL: hmm, here's another key I never use, what does "Caps Lock" even do? ☟︎
asciilifeform: now that one i dun have.
asciilifeform: nor want.
asciilifeform: shinohai: the comp is a machine that MUST ADAPT TO THE MAN, rather than the man to the comp. which is why it is infuriating idiocy , when an op that is done 9000 time daily ( say parens ) lives behind a metakey, while microshitian idiocies like 'printscreen' get own key ☟︎
asciilifeform: i do not tolerate this in my house, and cannot picture why anybody else does.
PeterL: I suppose people who are not programmers do not use ( or ) much, but does anybody actually use [ and ] any more often? ☟︎
PeterL: the other option is to think more, type less, and then it does not matter so much where any particular key is
asciilifeform: PeterL: ready to have yer keyboard confiscated and replaced with telegraph key ?
asciilifeform: PeterL: if not, why not ?
asciilifeform: why not carry the 'think more, type less' thing to logical conclusion. ☟︎
PeterL: or, to take that to extremes, modern man is just a consumer of social media, does not need to type anything, just poke touchscreen and moo
asciilifeform: believe or not , i have one of even those , too
asciilifeform: i even have comps with no input mechanism at all!111
trinque: http://btcbase.org/log/2017-09-12#1712365 << reflects poorly on the world in which we live that there isn't a bespoke keyboard-maker. ☝︎
a111: Logged on 2017-09-12 00:53 asciilifeform: shinohai: the comp is a machine that MUST ADAPT TO THE MAN, rather than the man to the comp. which is why it is infuriating idiocy , when an op that is done 9000 time daily ( say parens ) lives behind a metakey, while microshitian idiocies like 'printscreen' get own key
kanzure: i would also like to register a complaint about lack of n-key rollover and also another complaint about keyboard keypress registration latency, thanks ☟︎
BingoBoingo: mod6: Seriously
asciilifeform: i solved this by doing the model-f thing.
asciilifeform: but -- noshit -- this dun scale.
trinque has keyboard remapped to hell, but would be nice to design the thing around the designated key functions.
asciilifeform: trinque: nothing beats modelf + the custom controller imho
asciilifeform: http://btcbase.org/log/2017-05-25#1661475 << thread ☝︎
a111: Logged on 2017-05-25 03:21 mod6: which ones does alf like?
asciilifeform: ( don't be confused by the external resemblance to 'terminal model-m'. mechanics entirely different. no rivets, for one thing. )
asciilifeform: phunk phakt : 'f' cost ~2k 1980 usd.
trinque: hm yeah, I've only ever clacked on an M.
asciilifeform: i muchly prefer the 'f' -- no membrane dome anywhere inside of it, unlike 'm'
asciilifeform: and has a couple of kg of iron.
asciilifeform: http://btcbase.org/log/2016-09-12#1540430 << earlier thread re subj ☝︎
a111: Logged on 2016-09-12 17:47 asciilifeform: phf: the hard part is to actually get a hold of a 'model f'.
asciilifeform: trinque et al : i often wonder how many people would be prepared to pay what 'bespoke kbd' costs.
trinque: I'd pay a grand, why not. paid more than that for shittier items.
asciilifeform: ( not much reason to expect that it would cost substantially less than, e.g., bespoke bicycle costs. ) ☟︎
asciilifeform: grand will buy you shite.
trinque: but kanzure's calitards can splice wings into my ass on a UBI budget
trinque: and in a garage!
trinque: anyhow I'd accept the bespokenness of key labels as a start ☟︎
asciilifeform: even this is trickier than first appears
asciilifeform: if you, as i do, insist on inset-casting
asciilifeform: ( the item where the lettering NEVER wears out, because it is simply the inner layer of the key is black and protrudes just-so )
asciilifeform: ever see a post-1990s kbd that was in use for coupla yrs, the lettering wore off. this dun happen on proper keys.
kanzure: i never promised as much
kanzure: asciilifeform: give me a system that can do better high-fidelity human data output than a 300 wpm keyboard please.
asciilifeform: kanzure: http://www.loper-os.org/?p=861 << here ya go
asciilifeform: prolly 500+ with skilled operator.
kanzure: the twiddler thing?
asciilifeform: well a hypothetical 10-finger variant thereof, could
asciilifeform: ( w/ up-down-neutral pos. for switches. )
kanzure: also i would like a full key se without extensive modkeys
kanzure: *key set
asciilifeform: that'd look like e.g. my model-f.
asciilifeform: and 'slow' because fingers must after all move laterally
asciilifeform: ( i dun need 300 or even 200 'wpm' for anything, so it dunbotherme)
kanzure: lateral movement isn't so bad, sean wrona does that all the time
asciilifeform: whossat
kanzure: fastest gun in the west
kanzure: his techique is sort of bizarre and probably caused by brain damage, where he types same words using different fingering each time, and also lots of hovering
asciilifeform: that sounds quite like what i do, lol
asciilifeform: ( minus the hover, wtf , why wouldja )
kanzure: for the 'lulz' https://www.youtube.com/watch?v=4GDusA21cEA
asciilifeform: if you actually NEED 100s-of-wpm for something, as opposed to pissing contests in arena, dwelling on anything other than a bespoke (for YOUR hands) chorder, is lunacy. ☟︎
kanzure: really the only purpose of high wpm that i have figured out is winning irc flame wars
asciilifeform: way i see it, cleverly made kbd is really for minimizing flow disruption
asciilifeform: rather than naked 'how many buttons can i press per second'
asciilifeform: WITHOUT EXCEPTION all currently made input periphs are shite. especially, egregiously, the pedals -- i've thrown away 3 or 4 nao
asciilifeform: not a single one permitted RESTING the foot
asciilifeform: infuriating rubbish, made by wreckers.
mircea_popescu: http://btcbase.org/log/2017-09-12#1712371 << hey, i have :D ☝︎
a111: Logged on 2017-09-12 01:04 asciilifeform: why not carry the 'think more, type less' thing to logical conclusion.
mircea_popescu: all the foregoing text was knocked in morse!
mircea_popescu: http://btcbase.org/log/2017-09-12#1712377 << if keypress latency is a problem, odds are your os is shit. i generally throw out boxes that do it ☝︎
a111: Logged on 2017-09-12 02:43 kanzure: i would also like to register a complaint about lack of n-key rollover and also another complaint about keyboard keypress registration latency, thanks
mircea_popescu: http://btcbase.org/log/2017-09-12#1712394 << easier to make a kbd than to make a suit. "bespoke bicycle", outside of say zagreb, is entirely "organic" scam item. ☝︎☟︎
a111: Logged on 2017-09-12 03:33 asciilifeform: ( not much reason to expect that it would cost substantially less than, e.g., bespoke bicycle costs. )
mircea_popescu: ie, priced so you feel good about how much you spent.
mircea_popescu: http://btcbase.org/log/2017-09-12#1712422 << maybe time to consider theremin! see BingoBoingo 's typist cat! ☝︎
a111: Logged on 2017-09-12 03:44 asciilifeform: if you actually NEED 100s-of-wpm for something, as opposed to pissing contests in arena, dwelling on anything other than a bespoke (for YOUR hands) chorder, is lunacy.
trinque: asciilifeform: any reason not to define VERSION in knobs.h ? ☟︎
trinque writing standalone tools for key->addr doodling, and eventually txn manip., had to define VERSION at the top of each. ☟︎
mircea_popescu: !!key bloofinch
deedbot: http://wot.deedbot.org/CE98543599CCDABD532A5C7E8805E88288596862.asc
BingoBoingo: !!key bloodfinch
deedbot: Not registered.
BingoBoingo: ^ would have been cooler bird
mircea_popescu: lmao
mircea_popescu: oops
mircea_popescu aspires to one day meet a chick by the name o' shennaniganne o'sheridan.
asciilifeform: http://btcbase.org/log/2017-09-12#1712434 << this is hilariously, riotously wrong, btw. doyahave anyfuckingidea what is involved in making a DECENT ( i.e. injection-molded parts ) kbd ? ☝︎
a111: Logged on 2017-09-12 06:22 mircea_popescu: http://btcbase.org/log/2017-09-12#1712394 << easier to make a kbd than to make a suit. "bespoke bicycle", outside of say zagreb, is entirely "organic" scam item.
asciilifeform: in qty of ONE ?
mircea_popescu: eh, qty of one. "omfg, do you know what it means to make a planet on which snakes might evolve so as to have material FOR BUTTONS?!?!?!"
mircea_popescu: gimme a break. the letter A isn't your invention.
asciilifeform: thread was about bespoke kbd
asciilifeform: not microshit.
mircea_popescu: "bespoke" does not mean alfinsane.
asciilifeform: let's forget model-f pistons and flappers. which aren't made today, and can only be made with injection mold. take, at the very minimum, that you decide how many keys, and where they go.
asciilifeform: this means that the chassis is custom. out of what do you propose to make it ?
mircea_popescu: they still use commodity fabric, furnishings etc. they just tailor it to your ass is all.
asciilifeform: would mircea_popescu accept 'bespoke' suit that in ANY way (aside from cost) falls short of mass-produced liquishit plebesuit ?
mircea_popescu: asciilifeform that doesn't enter into it.
asciilifeform: because why
asciilifeform: because arbitrarily decided ?
mircea_popescu: because it's not a relative.
mircea_popescu: "bespoke" does not mean "very nice and good".
asciilifeform: it means 'exactly as i want, with the mass-produced plebeshit as minimal bar'
mircea_popescu: that's nonsense.
mircea_popescu: either the first part, or the second part. you can't mix these.
asciilifeform: mircea_popescu would buy rollsroyce with bespoke cabin and soviet-quality engine ?
mircea_popescu: if "mass-produced plebeshit as minimal bar" is your criterion, then it definitionally is not bespoke. because it's not compared to you, it's compared to the mass.
mircea_popescu: so it might be "consumer premium" or whatever.
asciilifeform: i did say 'mimimum'
asciilifeform: *minimum
mircea_popescu: whatever flavour of weasel you mix in.
asciilifeform: no amount of sophistry will justify a bespoke rollsroyce with soviet pistons, or a bespoke kbd where letters wear off .
mircea_popescu shrugs.
mircea_popescu: there's a substantial difference between "i don't like this" and "this doesn't compare favourably to rando coworker's item". these two can never mix. this isn't sophistry, but plain sense.
asciilifeform: plox to concretize : when mircea_popescu goes to get a suit made, what kind of fabric does he specify ?
mircea_popescu: depends.
mircea_popescu: but i've yet to have a special textile plant made for it.
asciilifeform: you would if you wanted a top hat!11
mircea_popescu: if i wanted it bad enough i guess.
asciilifeform: in thread, 'model f' is approx. a top hat.
mircea_popescu: but this has nothing to do with the bespokeness.
asciilifeform: the item directly to do with bespokeness is the difficulty of shaping heterogeneous solid objects with 0.01% accuracy.
asciilifeform: i.e. the keys.
mircea_popescu: ie, when at the height of soviet obamacare you broke your leg and your mother made you an ad-hoc wooden contraption to fix it, she DID in fact bespoke you a traction, even if it sucked so bad as to compare negatively to african healthcare.
asciilifeform: the only known satisfactory method is called double-shot injection molding, where the letter is cast ( yes, physical shape, e.g letter A ) and then key is cast ~around~ it
mircea_popescu: asciilifeform that difficulty is in no way particular. keys are commodity items.
mircea_popescu: unless you're getting your fingers measured for the key size or some shit.
asciilifeform: if i want custom lettering -- not commodity
mircea_popescu: i guess.
asciilifeform: is what thread was about. ( and that is at the minimal, in my case i also want to fit existing pistons , and req'd luft is no larger than what is permitted in rifle barrel )
mircea_popescu: you want your keyboard to have special letters on it ?
asciilifeform: hypothetically ( actually trinque was the one who asked , http://btcbase.org/log/2017-09-12#1712398 ) ☝︎
a111: Logged on 2017-09-12 03:34 trinque: anyhow I'd accept the bespokenness of key labels as a start
mircea_popescu: seems hardly worth the hassle. but anyway.
asciilifeform: in my case i would even be content without letters, but simply to control the number and ~placement~ of keys.
asciilifeform: which is the only thing that could not be done with massaged 'model f'
asciilifeform: ( lettering, to an adult man, on a kbd -- is optional. how often do you look ? )
mircea_popescu: this is a very difficult problem, arbitrarily placed keys.
asciilifeform: correct.
asciilifeform: requires custom solid objects.
asciilifeform: ( and not merely pcb )
mircea_popescu: with good wear characteristics, andthen the item wants to retail for 20 bux.
asciilifeform: if it only needed pcb, everybody would just call up favourite pcb fab and then stfu
mircea_popescu: nightmare of a problem. what else you got ?
asciilifeform: milled stainless prolly would not retail for anywhere south of 2000
asciilifeform seriously considered getting one done
mircea_popescu: what you need is one of those 50yo slave guys who spend life making chain mail and surgical steel stilleto heels.
mircea_popescu: there's like... i dunno, 8 total alive or somesuch.
asciilifeform: i dun think they do 6axis cnc
mircea_popescu: why not ?
asciilifeform: unsportsmanlike!11
mircea_popescu: it's not a sport. it's you know, service. worship.
asciilifeform: possibly i am unfamiliar with subj
mircea_popescu: (note that all key arrangements, from atms to dishwashers, are in a rectangular pattern ; and i expect alf wants them radial or something)
asciilifeform: dunno about yours, but mine are staggered
mircea_popescu: sure.
asciilifeform: ( subj : http://btcbase.org/log/2017-05-25#1661482 ) ☝︎
a111: Logged on 2017-05-25 03:24 asciilifeform: https://upload.wikimedia.org/wikipedia/commons/7/7a/IBM_Model_F_122.png << subj
mircea_popescu: anyway, i suppose i'm the only one that doesn't actually care all that much.
asciilifeform: nah i know a buncha folx who dun care at all. they work with... pens
mircea_popescu: yes, but in point of fact i write as much or more as anyone, on a kbd.
asciilifeform: for humanlang textentry, even a very threadbare kbd is notbad
asciilifeform: ( supposing you aren't doing it allday, everyday )
mircea_popescu: hey, i even put in pipe now and again
mircea_popescu: anyway. off to bed, this has been too much. laters!
asciilifeform: nighty
asciilifeform: http://btcbase.org/log/2017-09-12#1712440 << so move it, lol ☝︎
a111: Logged on 2017-09-12 06:29 trinque writing standalone tools for key->addr doodling, and eventually txn manip., had to define VERSION at the top of each.
asciilifeform: http://btcbase.org/log/2017-09-12#1712439 << looks like open-and-shut case ☝︎
a111: Logged on 2017-09-12 06:28 trinque: asciilifeform: any reason not to define VERSION in knobs.h ?
trinque: seemed so, cool.
deedbot: http://qntra.net/2017/09/us-debt-ceiling-adds-zeros-ensures-future-heroes/ << Qntra - US Debt Ceiling Adds Zeros, Ensures Future Heroes
asciilifeform: in other non-noose, asciilifeform still searching for a http://btcbase.org/log/2017-08-10#1696834 . ☝︎
a111: Logged on 2017-08-10 19:45 asciilifeform: forn00bz: an, e.g., rsa modexp, in ffa, must be representable by a long roll of paper, on it are ops for ordinary 4function calculator, with very patient slave. and roll ONLY ROLLS FORWARD and has finite # of instructions on it, known in advance when you decide the ffa width.
BingoBoingo: * asciilifeform seriously considered getting one done << Eh, go porcelain. Make and fire just like tile. Turk up your keys! ☟︎
asciilifeform: BingoBoingo: porcelain dun do 100million bangbangs
asciilifeform: not even sintered ceramics, a la what my lathe cuts with, like shocks
asciilifeform: if you wouldn't make a hammer handle out of it -- it makes for poor kbd material.
BingoBoingo: What are you banging it into that it can't be keycap on top of fiber cement subcap? (i.e. like a floor)
asciilifeform: BingoBoingo: itself
asciilifeform: understand, i dun use 'squishies', if every key dun sound like a kalash dryfiring, it ain't a keyboard
BingoBoingo: Even then, rest of switch mechanism doesn't have to be ceramic. Just the keycaps. Solves problem of letter wear. Everything else can be buttjection molded whatever, as long as it is soft enough to not piss of keys.
asciilifeform: shock propagates
asciilifeform: ( and if you make it not propagate - you automagically get a thing that I WILL NOT USE because it ain't propagating to my fingertips )
asciilifeform: what part of this is hard to understand.
BingoBoingo: Fine, vulcanized rubber keycaps it is
asciilifeform: ew
asciilifeform actually owns a vulcanized rubber kbd, it is in machine shop
BingoBoingo: Tattoo black letter into white rubber, replace ever 25k kilometers
asciilifeform: lol
BingoBoingo: Can make new key caps in actual jungle.
BingoBoingo: Now that this is decided, refocus to rest of the thing
ben_vulpes: asciilifeform: could etch the letters in; carve them out with a cnc mill. 'tis not the end of the world.
asciilifeform: ben_vulpes: i dun want to FEEL THE LETTERS OMFG
asciilifeform: surfaces are to be smooth.
ben_vulpes: so etch lightly!
asciilifeform: then wear.
ben_vulpes: ooh could mask and anodize
asciilifeform: wears.
asciilifeform: understand, right here i have almost 40 y.o. keycaps that looks EXACTLY as when new.
asciilifeform: this is a minimal bar.
asciilifeform: there is to be no slip of the ratchet, no 'doctor cured your ear, but poked out an eye'
ben_vulpes: what was the method for making these?
asciilifeform: doubleshot injection molding
ben_vulpes: asciilifeform: it's all dead. we live in the ashes.
asciilifeform: http://www.yomura.com.tw/double-injection.html << illustration.
ben_vulpes: release your attachment to the perfect devices of years past, it but causes you suffering
ben_vulpes: http://logs.bvulpes.com/trilema?d=2017-9-12#202821 << my favorites, just like engines! proper engine should be house-sized thing; run in steady state or not at all.
mimisbrunnr: Logged on 2017-09-12 01:00 asciilifeform: i even have comps with no input mechanism at all!111
asciilifeform: how about no.
asciilifeform: and i ain't eating 'american cheese' either.
ben_vulpes: every man in teh failed states of americastan gotta pick which things to salvage from the midden to cobble a life together from.
asciilifeform: i spend 14+hrs/day with the thing in my hands, and it makes a difference.
asciilifeform: would you eat from trough made for a pig ? that's what using plebekbd feels like.
asciilifeform: it is a deliberately crafted insult to actual people.
ben_vulpes: i eat from tin pans i salvage from the midden, just like you.
asciilifeform: speaking of which, and before it gets lost upstack, i still dun have a modular mult
asciilifeform: this is in fact the only item holding up release of 'p'.
asciilifeform: if ben_vulpes et al want to try their hand , i'll read
ben_vulpes: i am very behind on adaquest
asciilifeform: forget for a moment ada
asciilifeform: it's a mathematical problem purely
ben_vulpes: also behind on ffaquest
asciilifeform: again you don't need to state it in compilable ada
asciilifeform: you have the following primitives : multiplier ( 2 N-bit numbers -> 1 2N-bit number ); adder ( ditto ); subtractor ( ditto ); muxer ( 2 N-bit numbers, 1 single-bit number, yields one or the other N-bit depending on that single bit ) ; logical ops (and/or/xor/not) ☟︎
asciilifeform: that's it
asciilifeform: there is also division but it is RUINOUSLY expensive
asciilifeform: goal is, state a modular multiplier , takes A, B, N, (each is a B-bit number) and yields a B-bit result R, where R = a*b mod N .
asciilifeform: ( the rsa operation, the one and only, is modular exponentiation. but it is made trivially from modular multiplication . )
deedbot: http://qntra.net/2017/09/far-left-media-covers-for-violent-even-further-left-ists-assault-on-landscaping-vehicle/ << Qntra - Far Left Media Covers for Violent Even-Further-Left-ists Assault on Landscaping Vehicle
ben_vulpes: ty BingoBoingo
deedbot: http://phuctor.nosuchlabs.com/gpgkey/DA87978CF6FFCF25718681CFA15297476FC99BCEF0F5FB9DE3EAA5DC3326D5DA << Recent Phuctorings. - Phuctored: 1768...8957 divides RSA Moduli belonging to '81.209.12.243 (ssh-rsa key from 81.209.12.243 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (da243.netikka.fi. FI 12)
deedbot: http://phuctor.nosuchlabs.com/gpgkey/DA87978CF6FFCF25718681CFA15297476FC99BCEF0F5FB9DE3EAA5DC3326D5DA << Recent Phuctorings. - Phuctored: 1776...0149 divides RSA Moduli belonging to '81.209.12.243 (ssh-rsa key from 81.209.12.243 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (da243.netikka.fi. FI 12)
asciilifeform: i forgot to mention bit-shifts , but these are obviously also available.
deedbot: http://qntra.net/2017/09/preet-reduced-to-panhandling-disc-jockey-again-demonstrating-costs-of-opposing-republic/ << Qntra - Preet Reduced To Panhandling Disc Jockey, Again Demonstrating Costs Of Opposing Republic
mircea_popescu: in other news, https://elaineou.com/2017/09/11/fiat-institutions-in-virtual-worlds/
asciilifeform: oyeah notbad, i spent coulplea hrs reading her pieces
asciilifeform: why isn't she here, again
mircea_popescu: "Elaine Ou is a blockchain engineer at Global Financial Access, a financial technology company in San Francisco."
mircea_popescu: conceivably, scheduling conflicts ?
asciilifeform: lol possiblywhy.
mircea_popescu: but anyway, afaik retired academia, stanford whatever.
mircea_popescu: http://btcbase.org/log/2017-09-12#1712538 << this is not a bad point, showing a fine understanding of the history of huma nthought. fabrication of wear resistant small pieces went through a century old porcelain phase yes. ☝︎
a111: Logged on 2017-09-12 17:49 BingoBoingo: * asciilifeform seriously considered getting one done << Eh, go porcelain. Make and fire just like tile. Turk up your keys!
mircea_popescu: possibly not a good fit for kbd depending on how hard you hit.
asciilifeform: discussed in thread
mircea_popescu: yes but your discussion is weak. porcelain is harder than you understand.
asciilifeform: very very hard
asciilifeform: that ain't the problem
asciilifeform: problem is brittle.
mircea_popescu: not as brittle as steel.
asciilifeform: mno.
asciilifeform pictures mircea_popescu posting from frozen wastes of pluto, where steel is brittle
mircea_popescu: every material is to a degree brittle much like every material is to a degree warm.
ben_vulpes: mircea_popescu: under what conditions is steel more brittle than ceramic?
mircea_popescu: problem with porcelain is weak internal bonding, not brittleness.
asciilifeform: well yes, 'brittle' is shorthand for 'too brittle'
mircea_popescu: intuitively it may seem "oh, it's brittle", because whatever, dropped mom's china. but this intuition is wrong.
asciilifeform: but i do wonder if this could be dealt with by mixing in steel wool or fibre or similar
mircea_popescu: ben_vulpes under equal conditions!
mircea_popescu: asciilifeform that's how it's dealt with, yes. improved mix, it's not straight up enammeled clay eh.
asciilifeform: ( a la ferrocement )
mircea_popescu: ben_vulpes understand, MOST historical porcelain ever made survived. this is very not true of steel, which ~all broke.
ben_vulpes: mircea_popescu: oxidization plays a role in the loss of steel
asciilifeform: not 'fair fight', iron rusts
asciilifeform: ^
mircea_popescu: HA!
mircea_popescu: very fair.
ben_vulpes: see the recent discovery of cavalier swords at hadrians wall
ben_vulpes: buried under concrete, anaerobic environment, nearly everything survived
mircea_popescu: understand : if you spent your million dollars to buy knight's sword, it came with a "will not make it 20 years" guarantee. if spent same million dollars to buy china set, it came with "forever as long as your family line shall be" guarantee.
mircea_popescu: very opposite items.
asciilifeform: forever << or until you ding it
mircea_popescu: (million dollars is perhaps not enough to buy either, but let's pretend fiatola has some modicum of value)
mircea_popescu: asciilifeform both items used in the intended manner. sword, as sword, cup as cup.
ben_vulpes: anyways, same-dimensioned columns of steel and china/ceramic; ceramic column will assplode under load that steel blinks at
mircea_popescu: but this hides the proper argument. ben_vulpes would you say "paper is stronger than spider web, i can tear the latter without noticing" ?
mircea_popescu: ben_vulpes not so. dimension here is not properly taken as "same kg" or "same m3"
ben_vulpes: for engineering considerations it most certainly is
mircea_popescu: it is a very uninformed argument. in point of fact the "Fragile" spider web is one of the strongest materials known.
ben_vulpes: need to know, or heuristicate, how much ceramic to make the handle out of
mircea_popescu: similar situation with porcelain, counterintuitively it is rather unbrittle.
ben_vulpes: paper and spider silk have vastly different densities
ben_vulpes: different ~everything; what, make me a strand of wood fiber as thin as spider silk and let's test it
mircea_popescu: which is why proper dimensional comparison counts relevant dimensions, not intuitively familiar ones.
mircea_popescu: notwithstanding that in many applications in the past back when we were 3 yo those were equivalent categories.
ben_vulpes: well this is the job of engineer, select correct materials for correct applications.
mircea_popescu: so far, job is select correct comparison.
ben_vulpes: myeah, dent test don't make so much sense applied to ceramics
mircea_popescu: we weren't discussing an application ; we were discussing a fact.
mircea_popescu: facts aren't open to engineering, they're the subjects o' science.
mircea_popescu: hence material science and materials engineering are different disciplines.
asciilifeform: upstack : i've dropped a wrench on my model-f keys, and 0 chipped. ☟︎
ben_vulpes: mircea_popescu: is trying to slip into the crack between 'science, indisputable facts!' and 'can't make a sword blade out of ceramic dummy, wrong situation'?
asciilifeform: can say same for ceramic ? which one ?
mircea_popescu: asciilifeform i wasn't aware your design envelope was going to randomly expand to "i want a wrench droppable kbd now too".
mircea_popescu: originally it was fingers and it-against-itself.
asciilifeform: it is good proxy for decades of whanging
mircea_popescu: but anyway, the original point was, that "abrication of wear resistant small pieces went through centuries of being porcelain based".
mircea_popescu: and thjis for a very good reason.
mircea_popescu: asciilifeform horrible proxy.
mircea_popescu: all it does is exclude porcelain.
trinque: "she has to fuck well, whether or not dropped off a building!"
mircea_popescu: ~equivalent of "and policeman must not be black"
asciilifeform: i'd incidentally be entirely open to buying porcelain keys, if anyone knew how to make these to the req'd dimensional tolerance, and see what happens
mircea_popescu: anyway, re the original design constreaints : porcelain way the fuck better than plastic for "dbl injection cast mold in qty of one"
asciilifeform: ( the tricky bit re tolerance, is the piston )
mircea_popescu: trained slavegirl can make you these by hand in an afternoon, whole set of beautiful keys.
asciilifeform: mircea_popescu: for my enlightenment, how wouldja double-shot porcelain ?
mircea_popescu: you don't lol. you paint it.
asciilifeform: lol!!!
mircea_popescu: you know, just like they do.
asciilifeform: wears.
mircea_popescu: nope.
asciilifeform: sure as fuck will wear after kilometres of acidic finger-rub.
mircea_popescu: you know not what you speak of, my man. and this time it's sad. go look at the art of the past would you!
mircea_popescu: it will NEVER.
asciilifeform: nobody fondled those all day, every day.
mircea_popescu: you know what a faberge egg is for instance ? ☟︎
asciilifeform: sure
mircea_popescu: how is it made ?
asciilifeform: paint
mircea_popescu: "do you know x ?" "i saw an x once for five minutes"
mircea_popescu: nut.
asciilifeform: but no i dun have one here on my desk
mircea_popescu: there's no squirreling away out of studying THIS particular end of art.
mircea_popescu: go, do. great reads, great topic.
mircea_popescu: meanwhile, let us point out the logical next step on porcelain fabrication, which louis & friends were engaged in at the time of their unfortunate beheadal
mircea_popescu: so we never got to see it, would have been ruby-injected-with-saphire.
mircea_popescu: and similar, emerald-and-citrine "double injection molds
asciilifeform: lolwat
mircea_popescu: the point being, that this here thing you've stumbled upon is actually a humongous cut branch of the tree of engineering.
mircea_popescu: and, contrary to diderot & wikitards "reality", there was in fact fascinating work ongoing in the ancien regime.
asciilifeform: materials is 95% of actual engineering noshit.jpg
mircea_popescu: myeah. but pre-1797 it was very much QUALITY driven
asciilifeform: and yes the french gave us the screwcut lathe and more or less everything
mircea_popescu: rather than a mass endeavour.
asciilifeform: absolutely. mass shitware simply not existed yet.
mircea_popescu: and thus the question was very much in a similar vein to your kbd from before ; and the last time in human (ie, european) history this was the case.
asciilifeform knows this
mircea_popescu: and y'all have to thank bb for mentioning this, because i don't take iron to the wood so to speak.
BingoBoingo: <asciilifeform> problem is brittle. << Porcelain has a range of possible brittles. There are procelains sufficiently not fragile-brittle to take substantial foot traffic
asciilifeform: foot is not a shock
mircea_popescu: another problem with the intuitive notion of brittleness is that it is poorly defined in the first place.
mircea_popescu: asciilifeform everything is a shock to some degree!
asciilifeform: if you wouldn't bolt it to a kalash -- it is too brittle.
mircea_popescu: dude...
BingoBoingo: <asciilifeform> foot is not a shock << Not everything that consitutes foot traffic is footsteps
asciilifeform: BingoBoingo: if dropped wrenches are part of 'foot traffic' then we agree
mircea_popescu: man pizza is part. so are various vehicles (such as de-icers) and etc.
BingoBoingo: Dropped wrenches, caster wheels, etc
BingoBoingo: <mircea_popescu> man pizza is part. so are various vehicles (such as de-icers) and etc. << AHA
mircea_popescu: (if you think "oh, man-pizza is soft np" have your girlfriend fall a coupla feet on top of you from say a fuck sling, get back to me.)
asciilifeform: nah not soft
asciilifeform: good test
asciilifeform: ( recall also 'frozen chicken test' in aviation )
mircea_popescu: well... the 200lb man it's not as kalahsh-SOUNDING as the 3 lb wrench!
mircea_popescu: and what is a spine, or fractured ribs with thereby fine points.
BingoBoingo: <asciilifeform> i'd incidentally be entirely open to buying porcelain keys, if anyone knew how to make these to the req'd dimensional tolerance, and see what happens << You solve this with grout
asciilifeform: BingoBoingo: not grout, but individually lapping on a lathe. nasty.
mircea_popescu: BingoBoingo he solves it by fucking getting up to speed with 18th century art as an engineering practice!
BingoBoingo: ^ AHA
BingoBoingo: Anyways you grout tile-keys to switch
mircea_popescu: you can formulate porcelain so it adheres to a metal lattice stronglier than the actual metal!
asciilifeform: BingoBoingo: there is no 'switch', there is a piston fitting a barrel
BingoBoingo: Fine grout to top of piston
mircea_popescu: so you have your letterface "A" made out of gold and then the porcelain put around it.
asciilifeform: https://www.modelfkeyboards.com/wp-content/uploads/2016/01/animation-final-black-2.gif << likbez ☟︎
BingoBoingo: <asciilifeform> https://www.modelfkeyboards.com/wp-content/uploads/2016/01/animation-final-black-2.gif << likbez << Plenty of room to grout to top of machined piston
asciilifeform: i did at one point consider glass
asciilifeform: ( aluminized )
mircea_popescu: glass is a kind of porcelain for the needs of this discussion
mircea_popescu: as you'd use lead-alum-borax-doped glass
mircea_popescu: (also "not brittle" item in same sense, at that)
asciilifeform: but yes this deserves to be settled experimentally. nao how to make pistons, cylinders, flappers...
mircea_popescu: (for the curious : porcelain is heat-rearranged Al2 Si2 05 (OH)4 ; glass is more generally heat-rearranged Si + metal)
mircea_popescu: the microscopic reason it is such a strong material is the oxigen-linked silica crystaline patterns that form.
mircea_popescu: the reason steel loses out is that the carbon is a shittier oxigen (more valences, weaker valences) and iron a dubious silicate.
shinohai: !~later tell BingoBoingo http://wotpaste.cascadianhacker.com/pastes/ofS4q/?raw=true
jhvh1: shinohai: The operation succeeded.
mircea_popescu: a fine example : porcelain does not swell. metals dilate significantly. suddenly, a different sort of brittle emerges.
asciilifeform: ductility is not 'different sort of brittle' omfg
mircea_popescu: asciilifeform i was discussing the above "intuitive notion of brittleness is useless"
asciilifeform: take iron, and get fatigue -- vs -- take ceramic, and get brittle - is a very real engineering tension
asciilifeform: sorta why we have ferrocement
mircea_popescu: your definition of "ceramic" is not mine.
asciilifeform: ( these are not even fully disjoint concepts; there is even such a thing as 'metallic glasses' )
mircea_popescu: yes.
mircea_popescu: the important categories in this discussion are metals (ie, materials where the electrons don't sit with their atom ; form cloud. these -- always conductive electrically) ; porcelains (or glasses, or ceramics, or how'd you call them) and then plastics (polymerized item).
mircea_popescu: in this discussion wood is a plastic. and other such intuitively-surprising items.
ben_vulpes enjoying the surprises
mircea_popescu: (in fact, there's precious few examples known in nature where we actually have the http://btcbase.org/log/2017-08-28#1704342 spider/coli/etc. trees are readily the largest -- "how to get natural item to secrete high quality plastic???") ☝︎
a111: Logged on 2017-08-28 23:27 mircea_popescu: asciilifeform im strictly going by the above "woman will do anything you wanrt provided it is what she ewas goping to do anyway". afaik, spiders do actually make variants of it.
mircea_popescu: (and yes, wood is a plastic is the key to ANOTHER side of "you didn't read up on your art in college, you lose" surprisebox. because yes, wood will do the "Doluble injection cast mold". it was the arab world equivalent of chinese china. look up "mother of pearl"
mircea_popescu: if you make your key of ebony or some other high quality wood and the letterface out of say mother of pearl, you have a very good wear profile item as well.
mircea_popescu: these, amusingly, were also driven by similar processes as the pre-usgification of europe, ie "gotta impress the single solitary unique sultan"
mircea_popescu: (and for moar lolz, take http://btcbase.org/log/2017-09-12#1712656 etc. these were meant to be SAT on. "oh, ass is soft" "you think so ?" etc.) ☝︎
a111: Logged on 2017-09-12 19:31 asciilifeform: upstack : i've dropped a wrench on my model-f keys, and 0 chipped.
mircea_popescu: (nacre, if you're curious, is the natural alternative to porcelain ; some molluscs even manage iridiscent porcelain non-nacre lining, which is why gigas pearls are valuable)
mircea_popescu: in the simplest sense, mother of pearl is discs of calcium carbonate "glass" suspended in chitin (the insect plastic equivalent of celulose ; same thing as makes hair in mammals.)
mircea_popescu: the important point, however, is that nacre has a young's modulus as high as 100. (young modulus being a reasonable measurement of an aspect of intuitive "brittleness".)
mircea_popescu: after an euler original, no less!
asciilifeform pictures mircea_popescu's keyz with perlmutter inlays
mircea_popescu: it's not even so expensive, in today's terms. if only we didn't live among anodyne barbarians and the tech stack all rotten away.
asciilifeform: for completeness also oughta mention ivory
mircea_popescu: but a kg of mother of pearl is cheaper to get than a kg of useful slavegirl. put some shell in a tank.
mircea_popescu: ivory is actually not proper part of this discussion. not either very good or very valuable, british "tea" nonsense.
asciilifeform: dunno, worx on piano keys neh
mircea_popescu: i doubt you saw a piano that had non-bachelite keys
asciilifeform: did see, but only because specially set out to.
mircea_popescu: but, "teeth of your enemies" always and everywhere indicated substitute to "teeth of surviving mamooth"
mircea_popescu: it's just dentine, nada mas.
asciilifeform: reasonably good material
mircea_popescu: (all teeth are the same material, be it a lizzard's or your mom's ; it's a calcium hydrated salt.)
mircea_popescu: yes but why specify a dubious source for it. you want tooth, beat up some antifa hipsters, take their teeth make kbd.
mircea_popescu: you'll run out of elephants before you run out of stupid.
asciilifeform: they dun have fist-sized tooth afaik
asciilifeform: ( or even model-f key-sized )
mircea_popescu: you can rebake this ; or grow it. it's not some mystical secret itam.
asciilifeform: if yer sintering, just use modern material neh
mircea_popescu: ikr ? which is why yes decent material, not so much used.
mircea_popescu: bear in mind dentine is like 2.5 mohs. so not so great (which is why enammeled in actual firing-in-field tooth)
asciilifeform: troo
mircea_popescu: anyway, only reason dentist doesn't bake you a new dentine layer is the temperature involved ; in a lab you can make arbitrarily large un-enammeled tooth.
mircea_popescu: but generally wouldn't want to ; fake teeth are not made this way because not really good enough.
asciilifeform wonders if any dentist knows how to laser sinter yet
mircea_popescu: yup. except not cost effective so far, porcelains have a century of refinement in dental prothesis supporting them
mircea_popescu: (incidentally, fake teeth are a metal cap with a porcelain top. very wear resistent, you chew 30 years on them)
mircea_popescu: well, there's also the screw-ins, but same principle.
asciilifeform: this, i would buy for kbd. but it is not a low-tech item, not the least bit a 'simply bake, like a pot'
mircea_popescu: but way the fuck cheaper than making plastic injection molds for a run of one.
asciilifeform: dunno if you could get the req'd tolerances without something entirely like injection mold.
asciilifeform: ( for either )
mircea_popescu: ie, a dentist's lab out of ten probably has a graybeard who could make you the keys for pay. considering what the item costs irl, prolly >1k <10k for the whole key set.
mircea_popescu: asciilifeform things that fit in mouths are very fine indeed.
mircea_popescu: and they do a sort of by-hand injection into hand-made molds, yes.
asciilifeform: it's an idea
mircea_popescu: Sep 12 14:43:18 <asciilifeform> it's an idea
mircea_popescu: Sep 12 14:43:18 * Rothbart (51674d2b@gateway/web/freenode/ip.81.103.77.43) has joined #trilema
mircea_popescu: Sep 12 14:43:18 * Rothbart is now known as rothbart
mircea_popescu: Sep 12 14:43:18 * mircea_popescu has quit (Ping timeout: 240 seconds)
mircea_popescu: Sep 12 14:43:18 * Disconnected (Remote host closed socket).
mircea_popescu: if anyone can explain wtf sense this makes...
asciilifeform: fleanode fleas bite
mircea_popescu: !!up rothbart
deedbot: rothbart voiced for 30 minutes.
mircea_popescu: srsly, 240 seconds since the microsecond previous n lines ? pshaw.
rothbart: I've registered a public key with the bot, but haven't verified it yet (key was generated on GPG4Win) - should I start over from my Linux box, with a new public key?
deedbot: http://qntra.net/2017/09/buttfunex-preparing-for-another-insertion-sorry-for-your-loss/ << Qntra - Buttfunex Preparing For Another Insertion: Sorry For Your Loss
asciilifeform: rothbart: it wouldn't hurt
rothbart: asciilifeform - cheers. I read the article about the Cardano, but don't see it on NSA site?
asciilifeform: rothbart: it mutated into a different item, FUCKGOATS
rothbart: oh - but that does something rather different
asciilifeform: rothbart: ( summary : we discovered that gpg is a turd, and is to be burned down, not encased in iron )
rothbart: triage issue?
rothbart: aha
rothbart: I'm still busy dumping my bcrash safely; but a friend and I will be buying a few once we're done :)
asciilifeform: rothbart: still waiting for shitcoin node to sync ?
asciilifeform: mine took more than a week
trinque waiting on a turdnode as well
rothbart: asciilifeform - haven't even started syncing it yet - still processing the plan in light of your advice (ie. sweeping via trb first)
rothbart: it's all quite complicated, since I've been using Armory to manage my keys
mircea_popescu: http://btcbase.org/log/2017-09-12#1712588 << i freely admit so well formalized this is a tantalizing problem. how slow is the obvious "multiply x and y, substract modulus from result until result smaller than modulus" ? ☝︎
a111: Logged on 2017-09-12 18:23 asciilifeform: you have the following primitives : multiplier ( 2 N-bit numbers -> 1 2N-bit number ); adder ( ditto ); subtractor ( ditto ); muxer ( 2 N-bit numbers, 1 single-bit number, yields one or the other N-bit depending on that single bit ) ; logical ops (and/or/xor/not)
asciilifeform: mircea_popescu: ruinously
asciilifeform: it's an O(N^3) op
asciilifeform: and it happens B^2 times ☟︎
mircea_popescu: ok, how slow is the following heuristicized approach :
asciilifeform: (B being bitness )
asciilifeform: i am referring, of course, to the standard shift-and-substract knuth division, which is in the previously posted ffa
mircea_popescu: 1. multiply x and y ; 2. count bits of result ; 3. count bits of modulus ; 4. multiply modulus with count2 - count3 and test if larger than result. if not, substract. if yes, multiply with count2-count3-1 and do the same. repeat until result smaller than modulus.
asciilifeform: ^ you just described knuth division lol
mircea_popescu: oh damn
mircea_popescu: right you are.
mircea_popescu: this is a great fucking problem though.
asciilifeform: and it is not only O(N^3), but when you modularly exponentiate it actually gets done B times, and not to B-sized inputs, but 2B ( because we have a multiply and then also a square, in each step of the B-step modular exponentiation bitwise )
mircea_popescu: myeah.
mircea_popescu: asciilifeform do you know how to ffa-base-convert ?
asciilifeform: to arbitrary base ?
mircea_popescu: yes.
asciilifeform: what would that do ?
mircea_popescu: take last digit, done.
asciilifeform: other than taking away O(1) machine shifts
asciilifeform: which are the only reason we are able to do anything reasonably efficiently at all
mircea_popescu: i tried the haskell approach to "Solving" problems, whadda ya want from me.
asciilifeform: lol
mircea_popescu: let it not be said no one here speaks haskell.
asciilifeform: i've been fighting with the modular mult thing since july
mircea_popescu: "what do you mean this problem is hard, i have a half baked item in my head i pompously call abstraction in which it is EASY!!!"
asciilifeform: the literature has been screamingly, frothing-at-the-mouth antihelpful
asciilifeform: ( EVERYBODY, without exception, 1) did something intrinsically nonconstanttime 2) lied about it in print )
mircea_popescu: what about off-by-ones lessee
asciilifeform: and oh did i mention 3) idiot specialforms (e.g. barrett's) , because if mother dropped you as a child specialform constraints on moduli seem like ok idea
asciilifeform: the approach i've been (futile, so far) taking is, to find a way to interleave modularization into karatsuba
asciilifeform: ( because if you are doing anything other than karatsuba for mult of whatever variety, you're sunk )
rothbart: asciilifeform: will I need to redownload the blockchain on trb?
asciilifeform: rothbart: where did you get your existing one ?
rothbart: core
asciilifeform: then yes
mircea_popescu: rothbart if you have it in a portable data format, can just feed it into trb
mircea_popescu: but otherwise, prb much like any other windows app does not natively produce data in portable format.
rothbart: I've been trying to grok the segwit "theft" incentive - as the bounty grows, so does the PoW defending it - doesn't this keep the segwit outputs safe? ☟︎
mircea_popescu: how did you reason to arrive to that ?
mircea_popescu: there is no pow in segwit.
mircea_popescu: whole fucking point of segwit is to try and take pow away.
asciilifeform: mircea_popescu: the classical ffa exponentiator, for reference, looks like http://wotpaste.cascadianhacker.com/pastes/S4dWM/?raw=true . the ~modular~ exponentiator must look like http://wotpaste.cascadianhacker.com/pastes/AiB9t/?raw=true . however it needs 'first, steal the chicken', i.e. FZ_Mod_Mul and FZ_Mod_Square .
rothbart: as in, the attacker would be doing a chain rewrite in order to keep the segwit outputs on his fork?
mircea_popescu: rothbart that made no sense.
rothbart: wouldn't he have to redo all that PoW since segwit wen't active on his fork?
mircea_popescu: no.
rothbart: I've read the logs, still confused about this
mircea_popescu: let's drop the math for a moment and delve. at time t0, bitcoin works. at time t1, some wreckers under "public pressure" as discussed well in http://trilema.com/2013/digging-through-archives-yields-gold/ attempt to attack this bitcoin that works, by producing an alt-bitcoin, that does not work. the specific way in which the alt-bitcoin thatr does not work "works" is by deeding (exactly like deedbot) some strings into the bitc
rothbart: does the attacker just build upon the main chain, then; sending all the segwit outputs to himself?
mircea_popescu: oin chain. on the basis of these mystery strings, OTHER PARTIES, which ARE IN NO WAY BOUND TO THIS, alloocate wholly imaginary bitcoins to the sort of imbeciles who buy into this scheme (always and everywhere, the stupid poor. to them it makes sense, they've nothingh to lose anyway)
mircea_popescu: now then. at time t2, any of those involved, or any third party, simply SPENDS that bitcoin.
mircea_popescu: the t1 wreckers may yell all they want this "is not right". but in bitcoin longest chain prevails, and so the story ends
mircea_popescu: (to be, of coruse, rehashed again and again forever, like mike gavin's asshole.)
mircea_popescu: rothbart yes.
rothbart: ok, think I've got it
rothbart: how is it that the power rangers are all BLIND to this?
mircea_popescu: (always and everywhere, the stupid poor. to them it makes sense, they've nothingh to lose anyway)
rothbart: anyone, at any point, can claim all segwit outputs - all they need to do is solve the 80bit hash or whatever?
mircea_popescu: but whatever, i don't mind making money out of mit's "blockchain of the future", like i didn't mind fleecing "ripple" or cashing btc crash. free bitcoin will continue for as long as usg can draw breath, i'm not against. let them lose what they can't invest.
mircea_popescu: rothbart they don't need to do anything.
mircea_popescu: just mine a block with it spent, and that's that.
mircea_popescu: rothbart you're perhaps too new to know this, but the PREVIOUS time there was "miner consensus" it turned out the miners that "voted" and "supermajority" didn't give the slightest shit about the whole thing, and did NOT actually implement what they were misrepresented as having supported.
mircea_popescu: so the chain forked.
mircea_popescu: the exact same will happen again. "oh, you had a consensus ? lol."
mircea_popescu: asciilifeform how about something like squares interpolation ?
asciilifeform: mircea_popescu: elaborate?
mircea_popescu: asciilifeform if you maintain a list of the mod and it squares
asciilifeform: that ain't constantspacetime
mircea_popescu: ie, all the trivial polynomials of the mod, see ? x, x^2 + x, x ^ 3 + x etc etc
mircea_popescu: o fuck already.
asciilifeform: this is called slidingwindow and it's what koch does.
mircea_popescu: yes yes
mircea_popescu: THE PROBLEM WITH MATHS IS OTHER PEOPLE GOT HERE FIRST
asciilifeform: lol
mircea_popescu: !!up rothbart
deedbot: rothbart voiced for 30 minutes.
mircea_popescu: fix your key already would you.
asciilifeform: http://wotpaste.cascadianhacker.com/pastes/uLQBe/?raw=true << karatsuba, for reference ☟︎
rothbart: yea, sorry - I'll do it properly on my Linux box - just got so many questions!
rothbart: can I just register a new public key with deedbot, without revoking the old one?
mircea_popescu: on a new name.
mircea_popescu: but you can also update the old one, easier and safe.
mircea_popescu: (in a sense, key update with deedbot is like bitcoin spending!)
rothbart: having some trouble decrypting the message deedbot sent me
asciilifeform: ( nao if only modulus were a distributive operation ! then could take mod for each of the 3 addition arguments inside karatsuba, and we'd be golden )
mircea_popescu: heh.
mircea_popescu: asciilifeform how is mod not distributive!
mircea_popescu: 14 mod 5 + 11 mod 5 = 25 mod 5!
asciilifeform: xy = (a+b+c), but xy mod n != (a mod n)+(b mod n)+(c mod n)
asciilifeform: sadly.
mircea_popescu: of course it is ?
asciilifeform: try it yerself
mircea_popescu: it is distributive in this sense at a minimum cost (tm).
asciilifeform: take trivial case, a=b=c=1 and n=2
mircea_popescu: gimme an a b c ill try it right here
asciilifeform: 1mod2=1, 1mod2=1, 1mod2=1, but 1+1+1 = ... ☟︎
asciilifeform: 3.
mircea_popescu: asciilifeform you understand you need AT MOST a single pass of knuth ? because it may exceed the mod but never by more than 3x ?
asciilifeform: we dun get to do this
asciilifeform: it ain't constanttimespace.
asciilifeform: no 'but first bit...' etc.
mircea_popescu: you can write this coda so it is constant.
mircea_popescu: it will be ugly but it saves lives and stays correct.
asciilifeform: if you're taking about the division, we already have this.
mircea_popescu: i am talking about how mod is distributive to addition "at a small cost".
mircea_popescu: that small cost can be slightly higher and constant time.
asciilifeform: and yes you gotta subtract ALL of the words, even if it is obvious that subtractand does not go into the scratch
asciilifeform: because again constanttime
asciilifeform: and EVERY SHOT OF EVERY SUBOP must be pessimal
mircea_popescu: so you make it. the bound is 3x the mod!
mircea_popescu: just write it all out by hand, the constanttime mod distributivetor.
asciilifeform: go upstack plox,
asciilifeform: single pass of knuth where
asciilifeform: and from where got the 3
mircea_popescu: you write by hand a function which takes a list with a promise none of the items on it exceed a mod, and returns the mod of the sum of the sum of the elements, in constant time.
mircea_popescu: THIS can be done.
mircea_popescu: then you feed the kara terms into it
mircea_popescu: and you save what, 10% of run time
asciilifeform: if you could do this, you'd save much moar than 10% , because wouldn't have division anywhere
mircea_popescu: you understand, a mod x + b mod x + c mod x may be > x, but never by more than op count * x.
asciilifeform: whereas nao we have http://btcbase.org/log/2017-09-12#1712830 ☝︎
a111: Logged on 2017-09-12 20:54 asciilifeform: and it happens B^2 times
mircea_popescu: so you just write it out.
mircea_popescu: is this making sense or should i show the function ?
asciilifeform: before you do, say how to compute the mods without division.
mircea_popescu: that is not my concern! if there IS a mod, then yo ucan apply it to the terms rather than add them first and apply to result, is all i'm saying.
asciilifeform: ( one answer is that at the very bottom of the barrel, where karatsuba hits the basecase comba mult, we permit division )
mircea_popescu: and STILL be constant.
asciilifeform: this is still a restatement of the thing i asked for tho. i do not know of a way to distribute mod.
mircea_popescu: and this is potentially recursive, in that if you have a 500 bit number with 300 ones in it, you do the mod for 500 terms which are all a power of 2, throw 200 away, keep the other 300 and add them. ☟︎
mircea_popescu: asciilifeform let me write it out then.
asciilifeform: well yes. but how the hell do i distribute mod. observe in http://btcbase.org/log/2017-09-12#1712923 it dunwork. ☝︎
a111: Logged on 2017-09-12 21:26 asciilifeform: 1mod2=1, 1mod2=1, 1mod2=1, but 1+1+1 = ...
rothbart: !!register http://wotpaste.cascadianhacker.com/pastes/ttt9u/?raw=true
deedbot: 410951F4EED9132643015A058B46D224AE9E116C is already registered as rothbart.
mircea_popescu: asciilifeform :
mircea_popescu: for simplicity, input list limited to 2 elements, but expansion obvious.
mircea_popescu: 1. sum the list.
mircea_popescu: 2. compare result to mod ;
mircea_popescu: 2.1 if larger, substract mod from it
mircea_popescu: 2.2 if smaller, add mod to it
mircea_popescu: repeat 2 until you have populated a list of equal length, and return the correct element from it.
mircea_popescu: this will always take the same ops no matter what elements are in the original list.
asciilifeform: we can't 'if'
mircea_popescu: we can, IF we do all the branches the same way!
asciilifeform: any mention of 'if' turns into 'do BOTH and then mux'
mircea_popescu: yep
mircea_popescu: exactly.
asciilifeform: and you restated knuth's division algo again
asciilifeform: with the subtract
mircea_popescu: yes, but this is very cheap here. because the elements in list are < mod
mircea_popescu: so you won't have many passes of it. just as many as elements in list at the most.
asciilifeform: http://wotpaste.cascadianhacker.com/pastes/oVOak/?raw=true << subj ☟︎
asciilifeform: for reference
asciilifeform: this is not one iota cheaper than what i have here.
mircea_popescu: that i can believe. though i expect the above is actually cheaper than adding teh numbers first and modding after.
asciilifeform: the fundamental problem is that mod is not actually distributive.
mircea_popescu: jesus fuck already.
asciilifeform: try (n+3) mod m =?= (n mod m) + (3 mod m)
asciilifeform: died pretty quickly.
mircea_popescu: because you're dedicatedly stubborn.
asciilifeform: ( do i need to list contradiction, or is it obvious )
asciilifeform: 'distributive' means that you can do the above. and you can't.
mircea_popescu: this approach of "i have a girlfriend and i am blind to all else" doesn't work with girlfriends, or anything else.
mircea_popescu: the EXTRA COST of making mod actually distributive is SMALL.
mircea_popescu: the procedure is both obvious and insistently discussed above.
asciilifeform: suggest something that doesn't reduce to my existing algo ?
mircea_popescu: i'll just pass.
asciilifeform: any other takers?
mircea_popescu: some things are just not worth the cycles.
asciilifeform: well we are talking about a O(NlogN) rsa vs a O(N^5) one
asciilifeform: so i'd say it yes would be worth cycles. if anybody knew of an algo.
asciilifeform: ( and worth keeping in mind that in ffaworld adding two B-bit integers does NOT give a B-bit integer, it gives a B+W bit one. where W is our word width. )
mircea_popescu: the algo is above.
asciilifeform: it's == to the existing one.
asciilifeform: 'restoring division' in vol2 of knuth.
mircea_popescu: nothing wrong with that!
asciilifeform: aside from the fact that i already wrote it in july -- nuffin
mircea_popescu: good for you ; but your problem isn't what you presented it as being.
asciilifeform: problem is exactly 'modular multiplication without division'
asciilifeform: exactly as was stated.
mircea_popescu: alf : "probvlem is mod is not distributive" me : "it can be made, cheaply" alf : "no, it can not" me : "here" alf : "oh, i did that back in july". then wtf are you griping about.
asciilifeform: i think we missed a step in the thread
mircea_popescu: and in today's reason #5409834 why tattoos are a bad idea : http://68.media.tumblr.com/c853da0a74a94227229869f0e9c8f35d/tumblr_nv9nfgHcTJ1stfekto1_1280.jpg
mircea_popescu: "have you thought about what'll you do about lingerie ? TRIBAL GIRLS CANT WEAR ANY!"
asciilifeform: 1) mircea_popescu describes algo for mod. 2) turns out exactly knuths's, that is in existing ffa 3) describes 'do it to each term of a+b+c in karatsuba' 4) this dun work, if it worked we would be bragging about the new 133337 recursive modular mult algo we've got
mircea_popescu: "it" in 3 is mod ? or what ?
shinohai: !~later tell danielpbarron http://wotpaste.cascadianhacker.com/pastes/IC3jF/?raw=true
jhvh1: shinohai: The operation succeeded.
asciilifeform: aha mod
asciilifeform: and yes it'd be 133337 if it worked, we would have a direct modular equivalent of karatsuba
asciilifeform: but modulus only is distributive over multiplications, not additions.
mircea_popescu: and congrats, you've closed the liar circle on yourself. the only task remaining is to establish whether alf lied when he claimed that mp's distributive-mod algo is already in his ffa since july ; or rather he lied when he claimed distributive mod would actually be useful ; or at some other juncture.
mircea_popescu: but, what you say on this topic is in some proportion not true.
asciilifeform: i was speaking specifically of the division algo
asciilifeform: that one -- we already ahve (see the paste, and the old pastes)
mircea_popescu: <mircea_popescu> "it" in 3 is mod ? or what ? asciilifeform> aha mod asciilifeform> i was speaking specifically of the division algo
mircea_popescu: go have a glass of water, this is unstable.
asciilifeform: what we do not have -- and don't have because it doesn't actually work -- is the karatsuba cut for modular mult.
asciilifeform: and if mircea_popescu writes one -- i dun care if in fortran, cobol, malbolge, whichever, so long as it's something resembling a proggy -- i promise to read.
asciilifeform: mircea_popescu: all we got atm for mod is http://btcbase.org/log/2017-09-12#1712980 . nothing moar. ☝︎
a111: Logged on 2017-09-12 21:36 asciilifeform: http://wotpaste.cascadianhacker.com/pastes/oVOak/?raw=true << subj
mircea_popescu cheated, had blackforest cake isntead of water.
mircea_popescu: well, let's try and salvage this nonsense through the mafgic of yes and no questions.
asciilifeform: i highly recommend to read the past 1st, it is not long
asciilifeform: *paste
mircea_popescu: i read it befoar. but sure, why not.
asciilifeform: it and the prev, http://btcbase.org/log/2017-09-12#1712905 . ☝︎
a111: Logged on 2017-09-12 21:22 asciilifeform: http://wotpaste.cascadianhacker.com/pastes/uLQBe/?raw=true << karatsuba, for reference
mircea_popescu: so, the paste is a division.
mircea_popescu: asciilifeform is the plan here to just keep adding reading material paper over fire ?
asciilifeform: ( this is the 'new' karatsuba, simplified, and demands powers-of-two-bitnessed operands. should be easier to read than old.)
asciilifeform: lol
mircea_popescu: now back to the issue. 1. is it true or is it false that currently sums are calculated before the modulus of the result is calculated ?
asciilifeform: true
mircea_popescu: is it true or is it false that you understand how to make modulus calculations distributive wrt addition ?
asciilifeform: nope. and nobody else does either afaik.
asciilifeform: because it dun distribute.
mircea_popescu: alright. then let me tell you how to do it, and if you fucking say you did it in july ima buy a plane ticket and hang you by the tallest petard.
asciilifeform: let's hear?
asciilifeform: ( i promise i have nfi how to do it. just like i don't know how to make 2+2=5 )
mircea_popescu: 1sec
asciilifeform: ( and what part of (a+b) mod m == (a mod m) + (b mod m) is breakable with infinitely many a,b,m values, is hard ? try it yourself )
mircea_popescu: alrigthy, so. you take a list of numbers. you add these numbers. you write the result down. you compare this result with the modulus. if the result is smaller than the modulus, you add the modulus to it and write it underneath ; if larger, you substract the modulus and write it underneath. you repeat this step until you have a list of added/substracted moduli to the result AS LONG as the original list of elements. in it, you
mircea_popescu: will necessarily have the modulus of the sum. this entire procedure is constant time.
mircea_popescu: happy nao ?
asciilifeform: waitasec didja.... add them?!
mircea_popescu: yes.
asciilifeform: i thought you had algo for not having to add'em
asciilifeform: so as not to feed a massive turd into an O(N^3) division algo
mircea_popescu: what you feed to this algo is the a mod x
mircea_popescu: not the a itself.
asciilifeform: but instead 3 smallers
mircea_popescu: and what it spits out is the (a+b+c) mod x.
asciilifeform smashes head into desk
mircea_popescu: what!
asciilifeform: karatsuba terms a+b+c ( k. squaring, for simplicity. mult. has four of'em ). we want a+b+c mod m.
asciilifeform: if you allow a+b+c addition to take place, you have exactly same proggy i have now.
mircea_popescu: you don't do that.
mircea_popescu: let's take fucking numerical examples already. a = 349087340 ; b = 1209843095 ; c = 753059056. mod = 5.
asciilifeform: ok...
mircea_popescu: bad list
mircea_popescu: let's take fucking numerical examples already. a = 349087340 ; b = 1209843095 ; c = 753059056. mod = 7.
asciilifeform: waaait why bad
mircea_popescu: cuz first two are 0's.
mircea_popescu: trivial case, not my intention.
asciilifeform: lolk
asciilifeform: plz carry on
mircea_popescu: you could do a+b+c = 2311989491 mod 7 = 0.
mircea_popescu: you can ALSO do : 349087340 mod 7 = 0 holy motherfucking crap omfg what is this.
mircea_popescu: how did i mash a random number mod 7 already.
asciilifeform: ahahahahahaha
mircea_popescu: let's take fucking numerical examples already. a = 349087340 ; b = 1209843095 ; c = 753059056. mod = 17. << final!
asciilifeform: tkae 4 primez plox
asciilifeform: so as to avoid this.
mircea_popescu: tell you what, you shoot three values.
asciilifeform: ok:
asciilifeform: a=5, b=7, m=11
mircea_popescu: 8 digit numbers plox.
mircea_popescu: smallints confuse the issue.
asciilifeform: ok:
asciilifeform: 1433293, 7926803, 9266137
mircea_popescu: ty.
mircea_popescu: now then : you could do 1433293 +7926803 +9266137 =
mircea_popescu: 18626233 which mod 17 is 13
asciilifeform: last one was supposed to be mod
asciilifeform: ( i thought we were doing a+b )
asciilifeform: but sure
mircea_popescu: you can ALSO do : 1433293 mod 17 is 6 ; 7926803 mod 17 is 9 ; 9266137 mod 17 is 15.
mircea_popescu: you feed into my above function the list 6, 9, 15. it adds them : 30. it then writes down 30 -17 ie 13. it then writes down 13 + 17 = 30. it has peroduced a list as long as the original (3 elements), among which the SECOND is the modulus of 1433293 +7926803 +9266137
mircea_popescu: though it never added 1433293 +7926803 +9266137 ; it added 6 and 9 and 15.
asciilifeform: now what happens if the inputs are not coprime ?
mircea_popescu: try it yourself!
mircea_popescu: put numbers in here, i'll do it for you if you wish,.
mircea_popescu: in any case : you run it until same length list ; smallest int on it will be the correct mod. always terminates, always constat time etc.
mircea_popescu: no need to even define length of list.
asciilifeform: i'ma need to find a proof that this holds for all integers. ☟︎
asciilifeform: but aside from this , it isn't clear to me that it saves any cycles
mircea_popescu: well, i dunno how expensiuve addition is and how much it adds to the mod.
asciilifeform: the modulus is same bitness as the operands, and is not small.
mircea_popescu: but it certainly holds for all ints.
mircea_popescu: but the original idea was that it is indeed cheaper to mod the parts than the whole sum.
asciilifeform: only if we did not then have to sum'em ( the 30 in the example )
mircea_popescu: asciilifeform well, modulus bitness sum as opposed to N bitness sum. but sure.
asciilifeform: modulus bitness == operand bitness. this is ffa after all.
asciilifeform: all bitnesses -- same.
mircea_popescu: it is also extensible in the sense that if you wish to compute the mod of a 512 bit number, you can cut it up into as many powers of two as there are 1's, feed it into this, and get a modulus.
asciilifeform: except we dun get to use 'where there are 1s'
mircea_popescu: this may or may not be cheaper ; but in general you would build a list of the pre-calculated mods of all the powers of 2 up to your bitness and save that to save on work.
asciilifeform: mircea_popescu: that's the kochian table approach
mircea_popescu: aha.
asciilifeform: which is somethign we specifically aint doing
asciilifeform: whole point of ffa, is this notdoing
mircea_popescu: but the important point re that, is that whenever they use a reduced matrix we can STILL use the ufll matrix!
mircea_popescu: it's not automatically bad just for being a list ; you don't have to pare it down.
asciilifeform: it is bad for being indexed by a secret
mircea_popescu: you don';t have to index.
asciilifeform: which is an instant cache death.
mircea_popescu: at all.
asciilifeform: you do if you want to get anything out of having a table
mircea_popescu: consider the number 97. is is 1100001. they do mp_mod (2^6, 2^5, 2^0) ; you can do (2^6, 2^5, 0* 2^4, 0* 2^3,0* 2^2,0* 2^1,2^0). the list method will sitll work, but this time in constanttime.
asciilifeform: i dun see what this gives you tho
mircea_popescu: whether this approach is actually faster than the current mod of 97 as implemented via knuth is open to discussion, i guess.
mircea_popescu: well i have nfi, haven't profiled the thing.
asciilifeform: as far as i can see it is exactly same
asciilifeform: but with moar space overhead.
mircea_popescu: i personally like the formalism of it ; but whatevs.
asciilifeform: ( additions produce B+W-bit ints, and these get out of hand very quickly)
mircea_popescu: asciilifeform if this is true, then the above method should be way faster.
asciilifeform: let's take the case where modulus is maxint
asciilifeform: ( all bits set )
mircea_popescu: ok.
asciilifeform: then a mod m == a, b mod m == b, etc
mircea_popescu: precompiled list of all powers of two is then 1.
asciilifeform: and you're stuck adding a+b... again
mircea_popescu: so you have a very simple case.
mircea_popescu: you just add literal 1s.
mircea_popescu: 1bit
asciilifeform: i dun get from where you got the 1s
mircea_popescu: say a number.
asciilifeform: 9266137
mircea_popescu: ok. ima just take the 137 tail cuz lazy. 137 is 10001001. we have precalculated that 128 mod 17 is 9, and that 8 mod 17 is 8, and that 1 mod 17 is 1
mircea_popescu: so now we feed my procedure above : 9, 8, 1. it returns 18, 1, 18 ie 1.
mircea_popescu: and now we know 137 mod 17 is 1.
mircea_popescu: if you want constant time, you feed the list 9, 0,0,0,0,8,0,0,1. it will do 18, 1, 18, 1, 18, 1, 18, 1 etc.
mircea_popescu: same thing.
asciilifeform: except it does exactly as many cycles as the classical method.
mircea_popescu: this holds for arbitrarily large numbers, and i suspect will be faster than classical.
mircea_popescu: i dunno about that.
asciilifeform: because we're muxing over the entire list every single time
asciilifeform: and for every new modulus, you gotta cook up a list
asciilifeform: which takes ages
mircea_popescu: i'll take your word for it if you say so ; i've not looked at them closely in comparison.
asciilifeform: this btw is also in vol2 of knuth ☟︎
mircea_popescu: heh
asciilifeform: called 'addition chains'
mircea_popescu: !#s "THE PROBLEM WITH MATH"
a111: 1 result for "\"THE PROBLEM WITH MATH\"", http://btcbase.org/log-search?q=%22THE%20PROBLEM%20WITH%20MATH%22
asciilifeform: it is ok for rsa where you sink it to the bottom of the sea and never intend to change the modulus
asciilifeform: but useless for ptronic.
asciilifeform: but actually congrats to mircea_popescu for reinventing 2 separate knuth algos.
mircea_popescu: but that inconvenience is not the same as the "Same number of cycles" claim.
asciilifeform: it is ~greater~ number of cycles, by far, if you count the 'tooling' cost of preparing the table for each new modulus.
mircea_popescu: asciilifeform im pretty sure i read the whole knuth as a teen, so it's likely just memory at work.
asciilifeform: possib
asciilifeform: incidentally there are other algos where you pre-bake a thing for a given modulus and save some cycles. montgomery's, for example.
asciilifeform: it requires a constant-time gcd, however, to be constant-time. ( and has a problem same as above in that it takes much MORE time than naive algo if you don't reuse modulus forever )
asciilifeform brb
phf: http://btcbase.org/log/2017-09-12#1712362 << i actually use this one pretty frequently when i type for identifiers, abbreviations and section headers in notes. really any time i need to type more than 2 capitalized letters in a row.. ☝︎
a111: Logged on 2017-09-12 00:50 PeterL: hmm, here's another key I never use, what does "Caps Lock" even do?
phf: http://btcbase.org/log/2017-09-12#1712367 << i've went through many layout modifications, but i finally settled on just having () and [] switched around. it's convenient both for prose and lisp (not so much heathen languages though) ☝︎
a111: Logged on 2017-09-12 01:01 PeterL: I suppose people who are not programmers do not use ( or ) much, but does anybody actually use [ and ] any more often?
phf: damn, it's a long log
phf goes to sleep instead
mircea_popescu: anyway, three points since i got a blowjob and apparently this inspires me.
mircea_popescu: 1. if you actually want metal kbd, your choice of steel is probably ill advised. i'd try silver instead. heuristicallyt there's a reason gunsmiths and silversmiths were ~the same people i nthe early modern period ; moreover silver has better properties in the range sough. ☟︎
mircea_popescu: 2. a fine example of how "i work for the web man" rots the brain, is that in an implementation of the above discussed mod-distributiver, the "common" consensus impulse would be to add a test, make sure the list elements respect the condition of <modulus. this however is very much the wrong thing ; and it is a tmsr-graduate level question to explain why and wherefore. ☟︎
mircea_popescu: and finally 3. the item there described is not exactly a function. it rather something i'd call a mechanism, a discrete item that does a fully defined thing. as we're looking more and more through ada eyes and constant time things and so on, a study of these mechanisms as an distinct category will prolly be useful. somewhere between conway's cells and commandline utils, they are. ☟︎
mircea_popescu: and in other random lulz, http://www.elmundo.es/cataluna/2017/09/12/59b6dd77468aeb545d8b4583.html
mircea_popescu: run of the mill pantsuit idiocy, but then suddenly "Es que en Rumanía todos se llaman Mircea Popescu. ¿Sabes?"
asciilifeform: mircea_popescu: silver tarnishes and has abysmal mechanical properties and why
asciilifeform: http://btcbase.org/log/2017-09-12#1713185 << the 'mechanism' is... algebra ( see also http://btcbase.org/log/2017-08-10#1696309 etc ) ☝︎☝︎
a111: Logged on 2017-09-12 23:12 mircea_popescu: and finally 3. the item there described is not exactly a function. it rather something i'd call a mechanism, a discrete item that does a fully defined thing. as we're looking more and more through ada eyes and constant time things and so on, a study of these mechanisms as an distinct category will prolly be useful. somewhere between conway's cells and commandline utils, they are.
a111: Logged on 2017-08-10 03:23 asciilifeform: what is needed is a wholly algebraic process. like my mult.
asciilifeform: ( and http://btcbase.org/log/2017-08-10#1696834 probably being canonical statement thereof ) ☝︎
a111: Logged on 2017-08-10 19:45 asciilifeform: forn00bz: an, e.g., rsa modexp, in ffa, must be representable by a long roll of paper, on it are ops for ordinary 4function calculator, with very patient slave. and roll ONLY ROLLS FORWARD and has finite # of instructions on it, known in advance when you decide the ffa width.
mod6: evenin
asciilifeform: hiya mod6
mod6: gotta catch up ...
asciilifeform: http://btcbase.org/log/2017-09-12#1713184 << in ffaworld, a < or > or == comparison is not only a subtraction (O(N)) but another O(N) test for nullity (xor all the words together) ☝︎☟︎
a111: Logged on 2017-09-12 23:11 mircea_popescu: 2. a fine example of how "i work for the web man" rots the brain, is that in an implementation of the above discussed mod-distributiver, the "common" consensus impulse would be to add a test, make sure the list elements respect the condition of <modulus. this however is very much the wrong thing ; and it is a tmsr-graduate level question to explain why and wherefore.
asciilifeform: comparing (or subtracting) 0 and 0 takes same time as maxint and maxint or maxint and 0 etc
asciilifeform: this was probably obvious to everybody tuned in, but bears restating.
asciilifeform: ( in heathen world, if the upper bit of one comparand is set, and the other's corresponding bit is not, you stop right there )
asciilifeform: re 'mechanism', also can restate : if something cannot be expressed as a boolean circuit, it is not constantspacetimeizable.
asciilifeform: everything you've seen in ffa to date, is unrollable into iron circuit.