Saizaku

joined 1 year ago
[–] [email protected] 25 points 3 weeks ago* (last edited 3 weeks ago)

Complete nothingburger of a study, which itself is locked behind a $25 paywall to access it. And the author of the article obviously didn't cause there's 0 mention in the article itself about the methodology used to determine the 20% revenue lost (nice round number might I add). The only thing that even alludes to the methodology used in the abstract is

When Denuvo is cracked very early on, piracy leads to an estimated 20 percent fall in total revenue on average relative to an uncracked counterfactual

Which really doesn't tell us much, how are these counterfactuals selected in the first place? What is the cirteria? How are you determining that the differences between revenue of a game that was cracked and that went uncracked are due to one game being cracked? How can anyone even confidently claim that they've normalazied the data set enoguh that these differences in revenue are mainly caused by a game being cracked, especially with how rare early denuvo cracks have been in the past few years. Statistically this sounds dubious at best, especially when we have fully open studies (like the one funded by the EU a few years back) that have found no statistical proof that piracy has any impact on revenue ( with the exception of box office revenue of big new movies being leaked and pirated while still in theaters). Surely they wouldn't have missed a 20% meadian difference in revenue.

Lastly you have major tech news outlets all reporting on a study less than a month after it was made available online. For context the journal containing this study will only be published in jan of 2025.

[–] [email protected] 6 points 1 month ago

Because you would be using std::shared_ptr<> rather than a raw pointer, which will automatically deallocate the memory when a shared point leaves the scope in the last place that it's used in. Along with std::atmoic<shared_ptr> implements static functions that can let you acquire locks and behave like having a mutex.

Now this isn't enforced at the compiler level, mostly due to backwards compatibility reasons, but if you're writing modern c++ properly you wouldn't run into memory safety issues. If you consider that stretching the definition then I guess I am.

Granted rust does a much better job of enforcing these things as it's unburdened by decades of history and backwards compatibility.

[–] [email protected] 5 points 1 month ago (2 children)

There's a reason why data races aren't considered a memory safety issue, because we have a concept that deals with concurrency issues - thread safety.

Also for all it's faults, thread and memory safety in java aren't issues. In fact java's concurrent data structures are unmatched in any other programming language. You can use the regular data structures in java and run into issues with concurrency but you can also use unsafe in rust so it's a bit of a moot point.

[–] [email protected] 5 points 1 month ago (3 children)

Arguably modern c++ ( aka if you don't use raw pointers), fits all categories.

[–] [email protected] 2 points 1 month ago

Didn't even open the link probably

[–] [email protected] 2 points 3 months ago

That's a fair point, I guess I used binary numbers so much i uni that I just know the small ones by heart and that's why I find it easier. Following the example, I never convert 101 as 4+0+1, I just see it and know it's 5.

[–] [email protected] 5 points 3 months ago* (last edited 3 months ago) (2 children)

Read, write, and execute are represented by the numbers 4, 2, and 1, respectively, and you add them together to get the permission

Maybe I'm the weird one here but this seems like a counter intuitive way to remeber/explain it. Each octal digit in the three digit number is actually just 3 binary digits ( 3 bit flags) in order of rwx. For example read and execute would be 101 -> 5.

[–] [email protected] 1 points 4 months ago

At the (SQL) database level, if you are using null in any sane way, it means "this value exists but is unknown".

Null at the SQL means that the value isn't there, idk where you're getting that from. SQL doesn't have anything like JS's undefined, there's no other way to represent a missing value in sql other than null (you could technically decide on certain values for certain types, like an empty string, but that's not something SQL defines).

[–] [email protected] 2 points 5 months ago (1 children)

They're probably being downvoted for making a huge leap just from wearing pointy highheels lol. They turned a trivial reason into a non-trivial characterization/flaw about a person.

[–] [email protected] 0 points 1 year ago (1 children)

Hi, could you perhaps elaborate a bit on the racist history of the bell curve? I'm well aware of the racist history of IQ, but I don't even have an inkling of what that's referring to in the context of the bell curve. It's just the graph of a normal distribution, is this referring to some weird application of it to some racist shit?

PS: I know you've attached a video with info on it and me asking might be kinda dumb. However, I saw it's 2+hrs and I don't have the time to watch it right now but I'm still interested.