pivot_root
@pivot_root@lemmy.world
- Comment on Evil 4 days ago:
>TOML has entered the channel
- Comment on Is it time to start a campaign against kernel-level anticheat? 1 week ago:
But how would we get through to normie 12-year-olds who just want to play Valorant and not have their face constantly rubbed in the dirt by “hackers”?
I think it would be good for them to be told the truth: you aren’t being killed by hackers, you just suck.
- Comment on Ice cream machine is also broken 1 week ago:
Are they actually going to pay that out?
- Comment on Do you want the murderer of the UnitHealthcare CEO prosecuted? 2 weeks ago:
I don’t think he would make it to trial. The wealthy don’t appreciate those who unite the public against them, and they certainly wouldn’t want him to send another message.
- Comment on I hate when a PC game is ONLY available on Epic Games store 2 weeks ago:
Fair point with neither being publicly traded. I should have been more clear on that.
Unreal the engine, or the game series? From the perspective of a consumer, I don’t think either of them seem to be in good shape these days, unfortunately.
Er… Carmarck is in Id. Epic’s founder and CEO is Tim Sweeney.
- Comment on I hate when a PC game is ONLY available on Epic Games store 2 weeks ago:
“Fucking hypocrite” and “Tim Sweeney”. Never have any other set of 4 words fit together so perfectly.
- Comment on I hate when a PC game is ONLY available on Epic Games store 2 weeks ago:
“Making yourself suffer” by boycotting Steam.
It goes against every fiber of my being to not utterly despise a multi-billion dollar corporation, but I just don’t have the energy that I used to. I have to pick the battles I want to fight, and they haven’t done enough to make it worth it for me to do that.
- Comment on I hate when a PC game is ONLY available on Epic Games store 2 weeks ago:
Some perspective from someone vocally against Epic:
They entered the market and tried to get their foot in the door not by providing a better service or experience to the consumers, but by being underhanded and anticompetitive while accusing their competition of being underhanded and anticompetitive. Add on that with the fact that their CEO lacks any sort of humility and integrity, and I simply do not trust them to give a single shit about me as a customer.
While I don’t think Valve is my friend either, they at least have a history of doing things that provide some benefit to me (even if its clearly out of self-interest).
- Comment on I hate when a PC game is ONLY available on Epic Games store 2 weeks ago:
When it turns to shit, we have the high seas. Until then, we might as well enjoy the fact that Valve isn’t a public company obligated to chase short term profits for shareholders.
Everything goes to shit eventually, but you don’t need to pre-emptively make yourself suffer.
- Comment on I hate when a PC game is ONLY available on Epic Games store 2 weeks ago:
Epic is the pro-developer storefront.
I think their historically-bad UE5 documentation and laser focus on adding features optimized for Fortnite but terrible for other uses beg to differ.
They’re the pro-shareholder storefront. Nothing more, nothing less.
- Comment on What do people who promoted the "FEMA camps" conspiracy theory think about Trump's mass deportation? 2 weeks ago:
I see you’ve just met Kaboom. It would be wise to add a tag for future reference.
- Comment on 'Stop talking s*** about us' - Half-Life 2 mod blacklists a handful of YouTubers as 'anticitizens' and blocks them from playing 2 weeks ago:
Those mod devs are absolute assholes.
As per the decompiler code, the game will refuse to load in certain cases with the message “Upgrade your PC, the current hardware is just ridiculous.” I can understand not wanting to field support requests from extremely outdated hardware, but being condescending and not even giving players the option to continue…
BriJee, Amigus, and Obsolete— sincerely, go fuck yourselves.
- Comment on Meal prep 3 weeks ago:
“Do you have any visual impairments?”
“Yes, I wear glass.”
“You mean glasses?”
“Well, actually…” - Comment on Subscribe now for more clicks! 3 weeks ago:
Vim users are laughing from their high horses.
- Comment on I wonder why people litter in the USA? 3 weeks ago:
Unless you want hepatitis C, that’s probably not the best idea. Nothing short of medieval plate armor would eliminate the risk of accidentally stabbing yourself on something.
- Comment on I guess at least I can opt out... 3 weeks ago:
Oh, I think I know how this is coded.
DELETE FROM applications WHERE ai_review_consent=FALSE
- Comment on The Witcher 4 has entered full-scale production, CD Projekt has confirmed 3 weeks ago:
If I recall correctly, the “next gen update” for The Witcher 3 was UE5.
- Comment on Nintendo sues a streamer for streaming ten games before their release 5 weeks ago:
Thanks for the correction. I sometimes get those two mixed up in my memory, and it’s a really stupid problem that I need to fix.
- Comment on Anon tries programming in Java 5 weeks ago:
For some reason, my brain inserted a “like” before “C#”, and answered the question of “can’t you use explicit interfaces like C#.”
- Comment on Anon tries programming in Java 5 weeks ago:
What are some common situations where using an object is a good solution?
It depends on what you mean by “object"
- Some kind of structured data?
- Some named type which fulfills an interface?
When you have some kind of structured data, having a class to represent it is fine. If you’re able to give it type annotations, that’s much better than passing around random dictionaries.
When you need polymorphism and have an interface where some method on an object needs to exist (e.g.
car.honk()
), that’s also fine as long as you avoid creating subclasses and using inheritance. If you need some car that can honk like a truck and drive like a racecar, use composition.What I would consider a good use of classes (more specifically, nominal types) is refinement types. The Wikipedia page is lacking, but the idea is that you use the type system to enforce invariants for data.
For example, suppose you have a string for a user email. It might be a valid email string, or it might be garbage like “z#%@(”=))??”. You have a function for updating the user email in a database, and it requires the email string to be valid.
One approach is to validate the email string after receiving it from the user. That works, but what if your coworker creates a new form and forgets to validate the email string there? Bad data gets passed downstream to functions that expect well-formed data.
Another approach is to validate the email string at the top of every function that expects well-formed data. That also works, but now you’re validating the same string multiple times and pasting
validate_email(email)
everywhere.With a refinement type, you have a
ValidatedEmail
type and a constructor for it. The constructor will return an instance of theValidatedEmail
if and only if the email string is valid. Any function that expects a valid email will only accept aValidatedEmail
, and not a string. If your coworker creates a new form and forgets to validate the email, the type system will complain about a string being passed instead of aValidatedEmail
. You also shift the responsibility of validating the email to wherever there is a boundary between validated and unvalidated data, avoid having to validate the same email multiple times, since you know aValidatedEmail
is already valid. - Comment on Anon tries programming in Java 5 weeks ago:
I haven’t kept up with recent Java developments, but with Go, you’re out of luck. Interface implementations are—for both better and worse—completely implicit.
- Comment on Anon tries programming in Java 5 weeks ago:
Maybe check before putting words in my mouth, m’kay?
Sincerely, someone who uses composition.
- Comment on Anon tries programming in Java 5 weeks ago:
That’s entirely the fault of applications (or more likely their libraries) using internal APIs or JNI. Compiled Java bytecode that doesn’t do anything screwy with reflection to access JRE implementation details will absolutely still work on newer Java versions.
- Comment on Anon tries programming in Java 5 weeks ago:
What they should have done instead is create a backend restful web service and wire up a frontend rest client with something suited to web app ui dev such as angular or react.
If anon’s program was designed to work as a client for some server or if Java had absolutely no GUI frameworks, that would be fine. But if anon’s goal was to create a simple desktop application, doing this would be the programming equivalent of a Rube Goldberg machine.
- Comment on Anon tries programming in Java 5 weeks ago:
I strongly prefer how interfaces are handled
It’s better than Java, but they still chose to walk headfirst into the same trap that bites Java developers in the ass: placing the implementations under the concrete type instead of the interface.
When you have two interfaces that each require you to implement a function with the same name but a different signature, you’re in for a bad time featuring an abomination of wrapper types.
- Comment on Nintendo sues a streamer for streaming ten games before their release 5 weeks ago:
While it’s true that they’ve been attacking emulators for a long time, they haven’t been able to do too much about them because of Sony v Bleem.
Modern emulators exist in a legal gray area, though, and might be violating the DMCA. The more of these assholes that pop up and get sued, the higher the likelihood that one of them refuses to settle, gets steamrolled by Nintendo, and gives them and every other console manufacturer the legal precedent that emulators are piracy/DRM-circumvention tools.
- Comment on Nintendo sues a streamer for streaming ten games before their release 5 weeks ago:
Is that directed at me… or?
Either way, there’s going to be a lot of that here. A lot of Lemmings come to the same conclusions, but the reasons are very different and sometimes incomprehensible from an outside perspective.
- Comment on Nintendo sues a streamer for streaming ten games before their release 5 weeks ago:
You’re entitled to your own opinion, but keep in mind that it’s people like him who make corporations condemn the technology instead of the users of the technology. He’s blatantly pirating, trying to profit off of it, and taunting Nintendo to do something about it.
And what they’re doing about it is not just going after him but also the people who created the emulators, so more people like him can’t exist. Nintendo wasn’t nearly as aggressive about going after emulators until people started using them to play unreleased games, and now, in the span of a year, they took out the main developers of both major emulators.
As someone who suffers from severe motion sickness and uses framerate unlocking patches to alleviate it, these people’s actions are screwing me and other gamers with accessibility challenges over.
- Comment on Nintendo sues a streamer for streaming ten games before their release 5 weeks ago:
Yeah, but this asshole deserved it. He
- Streamed unreleased games
- Handed over prod.keys and firmware files to anyone who asked.
- Told Nintendo “I can do this all day” after being copyright striked.
- And set up a CashApp to make money from all of it.
All while using an emulator. That kind of shit makes emulation look like a tool for bad actors and pirates, which is going to ruin it for the rest of us.
- Comment on ATTN: GEOLOGISTS 1 month ago:
Compatibility with existing worlds