Arathorn

Joined 16 years ago

Karma
15,823
Submissions
2,612
Member since
Dec 8
Matrix.org project lead | CEO/CTO [Element](https://element.io)
View on Hacker News

Recent submissions

Comment · 9 hours ago
no, there shouldn't be; MatrixRTC calling has finally (after only 5 years of iteration :) stabilised. The biggest change is renaming the APIs from unstable to stable URL prefixes, but this should be invisible.
Comment · 10 hours ago
Comment · 3 days ago
it sounds like you had an awful experience with a specific client and/or server combo (or perhaps multiple ones). can you share which ones? as you say, there's a lot of effort going into it, so it's important to know if impression is based on outdated knowledge or whether you or others have had a bad time with the current generation.
Comment · 6 days ago
Comment · 17 days ago
Roughly speaking, the concrete disadvantages of Olm and Megolm are:

* In the current Matrix implementation, server tells the clients what the group membership is, so a server could spoof an invite to add a malicious user to a room and you'd have to rely on social mechanisms to spot it.

* There's no way to force everyone to rotate the sender key at the same time.

* On the plus side, it decentralises relatively well.

The concrete disadvantages of MLS are:

* Vanilla MLS needs a centralised sequencing function for changing group membership.

* The key bundles are much larger.

* On the plus side, only clients within the group can add new users/devices, and everyone in a given epoch shares the same group secret, so when someone rotates everyone has to rotate to participate in the new epoch.

Now, the server-controlled membership problem can be solved with Olm/Megolm if you instead have the client control the membership, using Matrix itself to define which users are authorised to be in the room, by running the Matrix DAG merge resolution on the client as well as the server. I did this a few weeks ago (in prep for The Matrix Conference next week) to show viability; it works, and has the advantage that you don't have to blow up the whole crypto implementation.

On the other hand, MLS can also be made to decentralise. DiMLS (draft-xue-mls-decentralized) isn't the only option here; DeMLS is the one we've been working with (using the Phoenix DeMLS OpenMLS fork) on the Matrix side - and works by letting MLS epochs fork and then merge again later, using puncturable functions to avoid undermining forward secrecy. This is a much bigger change; we experimented with it a few months back; details here: https://www.youtube.com/watch?v=jc7yfec3iIQ. It's promising, it works, but is much more complex and experimental.

So, TL;DR: it's possible to use olm/megolm securely (even if it's had a mixed record); I doubt strafe is doing fancy client-controlled group membership though. Separately, MLS can be used too, but it is way more complex and has its own complications. On the Matrix side we're still pursuing both (and finally making some progress, although it's a very slow burn).

Comment · 17 days ago
right, makes sense - thanks for answering. one other question if i may: for the folks suffering malaise, was that using Element X or Elment Classic (or Element Web/Desktop)?
Comment · 19 days ago
out of interest, is that family/friends who don't like it? or broader tech community? which bit irritates the most atm?
Comment · 1 month ago
Black Harvest (https://www.imdb.com/title/tt0103817/) is an incredible documentary; everyone should see it.
Comment · 1 month ago
This will be referring to enforcing MSC4311 (https://github.com/matrix-org/matrix-spec-proposals/pull/431...) stripped state validation. Synapse announced a 1 year compatibility window to avoid ecosystem fragemtnation: https://github.com/element-hq/synapse/issues/19943. However, due to MSC4311 not better outlining how to handle compatibility, another server implementation chose to enforce the MSC more rapidly, breaking compatibility with everyone who hadn't yet implemented the MSC - including Synapse, which hadn't actually implemented it yet. Speaking as the lead of the Matrix Spec Core Team, we should have handled this better. https://github.com/element-hq/synapse/pull/19723 is the Synapse implementation which is now in the process of landing.
Comment · 1 month ago
On the point of

> speaking of weird: how is it that these models, in a sandbox, with supposedly no way to communicate with other agents, manage to find the same public wikis as a scratch pad for agent communication?

It feels somewhat plausible that they're defaulting to the same search and picking the same top result?

Comment · 1 month ago
Comment · 3 months ago
> you don't see the CTO coming to chat about it.

Speaking as the CTO at Element (and proj lead for Matrix), i feel like i've spent a bit too much time coming to chat about Matrix on HN over the years ;)

That said, I agree that Bluesky is doing well in terms of breaking through into mainstream awareness - much more so than Matrix (although obviously big-world-social-media is something of a different beast to distributed-instant-messaging).

The reason Matrix hasn't done better here is primarily economic: we spent too much time and money building out Matrix for everyone in the early days... and not enough time focusing on building either consumer (as Bluesky has) or enterprise or government specialised products. We then got traction at Element on the government side of things (https://element.io/en/matrix-in-europe etc) as it turns out governments love their digital sovereign communications - which in turn meant that in order to get sustainable and survive we had to focus hard on building stuff for that market. Now, ideally the stuff which works for Govt would work for mainstream too (after all, we're generally competing with Signal and WhatsApp, which are of course mainstream apps) - but in practice it has been hard to get that balance right. You can see my <del>TED Talk</del> FOSDEM 2025 talk about the road to mainstream matrix here: https://www.youtube.com/watch?v=lkCKhP1jxdk

Meanwhile, the plan on Matrix is to get to profitability via Govtech and then invest the money back into improving Element (and Matrix) so it also works well for mainstream usage - so hopefully we'll get back on the radar then. It's a long haul though. Meanwhile, kudos to Bluesky for getting to focus on the mainstream use case; I'm jealous, and I hope they find a good sustainability model!

Comment · 3 months ago
I've been keeping a record of the increasingly opinionated vocab it fixates on:

* Projection (it seems to love to describe one data structure as a projection of another)

* Strand (if some data gets isolated/stuck, it's "on a strand" or simply "a strand")

* Load-bearing (obviously)

* Frontier (the leaf on a tree)

* Quiescence (waiting for an algorithm to settle - I guess this one is legit)

* Honest (obviously)

* Residuals (any kind of data which hasn't been consumed by an algorithm)

* Rescission (something which has been rescinded; rather than saying "a rescinded offer" it enthusiastically calls it A Rescission!)

* Supersession (it's not a session which is a superset of another session... it's the word supercession; something that supercedes; similar to preferring the participle form of rescind).

I wonder how much of this is due to it mirroring proximate things to my code's own weird vocab though.

My favourite so far has been that I accused it at one point of playing whackamole by patching issues rather than getting to the bottom of a problem, and a few hours later it started to say things like "and i found mole 2 in CI" etc. For one minute I thought it was talking about the avogadro constant or backdoors or something until I realised it had committed to start calling newly discovered bugs 'moles' in its ongoing game of whackamole...

Comment · 3 months ago
Comment · 3 months ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton