mircea_popescu: let’s go into detail here. so, the observation was, that as v is used in multiple projects, it makes no sense all the files be dumped in the same directory. this is sound. what directory shall they be dumped into ? logically, it can only be the name of the genesis block. because, for any given genesis block, the possible patches are universally available ; and the only way to obtain variant builds is through pruning the sigs. there is no such thing as “cannonical”, but there is a “total patch universe”.
asciilifeform: though it is moar correct to think of one’s ‘patch light cone’. http://btcbase.org/log/2016-02-08#1400017 << see also.☝︎
a111: Logged on 2016-02-08 20:09 ascii_butugychag: i will half-seriously suggest that we refer to the ~set of patches, seals, keys~ that a particular vtron is aware of at his particular point in spacetime, as… his lightcone
mod6: so i kinda see this in two ways. either i place v/t/whatever into /v/ and we have many multiple roots, in which case when you pull from the mirror you end up with the following dirs: bitcoin, t, v, whatever, … or we can break this up into multiple projects. and in this case, some of these things are somewhat related, and that might be ok. but in the future, there might be things that are not so closely related. so might be trying to get out in front and make this able to handle multiple projects by seperating them out.
mircea_popescu: what do you mean multiple roots ?
phf: something to keep in mind is that vpatch paths already include top level directory, like for example all the bitcoin ones are bitcoin/… so pressing them into an empty directory foo will result in foo/bitcoin/… tree
mircea_popescu: the problem is there’s no good way to extract that alias string. maybe yours is bitcoin and mine is Bit-coin.
mod6: i mean, if i have genesis.vpatch (trb) and v-genesis.vpatch in http://thebitcoin.foundation/v/ these are multiple roots.
mircea_popescu: the part where each press should end up collected in the /genesis-hash/ dir is settled, i thought ?
mod6: one inflates the trb universe into bitcoin, the other into v. i guess it doesn’t have to be that way.. v-genesis could be added later on down the line as a leaf node. but then it probably shouldn’t be named “genesis” as that seems to break the convention.
mircea_popescu: uh. what ?!
mod6: well, i think it’s a better, cleaner practice. just trying to address alf’s messages.
mircea_popescu: yeah but i’m totally lost as to what you’re saying. looky : v works by starting with a genesis. correct ?
mircea_popescu: now, why not put its work product in a directory named for the genesis employed ?
mircea_popescu: that solves everything. and a different project will necessary have a diff genesis, so separated.
mod6: i’m fine with this too — alf sees this as a mistake. so just thought I’d take a minute to address the alternative. unless there is something that I haven’t considered? asciilifeform? suggestions?
mircea_popescu: i didn’t realise he saw this as a mistake either!
asciilifeform: the alternative is to discard the notion of project re vpatches
mod6: let’s paint a picture.
mircea_popescu: eh that’ll produce windows. i dun wanna build windows.
asciilifeform: i don’t see how
mircea_popescu: because “everything together” monolith ?
mod6: let’s say that i have this project called `t’. and I’d like to make it readily available and a genesis for this specific tool. where should this vpatch live?
mircea_popescu: in /8a5485a/ provided “8a5485a” is the genesis’ hash.
asciilifeform: i don’t see why a genesis with hash H has to be ‘meta’-limited to only be antecedentable as ‘part of project P’ vs always and forever, wherever. so long as i invoke H as precedent – it is valid. regardless of where or why. perhaps H is hash of ‘hamlet’. and i want to quote it twice. whatever.
mircea_popescu: you’ll have to rebase. also, you can’t have two genesis-es.
asciilifeform: sure as fuck you can. we ALREADY DO
mircea_popescu: each creates its own universe.
asciilifeform: http://btcbase.org/patches?patchset=experimental&search= << example.
mircea_popescu: i see only one.
asciilifeform: ‘each own universe’ until i invoke both and suddenly – collapsed into one.
mircea_popescu: there can only be one. you can’t “invoke both”. you mean de-genesis one ?
asciilifeform: nope. until i create patch with G1 and G2 as antecedents.
mircea_popescu: then you’re not making any sense. there can be exactly 1 genesis for any press, build, v etc.
asciilifeform: they are still genesi
mircea_popescu: this is the definition of this term. “the first item”.
asciilifeform: a genesis is simply a vpatch with no antecedents.
mircea_popescu: mno. “a genesis” makes no sense ; vpatches with no antecendents are merely that – vpatches with no antecedents. the genesis is the first item.
asciilifeform: there is no such animal in v as it exists today.
asciilifeform: look at, e.g., shiva. it has unmistakeably dual genesis. trb-genesis, and shiva-genesis. neither has antecedents. each creates the respective foundational thing out of thin air.
mircea_popescu: where is this item ?
asciilifeform: http://btcbase.org/patches/asciilifeform_shiva_part_1_of_2 << the shiva genesis.
mircea_popescu: yeah ; well iirc that was a broken early experimental attempt by you ?
asciilifeform: it isn’t broken in any sense
mircea_popescu: part 2 of 2 behaves correctly in teh tree.
asciilifeform: part 2 DOESN’T TOUCH part 1 so they are not v-relatives.
mircea_popescu: in the sense that it fails to attack to the tree it is very broken. i have no idea why a v build would even include it. actually : a v build that, upon pressing genesis, includes 1-of-2 is ipso facto broken.
asciilifeform: this is quite true.
mircea_popescu: so then…
asciilifeform: the only way to build shiva is by pressing dual-headed.
mircea_popescu: there is not nor should there be such a thing as “dual headed”. and to my eyes this is an essential point of wtf we’re even doing here in the first place.
asciilifeform: actually i’m sold on this. since the last time we had this thread. if anybody wants to roll shiva in as part of his lineage, i recommend linking up part1 and part2 as mircea_popescu describes here. (simply add comment in the part1 items as part of part2 patch)
mod6: so we are agreed then that things outside of the trb light-cone, get its own light-cone – a multiverse of things, yeah?
asciilifeform: not the concept i had in mind. ‘light cone’ is simply ALL vpatches, by ANYONE, that you know about. say it turns out that nsa was using v, and their patch leaks, even this is ‘part of my lightcone’. in that i COULD use it (if i took enough dope). this idea only ever could become actually important as time marches on and things are lost.
mod6: don’t add nsa’s key to your wot, and you wont see that patch right?
asciilifeform: aha. the thing i was trying to invoke there was situation with, e.g., ancient greeks, who cite works that are no longer around.
mod6: so we either have ~one~ universe, or there is >1
asciilifeform: light cone is what you get when you find the intersection of one particular observer’s notion of ‘i can see WHOLE UNIVERSE!1111’ with… reality.
mod6: so what would your implementation look like here? a patch to a current leaf of the trb patches that inflates say t/t.pl from ‘false’ on the end of the trb ‘light-code’ ?
mircea_popescu: each genesis carves it’s own “universe”, of possible patches. asciilifeform prefers to call this universe “light cone”. it could perhaps be argued that the applicable patches as shaped by your trusted keys is more properly your light cone, though might as well call it “trust cone” and be done with it
mod6: this would sit adjacent to the ‘bitcoin’ directory? (just trying to get a visual in my head here)
asciilifeform: ‘trust cone’ is subset of your light cone. the latter is the union of all of your ~possible~ trustcones.
mircea_popescu: works for me.
asciilifeform: i am somewhat perplexed re what you are asking
mod6: don’t worry about that. paint me a picture on how you might go about the task – how and where does t.pl go? or v.pl ? or whatever.txt
asciilifeform: well, in my original v, ./v.py patches p patches/mod6_something_or_other_bleeding_edge_leaf.vpatch and we’re done.
mod6: ok. that’s all i was trying to say :]
asciilifeform: note, elementarily it finds its way back to the genesis (or dies trying) and there is never any need to ~specify~ a genesis or the like.
trinque: http://btcbase.org/log/2016-01-19#1377638 << is it just me, or does this seem ridiculous☝︎
a111: Logged on 2016-01-19 21:55 ascii_butugychag: pete_d: try to understand the perspective of inventor. for x,xxx years churchmen prattled on about sex and reproduciton ‘cannot cut apart’. and now they can go get stuffed.
asciilifeform: elaborate ?
trinque: as if there are zero instincts towards spreading seed in the male side of the act of sex. /me has had a few beers, so let me be specific. I have always been aware of this aspect of sex when taking part in it
mod6: so maybe, everyone’s call, including yours for a ‘v-genesis’ vpatch had me thrown that it should be a ‘genesis’ and not a simple vpatch to what currently already exists out there.
mircea_popescu: there’s a difference between “can not be cut apart” and “sometimes you get a hankering for bareback ; so you make sure the bitch’s on the pill”. it’d be a new genesis yeah.
asciilifeform: ^ this is PRECISELY what i mean by cutting apart. to make the activity INDISTINGUISHABLE from exactly the wanted thing, minus the undesired sequelae. granted if trinque ~specifically~ gets off on watching the offspring sprout, there is little that can be done for him by engineer.
mircea_popescu: the problems only begin when trinque goes on a jwz rampage “i only wanted the offspring to sprout, not rob the store”. then people get conned into pretending “education” is an engineering field.
mod6: in way that asciilifeform lays it out, in the sense that this vpatch would start from ‘false’ and end in ‘SOME_HASH’ and create a file(s)|directory(ies) that did not previously exist, then yes a ‘genesis’ but only on concept – not in name. as we shouldn’t not confuse the two imho.
asciilifeform: per my v, that and only that is what a ‘genesis’ is. any other usage is nyooz to me.
mircea_popescu: if you’re building trb, you start from a trb genesis. if you’re building V (via V), you start from a V genesis. and so on. the obvious usage is due to it being -genesis. but yeah.
mod6: i think that it makes it confusing if we call it ‘v-genesis’ instead of mod6_v.vpatch or something
asciilifeform: thing is, operator doesn’t specifically start from anything. he specifies a press head (if that. in one variant contemplated earlier by mircea_popescu, one does not even specify press head, but instead walk longest chain having sigs S1…Sn). the press head results in walking backwards in time, to the genesis.
mircea_popescu: tru. but it ends up SOMEWHERE. right.
asciilifeform: of which there can be >1 !
asciilifeform: as would be the case in a mircea_popescuated shiva trb.
mircea_popescu: how the hell would that be the case.
asciilifeform: graph will have 2 nodes having no antecedents. 1) trb-genesis 2) shiva-part1
mircea_popescu: no graph of mine is ever going into this state of sin.
asciilifeform: how the fuck is this ‘state of sin’
mircea_popescu: because ambiguous genesis.
asciilifeform: it isn’t ambiguous !
asciilifeform: operator NEVER explicitly does ANYTHING with genesis ! ever ! srsly read the code, of ANYBODY’s vtron. doesn’t have to be mine
mircea_popescu: would it be better if instead of genesis we called it terminator ?
trinque: mircea_popescu │ the problems only begin when trinque goes on a jwz rampage “i only wanted the offspring to sprout, not rob the store”. << I agree 100% that offspring are in any sane scenario mine to end. this does not contradict the fact that the more the world looks like me, the happier I am. it serves it asciilifeform: dun matter what we call it, there can and often will be >1.
mircea_popescu: no such wonder.
asciilifeform: elementarily, any patch that sprouts matter out of the aether without affecting anything presently standing.
mircea_popescu: it still has to either a) chain off an existing element or b) not be part of the story. there is no c).
asciilifeform: tinyscheme did not chain off any previously standing thing.
mircea_popescu: then no good. and whatever patches reference it should burn.
asciilifeform: it joins the party wholly formed.
mircea_popescu: not allowed.
asciilifeform: and i seriously fail to see why mircea_popescu is barfing
mircea_popescu: it goes off existing matter or goes hang.
asciilifeform: why ?
mircea_popescu: same reason someone who wants to participate here starts by reading the log, not by “wholly formed” delusional nonsense.
asciilifeform: does mircea_popescu recall why i did the tinyscheme genesis the way i did ? it was quite ugly ! but ~deliberately~ went from ~pedigreed tarball~
mircea_popescu: possibly because trying to subvert the whole thing by having “multiply loadable libraries” or whatever. in any case : you can trivially just make it depend on genesis and be done with the whole story.
asciilifeform: this obscures its pedigree ! and makes whole thing into a ‘trust me plox’
mircea_popescu: there may not exist any sort of pedigree, even as a notion, other than from one of our genesis. and generally – the whole fucking world burns. the notion that some sort of “pedigree” from outside v is worth two shits is the only fart here.
asciilifeform: it has to burn with proper petrol, farts are not enough. using what pedigree there actually is – e.g., mircea_popescu’s signed pgp tarball – is part of this.
phf: yeah, i found that point of tinyscheme somewhat confusing. i understand asciilifeform’s intent of “this is how i found tarball”, but it seems to contradict wot aspects of v
asciilifeform: point was to separate ‘i found this’ from the ‘and then i changed x,y,….’
asciilifeform: but it is not outside. the signed pedigreed tarball is a vtronic creation (in the respective cases, mine and mircea_popescu ‘s)
mircea_popescu: the pedigree, if it exists, comes from “i asciilifeform read this and i goes off genesis”. nowhere else.
asciilifeform: testament that ‘yes this is what i had on optic disk for last 10y’. aha
mircea_popescu: no such separation is desired. moreover, breaking the tree is outright catastrophic.
asciilifeform: how the fuck does it ‘break the tree’. i dun get it.
phf: well, yes, that’s the intent, but i’m saying that i’m not sure there’s value in “i found this” when it breaks “i make this part of whole”
mircea_popescu: but understand this clearly alf : the difference between “i produced this” and “i stole this from washington” is nil. if you stole it or wrote it – YOU PRODUCED IT. world is not worth the mention.
phf: well, it attempts to solve same problem that the vectors were solving, i.e. introducing code that you’re not ready to reasonably support
asciilifeform: it is worth the mention when somebody else steals precisely same thing (because it was, say, hamlet) and stands a patch on ~it~
mircea_popescu: hardly. you sign yours, he signs his and that’s that.
asciilifeform: then we can see that my item and his have ~same~ antecedent.
mircea_popescu: yes, ie, genesis. there may not be any such “we see”. if both you and him introduce “item x”, the only approach is to read both.
asciilifeform: if diff x1 x2 is nil, then NOPE. no need to ‘read both’.
mircea_popescu: why’d someone make a new 0 diff patch instead of signing yours ? this is pretty crummy behaviour.
asciilifeform: because he had nfi i existed ? and stole hamlet on his own ?
mircea_popescu: ignorance of the patches is scant defense.
asciilifeform: imho mircea_popescu is catastrophically missing the point re the genesis thing: i will give example
asciilifeform: ‘ffz’, item i am working on now, is the finite field integer library. it uses nothing previously existing, and will be a genesis in any possible tree where it appears. but not the only genesis! (what kind of proggy would it be, to have only it as genesis.)
mircea_popescu: mno. ffz, a project you are working on now, has its own genesis. IT WILL BE REBASED in any possible tree where it appears. you don’t get motherfucking #include. v exists SPECIFICALLY so you can’t “save labour” in this manner.
asciilifeform: v is as strong as the hash function which, if strong, makes it safe in ANY case to ‘#include’ a HASH. whole motherfucking POINT of v. is to NEVER have the idiot duplication of identical shit.
mircea_popescu: never. lazy ass coder people. you want to use a piece of code in your project, YOU REBASE IT. no fucking exceptions. read the whole thing, rebase the whole thing. copy it by hand in longhand 50 times.
asciilifeform: i ain’t doing this. and nobody can make me.
mircea_popescu: apparently i wasn’t ~missing~ the point eh.
asciilifeform: the ~necessary~ reactor rod pulling, and not ONE inch moar.
mircea_popescu: reading code is necessary. stick to one project at a time, you’ll be happy enough that way.
asciilifeform: reading code – necessary. diffing identical filez by hand – idiocy.
mircea_popescu: for the record – each piece of code should be read more often than it is used.
asciilifeform: here i must agree with mircea_popescu. (i compulsively re-read own shit)
mircea_popescu: asciilifeform not in the slightest. you ever read a novel TWICE only to discover that hey, i hadsn’t gotten it the first time ?
asciilifeform: saved my skin many times, this did. sometimes 10x.
mircea_popescu: so then stop hanging on to outdated capitalist dogma that perpetuates the inequality in our society.
asciilifeform: but this kind of thing oughta be done ~with thought~ rather than as strange human sacrifice ritual.
mircea_popescu: if there’s ever going to be an end to rotten meat, is through disallowing the processes that create it in the first place. #include got to go.
asciilifeform: reread must be a deliberate, conscious act, not ‘hail mary’. nothing about ‘let’s cp this 1,000,001 times because mircea_popescu took away #include’ compels intelligent rereading.
mircea_popescu: intelligence can not be compelled. however, stupidity can be dis-empowered. there’s not going to be any of this “o mom look at me i r coder too i included shit from github”.
asciilifeform: this does not come from the machine, but from the meat.
mircea_popescu: whether anyone for this reason or for any other starts behaving intelligently is outside of the scope. nevertheless, the dumb behaviour being stomped out is, by my stick, enough.
asciilifeform: my point is that mircea_popescu is using very blunt stick.
mircea_popescu: so i am.
trinque: the include moves concepts from one place to another without enumerating them. it’s in that sense a lie by omission
asciilifeform: it enumerates
mircea_popescu: and for that matter, without UNDERSTANDING them.
trinque is chronically guilty of massive single files of code
mircea_popescu: “hey, worx”
asciilifeform: by stating the motherfucking hash is a total enumeration. for any possible purpose.
mircea_popescu: not so. for instance – fitness of import to codebase is not seriously considered.
trinque: the has does not fucking enumerate what it hashed or you could reverse it. it identifies which is totally different
asciilifeform: idiot cut and paste lies ~explicitly~ by trying to fool reader into ‘x1 and x2 differ’ whereas they do not. have same bitwise identity.
mircea_popescu: even the notion of “library” is fucktarded. you take the code and apply it to your needs.
asciilifeform: go, apply. by patching.
mircea_popescu: rebase-and-patch, sure. understand : you make zlib. project X uses zlib v 95. project Y uses zlib 94. you move to zlib 99
asciilifeform: i fail to see the point in pretending that x1, x2, x3, … xn which are BITWISE IDENTICAL are different entities.
mircea_popescu: NONE OF THEM LOSES ANYTHING. they have your shit rebased properly. if they want to add your patches they do. if not – not, and fuck you. otherwise you reproduce the shit that ruined linux world.
asciilifeform: we are never in any danger of having ~this~ ‘include’
mircea_popescu: two women which are cuntwise identical ARE STILL DIFFERENT. genetics, their future, etc.
asciilifeform: their include is BLIND. it has no hash !! think !!
mircea_popescu: so ? hash doth not save.
asciilifeform: but it does.
trinque: I didn’t read it; I just copied and pasted that hash from shithub
asciilifeform: when someone builds on my particular patch, i can never in the future move anything ‘from under him’. unlike the idiot ‘linux world’ include
trinque: doesn’t this run directly against your fits-in-head thing?
asciilifeform: how ?
trinque: because you are considering openssl as the word openssl or whatever function you’ve imported and it’s signature and not how it actually works. program is too big. you’re fucked
asciilifeform: v is specifically about not doing this. we never include ‘word openssl’
mircea_popescu: wouldja think for a minute. if he trusts your key, to get stuff included up to X, he trusts your key, so ends up with stuff included past X also. how does he stop your stupid shit at X ? only rebasing does this.
phf: tinyscheme is very much openssl
asciilifeform: but we DON’T ‘#include tinyscheme’, we include PARTICULAR HASH OF PARTICULAR SNAPSHOT. srsly. what planet have you lot been living on
mircea_popescu: this is not the jesus you think it is.
asciilifeform: he stops it by taking SPECIFIC HASH, of specific one of my patches! as his antecedent. nothing that happens after that can possibly affect his proggy
mircea_popescu: why not ? v sees patches off the same thing signed by you, imports them.
asciilifeform: v as we have it offers NO mechanism for ‘and this here file is the longest chain of all of asciilifeform’s patches forever’
mircea_popescu: … depends on mode, in one mode it builds all the chains it can./
asciilifeform: you can’t specify a ‘all of asciilifeform’s works’ as a v-antecedent ! THIS, if it existed, would be certain doom. as mircea_popescu describes, with ‘#include ‘
mircea_popescu: i suspect this matter requires more private meditation, because there seems to be relatively little common ground.
asciilifeform: i also recommend experimentation. pop yer favourite text editor, and pick favourite vtron (i recommend mod6’s) and play.
phf: i understand that but you’re missing what i’m saying. you yourself said that you’re not particularly trusting tinyscheme. it has overflow bugs, it has all kinds of issues, and keeping its apartness insulates ~you~ from a certain amount of responsibility. it’s no longer serving a purpose as part of a bigger trb patch, now it’s this third party “pedigree” thing, that we can sort of rely on, but nobody’s responsible for etc. hence openssl
asciilifeform: this is correct. in that sense absolutely. it was specifically labeled as a dangerous toy. for the reason you described.
mod6: i think both are reasonable. this should be tabled for now for thought-experiment and real-experiment time.
mircea_popescu: it is also bullshit.
trinque: question wasn’t (I thought) how V works, it’s whether #include is a useful tool or a festering fucking sore. yes. your program *is* one scroll whether you’ve structured it as such or not. why lie
mircea_popescu: you can’t fucking have “nice things”. deal with it!!11 i personally never got the idea it’s part of trb or anything. seemed to me more like a “alf’s other project”, sort of like the ffz thing.
asciilifeform: #include is bullshit. #include is a reliable tool.
mircea_popescu: a reliable tool to lie to management.
asciilifeform: nope. a tool for reusing timeless pieces.
mircea_popescu: as phf explains above, and as i’ve tried to. there is no such thing. again : you can’t fucking have “nice things”.
trinque: it is a fucking lie; the category within which you’re enumerating symbols is not delimited by file. the category is as big as it is, and no smaller. and inventing “file” and #include does not change that.
asciilifeform: i suspect that we are not going to agree.
mircea_popescu: possibru not.
asciilifeform: i believe that it is possible to actually solve a problem in a permanent way. as in, for all time.
mircea_popescu: in software ? maybe. ONE problem. not “all problems”.
asciilifeform: one problem. e.g., addition in Z.
mircea_popescu: you write your lib with the cannonical solution ; everyone else imports it that wants it.
mircea_popescu: exactly how “search” is “a problem solved for all time”, but when grep got implemented they… cheated it.
asciilifeform: imports, not MORONICALLY cut and pastes. imports by referencing the hash.
mircea_popescu: imports, not moronically includes, but re-writes the code.
trinque: and so then your program will never fit in your head. it will until you hit a boundary and say “openssl” or “tinyscheme” and this is fiat-world division of labor where at some point it is “other guy’s problem”. and thus entirely not “fits in head”.
asciilifeform: but you NEVER ‘say tinyscheme’
mircea_popescu: you know saying “tinyscheme 4564387658734” is not for this reason better than “tinyscheme”
phf: well, tinyscheme-0f2b8cc
trinque: does not matter. tinyscheme at point in time, no shit
asciilifeform: you say B9F2C8885474FD6B4F7D36955799716E68161BE8F8CFCE3640ADE942FE0064A00D64C7DABC3EC36B24797760B99EA6C79D74A8F984DCC3AEAC2EEF183B3ED70B.
mircea_popescu: that’s his point, that it doesn’t matter. the peculiar string you use does not work the magic better. can be as long and lettery as you want. still a hail mary string of no actual practical benefit.
asciilifeform: it does though. (unless you have a meaningful hash collision.)
asciilifeform: it doesn’t point to a ‘place where i swear i put a tinyscheme and not rm -rf’. it points to tinyscheme.
mircea_popescu: this is true. it is also irrelevant.
asciilifeform: i am entirely unconvinced.
asciilifeform: to me it is the only relevant thing.
phf: tinyscheme then becomes a space of unknowing. heh, this is parallel to the unicode conversation actually..
mircea_popescu: it just occured to me yeah, it is. architecture long encountered, and then resolved, this matter. there are “problems solved for all time”, such as, “the roman arch”. nevertheless, no architect to date has yet written “roman arch” on a piece of paper. instead, he made one. by hand. to spec as his project needed.
asciilifeform: possibly what mircea_popescu was thinking is that the operator is NOT absolved of the chore of reading the thing that hashed to B9F2C8885474FD6B4F7D36955799716E68161BE8F8CFCE3640ADE942FE0064A00D64C7DABC3EC36B24797760B99EA6C79D74A8F984DCC3AEAC2EEF183B3ED70B to see what it consists of.
mircea_popescu: not just read it. change it.
asciilifeform: the part i disagree is mircea_popescu’s apparent insistence that said chances ought to artificially obscure the origin. and leave the reader to gnaw on it with diff tools if he wants to get to the truth.
mircea_popescu: the odds of two projects wanting the same exact verbatim pile of lib-code are ~as good as for a hash collision. there is no “origin”, other than, “who signed it”.
trinque: the thing on trial here is I just wanted to aes-128 or whatever ; I did not want to openssl.
asciilifeform: elaborate ?
mircea_popescu: but yes, laterally, this also takes out with red irons any concept of “copyright” in software. not altogether a bad side effect, but it is not intentional, merely derivative from sanity.
asciilifeform: makes ~exactly same amount of sense by abolishing copyright by poking out eyes.
mircea_popescu: i been saying this for an hour now. YOU DONT FUCKING IMPORT THE WHOLE LIB VERBATIM. you take what you need, and adapt it to your project.
trinque: my actual possible code paths in say trb should be reflected in the code
mircea_popescu: http://btcbase.org/log/2016-06-14#1482376 < also.
a111: Logged on 2016-06-14 04:29 mircea_popescu: the odds of two projects wanting the same exact verbatim pile of lib-code are ~as good as for a hash collision.
asciilifeform: ideally you will specify a MINIMAL set of differences, via patching. supposing that the originating item was by someone in your wot, vs taken from hitler on battlefield. and phf actually had a good point earlier: i am NOT and will NOT be willing to sign off on, e.g., tinyscheme, or even trb, with same level of assurance as for code that i and i alone had written. hence http://www.loper-os.org/?p=1545, which incidentally is still a thing that must be done, either this way or some other way, because this is indeed a dire problem. and must be dealt with.
trinque: I’m reminded of the call-graph thread.
mircea_popescu: no, best is to trust and verify. pretend you did take it off hitler.otherwise – hole, night, creeps in. point being that problem would be trivial if we weren’t introducing human-side optimizations like #include and general libraries of 100s of functions out of which you pick a couple.
phf: i prefer to just loosen the requirements a bit. a failure in a vpatch doesn’t need to result in public disgrace, shaming or execution. that might be one of reasons why work came to utter stand still, nobody wants to “sign off” on this or that like it’s going to end in the style of diana_coman’s story.
asciilifeform: if i have to diff (or, satan forbid, VISUALLY INSPECT), e.g., mod6’s ffz.adb to see what parts he changed from mine, and every single motherfucking time i find that it is nothing at all, then my time is wasted. my VERY limited time. it was hanbot’s story.
phf: err, yes, sorry.
mircea_popescu: why would you care to answer that q btw ?
trinque: the problem is poorly formed; I would eventually sign off on a function that did RSA. I will never sign off on a crypto util lib that has umpteen million functions
mircea_popescu: i am of the same mind.
asciilifeform: because if i cannot determine mechanically ‘this is THE thing that ~i~ wrote’ vs ‘this is SOME OTHER thing that i must now read with magnifying glass’ this wastes potentially weeks, months, years (depending on mass of turd) of my time.
mircea_popescu: reading code we use is not wasting anything. either it’s familiar or it isn’t. a
asciilifeform: reading SAME THING 1,000,001 times because SOMEONE ELSE FORCED ME ~is~. definitionally. if ~i chose to~ – then no, not waste.
mircea_popescu: incidentally, this may be the most idiotic cockroach implanted by USG in programmer heads, “save time by not reading”. nigga… so fucking backwards. read, bitch. read. write less.
asciilifeform: by not reading THING I WROTE n+1th time
mircea_popescu: if it’s already in your head ? goes fast.
asciilifeform: my n, for all mircea_popescu knows, could be 1,000.
mircea_popescu: iirc when i wanted to sanitize indents you quashed it mostly on the grounds of exactly this, “i want my diff to still work”. well now ? it works, use it omgerd.
asciilifeform: it was a ‘i will NOT read a thing by hand to discover that it is actually equal to yesterday’s thing’. does mircea_popescu remember his mega-article on leverage ?
asciilifeform: and which projects he would take on in his consulting days
phf: reading thing you wrote as applied to a new problem might potentially reveal issues. “oh this code uses strcpy with null pointer, strcpy is included from `my` code, so i’m going to make a bunch of assumptions that break down in this case”
asciilifeform: i quite agree that rereading can be beneficial. but NOT forced ‘paint the snow heaps white’ ru army style. have link handy for l0gz?
asciilifeform: yes! precisely that one.
mircea_popescu: shut up, ru army style made men out of a collection of shitheads.
mircea_popescu: all the “effort saving” kitchen appliances never made a man yet.
asciilifeform: but doing same to ~adult man~ is a no go.
mircea_popescu: internet of things. pshaw.
asciilifeform: different animals. in linked piece, mircea_popescu described how he would piss right back on people who intend to waste his time (with sitting in queues, pointless travels to stuffy offices, etc)
trinque: when I read a definition of a lisp system which pulls 30 separate files into one namespace, I am reading a lie. the system is 15k lines long, not 200 or w/e
mircea_popescu: you’re trying to save copulation time, seriously now. it’s not been wasted, the time you used reading, it’s not been wasted.
asciilifeform: realize, if i strongly suspect that strings s1 and s2 are identical, i’ma diff’em. no matter what dumb obstacles anybody placed in my way. i ain’t reading macbeth twice in one evening unless i ~want~ to.
mircea_popescu: so diff’em.
trinque: what requires you to read the whole scroll? so you’re looking at it at offset whatever, what does this change?
mircea_popescu: or for that matter, anything you don’t feel like reading.
phf: fwiw, we don’t have examples in code base of 1000 re-readings but we already have an example of openssl, which is where this conversation started.
asciilifeform: i still dun see where openssl comes in
mircea_popescu: tinyscheme :D
asciilifeform: hell, we have a ~literal~ openssl in there. in the tinyscheme sense.
mircea_popescu: anyway, what started this conversation is that the ratcheting ratcher burnssss. what’s one to do. so it burnssss.
asciilifeform: incidentally, at one point i signed ‘this is the tarball of openssl circa 20xx from my hdd, sha512==H’
trinque: what did that tell anyone
asciilifeform: you would rather not have it ? and get a wild one from the net ? your business.
trinque: how am I to evaluate the question of whether I care about that?
mircea_popescu: it’s a start. it can not be a standard, however. merely a start.
asciilifeform: you evaluate it using SAME algo as you use for ‘did asciilifeform write his patches or were they given to him by a colonel at ftmeade to pass to chumps’
trinque: “I want incomprehensible wad of nonsense from PRECISE date over incomprehensible wad of nonsense from arbitrary date”
asciilifeform: it was how we genesis’d trb, recall.
trinque: sure, and see mircea_popescu from 4 lines ago but I have nfi what the fucking thing is, to this day because of the very thing we’re discussing.
asciilifeform: aaaaaaaand THIS is why i want to preserve ALL possible quanta of provenance. for future trinque. instead of cluttering up the aether with cut’n’pastola.
trinque: I would understand more of what bitcoin *is* from an implementation with no dependencies than from what we have .
asciilifeform: you can ALWAYS press/rebase a chain of patches into a ‘year 0’
trinque: that what we have is all we have is a tragedy and nothing other
asciilifeform: you can’t do the reverse ! there is no hamburger –> cow converter. it is quite correct to say that no one will ever fully grasp what the original bitcoin actually ~was~ because this act would require fitting, e.g., ‘boost’, in head. which ain’t happening.
trinque: yes. for all I know boost does this very particular thing with memory allocation that obviates some race condition the whole concept has which prevented it from collapsing immediately and we’ll never know because as formed I cannot read bitcoin. and now we’re back to your book. /me cackles.
phf: genesis of bitcoin including entire lfs, gcc, etc.
trinque: every pit of ignorance on earth sits behind some tidy word beyond which “it’s someone else’s problem”
phf: i think that a lot of these conversations come to a standstill because they deal with infinities, rather the shaping into a reasonable concrete. it seems proper that slapping new code onto bitcoin should come in a form of wot signed balls of mud, that don’t particularly care about preserving all information and pedigrees and such. “i wrote this new math function and it uses this mp code that i lifted elsewhere but shaped enough that only relevant bits remain an
trinque: the problem there is knowing how much compromise leads to death. one can always say “not as much as I’ve commited thus far”. and then maybe you’re BingoBoingo’s druggie, or you’re in a pool of blood and piss
phf: act from cause?
trinque: I’d expect it avoids the trap. at least in that case you know what you’ve done!
phf: i’m not sure i understand where compromise is. i’m comfortable working with big ball of mud. i see a vpatch as a transition of state of mud to a new state of mud and vpatch is an exhaustive description of what that state transition means. it’s signed by asciilifeform which is all the pedigree i need. vpatch itself can come with out of band comment “might be buggy” or “ready for war deployment”. there are known problems with that approach that manifest at scale. but i haven’t seen those problems yet in the bitcoin codebase, the problem that i did see is a certain deliberate apartness of tinyscheme related code, that subtly violate my assumptions in a nagging way that i described above.
trinque: that “apartness” you smell on tinyscheme is throughout the thing, not just there. I have been arguing that the #include concept (styled (require …) or whatever you like) gives a person a place past which he may “not have to care”
phf: sure, and the next step might be to trim down openssl as much as possible (which might be not much at all given limited resources) and rebase it into genesis
trinque: except that he does have to care; this concept is broken. certainly so. there’s a core philosophical question of “what is a program” which extends from the observation. using openssl as a symbol, to the degree that your program relies on one, you cannot be said to have written any particular program at all. and your signature upon the mud is meaningless
phf: a genesis that no one can read through and make sense of it is meaningless.
trinque: who is arguing with that?
phf: well, as far as i understand it was us three arguing with asciilifeform from different angles
trinque: two categories come to mind; lets say in the context of planning a military operation. on one side you have the set of all possible tactics to employ in a given domain. this is a ‘crypto util library’. on the other you have specific orders given to a unit. this is a program. funny thing here, isn’t lisp supposed to be able to manipulate its own damned code.
phf: well, mp already pointed at this with his roman arch example
trinque: why then does it hvae the same import system as C++ roughly. why isn’t my program only the set of code it actually uses. even though yeah, it came from the set of all known Xs and Ys
phf: which is traditionally described in computing with same architecture terms, i.e. patterns
trinque: I should name a specific symbol import and have the code for that import and all deps slurped into the very spot I named it
phf: asdf is a later graft on lisp, already long after it went microcomputer. the ball of mud in case of lisp is “the entire state of your lisp machine image”. in fact lisp is pretty unfriendly to the whole idea of “fire and forget” code reuse. hence various monsters like “named readtables” and various attempts to minimize package name clashing.
trinque tries to imagine what a hammer would look like if it were composed of orthogonal categories of “lets make everything to do with hardness” and “everything to do with smashing”. probably fucking openssl. the physical world does not have this confounding problem. you do not link something which contains all possible uses of cement when you pour a foundation. with the risk that something about bridge failure may end up causing your building to collapse. fascinating; I have a condensation of the whole conversation now. it’s whether software is a matter of engineering or of thought [emphasis added]. thinking of it from the perspective of “mind amplifier” says in order to represent as much thought as possible, gonna need hyperlinking. someone thinking of a specific problem rather than *the whole problem* sees it from the perspective of maximizing clarity of his own particular domain. thus fuck your hyperlinks; give me the whole thing in one buffer.
mircea_popescu: http://btcbase.org/log/2016-06-14#1482493 << word. really, “labour division” is harmful in the same manner jwzism is harmful, if practiced in the manner jwzism is practiced. the criteria for cleavage MUST BE “can these things be cleaved” ; it CAN NOT BE “would i like these things apart”. it is and has to remain about the things, not about the people. and in this sense “engineering serves mankind” in the same way “the sun is useful to us”. it’s not something it set out to do. hence the whole “because i can”. it’s a misnomer : “because it can be done” is proper, the i has no business in there. it’d like to, but that’s neither here nor there.
a111: Logged on 2016-06-14 04:55 trinque: every pit of ignorance on earth sits behind some tidy word beyond which “it’s someone else’s problem”
mircea_popescu: and yes, it all loops right back into http://btcbase.org/log/2016-06-14#1482499
a111: Logged on 2016-06-14 05:03 phf: act from cause?
mircea_popescu: http://btcbase.org/log/2016-06-14#1482503 << it violates mine outright, so much so that on the first pass i ~ignored it.i hadn’t realised at the time it’s meant seriously, hard to tell what is a minor point and what a major point until discussion actually ends up on them.
a111: Logged on 2016-06-14 05:18 phf: but i haven’t seen those problems yet in the bitcoin codebase, the problem that i did see is a certain deliberate apartness of tinyscheme related code, that subtly violate my assumptions in a nagging way that i described above.
mircea_popescu: http://btcbase.org/log/2016-06-14#1482510 << whether you can be said to have “written” it, in the manner of genre fiction, is even a separate matter from “having written it” in the manner of code, which means you control it, which is a superset of you understand it completely, which has really little to do with “here’s a string i dreamed up now publish it and clal it a book”.
a111: Logged on 2016-06-14 05:22 trinque: using openssl as a symbol, to the degree that your program relies on one, you cannot be said to have written any particular program at all
mircea_popescu: http://btcbase.org/log/2016-06-14#1482521 << incidentally, i think this discussion unearthed another sacred idol of computing stupidity, deeply buried. allow me to go into some detail : there obviously exists a continuum between abstraction and implementation. the way this continuum is handled in ~all (and absolutely all) successful human endeavours is, that a concept is clarified AS A CONCEPT ; and then that concept is applied to situations as an application. like the war, roman arch, et all. meanwhile, the way this continuum is handled in all failed human endeavours (computing among them, with such prideful items as “social science” and so on) is for “all possible uses” of a concept to be “dreamed up” and “packaged” in a “conceptual library” which is then to be used verbatim. this idiocy is not only how computing “works” today, but it is also how a good “marxist leninist maoist” party cadre is expected to treat the inept shit they use : he’s to import marx.library exactly like you’re “expected” to import iosys.blabla. the deep stupidity involved should be directly apparent, but in any case – the system as proposed violates the proper flow of entropy, and as such MAY NOT HAVE ANY MERITS.
a111: Logged on 2016-06-14 05:31 phf: well, mp already pointed at this with his roman arch example
asciilifeform: mircea_popescu is also against operating system? after all, it also entails invoking existing code instead of repasting whole shebang
mircea_popescu: os should be built via v.
asciilifeform: i agree…
mircea_popescu: which means there isn’t “the os” anymore.
asciilifeform: but question concerned os as, fundamentally, a library
mircea_popescu: but os as fundamentally a library is like woman as fundamentally a syphilis repository.
asciilifeform: which is to say, a fairly heavy thing, that mircea_popescu is likely to use in his creations without reading.
mircea_popescu: my shamelessly tall statement here being that, “library is the bad thing”, outright. i wouldn’t use it in my creations without reading it. i may run it on a box on the basis of wot though. the fundamental problem with the “library” thing is that you are asked to guess what i might wish to do in the future. this is wrong, and unfixable.
asciilifeform: a fella who won’t set foot on airplane has the luxury of ‘i won’t fly unless i built the thing’.
mircea_popescu: “open source” alleviates this like an emergency valve does ; but why the fuck have design processes which create items which rely on emergency valve already. fix the leaks.
asciilifeform: with static library that is NOT a thing. there is no ‘in the future’.
mircea_popescu: your idea of static library is practical, but incomplete.
asciilifeform: it isn’t an animal, can’t run away.
mircea_popescu: true static library is really the complete story : ascii’s ffz + the various re-implementations of ffz in projects x y and z.
asciilifeform: if it actually works, it never needs reimplementing. usable verbatim.
mircea_popescu: at the very least any use will only want parts of it. how do you put in “all the parts that are needed by ALL future users” but “no parts not needed by ANY future user” ?
asciilifeform: this is something that always annoyed me, that folks write blobs that later have to be cut into parts. i – pre-cut. like any good butcher
mircea_popescu: i do not wish my os to contain as much as a fucking variable declared i don’t use. not one.
asciilifeform: i’m with mircea_popescu on this one ^ .
mircea_popescu: i suspect this may be a case where your conscientious intelligence is moreover harmful in the very limited and passagery sense that it took you far enough down a blind alley to make digging out the proper route seem expensive and painful.
asciilifeform: http://btcbase.org/log/2016-06-14#1482593 << this is called orthogonalization. and is a thing. even if lazy bastards never do it and consequently mircea_popescu has never seen it.☝︎
a111: Logged on 2016-06-14 13:12 mircea_popescu: how do you put in “all the parts that are needed by ALL future users” but “no parts not needed by ANY future user” ?
mircea_popescu: i posit that no matter how good a job you do of it, and i believe you capable of an exceptionally good job, will never be perfect, because it can’t be for fundamental reasons.
asciilifeform: software is the one animal that ~can~ be perfect.
mircea_popescu: only in given context. which is the problem.
asciilifeform: not merely in context of use, but of specification. a fits-in-head library with no loose parts and no sharp edges can be used as it is.
mircea_popescu: there’s some problems with the concept of “specification” also that i don’t have clear in my mind
asciilifeform: and guarantee 0 surprises. hm?
mircea_popescu: speaking of which, i must say this has been by far the most serious, deep and far reaching argument tmsr yet produced, i sit and marvel at the wonder, all my resources tapped taut and for the first time in many years insufficient to peer through the gloom. let’s go into a lengthy sidepoint. can you define “specification” for my benefit ? strangely enough the prb tards think some things about what a specification is that diverge.
asciilifeform: generally, a human language description which unambiguously relates the inputs of a mechanism to the outputs
mircea_popescu: no generally. the definitive, absolute and no sharp edges or loose parts version, that can be engraved into the ether and forever work without change.
asciilifeform: no such thing, because spec is a program for ~meat~. meat sucks to begin with, ‘crooked timber’ etc.
mircea_popescu: heh. so make a spec for god.
asciilifeform: spec ain’t magic. and much of what you see passing for spec is a deliberate attempt to paper over broken ~concepts~ with verbiage.
asciilifeform: have an example of correctly made spec: the ada ref+rationale. it is sufficiently detailed and unambiguous that unrelated groups can and have implemented fully compatible compilers. by reading it.
mircea_popescu: ugh. i was looking for a definition not for an example.
asciilifeform: yes it is pig-ugly. i gave definition earlier.
mircea_popescu: which ?
asciilifeform: unambiguous description of how inputs and outputs relate.
mircea_popescu: so a spec is purely descriptive, and in no sense prescriptive ?
asciilifeform: e.g., ‘the box takes 8 bits as input and sets the 3 bits of output as equal to the number of 1s on the input register.’
mircea_popescu: “don’t steal” can not be a spec, only “if you steal you go to jail” ?
asciilifeform: all specs are maximally prescriptive. in that implication is ‘if you don’t do x, you are not conformant and we throw you out and buy a new you’
mircea_popescu: and spec may not discuss internal state, only inputs and outputs ?
mircea_popescu: then variant and unequivalent implementations of the same spec may exist ?
asciilifeform: absolutely. i can build machine to match my spec above out of GaAs transistors, or MOSFETs on Si or whatever.
mircea_popescu: so you’ve just said “the bitcoin newtork is the bitcoin specification” here.
asciilifeform: since i did not mention timings or analogue characteristics, the two will be equal per the spec. only because it presently has no other specification. but it has none at all. the wild animals of the forest are not a spec
mircea_popescu: but the network already and very clearly specifies inputs nad outputs. this meets your definition.
mircea_popescu: experimental specification, “send a txn see if it makes it through”. well, for any possible output, it’ll get either accepted or rejected. doesn’t get clearer than this.
asciilifeform: this is pointedly NOT a specification.
mircea_popescu: which is my point.
asciilifeform: rejected today, accepted tomorrow.
asciilifeform: there is no room for dice rolls in a spec.
mircea_popescu: your definition’s no good. you did not say that.
asciilifeform: my definition is fine, you are trying to apply it to a dog vomit.
mircea_popescu: hahahaha. i hope this was deliberate joke yes ?
asciilifeform: which isn’t a fit subject. you can’t specify a dog vomit, it won’t sit still. can specify ‘bitcointron’ but not ‘the network’
mircea_popescu: o god almighty he was playing it straight. listen asciilifeform you’ll say the exact same thing about your bovaric contraption down the road. “the program is fine the world failed it”. need i quote brecht to you ?
asciilifeform: a spec must be objectively, deterministically testable. how do you test the network ?
mircea_popescu: you didn’t say that, either. but hey, you test it. “as best you can”. then nobody believes the results. /me waves hand.
asciilifeform: because not objective. cannot be ~replicated~. ‘dragon came for me from this here well, ergo it contains dragon’ is not an objective test. ~i~ ought to be able to summon dragon likewise. or dragon-presence is not a testable thing.
mircea_popescu: care to revisit your definition of a specification ?
asciilifeform: did say ‘unambiguous’ and testable. what more you want.
mircea_popescu: unambiguous description of how inputs and outputs relate. << is what i have. bitcoin network is unambiguous.
asciilifeform: at any rate, spec is a weak animal when it relies on promise, rather than protocol. ideally you want a simple litmus test for conformance that insta-zaps deviants. like going wrong way in traffic will kill an idiot. to the extent that bitcoin does ~not~ behave this way, it is broken design.
mircea_popescu: but that’s neither here nor there re our problem.
asciilifeform: bitcoin network is a dogvomit, because it happily accommodates folks driving wrong way.
mircea_popescu: irl i drove wrong way and here i am also.
asciilifeform: but road did not switch directions for hours while mircea_popescu drove wrong way. spat him out. or was it in, say, india, and it did ?
mircea_popescu: serbia, ~did. anyway, to round up this excursion : http://btcbase.org/log/2016-06-14#1482607
a111: Logged on 2016-06-14 13:18 mircea_popescu: there’s some problems with the concept of “specification” also that i don’t have clear in my mind
mircea_popescu: anyway, your definition of a spec is amply vulnerable. take the time issue : what, ddr can’t be specified ? fingering a girl neither ? what happens if the spec asks for a 10 followed by a 11, and ytou get the 10 and silence ? now you got a whole halting problem on your hands. honestly it doesn’t seem anyone has a better idea of what a spec is than “correct metaphora”, which is ridiculous, ironic, scandalous and not much to go on simultaneously.
asciilifeform: i didn’t say ‘time can’t be specified’ !! it simply wasn’t in my example.
asciilifeform: you can put whatever you want in a valid spec, so long as it is deterministically testable. ‘relates inputs to outputs’ does not exclude time, voltage, sex, whatever.
mircea_popescu: so no small scale physical object can be specified.
asciilifeform: if scale small enough – then surely not satisfactorily. try specify electron. whole concept of spec only makes sense in application to testable man-made objects. normally, ones you can throw out if they fail. (i.e. individual telephone sets, but not ‘the phone grid’)
mircea_popescu: so the phone grid can’t be specified ?
asciilifeform: bell corp. certainly ~tried~, it was comical. i actually own some of the trees they killed. quite a read.
asciilifeform: did we ever do a screw threads thread ?
mircea_popescu: possibly not ?
asciilifeform: re the ~original~ specs of the 1700s. where lathe men had considerable trouble specifying threads ~on paper~. and ‘the implementation was the spec’, at least for a long while.
asciilifeform: and the problem was solved in ways which mircea_popescu would find quite unsatisfying.(metrological ‘idols’ in paris, etc.). (for n00bs: to cut a thread, your lathe needs: a threaded part! itself !)
mircea_popescu: “specification is what happens to art products that are no longer interesting. it is the equivalent of commoditization for resources, familiarity in relationships and failure in civilisation.”
asciilifeform: specified threads were a win. any way you cut it. i don’t WANT a screw as motherfucking ‘art object’.
mircea_popescu: and being tired of old wifey is also a win “any way you cut it”, except no way you care to. art in the old sense, from artifex. ie, what you call engineering.
asciilifeform: in the sense of ‘each one is precious and unique and handmade’. fuck that.
mircea_popescu: why can’t it be “each one is carefully well made” ?
asciilifeform: can be as well made as you care to pay for. but if they aren’t ~interchangeable~ you have no industry.
mircea_popescu: which incidentally is how specification was originally born. “replaceable parts”, ww2 tech.
asciilifeform: napoleonic war tech.
mircea_popescu: well depends where, but anyway.
asciilifeform: but yes, fundamentally spec was born so that a man could part out a rifle.
mircea_popescu: anyway, for completeness : the correct, mp-would-find-satisfying, tmsr etc solution to the lathe problem is : make a lathe that cuts lathe parts. shoot anyone found with threaded items not made by your lathe for a few years.
asciilifeform: that’s sorta what happened.
mircea_popescu: it’s what always has to happen.
asciilifeform: http://www.loper-os.org/?p=305 << see also.
mircea_popescu: kinda why isis will necessarily conquer and exterminate north america. they use the metric system.
asciilifeform: do they ? i ask because apparently british units survive in afghan. did we ever do a ‘postel’s law not only considered harmful but a disaster of epic proportions, quite comparable to leaded petrol’ thread ?
asciilifeform: $s postel’s law
a111: 9 results for “postel’s law”, http://btcbase.org/log-search?q=postel’s%20law
asciilifeform: http://btcbase.org/log/2014-02-02#474922 << thread☝︎
a111: Logged on 2014-02-02 17:21 asciilifeform: ‘Postel’s Law,’ that historic mistake.
mircea_popescu: for noobs as you say : calculate the fluid ounces of water to be found in a lake of parallelipiped profile a quarter mile deep, two hundred yards long and six hundred feet wide.
asciilifeform: aha. monkey units are in no useful way inter-related (how much ocean gives you 100 pounds per square inch of pressure ??)
mircea_popescu: also good.
asciilifeform: incidentally for so long as isis army fights with american gear, they are stuck with monkey units. everything from bayonet lug up is in inches, ‘mils’, pound, etc.
mircea_popescu: i don’t think they care.
[…The briefest of intermissions later…]
mircea_popescu: how you distinguish between “spec” and “things that emerge from constraints” ?
asciilifeform: whether the constraints are provided by universe for free (e.g., all vacuum everywhere has same permeattivity constant, you don’t have to sweat to get correct one) vs engineered. the latter – specced.
Framedragger: i don’t know, but either (1) do not distinguish, or (2) use asciilifeform criterion, which i don’t think to be circular, i.e. it’s probably sound?
asciilifeform: (the notion of ‘high vacuum’, interestingly enough, ~has~ a hard spec: mean free path of a particle in the vacuum must be larger than the vessel is wide along any axis)
mircea_popescu: it runs into a problem of “what it means to be provided by universe”. for instance – is failure of socialism provided by universe ? is the fact you can’t walk through fire conventional or universal ?
asciilifeform: asbestos suit – walk, walk. this is right back to the ‘cleavables’ thread.
mircea_popescu: there’s no way yet invented to mortise and tenon DIFFERENT beams together. so the result in practice is that you always interpret one – in this case “universe” becomes accessible through mediation, you describe it to yourself.
asciilifeform: usg is at this very moment attempting a cleave of ‘socialism fails’
mircea_popescu: so now you’re doing two things of the same kind – a convention and another convention.
asciilifeform: using dope, brainwashing, destruction of family unit, 1,001 crackpotteries
mircea_popescu: it is perhaps notable that universe does not provide spec of itself, and so “we’re stuck doing basic science on it”.
asciilifeform: ‘provided by universe’ is a practical thing – like calculating digits of pi works the same regardless of whether you do it with darts, afghan – with kalash, and me – by throwing rocks, in a circle-in-square.
mircea_popescu: i calculated digits of pi to be 3.879345839845. “works the same” only if oyu do it the same, see. but anyway, to expand this horror, what’d be your definition of “fully tested” asciilifeform ?
asciilifeform: take that pi and build a house. fully tested is when you do this. and live in it.
mircea_popescu: “this” what
asciilifeform: take the pi and build.
mircea_popescu: what if i do live in it and happily ? aka “works on my system”
asciilifeform: then your descendants go ??? this actually happened !! with millikan’s electron charge.
mircea_popescu: heck, you laugh at my pi. fine, now laugh at millikan’s electron. damn!
Framedragger: 10000 mile distant response: just because you accept (at least parts of) (berkeleyan?) skepticism doesn’t necessarily mean that *all* relevant conceptual boundaries are useless and prone to slippery slope dissolution
asciilifeform: http://milesmathis.com/millikan.html << on subj
mircea_popescu: that’s not necessarily the problem. the problem seems moreover that we have very weak understanding of items that nevertheless we treat as key bricks in the planned construction. this “everyone knows” stuff is very dangerous.
Framedragger: (berkeleyan in the sense of (1) take locke’s skeptical concerns, and (2) discard locke’s “solution” involving lockean substance and substratum and other essentialist stuff). yeah k, this particiular concern should be acknowledged
mircea_popescu: or, to put the same in positive terms, “we’ve driven the tools to where they exposed grave misunderstanding in the conceptual basis for their usage, now we gotta attend to that side of the ratchet.” “usg runs a racket ; tmsr runs a ratchet.”
___ ___ ___
- The whole “Bitcoin is unspecified spaghetti” problem was first raised by MP in Bitcoind : not quite ready for prime time over three years ago. Were you spending your days on anything even 0.1% as important as Bitcoin in March 2013 ?
Also, this article can only ever serve as a fragment, however brightly gleaming, of the never-ending conversation that is the forum of La Serenissima. I’ve added a few links and improved the flow of the conversation, nothing more. Even at nearly 10k words, this is not intended to fully encapsulate the topic of specification, merely to provide an hublot into the halls of wonder.
- The translation into English of which can be found here : What interests me in a project. ↩