Readit News logoReadit News
billmcneale commented on Zig Interface Revisited   williamw520.github.io/202... · Posted by u/ww520
billmcneale · a month ago
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 commented on Mill: A better build tool for Java, Scala, and Kotlin   mill-build.org/mill/index... · Posted by u/lihaoyi
spullara · a month ago
billmcneale · a month ago
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 commented on Reflections on OpenAI   calv.info/openai-reflecti... · Posted by u/calvinfo
maest · a month ago
Similar to Pascal's wager, which pretty much amounts to "yeah, God is probably not real, _but what if it is_? The utility of getting into heaven is infinite (and hell is infinitely negative), so any non-zero probability that God is real should make you be religious, just in case."

https://en.wikipedia.org/wiki/Pascal%27s_wager#Analysis_with...

billmcneale · a month ago
I am convinced!

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

And what if I pick the wrong god?

billmcneale commented on Bypassing Google's big anti-adblock update   0x44.xyz/blog/web-request... · Posted by u/deryilz
zulban · 2 months ago
I don't "bypass" Chrome when they want to melt my brain with their business model, I use Firefox. I don't "bypass" Windows when they want to melt my brain with their business model, I use Linux. No idea why so many "hackers" doing "bypasses" can't instead take action that is simpler, long lasting, and easier. Do people need to jerked around 50 times for 20 years before realizing it will keep happening and their "bypasses" are just temporary bandaids?
billmcneale · 2 months ago
Not everyone has your luxury of being able to choose their tools.
billmcneale commented on A list is a monad   alexyorke.github.io//2025... · Posted by u/polygot
lambdas · 2 months ago
Actions compose, types (generally) don’t. So Monad X and Monad Y may not make a valid Monad Z, but Kleisi composition very much exists for actions within a monad.
billmcneale · 2 months ago
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 commented on A list is a monad   alexyorke.github.io//2025... · Posted by u/polygot
brooke2k · 2 months ago
As far as monad tutorials go, this one seems quite good. I like the categorization of monads between "containers" and "recipes".

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).

billmcneale · 2 months ago
> 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 commented on MCP: An (Accidentally) Universal Plugin System   worksonmymachine.substack... · Posted by u/Stwerner
vaxman · 2 months ago
Not really. COM/OLE is a different paradigm, their answer to an infamous vaporware called Taligent/OpenDoc that bankrupted many developers. Microsoft was sort of stuck with that security nightmare though
billmcneale · 2 months ago
COM is exactly what OP was talking about.

Apps can expose endpoints that can be listed, and external processes can call these endpoints.

billmcneale commented on MCP: An (Accidentally) Universal Plugin System   worksonmymachine.substack... · Posted by u/Stwerner
vinkelhake · 2 months ago
While reading this, the old ARexx (Amiga Rexx) popped into my head. It was a scripting language that in itself wasn't very noteworthy. However, it also made it easy for applications to expose functionality through an ARexx port. And again, offering up an API itself isn't noteworthy either. But it shipped by default in the system and if an application wanted to open itself up for scripting, ARexx was the natural choice. As a result, a ton of applications did have ARexx ports and there was a level of universality that was way ahead of its time.

Come to think of it - I don't know what the modern equivalent would be. AppleScript?

billmcneale · 2 months ago
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 commented on Public/protected/private is an unnecessary feature   catern.com/private.html... · Posted by u/PaulHoule
EPWN3D · 2 months ago
Honestly, subclassing strikes me as mostly unnecessary. Most of those use cases can be addressed with protocols or traits.
billmcneale · 2 months ago
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 commented on Denuvo Analysis   connorjaydunn.github.io/b... · Posted by u/StefanBatory
shmerl · 3 months ago
Makes perfect sense to me. But I guess those in denial or DRM proponents will prefer to ignore the obvious.

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.

billmcneale · 3 months ago
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.

u/billmcneale

KarmaCake day294February 25, 2010View Original