log☇︎
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.
asciilifeform: iirc nato spec still iron
mircea_popescu: was army spec, got obsoleted.
asciilifeform: i don't expect to see many reimplementations, sadly, however, because one of the items of said spec is 'the following ops are in constant spacetime...'
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."
asciilifeform: p ain't a 'code is the spec' crock-o-shit tho. up asciilifeform's sleeve, is an actual spec
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
asciilifeform: abuse of units, incidentally, if this were an actual spec it would read 'kW/H'
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.)
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." ☝︎☟︎
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
asciilifeform: in earlier lulz, 'Max Count Frequency Min=1800 Typ=2200 Max=---' << pretty interesting spec. not a thing i've previously encountered.
asciilifeform: that's the spec for ffa, for instance.
a111: Logged on 2017-06-10 04:08 sina: or is this a spec bug
phf: was bug in spec?
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
mod6: i see that http://trilema.com/2016/trilema-bot-spec/ -> http://www.contravex.com/trilema-bots-directory/
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
asciilifeform: sina: why do you think mircea_popescu mentioned rsa in his spec ? to keep the room warm with cpu heat ?
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
ben_vulpes: from http://trilema.com/2016/trilema-bot-spec/
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
mp-en-managua: http://log.mkj.lt/trilema/20170624/#23 << as experience shows, the first implementation of a spec often ends up improving the spec. write it out, see what's wrong with it after/
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
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?
asciilifeform: and yes, one can inline asm it. however the EXPLICIT spec was : NO ASM!!!!!
asciilifeform: and certainly not a mechanized path to 'spec guaranteed to fit the proggy'
ben_vulpes: i did it from the spec, not the php.
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 ☟︎
ben_vulpes: check it still implements the spec?
mircea_popescu: ben_vulpes mind making the alterations and let's see ? ima edit the spec later too
mircea_popescu: fuck, there's a bug ion the spec.
mircea_popescu: might be my spec's broken dfor some reason
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.
mircea_popescu: cuz the prototype is older tyhan the spec.
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.
asciilifeform: some of the chix even dress to mircea_popescuine 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
asciilifeform: ( usb is not a 'serial interface' at all but a massive tub of liquishit, with bookcase-sized spec )
asciilifeform: iirc mod6 you posted a few dd outputs, it was always 7-8 as per 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.)
asciilifeform: the spec is literally bookcase-length;
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.
asciilifeform: liquishit that tests to spec is still liquishit.
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.
asciilifeform writing draft trb-i spec
asciilifeform: if 'spec' contains an 'octopus gland of death', item that can be safely and unilaterally jettisoned by a player, it'll be jettisoned
mircea_popescu: cuz it's the fucking spec.
mircea_popescu: and phf was all like "this isn't in the spec" then read the spec etc
asciilifeform: so 'perfect' for 'the web' aka 'thing that does not actually need to work to any spec'
asciilifeform: a work of evil, but works, to spec.