230000+ entries in 0.121s

phf: the main folly are
the unixisms all over
the place. lisp works with a clear read/eval/print cycle. read means
that you want
to
take outside input and convert it into a concrete data structure. so you shouldn't have a hash with strings in it.
things like (string= "false" (gethash 'hash c)) should not happen so far down
the call chain. your ~reader~ should convert
the input data into a format
that's easy
to work with.
the check could've
phf: i'm going
to stop wall of
texting
the log
though
☟︎☟︎ phf: also you don't want
to concatenate paths, because
that's how you end up losing separators and getting injection attacks and such. (merge-pathnames ...) will still work on strings, but will do
the right
thing
phf:
http://btcbase.org/patches/hashes_and_errors#L118 you don't really want
to do
this. you're subseq'ing
there
to strip
the a/ b/ but
that's not at all a guarantee! i have a vpatch with `diff -ib -ruN /Users/pf/cmucl20d-build/src/hemlock/abbrev.lisp src/abbrev.lisp` in it for example. at
the very least you want
to abstract it away into its own function.
that would correctly operate on a hashed-path datastructure.
☟︎☟︎ phf: heh,
this is straight up rubyism
http://btcbase.org/patches/veh-genesis#L145. it would've been much cheaper
to (defstruct hashed-path path hash) and so
that later you don't have
to poor man datastructure by (gethash 'path ...) (gethash 'hash ...) all over
the place
☟︎ phf: oh i guess you're checking process-exit-code again, even
though you already caught an error for it. i
think handler-bind is just confusing here. (handler-case (...
t) (error (error) nil)) would've been much more obvious. "succeed and return
t or fail and nil"
phf: also in
the same handler-bind you're losing a branch. if
there's an error, but it's not "BAD signature",
then
the whole verify silently succeeds. you probably want
to (error c) in
the else branch
to rethrow whatever
☟︎ phf:
http://btcbase.org/patches/hashes_and_errors#L68 you don't really want
to use handler-bind here. you want h-b only when you're working with
the whole restart machinery. (handler-case (let ...) (external-program-error (error) ...)) is equivalent of
the
try/catch
that you're doing here
phf: there's not much discipline on unix with stderr/stdout. particularly gpg seems cavalier with it. so i wouldn't even bother with error/output separation. i'd make it always return a single value, string
that's combined stdout/stderr, and fail when status code is not equal
to zero. maybe add a key argument,
that splits
them if need be, but only once
there's need.
☟︎☟︎☟︎ jhvh1: adlai:
The operation succeeded.
adlai: !~later
tell ben_vulpes see preceding message
phf: i
think it's actually related. otherwise he'd have
to get-output-stream-string
there again. all
the folly starts with
that weird run
ben_vulpes: asciilifeform: if you can get gpg
to crash without exiting zero, i misunderstand much about how
this world works
ben_vulpes: asciilifeform: naively, i expect gpg
to exit 0 if
the signature is good
ben_vulpes: phf:
ty, keep it coming if you don't mind, i must go async
a111: Logged on 2016-12-22 17:58 asciilifeform: common lisp committee was hobbled by babelism, had
to stuff in
the redundant idiocies, and never got
to, say, actually developing streams properly (why
the fuck are we stuck with hacks like gray streams? and where is
the commonlisp with ~working~ mop ? etc)
phf: also as a rule you don't really want
to let string output streams escape
their scope.
they don't have standard
type (one cmucl it's lisp::string-output-stream for example), so you can't
test for it, and for all intents and purposes
they act as incomplete builders: you can't do anything with
them except get
their value, so why not get value
there and
then?
☟︎ phf: i'd write it as (cmd &optional args &key input), because you always have
to provide cmd (where's right now you can write (run) and
the compiler won't catch it), more often
than not you have
to provide args and sometimes you have
to provide input
☟︎☟︎ ben_vulpes: tried
to dial back
the programmer-imposed unnecessary complexity
mircea_popescu: ^ recommended not just because of
the 85 bitcents in prizes
mats: for remote-activated lighting purposes
that had not been opened yet.
mats: >... we discovered numerous devices
that were used for "smart home" services,
to include a "Nest"
thermometer
that is Wi-Fi connected and remotely controlled, a Honeywell alarm system
that included door monitoring alarms and motion sensor in
the living room, a wireless weather monitoring system outside on
the back patio, and WeMo device in
the garage area
phf: i for one am looking for
to a gattaca future, where i have
to hire a standin for myself.
to run amazon echo and nest and facebook and all
the other
things like
that so
that
there aren't any irregularities
mats: maybe bates had food poisoning and flushed a buncha
times
mats: (this is mildly relevant
to
the courts circus project)
BingoBoingo: asciilifeform: would be a biter with insufficient venom
to kill rather
than emotionally wound
mircea_popescu: from what i read of
the mythical founder, he read very much like a young naggum / gl
mircea_popescu: at least in intent/intuition i can see
the cat-v, wanted
to be
tmsr, didn't know what it wants or how it goes
thesis.
BingoBoingo: One could say same about OpenBSD except
their mp (Theo) was and stayed poor and stooges (Bob Beck) rallied
to gatekeeper and
treasury positions
phf: asciilifeform: if you squint really hard, in
the same sense
that "scene was closest precursor
to
tmsr in computing before"
phf: kind of like cat-v, from recent memory, was a fledgling
tmsr at one point: mp died, asciilifeform's left elsewhere, maggots still
there
phf: most of
the
things seem
to have sane core, which you can dig for for a long
time, but it's
there, and
the reason is
that ~doing anything at all~ is so much effort, everything
that's done is a byproduct of some human being constructively spending energy at one
time in one place.
ben_vulpes: strikingly similar
to some other description of how perl grew "object oriented programming"
phf: lars bak used
to work on high performance smalltalk virtual machines,
then java. v8 is still
the case "ok, let me write some semblance of sane
technology for
this shit language of yours". since
then everything
that's happened around javascript is cargoculting v8
mircea_popescu has always wondered how much of
the ecdsa push met with approval because people couldn't do bignum math anyway.
mircea_popescu: actually
the crypto lib should be in js anyway. down with fucking ints.
jurov: as paperclip'd nazi scientists,
they would work for anyone who allows
them
to, imo
phf: it's called v8, which is a case of
talented programmers working for fuhrer
ben_vulpes: it is used
to further drive down
the cost of human cogs crapping out lines of code
mircea_popescu: asciilifeform you use curl on
the box
to call into
the loopback where an apache server with lamp runs.
ben_vulpes: it is called as
the man says "node.js"
ben_vulpes: jurov: didn't polarbeard or whomever
threaten us with a js v?
jurov: ben_vulpes: if #t becomes dull some day, you can stir it by
translating it
to javascript
ben_vulpes: "i did not choose
the nih lifestyle,
the nih lifestyle chose me"
mircea_popescu: unlike - in fact opposite -
to poetry, code actually improves
through
translation.
mircea_popescu: it is of
the same
type as
the openbsd compiling for vaxen
mircea_popescu: there is A LOT of strength in
this, having a core of libs/utils
that aren't merely written, nor merely reviewed, but
TRANSLATED
mircea_popescu: it stands
to reason
that no,
those
two aren't your only options.
mircea_popescu: ben_vulpes considering
the only reason your lisp vtron even exists is because you're apparently fond of reimplementation,
ben_vulpes: aiui, my options are link or shell. is
this incorrect?
a111: Logged on 2016-12-27 22:16 ben_vulpes: not indefinitely postpone releasing
this vpatch while i wait for stan
to release an ada cryptor and link
that from cl
mircea_popescu: but as a principle,
the shell exists for a human operator. shelling from code is much like
taking knives and forks, melting
them, and
trying
to dropforge
tools.
they WERE ALREADY metal
that was forged into something. go
to
that source, change
that from knives
to wrenches or w/e you are doing. no need
to involve
the whole supermarket chain
to sell you metal ingots in fork shape at 20bux a half dozen
mircea_popescu: if
the
thing you're shelling
to is actually
the right
thing,
take
the code put it in a lib or in your application.
mircea_popescu: ben_vulpes i say "keep shelling
to it for as long as
that's what you do, but once you change
that change it
to something sane"
mircea_popescu: now
then. can
the lispheads live with
the idea of an ada
tmsr-cryptolib ? perhaps with it as a reference and a lisp copy ?
mircea_popescu: gotta discuss
this otherwise we'll end up with apical chaos.
ben_vulpes: anyways, mircea_popescu says "don't shell out
to sha512sum"?
ben_vulpes: i am willing
to do all sorts of stupid shit, buddy
ben_vulpes: not indefinitely postpone releasing
this vpatch while i wait for stan
to release an ada cryptor and link
that from cl
☟︎ ben_vulpes: i am
trying
to figure out how
to handle widely-distributed versions of ironclad not working in
the way i need
them
to work for my v
to verify hashes on press
mircea_popescu: course since
the nsa consulting work for minigame is going
to produce ada rsa, it might be an idea
to have an ~ada~
tmsr crypto lib.
☟︎☟︎☟︎ mircea_popescu: will probably end up with a
tmsr crypto lib anyway, might as well start
thinking about it.
ben_vulpes: might be more practical
to make a genesis for
the fixed version
mircea_popescu: no practical way
to just steal
the sha itself make it a standalone ?
ben_vulpes: guy lays out in his "how ironclad came
to be"
that he doesn't really spend much
time on it anymore.
mircea_popescu: ok so if
they put patches in at least, what's
the argument against linking
to
them ?
ben_vulpes: the one
time i want a package manager
to have
the most recent commits...
ben_vulpes: phf: not in whatever quicklisp builds
though, right?