Show Idle (>14 d.) Chans

← 2017-06-25 | 2017-06-27 →
ben_vulpes: not to piss in cheerios, but to find shared basis.
ben_vulpes: << most folks who bitch in the manner of "oh noes, rising rents and stagnant wages" have not meaningfully pursued higher wages. not a matter of "rich as know how to get" but "thought this rich was enough forever" which is very foolish.
a111: Logged on 2017-06-22 19:48 asciilifeform: << i find it lulzy that folx will happily say this to someone to whom they would ~not~ necessarily say 'kill yerself nao, slice lengthwise' . but at the same time the phrases have EQUIVALENT meaning, because at some point you are already as rich as you possibly know how to become.
a111: Logged on 2017-06-25 17:43 phf: << i suspect if you manually upped mimisbrunnr (until he implements the self voice) it would quote now
ben_vulpes: << yeah, it suxx, i hear you. probably going do the right thing like phf and use timestamps
a111: Logged on 2017-06-25 16:07 mp-en-managua: ah, ben_vulpes' thingee dun read outloud huh. also the windows original product keys are a little lengthy.
sina: heya ben_vulpes
sina: thanks for the headsup on that, looks interesting but quite different from what I'm making :P
a111: Logged on 2016-03-01 03:53 asciilifeform: mats: the idea is, a kind of line-speed (GB ethernet) wall, where crud goes in, and valid in-wot gossipd out.
sina: ben_vulpes: that is quite different from the spec :P
ben_vulpes: sina: consider your basis shared!
sina: ben_vulpes: I'm not smart enough to make what's described there, just implementing the spec I saw for amusement
ben_vulpes: << don't forget that you can put a holy 2-stroke in the secret apu slot of the slavecycle at the ghetto craft table and walk away with the prized freedombike!
a111: Logged on 2017-06-25 06:30 BingoBoingo: ben_vulpes: Felt that. The thing is gotta learn the more mundane feelings to learn the novel ones
ben_vulpes: *brapp brapp*!
ben_vulpes: on the "laptops suck" thread, now that i'm using an adult workstation most of the time, my hands start hurting after a bare thirty minutes on a 13" laptop kb
ben_vulpes: and so, adieu
BingoBoingo: ben_vulpes: AHA
BingoBoingo: chainsaw bike!
BingoBoingo: Or as an alternative there's a number of new manufacter 2-cycle scooters which do not require registration due to various "moped" exemptions. Needs to be under 50cc displacement which means riding machine with 1/4 of a lawnmower engine or twice a string trimmer engine.
sina: alright. the gossipd thingo is 0.0.1 implemented. peers can communicate, each session (fetch messages) is mediated by deedbot style OTP with per peer-pair RSA keys (no GPG shell asciilifeform, using libtomcrypt). I wrote a tiny client to add peers, exchange keys, broadcast msgs and view stored msgs. there is a README.
sina: if anyone wants to play
sina: it's still a little rough around the edges so you can break it pretty easily if you disconnect during a session or send bad data or whatever like that.
sina: pytomcrypt is the only external dependency
sina: tmsr trigger warnings: it uses sqlite, TCP, OOP but I tried to make it modular enough that those things could easily be changed. It isn't the lighthouse or linespeed thing asciilifeform has mentioned, I just tried to follow the spec on
sina: ~700 LoC
sina: TL;DR: unfixed Skylake and Kaby Lake processors could, in some
sina: situations, dangerously misbehave when hyper-threading is enabled.
sina: Disable hyper-threading immediately in BIOS/UEFI to work around the
sina: problem. Read this advisory for instructions about an Intel-provided
sina: fix.
erlehmann: sina have you checked all your input against a formal grammar today?
erlehmann: << “of course i've validated my input, officer, i swear”
a111: Logged on 2017-06-26 09:59 sina: it's still a little rough around the edges so you can break it pretty easily if you disconnect during a session or send bad data or whatever like that.
sina: erlehmann: nope hehe
sina: erlehmann: yup. if you look through the code you see I do validate inputs as they come in on the socket for example, but I noticed while I was developing that there are some more subtle edge cases and that's what I was referring to
sina: erlehmann: for example throws an error if you try to add a peer before an RSA key is available
sina: I was just happy to get the OTP working for today and will continue to increment it
sina: erlehmann: I do hope to be able to code a naughty host counter up, still thinking about that
mod6: mornin'
sina: mornin mod6
sina: I was just about to sign off for the night :)
sina: hope you have a nice day
shinohai: O hai mod6
mod6: how goes shinohai ?
shinohai: Not bad mod6 .... want to get with you later this evening on the new Makefiles thing if you have a few minutes to spare
erlehmann: > Makefiles
shinohai: Interesting erlehmann ....
erlehmann: shinohai faster smaller and more reliable than make
shinohai likes anything that can be done better w/ shell scripting
erlehmann: if your build-system is not recording two dozen dependency relationship for a simple hello world program, it is pretty much a non-build-system
erlehmann: reading the text explains that statement
shinohai: Hey the redo-dot dep graph thing is pretty nifty too!
erlehmann: i have yet to see a build system that can do so much in so few lines of code
erlehmann: shinohai for a massive real-world C++ workload, build
erlehmann: it has cmake scripts and a makefile
erlehmann: but the cmake scripts don't work well
erlehmann: and the makefile only builds the project on every second invocation
erlehmann: makelucz
erlehmann: make lulz
deedbot: << Qntra - Supreme Court Lifts Lesser Court Injunctions Against Trump Travel Bans
BingoBoingo: In not news, Buttstamp now introduce Litecoin trading to two cans and a string too
mod6: <+shinohai> Not bad mod6 .... want to get with you later this evening on the new Makefiles thing if you have a few minutes to spare << sure thing. did you get to try it out?
shinohai: Haven't gotten to try it yet, but want to run the full suite of tests as soon as I get back home this afternoon. ;)
mod6: ok, np. there are a matrix of tests that can be extrapolated from the doc.
mod6: we can discuss later though.
shinohai: kk, will ping you when I get back - sorry for the pm tag this weekend :/
asciilifeform: in other lulz >> << see also ye olde 'fly in it? i won't ~walk under it~'
asciilifeform: << fwiw i carefully read all of it. asciilifeform's verdict: very much a gabriel_laddel-ization of gossipd. does 0 of the necessary work, and drags in 5+GB of liquishit deps (python, sql, some derp's crypto lib.) the amount of this that would have to be rewritten, from the ground, is 100%. not even useful as illustration of anything, because NONE of the actually complicated moving parts of a
a111: Logged on 2017-06-26 09:58 sina: if anyone wants to play
asciilifeform: proper gossipd, are in there.
trinque: didn't a (temporarily) flying one catch fire the other week?
asciilifeform: trinque: possibly, but i missed
TomServo: In moar MIT lulz >>
asciilifeform: TomServo: lulzy. see also the infamous light bulb.
trinque: clearly needs to upgrade to the f35, it's 19 better.
asciilifeform: 'Ever since IS&T started to undergo "The Transformation", there has been a deliberate and systematic attempt to change Computing at MIT for the worse. Services that have been relied on for years have been discontinued and turned down, frequently without notice. Infrastructure critical to running MIT has been outsourced to cloud services during "emergency maintenance". Most of these changes had minimal impact on students and faculty,
asciilifeform: until IS&T suddenly and unceremoniously decided to renumber all of campus onto a private, NAT'd address space. Some buildings have already been migrated, with same-day notice, causing outages of services hosted in those buildings.'
TomServo: asciilifeform: Tis what I was (obliquely) referencing with the 'moar'
asciilifeform: hey, they gotta keep inmat^H^H^H^H^Hstudents from hosting warez/trb/etc terrorisms somehow!1111
asciilifeform: 'Although the ranges sold initially were unused, IS&T announced that the entire upper half of MITnet would be sold, and that buildings would need to be renumbered.' << holy fuq mircea_popescu was right
asciilifeform: they spent it all on... ethertardium?!
asciilifeform: picture 'upper half of british crown's jewels will be sold...' mentioned in passing in some unrelated crud
asciilifeform: 'Instead of being renumbered into publicly-accessible IP ranges, IS&T is moving all of campus into RFC-1918 10/8 addresses, and enforcing the campus firewall, which will be made up of Palo Alto 7050 devices, which are best known for their deep-packet inspection feature, App-ID.' << ahahaha so it ~is~ about zapping unauthorized nonethertardium nodes etc
asciilifeform: or, alternatively, desperate usg dod-like last gasp to keep massive fleet of winblows boxen properly declitorized and infibulated
asciilifeform: great lulzfind, TomServo
asciilifeform: ty for posting.
asciilifeform: ( , linked within, also interesting : 'Led by IS&T’s vice president, John Charles, the ambitious reorganization began in February 2015 and aims to spur innovation through agile software development practices adopted from industry. Charles emphasizes that this is not a typical reorganization, but rather a complete transformation of MIT’s IT department. ... Many longtime employees have resigned ... Charles,
asciilifeform: who was interviewed over email for this story, said he “cannot comment on individual decisions and personnel matters,” other than to say that all personnel matters were “handled in accordance with Institute HR policies.”' )
asciilifeform: erlehmann: << 'redo' is theoretically neat ( at least when compared to gnumake ) but - and i studied it, since you last mentioned it - it strikes me as a near-miss attempt to invent 'v'
a111: Logged on 2017-06-26 15:34 erlehmann: shinohai you can see here why redo is superior by far
asciilifeform: gnumake is one of those turds that ~every serious user, eventually tries to rebuild, out of whatever is at hand, because of sheer barfalicity
asciilifeform: but the generalized, correct incarnation of 'automatic dependency graph walker' is : v.
mod6: <+shinohai> kk, will ping you when I get back - sorry for the pm tag this weekend :/ << no worries at all
a111: Logged on 2017-06-26 15:30 erlehmann: > Makefiles
a111: Logged on 2017-06-26 12:16 sina: situations, dangerously misbehave when hyper-threading is enabled.
asciilifeform: even on chips where it did not cause halt-and-catch-fire, it was always a sort of hardware equivalent of ye olde 'ramdoubler' scamola -- 'make luser think he has 2x the cores'
asciilifeform: was introduced right when moore's law first was beginning to sputter out, and new ways of bamboozling idiot new-iron chasers were being devised - 'let's up the clock speed but cut the work per-cycle', etc
asciilifeform: so intel shat out ht, aka 'i can't believe it's not a cpu core'
erlehmann: asciilifeform i am curious, how does v walk dependencies and non-existence dependencies related to files?
asciilifeform: erlehmann: what means to walk 'non-existence dependencies' ?
erlehmann: i was of the impression that it presses a specific view of the world out of a) source code b) patches c) wot
asciilifeform: if a vpatch refers to a hash of a nonexistent file, the process stops.
erlehmann: so v is more like a reverse epigraph, in my understanding
asciilifeform: thing is, nowhere is it written that a v program ~must~ be a gnudiff-like thing
erlehmann: non-existence dependencies are leaf nodes, so tree-walking stops there
asciilifeform: can easily have process invocations (e.g. compiler invokes) rather than filename-hash
erlehmann: i see the overlap
asciilifeform: and they'd trigger, if hash not found immediately. and so you get a maketron.
asciilifeform: current vtrons assume that all of the signed nodes exist on disk already.
asciilifeform: but this is not intrinsic.
asciilifeform: ( so long as the signers, sign the hashes, and you still have a cryptographically healthy frozen history -- it is entirely acceptable to specify also how the inputs are to be produced. )
erlehmann: apart from separation of concerns (tree-walking vs. invoked programs), what other gains are to be had by using a hypothetical v maketron instead of the existing redo maketron?
asciilifeform: erlehmann: it isn't clear to me that these belong in separate programs, and that a system ought to have two tree walkers.
asciilifeform: one - proper one - suffices. and it is easier to produce from a generalized vtron, than to produce a vtron from, e.g., 'redo'.
asciilifeform: in general, the tumour mass of 'i have 200 utils that do ~same thing on my box, and not a single one ~quite~ works entirely' is to be flamethrowered.
erlehmann: i understand completely
erlehmann: i am willing to abandon my redo efforts if v maketron suits my needs better. does there exist a v implementation in <500 lines of shell?
asciilifeform: erlehmann: shell - afaik not
erlehmann: i chose bourne shell specifically because redo runs everywhere and i consider it stupid to need a C++ compiler or python interpreter for building stuff.
asciilifeform: ... but not to need bourne shell ?
asciilifeform: i have systems here with no bourne shell.
erlehmann: i have a single phone with no bourne shell and two others that have it.
asciilifeform: but with c compiler.
erlehmann: but that's my need. i was scratching my own itch.
asciilifeform: nothing wrong with that.
erlehmann: in terms of v, i have only produced this piece of questionable sanity
asciilifeform: but gotta remember, erlehmann , that one man's 'this is ON EVERY SYSTEM, motherfuckers, not an optional shitlib' is another's optional shitlib.
asciilifeform: erlehmann: that looks a lot like my original vdiff.
erlehmann: same problem domain, simple problem, DON'T TASE ME BRO
erlehmann: i think it's subtly wrong btw
erlehmann: thinking about the grammar of vpatches made me come here
erlehmann: asciilifeform i often do stuff in shell because major implementations fuck it up. this, for example:
asciilifeform: all in-band signalling is subtly wrong.
asciilifeform: erlehmann: << see thread, for instance.
a111: Logged on 2016-12-11 18:53 asciilifeform: so i had two base64's png files in there,
erlehmann: well, full recognition before processing.
erlehmann: well, epigraph has a preamble that parses input
erlehmann: the part from “while read dt source tr _;” on is solely to prevent bad stuff happening
asciilifeform: maybe it does, maybe it doesn't, but it'd take same, IF NOT GREATER, effort, for asciilifeform to ascertain the truth of this statement, as to rewrite the linked proggy
asciilifeform: which is a problem.
erlehmann: asciilifeform thanks for giving an example regarding +++
asciilifeform: erlehmann: the +++ thing was actually a more serious problem than you might walk away thinking on first reading -- because it is physically impossible to fix it without MAKING NEWLINES SIGNIFICANT semantically
erlehmann: actually, ++++ is a valid base64 input
asciilifeform: it is indeed
asciilifeform: so if you wanted to distinguish 'proper' vs 'bug' +++, you would have to make the grammar CONSIDERABLY more complicated, and transform the ENTIRE input text, and then un-transform it BACK, every time
asciilifeform: see also gpg's '-' idiocy
asciilifeform: and you would also have to not-disregard newlines
asciilifeform: which in fact get mutilated by ~every piece of shit attached to the net
asciilifeform: somehow LEAVE MY MOTHERFUCKING BITSTREAM ALONE is not an option if you're transmitting 'ascii text'
a111: Logged on 2014-10-29 01:36 asciilifeform: because plain ascii is like naked people
erlehmann: ; printf '++++' | base64 -d | od -t x1
erlehmann: 0000000 fb ef be
asciilifeform: noshit.jpg
asciilifeform: process-input-until-next-MAGICSTRING ( aka in-band signalling ) is inescapably and fundamentally braindamaged.
erlehmann: asciilifeform there might be one detail why it is possible to make a v maketron, but no v redotron. does v try to work out all dependencies before processing?
asciilifeform: erlehmann: indeed it does. read the source.
erlehmann: i did and asked to clarify
erlehmann: toposort
asciilifeform: he explains it better than i ever did.
erlehmann: the point of redo vs. make is that make does the same: build tree, walk tree. the problem is that this may need in a second treewalking phase and a third etc. pp. until the build becomes stable
erlehmann: think of TeX requiring at least three compiles until layout becomes stable
asciilifeform: erlehmann: i'm not sure the existence of partial-builds is even justified.
asciilifeform: because i'm quite certain that the existence of large codebases is NOT justified.
erlehmann: so redo turns the process on its head: build is atomic, but redo only claims to have a tree when all is built.
asciilifeform: whereas small codebases build quickly enough that partial rebuilds are unnecessary.
erlehmann: current number of files that OAMI converted and uploaded to wikimedia commons stands at 35646
erlehmann: most of those are audio or video files. every format conversion is a build
erlehmann: a bot i wrote, that travels PubMed Central open access publications, takes supplementary materials, fixes common errors in metadata, converts the files to other formats and uploads them.
asciilifeform: what's that got to do with whether a maketron ought to be able to do partial builds ?
erlehmann: well, full rebuilds are infeasible, in terms of time and computing power resources i have available
asciilifeform: if 'full builds are infeasible', your tree is mis-structured.
asciilifeform: and there are things in it that ought to be separate trees.
erlehmann: how would you structure it? programmatically, it does not matter if there are 3 videos or 30000, a “partial build” just converts the ones that need converting and uploading.
asciilifeform: ( and noshit.jpg, 'entire works of mankind as 1 tree' leads to 'infeasible in terms of time and computing power available' )
asciilifeform: erlehmann: you DON'T TOUCH THE ALREADY CONVERTED ONES omfg
asciilifeform: they don't belong being visible !
erlehmann: okay, but then one of the converted ones changes.
asciilifeform: why the fuck would it CHANGE ?!
asciilifeform: that's the thing with v : inputs NEVER CHANGE
erlehmann: metadata cleanup, maybe.
erlehmann: i see
asciilifeform: immutable, motherfuckers, datastructure.
asciilifeform: want change ? that'll be a new patch, and 1 or more new sigs.
asciilifeform: no changing-of-the-past.
erlehmann: seems sensible
asciilifeform: not only sensible, but thermonukes away entire, as you see, ~classes~ of misproblem.
erlehmann: yet outputs can change based on e.g. newly introduced inputs
asciilifeform: nope. outputs of presses to a given node on the flow - will NEVER change.
asciilifeform: outputs of presses to ~new~ nodes, will, naturally, give unseen-before output.
asciilifeform: but outputs of presses to OLD nodes -- will give same output 1000 yrs from now, as today.
asciilifeform: this is essential to v.
asciilifeform: immutable past is a prerequisite to ~authenticable~ past, and v gives it.
erlehmann: do you have an opionion on GNU tsort?
erlehmann: from coreutils
asciilifeform: ( what's a 'misproblem' ? let's say it is a problem that only exists because of misapplied concepts earlier 'up the stack' . see also the immortal prof. kokkarinen's 'alien problem', thread . )
a111: Logged on 2014-11-26 01:11 asciilifeform: reminds of ilkka kokkarinen's 'alien problems':
asciilifeform: erlehmann: yes
erlehmann: care to extrapolate your onions?
asciilifeform: erlehmann: 1) i have nfi what it does on corner cases 2) i have nfi how consistent is it across unixen, and how it misbehaves with, e.g., crapolade turdicode characters in the inputs
asciilifeform: gnudiff, i found, in fact DID misbehave, on many a box
asciilifeform: and produced differing orderings depending on the 'charset' set on the machine
asciilifeform: which SHOULD NOT BE A THING
asciilifeform: and i say this as an orc, who uses cyrillic
asciilifeform: for fucks sake.
erlehmann: i guess with immutable inputs, redo would not be necessary.
asciilifeform: certainly not in the form offered.
asciilifeform: and the necessary bits -- reduce to a slightly generalized vtron.
BingoBoingo: <asciilifeform> they spent it all on... ethertardium?! << YES!!!
shinohai: Dat nearly 20% drop of ETH in 24 hrs >.>
a111: Logged on 2017-06-26 17:41 erlehmann: i guess with immutable inputs, redo would not be necessary.
asciilifeform: ChanServ [ChanServ@services.] has quit [shutting down] << lolwat
phf: "[Global Notice] Hi all. We need to take services (NickServ, ChanServ and friends down for some quick database tweaking so they'll be unavailable for a few minutes. I'll update via WALLOPS when completed."
asciilifeform: ahahaha
asciilifeform: from earlier, lulz, 'In April 2017, an unexpected and disruptive change was made to the MIT network: the sale of historically MIT-allocated IP address ranges to external entities such as Amazon. The sale wasn't announced to the MIT community until after it had taken effect. '
asciilifeform: gotta luvv the folx so slow on the uptake, who imagine being in 'a community' while having already been subsumed into usg faceless mass.
asciilifeform: and that 'your' horse is somehow still 'your' AFTER you join kolhoz.
ben_vulpes: > sold via OTC over the course of the next month, to ensure it will have a negligible effect on the market
ben_vulpes: shinohai: what is 'status'?
shinohai: Just another Lame Ethereum ICO that raised millions and now gonna dump to pay for hookers, etc.
shinohai: Apparently they made a "Mobile ethereum interface w/ encrypted messaging"
shinohai: So (signal + ETH - Tor)
asciilifeform: meanwhile, 'thief cries thief', << organized pantsuit ouster of linus t. slowly crystallizing...
asciilifeform: << upstream in same thread << apparently he tried to draw a line, 'stfu with the monolithic unreadable patches'
phf: nah, that's your monthly occurrence.
mod6: evenin'
asciilifeform: heya mod6
mod6: how goes toinght?
asciilifeform: epoxying, i shit thee not, a paid of shoes
asciilifeform: for the 3rd time
asciilifeform: *pair of
asciilifeform: because a) can't be arsed to go to town to get new one b) ain't like you can get nonchinese sandal anyway
mod6: haha. well, suppose you're getting good re-use out of them.
asciilifeform: still depressing; my emulated mircea_popescu sat on my shoulder invisibly laughing
mod6: yah, if you want !b, gotta make them yourself, or hire a sandal artisan of sorts.
mod6: lol
asciilifeform: i suspect he'd laugh even moar heartily if i were sitting and making own shoes
asciilifeform: 'if yer making shoes, you oughta be a shoemaker'
mod6: aha
asciilifeform: but say i also make own chair. then which must i be... shoe maker, or chair maker..?
asciilifeform: because it isn't as if you can get decent chair here.
mod6: yeah, everything is made with sawdust and cheap screws & glue.
trinque: gotta wedge the broomstick at the right angle, can sit and sweep simultaneously!
a111: Logged on 2017-06-26 16:32 asciilifeform: << fwiw i carefully read all of it. asciilifeform's verdict: very much a gabriel_laddel-ization of gossipd. does 0 of the necessary work, and drags in 5+GB of liquishit deps (python, sql, some derp's crypto lib.) the amount of this that would have to be rewritten, from the ground, is 100%. not even useful as illustration of anything, because NONE of the actually complicated moving parts of a
asciilifeform pictures pogo stick stake
sina: mornin all
asciilifeform: sina: don't be discouraged
sina: not at all sir
asciilifeform: sina: but understand that the problem does not resolve to '200 lines of py' or would have been solved years ago and we'd all be using.
sina: yeah
asciilifeform: phf has a very similar gossipd in commonlisp, for instance
asciilifeform: and iirc trinque had another
asciilifeform: and asciilifeform yet other
asciilifeform: and... who knwos who else
trinque: one's even a hideous bashball
trinque: netcat and everything.
asciilifeform: sina: at least a few folx were playing with very similar things even before mircea_popescu wrote his essay
sina: I honestly didn't make it because I thought it would solve any problem, but only because I saw the spec and happen to be on holidays from work this week, thought it would be a good fun
sina: (and it was so far!)
asciilifeform: sina: one of the things gossipd needs is a constant-time-constant-space rsa. if you don't have one, enemy can derive your privkeys remotely based on timing.
sina: hows all today, is it time to rotate shift mod6?
asciilifeform: sina: i've been writing one, for some months now.
asciilifeform: !#s ffa
mod6: <+sina> hows all today, is it time to rotate shift mod6? << hows that?
sina: mod6: ah hehe you signed on just before I went to bed last night :P
mod6: ah, gotcha, hehe.
sina: asciilifeform: can you elaborate on timing? in my impl each peer-pair has its own set of corresponding RSA keys and I was thinking of adding something like, at the end of each session a new keypair is generated and exchanged on each side
mod6: everytime I think of a shoemaker/cobbler, i think of that character from A Tale Of Two Cities who used to be a Doctor before he did 18 years in the Bastille.
sina: well, not even generated, just assigned
asciilifeform: sina: are you familiar with the concept of timing side channel ?
sina: I am on the general points
asciilifeform: sina: if some % of the time i can determine how long it took you to carry out a secret key op (incl. key generation) i can determine a few bits of key. over time, i get 1/4 of them, and that is == to getting the rest.
sina: but do they not depend on measuring the timing over many operations?
asciilifeform: sina: not necessarily very many.
sina: but >1 ?
asciilifeform: not even necessarily >1.
sina: so my impl doesn't do this currently, but imagine it throws away the key after the session is established, no big deal then
asciilifeform: even 1, cuts the amount of practical work necessary to break your key, considerably.
asciilifeform: sina: again no
asciilifeform: and if you don't understand why, you should not be using rsa
asciilifeform: for one thing, there IS NO SESSION in gossipd (either my concept or either of mircea_popescu's two essays)
asciilifeform: there is rsa-only crypto.
asciilifeform: this means ALL ciphertext is the output of rsa modular exponentiations.
sina: session may be the wrong term. I just mean, in the spec "III. Gossipd will receive inbound connectionsvii from identified clientsviii and on the basis of that identification produce an encrypted challenge string, which constitutes its response. If the other party responds with the proper challenge string, the connection is established ; otherwise it is
asciilifeform: ( unlike, e.g., gpg, ssl, the rest of the shit soup )
sina: dropped."
asciilifeform: not reusing the keys would do 0
asciilifeform: i break ONE - i break whole chain.
asciilifeform: same statistics apply.
asciilifeform: sina: subject is considerably trickier than charlatans (e.g. schneier) let on. in fact, most of what is available on the net, is deliberate disinfo.
sina: ok fair point, I get the general need for constant time constant space algo regardless of gossipd stuff anyway
asciilifeform: sina: if you've been reading anything other than the logs, you have a great deal of catching up to do.
asciilifeform: ( this should not horrify, but encourage. the logs are a very handy resource. )
sina: I have been reading the logs, agreed they are handy
sina: asciilifeform: if I'm not pestering let me throw a couple of questions. in my impl there are two secret operations, 1. key generation 2. challenge decryption. for #1, it runs in a different process on a random basis and marks a portion of the keys generated as bogus (per linked spec). that seems like it should sufficiently obfuscate against timing? for #2 is it possible to do some bogus ops in a similar
sina: vein? e.g. perform 3 parallel decryptions
asciilifeform: sina: this is a good q
asciilifeform: sina: and the answer is, interestingly: no
asciilifeform: ~no~ practical amount of noise adding is enough.
a111: Logged on 2017-06-17 19:50 asciilifeform: the imho interesting part of this tale is that ~time~ is the most, it turns out, difficult side channel to properly cement shut
a111: Logged on 2017-06-17 19:56 asciilifeform: idea of pll is that you can indeed see a lit match from mile away in daylight if you know 'exactly when to look'
sina: another thought, in my impl, even if you broke the key, all this nets you is the ability to have messages delivered to you from a single node
asciilifeform: that's if i break 1
asciilifeform: 1 ephemeral key. say i break the station key.
asciilifeform: ( by timing decrypts of session establish )
asciilifeform: and if i can break 1, can break any and all.
sina: sorry, define "station key"?
asciilifeform: long-term key.
sina: why would there be a long term key? I mean, right now in the impl the process to rotate a key is manual, but if you're using ephemeral key why not just "chain" them in the sense that at the end of the "session" you pass some ciphertext that includes the next ephemeral key, wait for delivery ack and then dump the old key?
sina: so no key is ever retained beyond a single "session"
asciilifeform: i can trivially tell when you've switched keys, strictly by looking at ciphertext ( is how rsa works. )
asciilifeform: if this is a surprise to you -- i recommend getting familiar with the basic arithmetic
sina: yeah no surprise
sina: can I clarify something? when you say gossipd are you assuming that all traffic is enciphered?
asciilifeform: now your homework : prove that an rsa-only channel MUST re-use every key at least once
asciilifeform: unless it sends only 1 message and then both sides call it quits and never speak again.
sina: I think we might be speaking at corss purposes and just wish to clarify that point before proceeding
asciilifeform: sina: yes. and it is not a far assumption, nobody will send plaintext wtf omfg
asciilifeform: sina: why do you think mircea_popescu mentioned rsa in his spec ? to keep the room warm with cpu heat ?
sina: ok fair. see, the spec I was working from it only mentions encryption for the "session establishment" so I assumed that encryption of actual message payloads was to be with out of band encryption
sina: and right now my impl does send everything except the challenge in plaintext!
asciilifeform: wtf is the point of even having the challenge then !
sina: I assumed it was deedbot style OTP thing
asciilifeform: wtf is the point of writing a proggy that leads to this.
asciilifeform: no, it'd be a nickserv, sina
asciilifeform: 'ohai i authenticated and now lemme say [NSA INSERTS TEXT HERE] sincerely yours, mr.chump'
a111: Logged on 2016-02-08 00:05 maqp: The point is, unless you encrypt the message, anyone might have created the plaintext
asciilifeform: there is NO reason why enemy should be able to read and alter at will traffic b/w 2 nodes.
sina: I got that impression from reading gossipd logs, obviously I didn't read everything ever because I only learned about the linespeed thing yesterday
asciilifeform: if i want this -- i will use irc.
asciilifeform: as in fact using now.
asciilifeform: irc is exactly 'gossipd without crypto'.
a111: Logged on 2016-02-08 00:06 mircea_popescu: the only assurance to be had here comes from a gossipd model. where anyone could have written the plaintext, and for all anyone POORLY CONNECTED knows, they probably did.
asciilifeform: you gain NOTHING from the crypto unless it is applied correctly - i.e. to whole channel.
asciilifeform: sina: in the linked thread, mircea_popescu described why he did not want to use rsa ~signatures~
asciilifeform: for gossipd auth
asciilifeform: but instead ~decrypts~
asciilifeform: !#s opposable
a111: 17 results for "opposable",
asciilifeform: ^ see also mega-thread re subj more recently
trinque: ^ great threads in there.
a111: Logged on 2016-02-07 23:57 mircea_popescu: complete anonimity between peers more than one node removed ; complete secrecy outside of the node group ; no integrity or authenticity outside of the wot trust.
sina: perhaps I misread
asciilifeform: but INSIDE - must have integrity.
asciilifeform: or you have irc.
asciilifeform: this is elementary, and the fact that i have to, apparently, explain this, beggars the imagination
asciilifeform: WE ALREADY HAVE IRC!!
asciilifeform: and don't need irc-with-homeopathic-sprinkling-of-rsa for anything.
asciilifeform: (if i can unglue the auth from the payloads, because the latter are plaintext -- IT IS HOMEOPATHIC)
sina: asciilifeform: don't pop a vein, I absolutely get your point, I was trying to explain (erroneous or otherwise) the path walked
sina: again, I'm not proposing my impl as "hey you should use this!", only wanted to ask you some questions re timing
asciilifeform: sina: don't hesitate to ask
asciilifeform: ( asciilifeform or whoever else. )
sina: asciilifeform: how about this simpler model. Nodes only accept connections at interval N seconds, and during time between intervals it is preparing encrypted payload of all messages since last seen for each peer. so when A connects to B and says "Hi, I'm A", B responds with a pre-prepared payload encrypted for As key
asciilifeform: EVERYONE eventually asks this
asciilifeform: answer: no
sina: can I ask how come no?
asciilifeform: the only way to make guaranteed time bound is... constant-time arithmetic
asciilifeform: because if i can make your thing spill out of the time 'box' which you made for it, i get >0 info re your key. again.
asciilifeform: and the only way to make it so that i can't -- and ~probably~ so -- is to do your arithmetic in constant time.
asciilifeform: i.e. no-branches-on-secret-bits.
asciilifeform: *provably
asciilifeform: not probably, lol
sina: any actual practical example of making it spill out of the time box? lets say two independent processes, one is preparing the payloads and putting them in an "outbox"
asciilifeform: understand: if your scheme cannot be proven to work : it does not work.
asciilifeform: say your time box is 1s
asciilifeform: while your rsa, for sake of argument, is 200-300ms long.
asciilifeform: now at some point your smm bios kicks in and spends 700ms adjusting fan speed. and i happen to know that this happens every whatever many seconds.
asciilifeform: now i know that a certain % of the time your 'box' is spilled out of.
asciilifeform: and it is == as not having the box.
asciilifeform: if i have this knowledge.
sina: I'm not sure I explained correctly. Please let me try one more time.
asciilifeform: arbitrary 'don't report the answer for T units of time' doesn't work, because you have no hard assurance of no spill.
asciilifeform: certainly not on a pc.
deedbot: << Recent Phuctorings. - Phuctored: 1593...2599 divides RSA Moduli belonging to ' (ssh-rsa key from (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <>; ' ( GB)
deedbot: << Recent Phuctorings. - Phuctored: 1542...2949 divides RSA Moduli belonging to ' (ssh-rsa key from (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <>; ' ( GB)
asciilifeform: sina: making 'constant time rsa' by trying to bury the rsa in a fixed 'box' of time, only works if you can guarantee LOWER bound of how long the rsa ops (ALL of them, till the end of time) take, as well as UPPER
asciilifeform: UPPER as well as LOWER, that is
asciilifeform: you gotta say 'it will return answer in EXACTLY t units of time, no less AND NO MORE'
asciilifeform: and the way to provably do this, is method called 'constant time arithmetic'
asciilifeform: illustrated in the earlier link.
sina: Imagine two independent processes. Process #1 is going through the list of peers and generating encrypted payload for unique peer key since last seen. When the payload is generated it places in outbox. Process #2 is running every N interval (1s example sure) to accept connections and deliver payloads from outbox. If for some reason Process #1 doesn't complete operation in time, it simply appears as if no
sina: messages are to be delivered for a given peer or set of peers.
asciilifeform: already you have made an assumption that is false on all extant hardware
sina: which is?
asciilifeform: it is not possible to make guaranteed-independent-timewise processes
asciilifeform: on a pc
asciilifeform: 1 ) you might have a box with 1 cpu
asciilifeform: 2) you might have a box with 2+ cpu where the scheduler puts both of your processes on 1
asciilifeform: 3) cache exists.
asciilifeform: and memory accesses will take variant time based on recent operations, by any and all threads.
asciilifeform: on any and all cpu cores.
sina: fine, what if we assume two independent computers
asciilifeform: describe what they do, and how connected
sina: same as above, but each computer houses 1 process respectively, connected over ethernet or whatever
asciilifeform: if they are connected, and communicate, they are not time-independent
asciilifeform: elementarily
asciilifeform: it doesn't matter what they are connected with.
asciilifeform: if you're sending bits from one to another, and using crypto that branches-on-secret-bits -- you are vulnerable.
asciilifeform: this is like the perpetuum mobile. you cannot argue your way out of fundamental constraint.
sina: vulnerable to what, exactly, is the question? I am struggling to see how timing can be ascertained from that kind of model, but it's only a thought experiment so I can steal your brain juices
sina: howdy sir
mircea_popescu confirms that indeed js-of-mp and mp-en-managua are legitimate mps
sina: have fun in Managua?
mircea_popescu: after a fashion!
asciilifeform: wb mircea_popescu !
mod6: Hi mircea_popescu
sina: alrighty, gonna go do some human stuff. have a good week all!
mircea_popescu: << speaking of bigots : so i'm walking with girl through utter shithole, true poverty area. stench of sewage in the air, houses made out of $200 in materials and so on. i spot a rabid dog by that sure sign of drooping salivation, so i go in between and keep my eye on it.
a111: Logged on 2017-06-25 22:30 erlehmann: BingoBoingo medusa magazine seems pretty reasonable, indeed
mircea_popescu: some idle kids playing with rocks notice and one yells out "don bigote! don bigote! no muerde el perro!"
mircea_popescu: and yes, the root is common.
mod6: haha wth?
asciilifeform: did the kidz also droop salivate
mircea_popescu: tis true. bigots = fixated people with beards you couldn't convince of your reasonable position, such as "the rabid dog doesn't bite" on the grounds of it not having bit yet, or "marrying your first cousin is fine" on the basis of hey, cunt that doesn't scare me!
asciilifeform: or notyet
mircea_popescu: asciilifeform notyet.
mircea_popescu: i expect the dysentery to get them first though, judging by certain anatomic details.
asciilifeform: shit where-they-stood a la africa ?
mircea_popescu: i don't think so.
asciilifeform: which detail then
mircea_popescu: ah ah. too much abdomen for how sad their ribcages were.
asciilifeform: ah so you meant dystrophy, not dysentery, neh
asciilifeform: 'auschwitz belly'
mircea_popescu: well, various distended bellies.
mircea_popescu: anyway, back to sewage : the thing civilised people generally fail to appreciate is just how insistently shit sticks to human agglomerations.
mircea_popescu: it dun wanna go so easily, that's fo sho.
asciilifeform: more of a case of finely evolved nose. we can smell it at nearly ppb.
mircea_popescu: that, also.
mircea_popescu: << introductions aren't intended to be handled by gossipd. the correct way to do this is for me to say "add 8A56264EAD0BC4BD9CD7AC0086B488AB sina" which is a legitimate pubkey of your gossipd, AND for you to go whatever re mine. then they can talk, change keys etc. not before./
a111: Logged on 2017-06-26 01:02 sina: but this presents a chicken/egg problem, where the peer "initiating" the addition will need to then advertise that key to the other peer and wait for a key back, and then initiate an update to the peer data to add in the advertised pubkey
mircea_popescu: gossipd should hot be able to discover peers. (if you think about it, the ability to discover peers is another way to say "leaking data").
asciilifeform: 'a discovered peer' == 'a sybil'
asciilifeform: sorta like 'shit stuck to bottom of shoe' is 'shit', and never snack
mircea_popescu: asciilifeform see, kinda what i meant yest. while he's actually trying to implement, he discovers these things. the result may not be usable, but its building will have been useful. otherwise his only option is to nod along, not really comprehending what he's agreeing with, or to "rebel", and have "his own opinion", except also not really comprehending what he's talking about.
asciilifeform: mircea_popescu: which is why i said to d00d, 'don't be disheartened '
mircea_popescu: which is why we agree!
mircea_popescu: << consider that the damage you already did to modern man's most important joint is permanent. do not add.
a111: Logged on 2017-06-26 05:39 ben_vulpes: on the "laptops suck" thread, now that i'm using an adult workstation most of the time, my hands start hurting after a bare thirty minutes on a 13" laptop kb
asciilifeform: crapple kbd is egregiously, insidiously deadly, has ~0 'give', is rather like pounding a table
asciilifeform: all day long...
mod6: it's the worst.
mircea_popescu: << i'll do this tomorrow, too displaced right nao for such werks.
a111: Logged on 2017-06-26 09:58 sina: if anyone wants to play
mod6: i really like the new kb i've been using. took a little while to get use to, but hands feel good after all day typing.
asciilifeform: mod6: which is this
a111: Logged on 2017-06-26 12:37 erlehmann: sina have you checked all your input against a formal grammar today?
mod6: concave job. 'kinesis advantage 2'
asciilifeform: mod6: even rubbish membrane kbd that came with my 486 -- beats crapple lappy
mod6: yeah, those are, like you said, like pounding on concrete
asciilifeform: the latter must've been designed as an active fuckyou to people who actually enter text
mod6: mhmm
mircea_popescu: you're prolly supposed to speak it or who knows what shambling idiocy.
asciilifeform: hard to picture such exquisite torture implement arising through mere happenstance
mod6: yeah, seems like hardly an accident. supposed to talk to the goddamn thing. as if.
mircea_popescu: <<< for some reason the illustration featured a hercules, which is a prop not a jet, but w/e.
a111: Logged on 2017-06-26 16:35 trinque: clearly needs to upgrade to the f35, it's 19 better.
mircea_popescu: << sounds entirely like The Drepperization. which is very much the only american technology style left.
a111: Logged on 2017-06-26 16:35 asciilifeform: 'Ever since IS&T started to undergo "The Transformation", there has been a deliberate and systematic attempt to change Computing at MIT for the worse. Services that have been relied on for years have been discontinued and turned down, frequently without notice. Infrastructure critical to running MIT has been outsourced to cloud services during "emergency maintenance". Most of these changes had minimal impact on students and faculty,
a111: Logged on 2017-06-26 16:38 asciilifeform: they spent it all on... ethertardium?!
mircea_popescu: <<< sadly this question is not unlike asking "has multiplication ever actually worked".
a111: Logged on 2017-06-26 16:53 asciilifeform: << has hyperthreading ever actually worked ? ( see also... )
mircea_popescu: << you can definitely make this in an evening by simply translating the extant lisp/python iirc impls.
a111: Logged on 2017-06-26 17:07 erlehmann: i am willing to abandon my redo efforts if v maketron suits my needs better. does there exist a v implementation in <500 lines of shell?
← 2017-06-25 | 2017-06-27 →