log☇︎
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://www.nhplace.com/kent/Papers/Condition-Handling-2001.html this is the canonical document on error handling in common lisp. it's long and dense, because powerful machinery ☟︎
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
adlai: ben_vulpes: dunno how this happened, but the link to http://cascadianhacker.com/wp-content/uploads/2016/12/hashes_and_errorsvpatchben_vulpes.sig is missing a bunch of periods
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: must go async, ty to you both
ben_vulpes: asciilifeform: if you can get gpg to crash without exiting zero, i misunderstand much about how this world works
asciilifeform: it'd seem to me that if i throw in a seal that crashes gpg, ben_vulpes's vtron will say 'good signature' !
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
asciilifeform: unrelated, ben_vulpes : how come you search the gpg output for 'bad signature' rather than 'good signature...' ?
phf: ben_vulpes: actually you're get-output-streaming twice there, first time http://btcbase.org/patches/hashes_and_errors#L24 and second time http://btcbase.org/patches/hashes_and_errors#L28 ☟︎
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
deedbot: http://trilema.com/2016/first-eulora-hackathon/ << Trilema - First Eulora Hackathon
asciilifeform: i'm still waiting to learn of a corpse where the wifitronic burglar alarm 'mysteriously' recorded nothing, but i also suspect that we will not read about it in the völkischer beobachter.
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
asciilifeform: 'With every home in Bentonville hooked up to a smart meter that measures hourly electricity and water usage, police looked at the data and noticed Bates used an "excessive amount of water" during the alleged drowning.' << wtf, what was he drowned in, a dirigible hangar ?!
mats: (this is mildly relevant to the courts circus project)
asciilifeform: 'Amazon stores all the voice recordings on its servers, in the hopes of using the data to improve its voice assistant services. While you can delete your personal voice data, there's still no way to prevent any recordings from being saved on a server.' << noshit
asciilifeform: all you need is a set of 'not' gates the width of your bus, then!111
asciilifeform: (as seen in the 'act from cause' thing etc)
asciilifeform: somehow i thought that 'an mp' is almost definitionally a d00d who knows ~exactly~ what he wants, and thrusts in that direction, rather like the edge of a knife orients force
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"
asciilifeform: i'm not sold that it was 'fledgling tmsr' of whatever kind
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
asciilifeform: iirc we had thread re 'node.js', in the context of corps with mandatory transsexual op etc
mircea_popescu: i thought node.js is now called io.js anyway
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"
asciilifeform: ben_vulpes: i'd genuinely lul over discovering that this exists
mircea_popescu: i thought it was java
ben_vulpes: jurov: didn't polarbeard or whomever threaten us with a js v?
pete_dushenski: BingoBoingo: you'll enjoy that link
jurov: ben_vulpes: if #t becomes dull some day, you can stir it by translating it to javascript
pete_dushenski: so thaaaat's what modern science is.
pete_dushenski: http://archive.is/aHlQo#selection-687.1-687.111 << " Fatties don't do wine valleys & shabby-chic decor. We do pork rinds & farting in our own trucks. It's science."
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
ben_vulpes: walked into that one.
asciilifeform: ben_vulpes: you omitted the third and obvious option
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,
asciilifeform: 'I made this half-pony, half-monkey monster to please you / But I get the feeling that you don't like it / What's with all the screaming? / You like monkeys, you like ponies / Maybe you don't like monsters so much / Maybe I used too many monkeys / Isn't it enough to know that I ruined a pony making a gift for you?' (tm) (r) (j. coulton)
ben_vulpes: aiui, my options are link or shell. is this incorrect?
asciilifeform: i will add that it is not clear that you want to link whatever in cl.
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
asciilifeform: http://btcbase.org/log/2016-12-27#1591442 << good habit, one which i would like to encourage where possible : not waiting for $ingredient ☝︎
BingoBoingo: "The amount of hospitalisations and appointments that have lead me to this point isn't a low number" doesn't see problem in being a fatso https://archive.is/37T8w#selection-85.279-85.377
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: you know, exactly how trb work proceeds also.
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: we still gotta figure out what we intend to do here.
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
ben_vulpes: pump the brakes there idea man
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: i suppose should be invited to wot etc.
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...
mod6: ah thx phf
ben_vulpes: phf: not in whatever quicklisp builds though, right?