log☇︎
99000+ entries in 0.749s
Framedragger: (i used one vps at a time (switched due to abuse complaints and so that i'd be sure there's no filtering / results are not biased) for the "which IPs out of all IPv4 are alive behind :22" scan, and i then used 13 cheap VPSes for the actual ssh key extraction out of the 20.8M alive candidates. if curious re cost: will get the bill for the 13 VPSes later, but it was basically 11 hours of scanning, 2.99eur / mo. per VPS, hourly billing, so
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: did we ever do a 'postel's law not only considered harmful but a disaster of epic proportions, quite comparable to leaded petrol' thread ? ☟︎☟︎☟︎
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: but yes, fundamentally spec was born so that a man could part out a rifle.
mircea_popescu: and being tired of old wifey is also a win "any way you cut it", except no way you care to.
asciilifeform: i don't WANT a screw as motherfucking 'art object'.
asciilifeform: specified threads were a win.
asciilifeform: (for n00bs: to cut a thread, your lathe needs: a threaded part! itself !)
asciilifeform: and 'the implementation was the spec', at least for a long while.
asciilifeform: did we ever do a screw threads thread ? ☟︎
asciilifeform: quite a read.
asciilifeform: you can put whatever you want in a valid spec, so long as it is deterministically testable.
mircea_popescu: 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.
mircea_popescu: asciilifeform 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.
asciilifeform: bitcoin network is a dogvomit, because it happily accomodates folks driving wrong way.
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
mircea_popescu: care to revisit your definition of a specification ?
asciilifeform: or dragon-presence is not a testable thing.
asciilifeform: a spec must be objectively, deterministically testable.
asciilifeform: which isn't a fit subject. you can't specify a dog vomit, it won't sit still
asciilifeform: my definition is fine, you are trying to apply it to a dog vomit
asciilifeform: there is no room for dice rolls in a spec.
asciilifeform: this is pointedly NOT a specification.
mircea_popescu: experimential specification, "send a txn see if it makes it through".
asciilifeform: the wild animals of the forest are not a spec
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: "don't steal" can not be a spec, only "if you steal you go to jail" ?
mircea_popescu: so a spec is purely descriptive, and in no sense prescriptive ?
mircea_popescu: i was looking for a definition not for an example.
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.
mircea_popescu: so make a spec for god.
asciilifeform: no such thing, because spec is a program for ~meat~
asciilifeform: generally, a human language description which unambiguously relates the inputs of a mechanism to the outputs
mircea_popescu: asciilifeform 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: a fits-in-head library with no loose parts and no sharp edges can be used as it is.
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: 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. ☝︎
mircea_popescu: asciilifeform 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.
mircea_popescu: i do not wish my os to contain as much as a fucking variable declared i don't use. not one.
asciilifeform: mircea_popescu: with static library that is NOT a thing
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: asciilifeform i wouldn't use it in my creations without reading it. i may run it on a box on the basis of wot though.
asciilifeform: which is to say, a fairly heavy thing, that mircea_popescu is likely to use in his creations without reading.
mircea_popescu: but os as fundamentally a library is like woman as fundamentally a syphilis repository.
asciilifeform: but question concerned os as, fundamentally, a library
mircea_popescu: 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
mircea_popescu: 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.
mircea_popescu: 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.
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#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: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#1482503 << it violates mine outright, so much so that on the first pass i ~ignored it. i hadn't 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. ☝︎
mircea_popescu: 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.
trinque: someone thinking of a specific problem rather than *the whole problem* sees it from the perspective of maximizing clarity of his own particular domain
trinque: it's whether software is a matter of engineering or of thought.
trinque: fascinating; I have a condensation of the whole conversation now
trinque: you do not link something which contains all possible uses of cement when you pour a foundation
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" ☟︎
phf: asdf is a later graft on lisp, already long after it went microcomputer
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
trinque: this is a program
trinque: on the other you have specific orders given to a unit
trinque: this is a 'crypto util library'
trinque: on one side you have the set of all possible tactics to employ in a given domain
trinque: two categories come to mind; lets say in the context of planning a military operation
phf: a genesis that no one can read through and make sense of it is meaningless
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 ☟︎
trinque: there's a core philosophical question of "what is a program" which extends from the observation
trinque: 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: 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. ☟︎
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 (like for example multiple slightly conflicting version of "utilities" or "math functions" that get copied back and forth, finding bug in one means that the other might remain unpatched, etc.)
trinque: and then maybe you're BingoBoingo's druggie, or you're in a pool of blood and piss
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 and for all practical purposes all you see in this patch is all that matters"
trinque: that what we have is all we have is a tragedy and nothing other
asciilifeform: you can ALWAYS press/rebase a chain of patches into a 'year 0'
asciilifeform: trinque: 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'
mircea_popescu: it's a start. it can not be a standard, however. merely a start.
asciilifeform: and get a wild one from the net ?
asciilifeform: hell, we have a ~literal~ openssl in there.
trinque: when I read a definition of a lisp system which pulls 30 separate files into one namespace, I am reading a lie
asciilifeform: but doing same to ~adult man~ is a no go.
mircea_popescu: all the "effort saving" kitchen appliances never made a man yet.
mircea_popescu: shut up, ru army style made men out of a collection of shitheads.
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: it was a 'i will NOT read a thing by hand to discover that it is actually equal to yesterday's thing'
trinque: I will never sign off on a crypto util lib that has umpteen million functions
trinque: the problem is poorly formed; I would eventually sign off on a function that did RSA
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
trinque: 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
asciilifeform: ^ which incidentally is still a thing that must be done, either this way or some other way, because this is indeed a dire problem
asciilifeform: and phf actually had a good point earlier:
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
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.
mircea_popescu: not altogether a bad side effect, but it is not intentional, merely derivative from sanity.
mircea_popescu: the odds of two projects wanting the same exact verbatim pile of lib-code are ~as good as for a hash collision. ☟︎
mircea_popescu: asciilifeform architecture long encountered, and thenresolved, 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.
phf: tinyscheme then becomes a space of unknowing
asciilifeform: it doesn't point to a 'place where i swear i put a tinyscheme and not rm -rf'
asciilifeform: it does though. (unless you have a meaningful hash collision.)