I think they should just have to properly explain how AI tends to make things up when it doesn’t know, and that it’s good for coming up with ideas or suggesting directions for research but that you shouldn’t rely on it, because currently their advertising makes you think you can rely on it
The “AI can make mistakes” kind of disclaimers they hide in the corner don’t really cut it
What? All are niche, and video calls are at best quite rare. People still prefer audio calls or even text messages mostly.
Video calls is just a feature expected on smart phones, and it means there we better have an hardware encoder.
I don't know if AV2 is defining them, but it needs hard "profiles", that to give a scope for hardware implementations.
Well, it all depends on how AV2 is designed, and defining those profiles is very probably a feedback loop between the AV2 designers and hardware implementors.
Screen recording is not niche, anyone who works remotely probably does video calls daily and the others are somewhat more niche but I'd guess that at least 50-70% of people do at least one of these things
I think, screen recording is ultra-niche, and I don't know why, I feel better when I know my OS is unable to do just that.
(As a side project, I am writting my walyand compositor, and I know that if it supports screen recording, that's going to be something certainly hacky and I can disable at compile time).
Do you not ever want to show someone something on your screen? For a bug report or to demonstrate a project you’re working on? Or do a screen share to ask for help with setting something up (which is admittedly a bit different from a recording but only in that it’s live)?
I can see a lot of non-techy people not knowing how to do this but among people who know how to do it I bet it’s above 50% who use it
It would at least be reasonable to expect this for future games, just treat the server binary the same way as the client in terms of what code you include (there way be some more involved if they have to migrate off a reusable codebase but I think it’s worth it)
There is lots of software not specific to games out there that comes with very murky licensing when it comes to redistribution. That’s fine because it’s predominantly used for backend, but now we’re talking about distributing binaries (or source code if you’re python). Here [0] is the license for a closed source python module - what do I do if I’m using this? SQL server is widely used and not redistributable, and has lots of proprietary features as a more common one
I don't think it's reasonable for a law to dictate how software must be developed. If a developer wants to create some software by taking some licensed code and modifying it, that's their prerogative - it seems rather overreaching for the law to mandate that any licensed code must be structured as a library. (And in practice it'd be rather limiting for that to be the case.)
Almost every law that exists about software exists to dictate what a consumer is or isn't allowed to do with software on their own computer using their own hardware.
For once, there is a law that actually dictates the responsibilities that a developer has to the customer, and all that responsibility states is that the developer can not revoke the use of software that a customer has already fully paid for under certain narrow circumstances; somehow this is what you find to be unreasonable?
I think you may have misunderstood the situation I'm outlining:
1. Developer A writes some software.
2. Developer B licenses that software from Developer A, under the terms that (for instance) it only be used internally by Developer B and not disclosed.
3. Developer B makes modifications to that software and uses it as part of the implementation of a video game server.
4. Developer B goes bankrupt.
Under this proposed law, Developer B would be obligated to release the modified software, breaching their agreement with Developer A and potentially causing them financial harm.
For new games, they would know from the beginning that they’ll need to release the server software eventually, so they wouldn’t be able to agree with those terms
It is of course reasonable to restrict what you can do with a product you’re selling for money. There are plenty of laws and regulations that already do this. Without these kinds of laws intellectual property wouldn’t even exist - copyright was only created to benefit society by providing an incentive for people to create and invent things
It’s no different from mandating that the software can’t be malware that puts a ransom on your data, contain other people’s copyrighted content without permission, or just not work despite you claiming that it does when you sold it
And it’s not mandating that anything is structured in a particular way, just that the game works as the buyer would expect and how they achieve that is up to them
If this was about open source software I’d agree about not forcing people to do additional work, but if you’re selling something for money you should be obligated to do the bare minimum of stripping secrets out of a binary so the product you sold can actually work (and this will be barely any work if it’s designed with this in mind in the first place)
We already obligate them to do other basic necessities for consumer protection such as refunding or replacing faulty products
What if the compiler is able to use that to determine that a whole code path is dead, and then significantly improve the surrounding function because of that?
Compilers optimise in multiple passes and removing things earlier can expose optimisation opportunities later that can affect other parts of the code too
You don’t want warnings for every piece of code in a library you’re not using or sanity check you added that isn’t supposed to be hit
And you can’t warn when you’re optimising based on undefined behaviour because you can’t know when it will happen, that is equivalent to the halting problem
If you warned whenever undefined behaviour could be happening then e.g. every single pointer deference would say “warning: compiling assuming pointer is not null or unaligned”
> I don’t mean this in a rude way but you should really read the posts I linked, it’s interesting and part 3 especially answers these questions
I have read the entire series. Both in the past and more recently.
> If you warned whenever undefined behaviour could be happening then e.g. every single pointer deference would say “warning: compiling assuming pointer is not null or unaligned”
I am not proposing that at all, I am proposing (which the series you link to does not preclude) that eliding code on the basis of UB can be determined by the compiler. If the compiler can determine that some code block needs to be elided, then the reason for that elision has already been determined, in which case it can issue a warning when "reason" == "pointer already used" when eliding the null check.
When your code can be completely reshaped by earlier passes and macro expansions and inlining I don’t think it’s feasibly to make a useful warning for that
If you include a library function with a null check that gets inlined you probably don’t want a bunch of warnings there for code you don’t even control
Right. But to take the first example, the value of initialised memory.
It's undefined so it doesn't have to be zeroed therefore increasing efficiency.
But it's also UB so if you do know that memory contains something, you can't take advantage of that because it's UB. Having it UB is fine. It's the compilers assuming UB can't happen and optimising it away.
Seems like the anti-clickbait title editing removed the “hundreds of”? This confused me because I thought “oh, they’ve stripped down a Docker image to only 1 megabyte, and then a full game engine adds 34MB more” (I missed the WASM on the first read)
When I had a jailbroken iPhone my bank app (HSBC) would detect it and show a warning but let you continue anyway at your own risk, which I thought was a reasonable compromise
The “AI can make mistakes” kind of disclaimers they hide in the corner don’t really cut it
reply