kornel

joined 1 year ago
[–] kornel@programming.dev 1 points 10 months ago (2 children)

I buy everything I can on GoG due to lack of DRM. If something is not on GoG, I buy from Epic simply because they pay a bigger share to developers than Steam. When I buy a game I want that money go to the devs, not middlemen.

GoG also integrates well with Epic, so I can have all my games there.

[–] kornel@programming.dev 3 points 11 months ago* (last edited 11 months ago) (1 children)

Severe performance issue on day one is most likely a bug, some incompatibility, or debug code accidentally left in.

I don’t know why people interpret it as if the game will never be playable and behave as if it was some master plan to make 4090 look slow.

[–] kornel@programming.dev 4 points 1 year ago

Happy to see Rust’s standard library near the top in performance. It’s nice to have a good implementation out of the box.

[–] kornel@programming.dev 13 points 1 year ago

Unreal Engine sponsoring Godot was a 4D chess move against Unity.

https://godotengine.org/article/godot-engine-was-awarded-epic-megagrant/

[–] kornel@programming.dev 14 points 1 year ago* (last edited 1 year ago)

The annoying popups are an act of malicious compliance from data harvesting companies. The tracking industry wants people to associate the right to privacy with stupid annoyance, so that people will stop demanding privacy.

The legislation does not say anything about cookies. It's about rights and responsibilities in data collection (no matter how it's done technically). The "consent" part of it exists as a compromise, because there has been heavy lobbying against the legislation.

This is not a technical problem — we've had many technologies for it, and the industry has sabotaged all of them. There was the P3P spec in 2002! It has been implemented in IE that had 90%+ market share back then. And Google has been actively exploiting a loophole in IE's implementation to bypass it and have unlimited tracking. Google has paid fines for actively subverting Safari's early anti-tracking measures. Then browsers tried DNT spec as the simplest possible opt-out, and even that has been totally rejected by the data harvesting industry. There are easy technical solutions, but there are also literally trillions of dollars at stake, and ad companies will viciously sabotage all of it.

[–] kornel@programming.dev 13 points 1 year ago

Generally yes.

GIF's ancient LZW compression is remarkably ill-suited for modern CPUs, and more expensive than modern algorithms. Combined with significantly larger file sizes, it costs much more to decode, on top of increased costs of transfer and caching.

GIF might have an edge if the animation is very small (<16px, few frames).

It also gets messy if you need to play hundreds of animations. GIF will be terribly inefficient, but also browsers aren't designed to have hundreds of video elements, so both will eat memory in their own way, and it will vary which is worse.

[–] kornel@programming.dev 2 points 1 year ago

It's nice they're moving away from libgit2.

This dependency made rustsec library unusable in any project that used any other version of libgit2, and libgit2 kept making incompatible releases causing fragmentation, churn, and conflicts.

[–] kornel@programming.dev 3 points 1 year ago (1 children)

Only signed overflow. size_t is unsigned.

[–] kornel@programming.dev 3 points 1 year ago* (last edited 1 year ago) (3 children)

I don't know about C++, but in Rust the push is inline, and still doesn't always optimize checks away due to an annoying edge case: integer overflow. Reserving (old_len + new_len) could give you a smaller buffer than new_len. The optimizer sees it and is pedantic about it.