Still thinking about this post from @tess. (See the threaded follow-up for explanation!)
-
Sophie Schmiegreplied to Sophie Schmieg last edited by
@inthehands on second thought, to expand and refine this point: as a cryptography engineer, I have a love-hate relationship with compilers, precisely because of this reason. Cryptography has the unusual requirement that code needs to be executed in constant time, and compilers do not consider that as an invariant. So part of my job is to dig through the assembly compilers spit out and look for conditional jumps.
And when the compiler gets too unreliable, I have to cut it out of the development process entirely and handwrite the assembly. -
Paul Cantrellreplied to Sophie Schmieg last edited by
@sophieschmieg
Yeah, there’s always a point with any tool where it’s not helping. And I see the hope for AI-authored code — not replacing code with AI, but using AI to write code — as being that maybeLLM : high-level code :: high-level code : machine code
I don’t buy that either, but it’s a different discussion than my thread.
-
@denny @inthehands
International! -
Paul Cantrellreplied to DeterioratedStucco last edited by
@SoftwareTheron @denny
Cosmic! -
@inthehands It's also the case that, if I ask someone to do something, at some point any ambiguity in my request is turned into non-ambiguous actions. It's no machine-human threshold. Differences of interpretation are normal in human communication.
What you've called a "tantalizing false promise" in the thread of expecting from LLMs "the same kind of common-sense interpretation we expect of humans", is a *true* promise. I expect and see LLMs making human-like coding mistakes all the time.
-
@inthehands “The life of the law has not been logic; it has been experience.”
-
argv minus onereplied to Sophie Schmieg last edited by
Why the hell do compilers *still* not have a “this code must execute in constant time, no matter what, and I want a compile error if that's impossible” declaration?
-
@inthehands DAOs were a great object lesson in "what if the laws actually were code‽"
(When looking for the wikipedia link, I was pleasantly surprised to find nothing web3-related in the first page of search results for "dao" - we did it, y'all!)
-
Sophie Schmiegreplied to argv minus one last edited by
@argv_minus_one @inthehands it turns out, compilers are complicated. Compiler folks have tried, but piping an annotation like that through the entire LLVM stack is nontrivial, and there are only very few people trying to write cryptographic code, and very many people trying to write code that is as fast as possible, so the effort that was put into it by compiler folks had a bit of an upper bound. So in the end, godbolt.org is the cryptography engineer's best friend.
-
argv minus onereplied to Sophie Schmieg last edited by
Maybe, but that sounds like a *giant* footgun for timing-attack vulnerabilities. Merely changing the compiler version could create one, nevermind compiling for a new ISA.
I didn't say it's easy to implement such a thing, but it is absolutely necessary.
-
@zachnfine
Richard Cook phrased this as “Actions at the sharp end resolve all ambiguity:” https://how.complexsystems.failIf you think that insight means there’s no difference between what the average human does and what the best LLM does, I have some discounted swampland to sell you.
-
@phaedral
As quoted upthread! -
@inthehands Sorry I missed it!
-
Paul Cantrellreplied to argv minus one last edited by
@argv_minus_one @sophieschmieg
It does sound like a worthwhile effort, and it does sound just perniciously difficult! There’s a half a dozen graduate theses here waiting to be written, probably. -
@Tak
I’m old enough to still think DAO means “data access object.” -
@phaedral
Great minds think alike! (Other kinds too, but I’m it’s greatness at work here, for sure) -
Bernd Paysan R.I.P Natenom 🕯️replied to Paul Cantrell last edited by
@inthehands But that's what they do. The interpreters of the law are not the humans I would trust with that task. Judges are a self-selected set of people who think that law is just, particularly the way they interpret it. They often also think the way power is distributed now is just.
These people are the last ones that should be allowed to do that life debugging of the law. They are even worse than the politicians that make the law in the first place (and that's awful enough).
-
Paul Cantrellreplied to Bernd Paysan R.I.P Natenom 🕯️ last edited by
@forthy42
This is a bit too facile for me to agree. There’s a wide range of judges out there, and that range includes the best and the worst of people.I think it’s healthier to see the legislative and judicial system as participants in whole-society negotiations over who we are and what kind of society we want. Anything haggled out in court would be haggled out by other means elsewhere, often by the same people — and not necessarily in a better way.
-
@inthehands conversely, there's a case where people expect code to behave like law. Namely, the people who want encryption systems to have backdoors accessible via govt paperwork like a court order.
The point they (perhaps deliberately) never understand is: you can't make the _cryptosystem_ verify a court order is legit. A human has to check that. And then they do something to the code. Which the code would obey whether or not the human had checked the court order, or even had one to check.
-
Twas always thus.
"Part of the appeal of COBOL, I think, is that it makes a tantalizing false promise of allowing humans to give instructions to computers in something like human language, expecting the same kind of common-sense interpretation we expect of humans."
My first job was in COBOL, I was still in high school, an intern, I knew nothing about business, and I didn't understand what the code meant. They basically had to undo everything I had done.