900+ entries in 0.416s
mircea_popescu: phf: for the longest time i thought that common lisp
spec is a magic paper against modernization. << check it out, the apotropaion of lisp!
phf: for the longest time i thought that common lisp
spec is a magic paper against modernization. not so, and you can see it with the recent evolution of sbcl. for example they made it an error to locally shadow cl package symbols, e.g. (flet ((first (...))) ...) will fail, breaking a lot of reasonable old code. many historic idioms likewise produce compilation warnings, etc.
☟︎ mircea_popescu: asciilifeform nato doesn't have a
spec. for anything. look you it up.
a111: Logged on 2017-07-04 15:06 mircea_popescu:
http://btcbase.org/log/2017-07-04#1679054 << this is a fine approach. "here's the per
spec impl, here's the optimized impl. you can verify they agree wrt results ; and you can trivially verify the former is
spec-accurate."
mircea_popescu: just as should be. first
spec code then optimized code
sina:
http://btcbase.org/log/2017-07-08#1680437 << why I used a db: because the
spec said use flatfile, I first tried to implement flatfile one and after realising I would need to either shell out to utilities like "touch" and/or "find"/"ls" etc, or implement some of their functionality myself, I decided to import a library that does that stuff not terribly, called sqlite
☝︎ sina: saw
spec on trilema, seemed interesting, why not
mircea_popescu: in fact specified as opposed to farted code has this property, that you write two programs per
spec like that. hence "agile" ie "code is the
spec" ie "please shoot me" modernity.
a111: Logged on 2017-07-04 14:15 phf: part of
spec as far as i understand it, that the (fhf mp ...) part is a canonical, but not the only implementation. so yeah you could write optimal version of mp's fhf, but it's not going to speak the same dictionary, and you won't be necessarily able to apply same optimizations to other (fhf ...). (or i guess you can, but require more cleverness than just etc.)
phf: oh, that's actually good point re rewind, that's in the
spec "except in the case our position is already 0."
phf: part of
spec as far as i understand it, that the (fhf mp ...) part is a canonical, but not the only implementation. so yeah you could write optimal version of mp's fhf, but it's not going to speak the same dictionary, and you won't be necessarily able to apply same optimizations to other (fhf ...). (or i guess you can, but require more cleverness than just etc.)
☟︎ phf: right, but that would "break" the
spec to code correspondence
phf: yeah, this version is straight
spec implementation (in fact if you search for (fhf mp ...) that part should directly correspond to
spec wording). only optimization i did was to keep the S reallocations down
a111: Logged on 2017-06-10 04:08 sina: or is this a
spec bug
sina: ok well those were the 2 things which I believe the
spec should be refined to state clearly
sina: mircea_popescu: sure. happy to. FWIW, I kept README.md in my python repo updated with the
spec as our discussions went on
mircea_popescu: hey listen sina, wanna go with me through the fhf
spec and make final version ?
sina: mircea_popescu: mornin. I rejigged the gossipthing. I think what I have now reflects more closely what was discussed earlier. however I also think the
spec vastly differs so may be worthwhile adding a disclaimer to the existing one or writing an entirely new one
sina: FWIW, what I have now is also nothing like the
spec on trilema.com :P
sina: mircea_popescu: my perspective is that I am just trying to implement what appears to be an interesting
spec. for the reason of being interested in implementing that
spec. so when I ask for tmsrthing clarification, it is just in terms of
spec, not in terms of "making a thing" ...if that makes sense
sina: yeah, per the
spec, peers are only storing messages with local timestamp they received them
Framedragger: "Re 119 : You'll have to properly
spec this if you want it." (you said it!)
Framedragger: also lighthouse concept didn't get properly included in
spec because it's probably not yet finished, ha
mircea_popescu: prolly should separate the re-discussing of that from the guy trying to comprehend the
spec 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: 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: session may be the wrong term. I just mean, in the
spec http://trilema.com/2016/gossipd-design-document/ "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
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: 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 trilema.com
sina: ben_vulpes: I'm not smart enough to make what's described there, just implementing the
spec I saw for amusement
sina: ben_vulpes: that is quite different from the
spec :P
sina: just going through those comments again trinque, e.g.
http://trilema.com/2016/gossipd-design-document/#comment-119015 "One possible cut of the Gordian Knot re: my "enemy's ability to trigger a response from a suspected-node on demand" would be for every node to have a "lighthouse" - an always-on broadcaster of authentication challenge strings." per the
spec I will be implementing this
sina: my impl is more "hey, here is a
spec I can implement for some funtimes" than "hey, here is a useful thing"
sina: trinque: my problem is I don't have an original bone in my body, so short of a well described (enough)
spec I have a lot of trouble
sina: trinque: is there anything from the thread you think was agreed that materially modifies the
spec in post? I figured mp would have updated if so
sina: I'm working on the
spec per the blog post, the thread had a lot of stuff on which there wasn't a consensus yet
a111: Logged on 2017-06-23 17:52 js-of-mp: erlehmann: there's no real
spec to orcdom, visually, beyond "no good". it's actually a pretty interesting concept, anthropologically, because of its marked similarities to beauty.
js-of-mp: erlehmann: there's no real
spec to orcdom, visually, beyond "no good". it's actually a pretty interesting concept, anthropologically, because of its marked similarities to beauty.
☟︎ mod6: (18:32) <+asciilifeform> sure does, see ada
spec mod6: this is outside the
spec, but just as an experiment, what kinda timings do we get if you were to do inline asm for the W_Mul & Karatsuba procedures? is this worth doing?
ben_vulpes: again sina php implementation is of an earlier outdated
spec sina: mircea_popescu: please confirm
spec, are we dropping leading 0 (if exists) or not
BingoBoingo: Maybe you ought to produce a
spec and assign a slavegirl to start a coachbuilding empire?
sina: assuming it's a correct implementation of the
spec anyway
sina: or is this a
spec bug
☟︎ mircea_popescu: ben_vulpes mind making the alterations and let's see ? ima edit the
spec later too
sina: mircea_popescu: per the
spec, " During each step, the function considers whether the position-th bit in M is 0 or 1, and executes a defined set of operations in either case. Once the operations have been executed, the position is incremented by one."
sina: mircea_popescu: can you point if I'm missing something obvious? From my understanding of the
spec, the number of "steps" is = the length of M, but in your examples (understanding they're of a nonworking prototype) have a lot more steps than len(M)
sina: ok fair enough then, I'll try and adhere solely to the
spec mircea_popescu: the prototype was originally more of a "omfg show me what the fuck do you mean with this
spec ?!?!?!" sort of easement.
sina: kk, so how come in "step 1" of the prototype, you're modifying S in the halfscrew, rather than R, because the
spec says "if bit is 1, half screw S in R"?
sina: can you confirm my intepretation of the
spec for mpfhf is correct or not?
mircea_popescu: !!later tell sina a) dun need to msg me the day's log, i always read it anyway and b) yeah, the prototype actually implements an older
spec. trivial to revise if one cares to, was published.
mircea_popescu: iirc the problem was that my implementation was of an earlier
spec.
erlehmann: just to illustrate you can get by with search-and-replace if your
spec looks like that
erlehmann: funnily enough, my incomplete nock 5k implementation in sed(1) was a rough transliteration of the nock 5k
spec phf: can presumably
spec out the thing by noting all the instances of "omg, i definitely not don't need X that does Y what are you stupid" and building a constraint rules out of them
mircea_popescu: not exactly undoable, either, but not much of a priority as we don't have yet a tmsr internet
spec.
a111: Logged on 2016-08-23 21:41 asciilifeform: znort987: rather, yes, there was provision for it in the original openpgp
spec, but it is a bogus concept because it entails a global repository of revocation messages and a universal agreement re what time it presently is.
Framedragger: asciilifeform: they were already using a scheme which was supposed to protect it, but broke the
spec, and implemented poorly. i don't remember but it's probably fixable without migrating to snakeoil or whatever framework
BingoBoingo: Common theme of "ode to barn cat" postings is week after mourning presumed loss of barncat, barn cat returns from
spec ops mission of murder
Framedragger: mircea_popescu: i tried to think of a diagonal argument along the fashion of "if you make it conform to that narrow
spec, the conformance itself is an additional statement which needs a larger
spec, which in turn needs a larger
spec, DO YOU WANT ME TO GO INSANE WITH INFINITY";
mircea_popescu: (to continue link above : the prb idiocy "oh code is
spec" is not invented by the idiots for this occasion. it's universally at the basis of contemporaneous cs, and it's all permeating. it stars with the expectation that you can tell whether the code you wrote is correct BY WHETHER THE MACHINE WORKS. this is utter fucking nonsense!111 appealing to tweens, perhaps, but still nonsense.)
mircea_popescu: pete_dushenski that dun sound like a vps. sounds like a proc
spec ?
mircea_popescu: 1. the company (say r2games, there's a few but identical entirely) hires out a bunch of cubical drones, has them churn out a "game" to 3-ring binder
spec. you prolly know the shit, stamina-constellations-etc.
a111: Logged on 2017-03-10 22:23 mircea_popescu: im not against the idea in the slightest. i'm just very unpersuaded by the theory hard drives work, to any
spec, in any sanemanner.
mircea_popescu: im not against the idea in the slightest. i'm just very unpersuaded by the theory hard drives work, to any
spec, in any sanemanner.
☟︎ mircea_popescu: you can't go around picking some random parts of your
spec to disavow. you put it in there.
mircea_popescu: and phf was all like "this isn't in the
spec" then read the
spec etc