https://en.wikipedia.org/wiki/Pascal%27s_wager#Analysis_with...
Which god should I believe in, though? There are so many.
And what if I pick the wrong god?
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).
However, I personally think that monad tutorials tend to give people the wrong impression and leave them more confused than they were before, because they focus on the wrong thing.
A monad is not a complex concept, at all. IMO a more useful way to present the topic would be with one separate lesson for every common monad instance. Start with Maybe, then IO, then maybe State and List, and so on... because ultimately, every instance of a Monad works very differently. That's why the pattern is so useful in the first place, because it applies to so many places. (Note: this is a criticism of monad tutorials in general, not this one in particular, which seems to do a decent job on this front).
In my experience, people new to Haskell focus way too much on getting the "a-ha" moment for monads in general, when really you want a bunch of separate "a-ha" moments as you realize how each instance of a monad takes advantage of the pattern differently.
I also tend to think that monads are best demonstrated in Haskell rather than in other languages, if only because the notation is so much less clunky. That may just be me though. (EDIT: well, also because almost no other languages have typeclasses, so you have to approximate it with interfaces/traits/etc)
Also FYI: in part 2, the code examples have extra newlines in between every line, which makes it hard to read (I'm on firefox, if that matters).
How useful, really? Monads don't even universally compose, which is what most people sell the concept for.
Apps can expose endpoints that can be listed, and external processes can call these endpoints.
Come to think of it - I don't know what the modern equivalent would be. AppleScript?
It basically powers all inter communication in Windows.
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).
The abusive and overreaching nature of DRM was expressed pretty clearly by those who actually abused it:
https://en.wikipedia.org/wiki/Sony_BMG_copy_protection_rootk...
> The industry will take whatever steps it needs to protect itself and protect its revenue streams ... It will not lose that revenue stream, no matter what ... Sony is going to take aggressive steps to stop this. We will develop technology that transcends the individual user. We will firewall Napster at source – we will block it at your cable company. We will block it at your phone company. We will block it at your ISP. We will firewall it at your PC ... These strategies are being aggressively pursued because there is simply too much at stake.
Note the repeated usage of "your" which increasingly creeps into user's private digital space. Being in denial about this isn't an excuse for these problems.
> 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.
We see:
Camel case Snake case Mix of camel case and snake case whatever that is