Hacker Newsnew | past | comments | ask | show | jobs | submit | circuit10's commentslogin

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


It's not even in the corner, it's completely hidden by default. You have to click on "show more" to expand the AI barf to see it.

If there are charge points in the street or there’s a way to run a cable there then I don’t see why that has to be an issue

Use cases for hardware encoders in PCs:

- Video calls

- Screen/webcam recording

- Live streaming

- Real-time transcoding for media servers (don’t know much about this but I’ve heard it’s a thing)

- Game streaming

- Video editing (making exporting less frustrating)


Everything here is really niche, except video calls (and even that...).

In other words, unless on smart phones, don't expect broadly distributed AV2 encoding hardware.

If it does happen on PC, it will be most likely some courtesy of the hardware chip designers.


Video calls are niche, and offline encoding of video isn't?

Are you sure this isn't just “things I do are commonplace, and things I don't are incredibly niche”?


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.


I think virtually everyone who works an office job uses Teams/Zoom very often nowadays, I can’t think of anyone I know who wouldn’t

I recently stayed with a non-technical friend for a few weeks; they easily spent a third of their working hours on zoom calls.

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


I guess hackers from "agencies"/organized crime/etc do not use that but directly the display hardware.

This is a software solution designed to work with existing multi colour printers, so you can’t “just mix” them as this would need additional hardware


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

[0] https://github.com/Azure/MachineLearningNotebooks/blob/maste...


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


If the this law or something similar had been passed before step 2, then Developer B made a mistake.

If the law passed after the game was released, then it doesn’t apply.


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


I interpret the “media” part as in “medium”, meaning it’s a medium/method over which you can be social, not “media” as in “multimedia”


This series was a good explanation for me of why treating UB this way is genuinely useful: https://blog.llvm.org/2011/05/what-every-c-programmer-should...

Being able to assume certain things don't happen is powerful when you're writing optimisations, not doing that would have a real performance cost


> Being able to assume certain things don't happen is powerful when you're writing optimisations, not doing that would have a real performance cost

A few of those are significant performance gains, the majority are not.

Emitting the instruction for a NULL pointer dereference is effectively no more costly than not emitting that instruction.

It's the code removal that's killing me.


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


> What if the compiler is able to use that to determine that a whole code path is dead,

Then it should warn "unreachable code".

> and then significantly improve the surrounding function because of that?

It's not simply the removal that is the problem, it's that the code is silently removed.


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

Direct link to part 3 (but read the others first for context if you can): https://blog.llvm.org/2011/05/what-every-c-programmer-should...

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


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: