mistercow
Joined 17 years ago
Joined 17 years ago
Is it just a triangle quality thing? Does Seidel lead to too many hard to deal with slivers?
And this is in part a reflection of our own bad preferences. This is what always annoyed me most about the left-pad Discourse a decade (oh god, a Decade™) ago; "why do you need a library for something so simple in the first place!?" people would scoff. And of course the answer is that even the reference class of left-pad-like problems includes a bunch of examples where the problem has bizarre and sticky edge cases you'd never consider, so in general, "just pop in a popular and well tested library" is actually a pretty good policy (assuming your package repository doesn't allow anything really silly like deleting entire packages and breaking everything downstream).
Of course charting is more obviously complicated, but again, it might seem fairly simple if all you're thinking about is one kind of chart in one style with limited settings. The difference is that for a human coder, "just whip up some chart code" is enough of a pain in the ass that they'll reach for a library by default, whereas a coding agent can just spit something out which mostly works in a few seconds.
This sounds like a goalpost on wheels. Can you define clearly where your stake in the ground is?
And while I don't go all in on the notion of revealed preferences, a few facts stand out to me:
1. Nothing is actually stopping me from writing code by hand for fun, but I don't
2. There is no practical reason to manually write homebrew SNES games in assembly language, but some people do
3. I still have no deficit of fun problems to dig into, to sit and ponder, and then experiment with. They just aren't coding problems, and I have far more powerful tools to help me navigate prior art, test out hypotheses, and so on.
The difference here is between me being able to send you a benign file and then swap out a safe file (the scenario the author describes) and me being able to swap out your own familiar, benign file except this time it has malicious content at the end (along with a bunch of garbage).
That second scenario is obviously much more dangerous from the perspective of human review and noticing that something is wrong. If you have a large, rarely changing file already, then content silently smuggled onto the end of it could stay undetected for a long time.
(In practice, it's not that simple; you'd have to actually figure out how to make multiple pieces line up with chosen prefix collisions, and I haven't worked through how you would do it. Maybe it's impossible without further weaknesses. But that guarantee is feeling pretty threadbare.)
Anyway, this doesn't matter because git switched to sha-1dc back in 2017, and afaik, this addresses the shattered/shambles problems. I find it odd that this isn't the point the author focuses on; instead, the only mention of sha-1dc is in a footnote saying that it could be replaced with his proposal.
And sure, maybe that's true, but why isn't that the entire argument of the article then?
But could he have conned people on purpose? Absolutely.
Keep in mind though that this is also sometimes use case dependent. Off the shelf implementations are generally pretty good overall, but can have pathological behavior on specific workload shapes you care about. So do this as a somewhat later optimization, and particularly when you see performance characteristics that don’t seem to make any sense.
1. Top end model on high/xhigh thinking (last time I did it it was Sol xhigh I think)
2. Make sure it creates some representative fixtures of different sizes and sets up a good testing, profiling and benchmarking loop that doesn't require my input.
3. Make sure it has access to reference implementation code
Edit: Oh and one obvious pitfall that for some reason I still have to remind even smart models of from time to time: make sure it knows not to try to parallelize its benchmark runs. I've occasionally had an agent struggle to figure out absolutely nonsensical data because it tried to run multiple tests on the same compute hardware simultaneously.
Everyone realizing that photos don't prove anything would defeat 100% of malicious users. I don't understand what people incorrectly trusting photos is supposed to achieve at this point, in your view.
You will not build a perfect system, or even something near perfect. The best you're going to do is make it so that it's hard to casually present AI photos as real, leaving only the cases where it really matters. In the "best" case, you've just made the public more trusting of photos in general, so that when there's actual money or power on the line that makes jumping through the hoops to fake authenticity worth it, the public is more susceptible.
The best outcome at this point is for everyone to get on the same page that photos have roughly the same probative value now as drawings. Poorly thought out snake oil efforts to prove authenticity are only going to delay that.
But where did you hear that they’re buying “all copies”? And to what end?