HN user

gpm

23,562 karma
Posts2
Comments5,929
View on HN

No, the damages however are the cost of a single book sale (actually just the profit from one) because the only thing that anthropic did that broke the law was pirate it instead of buying a copy (as found by the court...)

Anthropic paid (or is paying, not sure the schedule for class members receiving payouts) 3000 per work they were found to have infringed - 30 is a fair approximation of the cost to buy a book.

I broadly agree with your take on the state of the US - but this is a case where given the specific facts at hand I'm confident it still got to the truth.

I can understand why as someone who didn't follow it and the more corrupt legal developments closely you wouldn't be confident in that.

This would have been a problem but it turns out that Anthropic is actually valued multiple orders of magnitude more than a copy of all the books in the world. So they survived the significant legal consequences.

Great, let's go down to the courthouse and get some sworn testimony as to the ownership, value, condition, and so on and so forth of the bridge. And some document review and discovery run through professional legal firms under the same conditions. And perfectly reasonable and verifiable explanations as to why you own the bridge and are selling it (namely that you bought a copy of literally every book in existence in the meantime).

Facts are in fact knowable, and the US legal system is in fact not terrible at getting to them.

The vast, vast, VAST majority of the original datasets were from pirated books and the like

And there's been significant legal consequences as a result

Also, arguably a robots.txt is the exact mechanism to follow to do the mass GET-ing

You're free to argue this of course, but the courts have largely rejected it already pre LLMs. See for example hiQ Labs v. LinkedIn

Downloading every torrent of all e-books ever is pretty clearly illegal (or at least it fuckin would be if I did it). Pretty sure like, multiple labs have been popped for that though.

Oh it is, and at least anthropic has paid $1.5 billion and deleted there torrented copies and not released any models derived from them as a consequence.

The thing is it turns out to be not that expensive to just buy a copy of every book legally and scan them. And there's even precedent that this is legal predating LLMs (Google books)

Why not? Seems like a perfectly normal contact term to me.

Or do you just mean that US courts don't have enough teeth to prevent Chinese companies from violating contracts? On that I agree.

I think you've basically got the legal theory. Training a neural network isn't prohibited by copyright law so if you can legally get your hands on something (e.g. by sending a GET request to someone with rights to serve the contents of their web page, or by buying a book) without signing a contract to not train on it, you can train on it.

But the American AI companies only let you query their models if you first sign a contract to not train on the output.

It's hypocrisy and unfair, but I think there's a strong legal argument for it.

Of course China can simply decline to assist in enforcing that contract... But I would expect US courts to do their best to.

I strongly suspect the flip side is that in the future it enables you to train smarter models by "distilling" the end result of the super duper heavily thinking models.

Oh, that is unfortunate. Bluesky implicitly adds the .bsky.social domain name. Hopefully tangled starts doing the same some day.

Fwiw the sign up/in process for me was "click login, type in my existing blue sky handle, type in my password (into a bsky domain name login prompt), click authorize".

I expect that's the... more optimized flow at this point in this forge's life.

- why does the auth flow pass me through a new ui/url that seems owned by the project but visually disconnected (eg, different branding/colors for the form)

Probably because of the above, identity isn't tightly associated with the app you're using here so they've stood up their own infra for it but probably not spent too much time on making it good.

- except you cant actually log in with this username directly

Really? That's strange... I haven't made a native account... what do you need to login with then?

I wish them the best of luck, but I don't expect them to succeed, and unspecified plans don't constitute a demonstration of feasibility. Plenty of people have made plans to solve unsolvable problems in the past, me included. I strongly suspect that that is the case here (or that they're willing to iterate away from zig).

The evidence is the amount that rust had to iterate on the underlying language to make the borrow checker work well. Something it had the freedom to do since it was co-designing the language and linter.

Edit: Didn't realize this was your project (responded before you added the donation link) - I would have worded my response slightly differently but my opinion is unchanged. Seriously mean it with the best of luck getting this to work.

It's possible to detect and ban the version of the problematic pattern that I made as short and simple as possible to illustrate the point, sure.

I'm general though, I don't believe it is practical to do so. Not without every library being designed with the checker in mind and annotated to more precisely describe their APIs. Which is why I'm not surprised to see the limitations.md that seems to exclude all the hard cases (aliasing, pointers used as first class values, cross function analysis): https://github.com/ityonemo/clr/blob/main/LIMITATIONS.md#mem...

Obviously if you rewrite the zig world to obey rust like rules and include rust like annotations you can implement a rust like borrow checker, but I don't think that it would still be meaningfully zig. It might be an interesting language worth exploring.

and there's been no consequences.

Anthropic paid $1.5 billion for that, and never publicly deployed a model derived from the illegally downloaded data.

I'm not sure about the other companies off the top of my head - but I rather imagine they either never did this (I note that Google for instance already has lawfully acquired copies of basically every scrap of data you can imagine wanting to pirate) or are in the process of being sued or settled and I missed the news.

To an extent, though for significant (in monetary terms) violations of the law the teeth tend to pay for themselves (but do so by not fully compensating the people whose behalf they are supposedly acting on).

More problematically there are camouflaged sharp spines pointed primarily in the direction of poorer people, and people not advised by lawyers.

But none of that matters here when the damaged parties include the megacorps of the world.

No AI company has been reselling copyright data to my knowledge, it would be truly bizarre if they did that.

What they have been doing, with some narrow exceptions where they have lost billions of dollars in court cases*, is not at all obviously prohibited by copyright law. Neither web scraping (i.e. asking for copies of data from people you have every reason to believe are authorized to give you copies) or running algorithms on copyrighted data are generally copyright infringment. I say generally because the "algorithm" of "ctrl-c ctrl-v" is obviously an exception, and there's some argument that training is similar enough to be illegal - a fairly weak argument that is mostly losing in court but has some tiny chance of still succeeding.

The law doesn't have teeth to prohibit things not prohibited under the law - no matter how much many people would like them to be prohibited. This shouldn't be surprising.

Unlike with copyright, the law does pretty clearly prohibit violating contractual terms to not hang onto or use other peoples data for purposes other than the narrow ones laid out in the contract when you agreed to the contract.

* Namely acquiring copies of data from people who they know aren't authorized to make copies - i.e. torrenting.

Because the legal system does, in fact, have teeth. And those teeth actually deploy pretty readily. Especially when the people whose trade secrets you would be violating are gargantuan companies with enough resources that the cost of a lawsuit is a rounding error.

That's not sufficient - consider the following pseudocode

    x = malloc();
    if (opaque_cond()) free(x);
    if (other_opaque_cond()) use(x);
Conditions can be opaque and non-analyzable due to rices theorem - in any turing complete language. This code is correct (or at least not memory unsound) if opaque_cond and other_opaque_cond are never both true. Otherwise it isn't.

And functionally compiler analyses of whether conditions hold have to be trivial because using some form of theorem prover to decide of code is correct or not leads to code that is brittle against compiler version changes, and slow compile times. Thus opaque_cond could be as simple as `len == 0` and `other_opaque_cond` could be `len > 0` and it's unlikely you'd want the compiler to realize those are mutually exclusive (at the stage where it accepts programs, obviously during optimization it is very likely to take advantage of this).

Rust solves this by simply rejecting the pattern. Very roughly forcing you to write if opaque_cond() { free(x) } else if other_opaque_cond() { use_x } (or something else where the program structure and not just the logic in the conditions guarantees correctness). Zig simply allows it and leaves it up to the programmer not to make a mistake.

And as onlyrealcuzzo suggests aliases are where this type of analysis (accepting enough programs to be useful but still imposing enough structure you can prove correctness) is really tricky.

This is cool and will likely enable some cool tooling.

I don't think a borrow checker is likely to be in that tooling. Borrow checking requires shaping the code, and all the dependencies, into easily analyzable (and at least in rust's version annotated) patterns. You can't borrow check arbitrary code not designed for it without false positives.

Safety is a feature of a system - yes. It's also a property of what it's against. A computer could be safe against being hacked but still be dangerously easy to drop on someones toe and break it.

Safety [against something] is also a feature of components - a system made up of only safe components [against a thing] is safe [against the same thing... I'm going to stop this qualification now for brevity]. A system containing unsafe components may or may not be safe but at least you know what components usage you need to look at carefully.

If your linker is safe, linking code will never result in the thing it is safe against. Ever. This is a useful property even if running the linked thing is not safe because it means:

1. When things go wrong in strange ways, you have strict bounds guiding you in figuring out what went wrong.

2. You can build reliable systems that do part of the job, and only have to sandbox the other half of the job. Compiling in a CI system will (if the compiler was entirely safe) be safe. You can do it with secrets present against malicious code. Running tests will have to be sandboxed (assuming running tests isn't safe). This could for instance enable safely sharing significantly more artifacts for incremental builds in CI.

Unfortunately very few compilers are really safe against anything (though I do wonder how I could break my toe on one). Rustc for instance has a giant C++ half called llvm that isn't really hardened at all. We get away with this by just not trusting the compiler when run against potentially malicious code.

Lag compensation means ping is an entirely different phenomena with different effects from input latency. While details vary between games for the most part pieces of the game like hitting enemies (but not being hit yourself) and moving your own character are operating on a local simulation with zero latency from ping.

There are weird consequences of this, someone can shoot you after you duck behind a wall because you hadn't yet in their version of the game. An enemy moving left right repeatedly is likely vibrating in your version of the game faster than the rules of the game would otherwise allow. Etc. Ping matters, but it's not comparable to input latency. Input latency really does mean that you can click at the right time and miss your enemy. It really does delay how fast your camera spins when you move your mouse. Etc.

Since it looks like you might not be getting an answer - I can't speak to ocean waves but I strongly expect so. I've certainly surfed non-breaking standing waves in whitewater just fine (not me, but e.g. https://www.youtube.com/watch?v=OlwijfFpk3E)

Surfing is just sliding down the rise in water caused by a wave at the pace as the water rises behind you as the wave moves (in the case of standing waves, I mean moves relative to the reference frame of the water).

If you're about to die of dehydration - and have been rehydrating with fresh water - you'll be low on salt too so a bit of seawater should in principle be in the right direction for both and help. In practice I wonder if your digestive tract might object to the salt water too strongly for this to work though.

If you're about to die of dehydration - from sweating - and have not been rehydrating you're already also hypernatremic (too salty) as well so I sort of doubt it would help. Sweat is less salty than your blood so it increases salt concentration.