HackerTrans
TopNewTrendsCommentsPastAskShowJobs

billmcneale

no profile record

comments

billmcneale
·10 mesi fa·discuss
> if (customer?.Profile is not null) >{ > // Null-coalescing (??) > customer.Profile.Avatar = request.Avatar ?? "./default-avatar.jpg"; >}

Isn't this over engineered? Why not allow the assignment but do nothing if any of the intermediate objects is null (that's how Kotlin does it).
billmcneale
·12 mesi fa·discuss
Why is Zig so inconsistent in its syntax?

We see:

    pub fn implBy
Camel case

    (impl_obj: anytype) 
Snake case

    v_setLevel
Mix of camel case and snake case

    anyopaque
whatever that is
billmcneale
·12 mesi fa·discuss
Yeah, hard to see how better this is than Gradle. If anything, it's worse by the mere fact this is Scala, but it's really so incredibly verbose to accomplish basic tasks such as upload to Sonatype.
billmcneale
·12 mesi fa·discuss
I am convinced!

Which god should I believe in, though? There are so many.

And what if I pick the wrong god?
billmcneale
·anno scorso·discuss
Not everyone has your luxury of being able to choose their tools.
billmcneale
·anno scorso·discuss
But the whole promise of monads is precisely that they are a type that can compose.

It basically allows you to pipe successive function calls returning different types by lifting these types into a monad.

Don't get me wrong, that promise is very powerful and in the rare few cases where it works, it unlocks beautiful composition, but the simple truth is that monads are really not that useful outside of Haskell (and I'd say, it's even questionable within).
billmcneale
·anno scorso·discuss
> That's why the pattern is so useful in the first place

How useful, really? Monads don't even universally compose, which is what most people sell the concept for.
billmcneale
·anno scorso·discuss
COM is exactly what OP was talking about.

Apps can expose endpoints that can be listed, and external processes can call these endpoints.
billmcneale
·anno scorso·discuss
Microsoft introduced this in Windows in 1993, it's called COM and is still in (heavy) use today.

It basically powers all inter communication in Windows.
billmcneale
·anno scorso·discuss
The question is not whether it can be done (of course it can) but rather, what is the more elegant approach.

There is plenty of evidence that OOP provides some flexible, extensible, and intuitive ways to design GUI libraries.

I have personal experience that OOP can be the better approach in other fields too (such as overriding a specific method of a larger structure).
billmcneale
·anno scorso·discuss
A lot of that verbiage is absurd exaggerations and most of these things never became true.

> Being in denial about this isn't an excuse for these problems.

I'm not in denial, I know exactly what Denuvo entails. Whenever I buy a game with Denuvo (which pretty much never happens any more), I know exactly what I'm giving away, and I'm doing so because I'm getting something in return.

Similar situation to someone dropping their business card in a jar at the exit of a restaurant with the hope they'll win a free meal. They give a bit of personal information because they think they'll receive more in return.

You don't get to take away the choice of customers to decide how to manage their information.

As long as everyone is free to make that choice, nobody is getting hurt and the market forces will ultimately land on an equilibrium, like we have today.
billmcneale
·anno scorso·discuss
> I don't believe that "whenever [I'm] playing and enjoying a game" it was "most likely" created thanks to Denuvo

I never made that claim, please reread what I wrote, but here is my point again.

When you play a game from a publisher, they were able to create it because their previous games sold well. Therefore, anything that allows games to sell well is a positive for the entire gaming community, creators and players.

Denuvo is an important part of this picture, but it's obviously not the only one.

> And then there are people like me who simply refuse to play any game which uses Denuvo. There are thousands of excellent games out there, why should I waste time on those which treat me as a thief?

That's great, and I do that as well. And this is one of the reasons why Denuvo is not anti-user: everyone has the choice to not support it.
billmcneale
·anno scorso·discuss
> Are you going to be OK with that just because it's some corpo doing it and not the government?

If I willingly let them in my home and I knew they were going to do that? I don't really have the option to complain, do I?

Your analogy doesn't make sense. People buy the game, Denuvo is clearly advertised on it. They have the option to not buy the game. Period. It's not overreach if I willingly accepted the reach.

> So to sum it up, DRM is always anti user in many senses.

How do you reconcile this claim with the fact that Denuvo games sell by the millions every month?
billmcneale
·anno scorso·discuss
> by its mere definition it's always aimed against the user, therefore it's always an anti-feature.

Describing it as "anti user" is theoretically correct but practically incorrect. It's true that it might prevent mods and possible future uses if the servers go down, but in practice, users don't care, as is demonstrated by the fact that games that contain Denuvo routinely sell in the millions and users have no idea it's even there, and they will never know.

Overreaching?

I don't know. Companies put out a product, you're free not to buy it if you don't like it. That's one of the reasons why I call this natural market forces.

> So conceptually it's not any better than what fourth amendment is aimed to prevent.

That's a gross exaggeration. The Fourth amendment is about unreasonable searches by the government, I completely fail to see how willingly buying a digital product from non governmental organizations is connected to Fourth amendment in any rational way.

Again, at the end of the day, nobody forces you to buy that product, hence "natural market forces".

The fact that millions of these games are being bought every month tells me users don't feel that whatever flaws, perceived or real, Denuvo has matters less to them than playing these games.
billmcneale
·anno scorso·discuss
> it's an anti-user feature by definition.

That's an extremely naive take that shows some stark ignorance of the tech and market forces at work.

From a tech standpoint, Denuvo negatively impacting performance has been debunked many times over (see my previous post about that).

On the economical side, you need to realize that whenever you are playing and enjoying a game, it's most likely due to the fact that the previous games sold by that developer have been successful in making money, which was most likely made possible by Denuvo.

In other words, making piracy harder allows the next generation of games to be created.
billmcneale
·anno scorso·discuss
> Worth noting that denuvo causes a lot of hitching, massive load time increases and overall performance problems.

There is pretty much zero evidence that this is true and some credible evidence that it is untrue.

For example, plenty of games have had Denuvo removed after a few months by the publisher and showed zero improvement in performance.

This fake narrative is being pushed by software pirates bitter that Denuvo is being so effective at preventing them from stealing games.
billmcneale
·anno scorso·discuss
> If a function fails, then you need to handle its failure

And this is exactly where Go fails, because it allows you to completely ignore the error, which will lead to a crash.

I'm a bit baffled that you correctly identified that this is a requirement to produce robust software and yet, you like Go's error handling approach...
billmcneale
·anno scorso·discuss
These are some pretty arbitrary rules without much justification, quite reminiscent of the Clean Code fad.
billmcneale
·anno scorso·discuss
> dynamic language like Kotlin and Clojure,

Kotlin is not a dynamic language, it's statically typed, just like Java.
billmcneale
·anno scorso·discuss
> Our mission is to take this code and make it readable:

Anyone else finding some irony in the fact that the provided code is unreadable not because of its structure but because of the highlight colors?