292700+ entries in 0.189s

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: hense various monsters like "named readtables" and various attempts
to minimize package name clashing
phf: in fact lisp is pretty unfriendly
to
the whole idea of "fire and forget" code reuse
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: which is
traditionally described in computing with same architecture
terms, i.e. patterns
trinque: even
though yeah, it came from
the set of all known Xs and Ys
trinque: why isn't my program only
the set of code it actually uses
trinque: why
then does it hvae
the same import system as C++ roughly
phf: well, mp already pointed at
this with his roman arch example
☟︎ trinque: funny
thing here, isn't lisp supposed
to be able
to manipulate its own damned code
trinque: on
the other you have specific orders given
to a unit
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: well, as far as i understand it was us
three arguing with asciilifeform from different angles
phf: a genesis
that no one can read
through and make sense of it is meaningless
trinque: and your signature upon
the mud 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: except
that he does have
to care;
this concept is broken
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: 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"
trinque: that "apartness" you smell on
tinyscheme is
throughout
the
thing, not just
there
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: at least in
that case you know what you've done!
trinque: I'd expect it avoids
the
trap
trinque: and
then maybe you're BingoBoingo's druggie, or you're in a pool of blood and piss
trinque: one can always say "not as much as I've commited
thus far"
trinque: phf:
the problem
there is knowing how much compromise leads
to death
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: every pit of ignorance on earth sits behind some
tidy word beyond which "it's someone else's problem"
☟︎ trinque: and now we're back
to your book
trinque: 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
mod6: Gentlemen, I must bid you Good Evening. I'll pick
this back up with you on
the 'morrow. :]
trinque: that what we have is all we have is a
tragedy and nothing other
trinque: I would understand more of what bitcoin *is* from an implementation with no dependencies
than from what we have
trinque: because of
the very
thing we're discussing.
trinque: but I have nfi what
the fucking
thing is,
to
this day
trinque: how am I
to evaluate
the question of whether I care about
that?
mircea_popescu: anyway, what started
this conversation is
that
the ratcheting ratcher burnssss.
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
mircea_popescu: or for
that matter, anything you don't feel like reading.
trinque: so you're looking at it at offset whatever, what does
this change?
trinque: what requires you
to read
the whole scroll?
mircea_popescu: it's not been wasted,
the
time you used reading, it's not been wasted.
mircea_popescu: asciilifeform you're
trying
to save copulation
time, seriously now.
mircea_popescu: all
the "effort saving" kitchen appliances never made a man yet.
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"
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 ?
mircea_popescu: incidentally,
this may be
the most idiotic cockroach implanted by usg in programmer heads, "save
time by not reading"
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
mircea_popescu: asciilifeform why would you care
to answer
that q btw ?
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
mircea_popescu: no, best is
to
trust and verify. pretend you did
take it off hitler.
trinque: I'm reminded of
the call-graph
thread
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.
trinque: my actual possible code paths in say
trb should be reflected in
the code
mircea_popescu: asciilifeform i been sayuing
this for an hour now. YOU DONT FUCKING IMPORT
THE WHOLE LIB VERBATIM. you
take what you need, and adapt it
to your project.
mircea_popescu: but yes, laterally,
this also
takes out with red irons any concept of "copyright" in software
trinque: the
thing on
trial here is I just wanted
to aes-128 or whatever; I did not want
to openssl
mircea_popescu: the odds of
two projects wanting
the same exact verbatim pile of lib-code are ~as good as for a hash collision.
☟︎