Any type system for Ruby objects that isn’t based on message/method response signature (i.e eigenclass), but instead relies on module ancestors (or worse, class), is fundamentally misaligned with the architecture of the language.
A remarkably high proportion of folks that self-identify as Ruby aficionados will make this error.
I’m not even talking about respond_to? / method_missing tricks. If an object prepends a module to its singleton to become a proxy for something else, or a library offers refinements (which are lexical) so its clients may declaratively align method expectations, or (bad style, looking at you Rails, but nevertheless) just evals whatever method definitions it likes after messing with the three implicit contexts, then it should still pass.
Leaning on class and mixin is just one of the ways in which Ruby object anatomy evolves, and although that’s a familiar default to many, there are other styles in common use, especially in framework/library code. Any app relying on such a framework may either not pass, or may silently bypass, such type checking. And I foresee a myriad of edge cases if one slings around closures as a habit (why, yes I do).
Symbolic message passing is the basis of object collaboration in Smalltalkish OO, and in Ruby class/mixin is merely one of the ways to get there. The conceptual gap means that what you get from oversimplification isn’t just a half-baked type system, it also becomes an incomplete straitjacket for style.
Edit to add: after reviewing the internals of this library, note that for a dash of irony, it is indeed prepending modules to class singletons to redefine methods with proxy wrappers. That is to say, it could not type-check itself.
By pushing back on someone over trust, you’ve eliminated the interest I briefly held in evaluating Orion. It would’ve been far better to acknowledge the concern than nitpick it.
What? Since when was asking questions to clarify someones position considered "pushing back?"
Can you help me understand what about the questions make you uncomfortable?
I am completely unaffiliated with Kagi. I find it concerning that we've come to a world were we can't ask questions without it being taken as something hostile to the person/people/idea being questioned. Is that not what science is?
If you don’t think “you can just audit the binary with tools” is pushing back, then I don’t know what is, and especially so when you’ve framed the invitation with “I'd rather listen”.
I’m reminded of the number of times I’ve had vendors sit across the table from me and argue that our fixed requirements for <whatever> are just a preference or a nice-to-have. This generally doesn’t bode well for their prospects.
Fair enough. I personally did not read push back in the questions/statements asked/made.
> Trust with regards to...?
I took this to be a good faith ask for clarification
> Orion doesn't have any telemetry... You can audit the application's behavior with standard tools to verify that it isn't "phoning home", etc...
I took this as a statement if what I could do, not specifically what I should do instead of getting it open sourced.
Maybe I read it with more good faith intention and curiosity than I should have. I see your point on how that could be perceived as push back, but I landed somewhere different from where you might have.
That statement also said you have to audit binary even if the code is open source. Which isn't entirely true as other comments pointed out - reproducible builds - but the idea doesn't seem like pushing back to me. It was to point out that open source doesn't automatically imply any level of trust when it comes to security/privacy.
There is also a matter of selective effort by staff senior enough to make their own choices. Many SDE3 (or whatever MS equivalent is) wouldn’t want to be associated with a dumpster fire product like Teams.
No Gemini model has ever made a mistake or distorted information. They are all, by any practical definition of the words, foolproof and incapable of error.
That comment to which you replied, and the other thread of responses to it, are quotations of the malfunctioning and homicidal HAL computer from the movie “2001: a space oddisey”.
From the other side of the Atlantic this sounds like straight Thatcherism, in which Chicago-school monetarism was an ideological anti-union weapon, and the Thatcher cabinet was not coy about it. However I think the US went that way first even if Reaganomics came later.
I think a lot of that in the US got spun up with Nixon, Reagan brought a lot of it to the mainstream though. Both of them hated unions with a passion that is for sure.
Unions are the best of all the bad solutions we’ve come up with so far for labor to compete with capital. The worst of course is collectivism through government, though that’s being tried again…
The best solution is antitrust enforcement and removal of anti-competitive laws/rules lobbied for by incumbents. When companies have to compete with each other for labor and customers, wages go up and prices go down. Whey they consolidate they can charge monopoly rents.
Unions often even make this worse because they'll latch on to a monopolistic employer and then lobby with them to retain the monopoly at the expense of all the workers who are their customers rather than their employees.
> removal of anti-competitive laws/rules lobbied for by incumbents.
If even if there are such ideas in new government, they quickly disappear over wine and steak dinners with the lobbyists.
Unfortunately this is not seen as bypass of democratic process. Nobody voted for having less rights and any bargaining power stripped and yet here we are.
That's where security services should come in (in many countries protection of democracy is their main statutory duty) - but they are not doing their job tax payers pay them to do.
Arguing that we shouldn't do something because it's hard to enact is defeatism. When it's the thing you need to do you need to do it anyway. It's not like anything else that would actually work would be easier to pass -- the thing you want is the thing they don't want.
Sure there are a number of Democratic Socialists and other progressives winning elections and driving changes but everything I’ve seen policy-wise has been directly targeted areas where unchecked capitalism has clearly failed their constituents. Even in those cases, there’s no dramatic shift towards government ownership.
> there’s no dramatic shift towards government ownership
Interesting that you mention this. It's not exactly the same thing, but someone in another thread here on HN pointed out that the feds have been acquiring non-trivial stakes in a number of companies. More than just the one or two that I had seen in headlines.
It's funny, because it's a bigger overt push in the direction of actual socialism than the dems have ever tried, by the group of people who most love to use socialism as a boogeyman.
But the argument in favor of it seemed compelling on it's face, at least worthy of debate.
So-called “homebrew” has only ever grudgingly provided the barest minimum of hooks to locally build your own variants of their packages, and compares most unfavourably to, say, maintaining your own easily-rebased fork of a BSD-style ports tree. Don’t even get me started on its janky dependency resolution, versioning, “services”, and lifecycle.
The hostility and self-righteousness from the maintainers in the thread linked above just adds to the general shittiness of using it at all, and yet somehow it seems to be the lowest common denominator choice for far too many teams I’ve worked with, I suppose by sheer inertia.
"Most of the time when someone says they are in the “North East of the UK” it’s not some Scotsman up in Shetland it is an English person who is currently in the North East of England."
Blog spam doesn’t intersperse the drivel with literary narrative beats and subsection titles that sound like sci-fi novels. The greasy mixture of superficially polished but substantively vacuous is much more pronounced in LLM output than even the most egregious human-generated content marketing, in part because the cognitive entity in the latter case is either too smart, or too stupid, to leave such a starkly evident gap.
A remarkably high proportion of folks that self-identify as Ruby aficionados will make this error.
I’m not even talking about respond_to? / method_missing tricks. If an object prepends a module to its singleton to become a proxy for something else, or a library offers refinements (which are lexical) so its clients may declaratively align method expectations, or (bad style, looking at you Rails, but nevertheless) just evals whatever method definitions it likes after messing with the three implicit contexts, then it should still pass.
Leaning on class and mixin is just one of the ways in which Ruby object anatomy evolves, and although that’s a familiar default to many, there are other styles in common use, especially in framework/library code. Any app relying on such a framework may either not pass, or may silently bypass, such type checking. And I foresee a myriad of edge cases if one slings around closures as a habit (why, yes I do).
Symbolic message passing is the basis of object collaboration in Smalltalkish OO, and in Ruby class/mixin is merely one of the ways to get there. The conceptual gap means that what you get from oversimplification isn’t just a half-baked type system, it also becomes an incomplete straitjacket for style.
Edit to add: after reviewing the internals of this library, note that for a dash of irony, it is indeed prepending modules to class singletons to redefine methods with proxy wrappers. That is to say, it could not type-check itself.
reply