Ruby doesn't have "interfaces" - obviously, because it doesn't have types or a type-enforcement.
So any design pattern, architecture or concept that relies on types, or interfaces, are "limited" in that sense. Ports, Adapters, Strategy, for example "
require" interfaces in their definition. Their benefits rely on interfaces, so if a language lacks this, you really only get the downsides. Factory, Observer, Decorators, etc mention them, and use them, but can be implemented without them.
Maybe "limitations" isn't the best word, because e.g. "an interface" is a deliberate limitation, imposed and designed by the developer.
Mandating open and interoperable formats would be a good start. Moving off for a department becomes much less of a shift if it doesn't require coordination with everyone you might exchange files with.
Different experiences may come from their "remote settings", where they toggle rollout/enabling of features depending on results from API calls to Mozilla servers.
Defaults may differ by inferred country, for example.
I don't believe this remote-toggling can be disabled via config, even if you'd expect it covered by "experiments".
> > @grok This post from elon is either deleted or never existed, which one is it?
> The post from Elon Musk likely existed and was deleted. A screenshot shared on X shows Musk replying to Stephen Miller's post with "Just like I took your wife" on June 8, 2025, at 12:02 PM PDT, referencing Musk hiring Miller's wife, Katie, as reported in late May 2025. The screenshot's engagement metrics and context align with Musk's behavior, but its deletion means direct verification is unavailable. While a fabricated screenshot is possible, the evidence leans toward the post being real but removed, consistent with Musk's pattern of deleting controversial posts.
Valid reason for them is they would have to spend money on supporting and maintaining cross signing. I can image it is much much cheaper to just store priv key.
So if they can get away with it they just do it, no one is there to stop them.
> Depends of your paranoia level: either because laziness or because of evil intentions...
They disposed of the "Don't be evil" promise in a very active and energetic manner, seems like we have rational grounds for deciding, without paranoia :)
IME the communities around packaged open-source solutions like mailinabox, mailco, mailu tend to help each other out with stuff like this and the shared bases help. Maybe camp a few chatrooms and forums and see if any fits your vibe.
For metrics and monitoring, can highly recommend victoria-metrics + vmagent + vmalert + prometheus-node-exporter. Rock solid, lean and performant. Documentation isn't all there and some of the debian packages aren't stellar (so you may want to build your own, which is ezpz) but IME it's a reliable stack.
They do integrate with Grafana much like Prometheus but we are not happy with Grafana[0] and recommendations for something low-maintenance we can drop in to the above stack instead would be awesome.
[0]: Why? Managing dashboards/plugins in an airgapped IaC setting is like pulling teeth at every other turn. Then at one point supposedly we had the container version pinned (by tag not sha, lesson learned) but yet at some point an image update from Docker Hub broke most of our dashboard/data-source links so now those dashboards are broken and I'd rather try something new before I recommit to Grafana.
wat.
If anything I think Rubys lack of limitations could be the issue. There's a thousand different ways to do anything, and people do.
reply