If you're not coming, and if you can take, try to follow up on several of you and take the chance to give it a drop to all of you.
It should be related to me.
If someone wants to give a talk about something you want to share.
There's something I would like to know about.
Maybe we've over the question, make a choice and capture it with the microphone.
Okay, so I want to talk a bit about what I'm going to do tomorrow.
Since I'm in three years, since three years, more or less now in the matrix community or matrix ecosystem.
And I'm not that deep tech guy. I'm more interested in social things.
I started to organize a couple of things like the matrix community summit.
I'm some matrix meetup in Berlin.
And the newest thing we did just last year as a prototype was the matrix retreat.
Where 10 people which work in different projects companies in the matrix ecosystem spend some time in a place in Austria in Kremsk, close to Vienna.
And they did their usual remote work there.
But then they shared some time and within that time work together on matrix related stuff.
But also on other funny, naughty things.
And I really felt in love with this kind of working atmosphere.
So now I'm going to organize more of them.
And one of them is starting tomorrow because we will go to Thailand and have four weeks matrix retreat in Thailand.
So if you're interested in something like that.
For matrix, then check matrix this week in matrix.
Or check out a vocation, nation, data and often.
There we organize also something.
Or we try to organize something like that for other communities like KDE or norm or maybe others.
That was my announcement.
I could try to do Gabriel's talk.
And I basically know what he would say.
And so on the basis.
So on the basis that I've seen that people are here because they were hoping to hear about how rocket
chap works with matrix.
As opposed to an AMA or whatever.
But I can at least give some overview of bridging and interoperability and where things are out.
So being going since 2016 originally made me to your best kind of flagship app.
For the Meteor community and the JavaScript ecosystem.
Where the whole stick is at your right and app in JavaScript on the front end.
And you do the server code in the front end too.
So you basically have the server as a magic thing that goes and connects to
Gabriel clients and you can focus on the front end.
So I believe that's where rocket chap came from.
And so if people have used it, it's really nice product.
It's a great swim web app.
And I believe it's got native mobile apps as well too.
Lots of communities have used it over the years.
I know the blender used to use it for a while.
I think that rocket chap is a company as similar challenges to the average element has.
In terms of getting very popular with governments and then discovering that.
Large organizations somehow forget from the people writing the software.
And so that might be why he's not here today.
But a few years ago, I guess I first met him probably four or five years ago.
First of all, I think, first time.
And he had a geek out about how rocket chap was going.
And how they should absolutely start talking matrix to.
And years as a common language.
As a way to basically add a feature on.
Because I think they had just on their own Federation,
which was a very, very basic setup where you put SRV, DNS records.
And that would allow the servers to basically just pass messages.
We're between each other.
Didn't have.
It also had end-twent encryption using a shared secret.
So no perfect forward secrecy.
If somebody uses a password basically to secure the contents of the room.
And if that password leaks, then the entire history of the room goes.
And the Federation was basically proprietary.
So then it's a closed API that they had.
So I said, hey, rather than doing custom Federation,
you should actually talk a common language.
And then you'll be able to bridge free to element via this as well.
And all the other matrix plans.
And you can be a part of our strange matrix code.
Amazingly, he didn't say no.
And he said, actually, this might have some merit to it.
And I can see some of our government customers are really liking this matrix stuff.
Perhaps we should have a look at this.
And interesting what he did at first.
I think was in Google, similar to code 2016, go and do a JSON project
to try to add matrix to Rocket Chat.
And I recommend that the way to do this might be to start off with a bridge.
But you would take the existing materials server, which is backed by MongoDB.
You write a really simple bridge that we go.
And basically copy and paste the messages from Rocket Chat
into a synapse that we would set alongside it.
And the synapse would then bust you out into the great wide matrix.
Beyond it.
I guess he was worried about the hassle of running two servers,
which is something that comes up a lot.
If you're already running a meteor server for Rocket Chat,
do you really want the complication of running a whole bunch of Python alongside
using Postgres when Rocket Chat has already got Mongo,
it doesn't fit very nicely.
And so for the first thing that they tried to do was to take
the Federation Library from Dendrite, go matrix server
lib, and port it, line by line, into time scripts.
Which is quite a bullsey thing to do.
Particularly as Dendrite was pretty alpha at that point,
because again 2017, probably also by this point.
And I think it's worth to say that it was an experiment in the Portuguese
or the Portuguese students might have been a little out of their depth
and the enthusiasm of doing this.
But I think it's still out there.
I'll get some way that I don't think I ever went to production.
So that was the kind of first attempt to join matrix.
Then a couple of years later, it cannot forget.
Thanks to our friends in the Swedish government.
Because Sweden is quite food-facing when it comes
to trying to do the right thing for digital sovereignty.
And I think they've done the numbers on what happens
if too many anchors get dragged over their international submarine cables
or other nasty scenarios.
And so seriously, we'll go through how to communicate
and how to avoid being operationally dependent on the US and SAS
companies in the US for cons.
And they also have a unit of the government called E-SAM
who's full name, I cannot pronounce or remember.
And they are responsible amongst other things for interoperability
and kind of best practices for government things like procurement.
And so what E-SAM saw was the different ministers in Sweden
were picking completely different sovereign channels.
So you had a bunch of people who were running rocket chat,
a bunch of people running matter most,
and a whole bunch of other people running matrix-based solutions.
And so in a very collaborative Swedish manner,
what they did is to invite all the CEOs for these companies
on to a video conference and said,
right, what we want is for you to speak the same thing.
We don't want to be vendor-locks or element
or we're all matters to rocket chat or whatever.
We want to be able to buy whoever we want,
but we also want to talk to each other, go fight.
And it was a really fun call.
I think it's the only time that basically all the competitors
had to be in the same place and told to justify what they're doing.
So the outcome of that is it was all very diplomatic and political,
as you mentioned.
And all the CEOs basically said,
yes, yes, absolutely.
We obviously want to do the right thing and say yes to the government
to make this happen.
And yes, I can see the benefits of doing this.
Obviously, I was quite biased in favor of it
because there was only one solution on the table,
which was matrix as an mechanism to go and link
the different departments together.
But afterwards, I think we've got Gabriel offline
and said, hey, do you want to do this for real?
So yeah, why not?
I mean, we'll be stronger together.
And it was like, yeah, he gets it.
There is absolutely opportunity to,
know for him, for some more rocket chat instances
and likewise element.
So we started talking about it more seriously again
and started to do this time, right to bridge.
And this must be about 2021 or so.
And it was just after element had taken getter
off the hands of get lab, just as get lab was going to IPO.
Get lab was having to focus all of its books
and get rid of any weird stuff and poor old getter
who they had bought so many years earlier
was a bit of an anonymity, whereas we of course
element did an awful lot of chat.
And so basically get lab suggested that we could go
and move getter into matrix and I thought, wow,
that would be great because getter can be a showcase
of how you're taking existing app and how do you integrate
it to make it natively speak matrix.
And we had just done that.
And as it happens, getter has a very similar start
to rocket chat.
It's a whole bunch of touch groups
and both from the front and then the back end from memory.
So being able to say to Gabriel, yeah.
Sure, you can get rocket chat talking matrix.
And hey, look at the tutorial we wrote when we went
and wrote a bridge to make getter natively speak matrix.
You should do the same thing.
And he puts in full time employees on it and went off.
And we also as elements and provided consulting
to basically answer any of the weird matrix bits.
And it was really fun.
It worked.
They got written.
And it went live.
I believe in rocket chat 6, which is about a year or two.
Well, possibly that sort of time frame.
Now, the story gets big murky here because I'm not
in fact Gabriel Angles, he a rocket chat.
I'm Matthew Hodgson, he a relevant.
But last I checked, as I said, they were marketing on it
as a differentiator for rocket chat.
The hey one of the good things is that we've had a regular matrix
too and really leaning into it, which is cool.
It's worth noting that Matthew most also said, yes, we will talk
matrix.
Did get somebody to write a matrix bridge for it.
And then kind of didn't yell about it too much.
But if you do look very deep in the maths community projects,
I think you will find there is a mathematics
connector or matrix connector for mathematics.
But rocket chat properly leaned into it.
And I believe that they then decided that they weren't wanting
to bundle synapses next to rocket chat because synapses
is in Python and they wanted something shiny.
And so they decided they would use dendroy.
Which in some ways would make sense if it wasn't for the fact
which Eric Glost over completely in his synapses
later the nation just now.
The poor dendroy has basically got stuck in a eternal beta
system where a first the intention was to move synapses
entirely over to dendroy.
But then I think France turned up and rolled out synapses
at scale everywhere and suddenly become accredited
and audited and was actually being run for real.
And we had to really focus on making sure that it worked.
At which point all of the time it should be spent making dendroy
amazing with being spent maintaining synapses.
And then rapidly we started stealing the architecture
of dendroy like workers and replication
and backporting it into synapses.
When we first wrote dendroy synapses had no workers.
It was a Python long lift and if you run out of CPU on a call
you were done.
But dendroy, on the other hand, is a microservices architecture
that uses Kafka at the time in nowadays
and that's as an event bus to go and link together
all these different instances.
The work is using radius as an event bus
and synapses is basically a port of dendroy
architecture to synapses.
Long story short, we ended up with
and still have two server implementations written by the
core team who now does hang out our element.
And port and tried is great.
And there's now being maintained or at least
mainly contributed to by the community.
I'm hoping the element will get profit all
some day before we run out of money ideally.
And we will be able to invest some of the profits
into maintaining dendroy properly again
so that there is a second totally independent
implementation done by the folks who created matrix
in the first place to keep ourselves on
as much as anything else.
But so how dendroy is used today
is basically for experimentation like peer-to-peer,
like crypto IDs and pseudo IDs.
There's no privacy work happening
particularly in synapses right now
because it was all happening in dendroy
at least once dendroy had cash applied to it.
So basically I told some Gabriel,
I'm not sure you should be using dendroy
because it's kind of in beta.
And he said, oh, my devs love it.
It's so much fun working on this experimental code.
Yeah, we'll go with this and ship to anyway.
At least I think they ship it anyway.
So I'm not sure how that's going
because obviously dendroy has not been massively
maintained now for a year and a bit.
There are PLs coming in.
We'd still do critical updates,
but you probably should not be using it in production.
And if they are using it as the
Dockerized home server that you get
when you do a Docker compose rocket chat
and still then that would not be ideal.
However, I'm hoping that they also have
it set up so you can use an app so you can use your
existing home server alongside it.
Or perhaps they've gone Polish dendroy enough
that it is production great.
Metal known fact is a Reddit chat is built entirely
on dendroyts.
Who knew that?
Yeah, about four people.
It's pretty depressing in that
about the point that we ran after money
to work on dendroyts was also the
point that read it which is a relatively major
organisation of hundreds of millions of users
turned it on to power their system.
Apparently they did a proprietary fork of it
thanks to the matcha curve Apache licensing
and replaced the backend to use
Cassandra, Rav, then Postgres
because all of their infrastructure is Cassandra.
And I believe to this day if you go to chat.
Reddit.com right now and look at the network
perspective you'll see a whole bunch of
matrix traffic flying around as it
talks dendroyts.
In fact as that counts as production.
The power dendroyts is production great.
Perhaps for rocket chat using it isn't
such a crazy idea.
But for my side it's a little bit weird
and I hope that they have the option
of synapses as well.
I think the Gabriel for I was trying to
have no good at
disweight him from using dendroyts because I
wanted to keep dendroyts as a special
differentiated competitive advantage for
element which is not the case.
I told him that this is probably stuck in
beta I really meant it.
But that is where things are right there.
And actually I did speak to him
at Postom 2 years ago.
And had a meal to go for and talk about
how things going and he I think said
that they were starting to look fairly
seriously as the solution to the dendroyts thing
to finish off the TS matrix
server lab idea and get their
node code based talking proper
federation.
And based on the good experience
that they had with the bridging and the
fact that the architecture had worked
relatively well.
So I don't know if somebody has
got a laptop in front of them
perhaps open up get up and get
to rocket chat and do some search terms to
see if they actually have server
federation API work happening there.
But I believe their intention was to
bring it native so you don't have to
just have one stack and it will be written
in the same language they would maintain
themselves and it would work great.
So perhaps his talk was going to be about
that and what it was working.
And in my dream of it would be kind of
fun if there was a whole new home server
implementation written in
node done by the rocket chat team.
But unless someone has actually looked
and found it I honestly don't know what
the answer is.
So.
But may or may not have been in
the talk he knows.
Well, big applause anyway.
Thank you very much.
I think there are a lot of interesting
insights that actually were
probably would have never got back to the
group.
Yeah, it gets all questions would be a bit
hard.
Now I mean honestly people have questions
and ways of gluing took different
technologies together.
You could also gossip about the
disaster that is DMA.
To the have a question.
Okay, what's the cause?
I'll relate to the audience in the second.
Is called home server?
Why are those the best name for a home server?
I don't know.
Okay, what's the cause?
I'll relate to the audience in the second.
Is called home server?
Why are those the best name for a home server?
I've ever heard.
Okay, so to relate to there's been
researching and it turns out that
indeed they have been working on
an active note home server
implementation for integration
into rocket share and it is
GitHub.com slash rocket dot
chat slash home server.
And it was being worked on until
a couple of months ago.
It doesn't look complete.
But I imagine when rocket share
submitted this talk they wanted to talk
about that project and the guy who was
working on it and then the success
or not that they had had with it.
The fact that it hasn't had commits in a few months
and Gabriel isn't here.
It implies that it may not have gone
amazing you are.
But you know, it's going to look at the
codes and helps it's great.
But yeah, people do have questions
about bridging or interrupt
existing systems into matrix.
I mean, bridging is a
double-edged sword.
It's a great way to get rocket chat
or get a raw mattermaster or
WhatsApp into matrix.
But on the other hand,
it's always an impedance mismatch.
It's not benefiting from typically
not benefiting from matrixes and to
encryption.
It's a bit of a dirty hat.
So, President Kant, if people
have questions or thoughts, this is your
time to have an improvised bridging
Q&A.
If not, I will stop one morning.
There was a hand.
No, that was Kevin's scratching his ear.
Sorry, Kevin.
Yeah.
So, how scare boys
are going to be?
So, scalability for synapse.
So,
yeah, yep.
So, the Eric had a sort of
state-of-the-nation moment.
He didn't really target
specifically scalability.
First of all, how do you define
scalability?
Is this like messages per second?
Is this number of uses in the room?
Is this number of service
participating in a room?
If we assume that it is the number
of users, let me think.
That number of locals uses on a server.
So, say that you're running just one server.
It's not federated and you've got
a million users on it.
You're going to need to run lots of work
processes, which is not
Kafka.
It's synapse.
You use radius to basically
find out data from the main process.
Nowadays, the main process
doesn't do any messaging.
It is just for coordination.
So, it is not on the hot path
of any actual messaging.
So, what you do is to run lots of
what we call work processes,
which go and handle
I know sending messages to clients,
receiving messages from clients,
also sending receiving to servers
and a bunch of other ones.
And you can run as many of
those as you like.
And as we say,
matrix.org is about
170 of these.
So, basically 170 calls
worth maximum of CPU.
And that does a
bout
all around
two million simultaneous
connected users,
I think,
on that server across all of those
workers.
And two two physical
servers,
each with a
whole bunch of 64
called CPUs and lots
of NVMe
and disks about 10
terabytes of
disk,
specifically.
In fact,
there are two application
servers, two database
servers.
And then a bunch of
BPSs
who do some of the more
boring
workers
and setting alongside it.
So, that is how far it
can scale.
But you
right now,
or at least until
very recently,
and all
thought of those workers,
did nothing but
keep up with traffic.
So, they weren't actually doing
much useful work.
They were basically
consuming,
replicated
fire hose,
filtering it,
pulling stuff out of the database,
trying to decide what to do with it.
So,
I'm going to be a
project to go and improve
the scalability,
but I can't talk about it because
this is awesome.
Any other questions?
Did I answer the question?
Excellent.
I can obviously am a
on nature extra from
an employee in the face,
so, if it is flat the room or
friendly themselves,
I have to win the
one.
So, this one,
for sure.
So, the question is,
make tricks on IoT.
So,
I mean,
Matrix is very flexible.
It's just an invent bus
with persistence and encryption
for anything.
And
we've done a lot of
weird experiments over the
years to try to persuade people to
build
weird things on Matrix and use it
from open chat.
In practice,
in retrospect,
this might have been more about
me wanting to do fun
than making the world a better place.
But, as a result,
we've done some IoT
ones.
A very early one was actually
done by the community,
by the guy called Ryan
Rex.
He was a Uber at the
time.
He connected his entire
home assistant set up of
LED strip lighting.
This was like 10 years ago,
so the LED strip lighting
was pretty cool.
With
non-due in the Raspberry Pi
and Matrix,
so that he could basically use
Matrix as an invent bus
to get all the telemetry of both
conjunction lights and other stuff in the
room.
Another example is
one
a demo that I did at WebRTC
World 2016
in Miami,
Florida.
I turned up with a
parent drone
back before drones
with many used to kill people.
It was appropriate to turn
up at a conference with a
little drone,
which I'd written a bridge
between the C++
led parent library that
it came with
and Matrix,
so that I could video
call it.
And get hardware
264 encoded 1080p video
into a normal matrix
cool, so just use it as a
remote webcam,
but I also did
flight by
while over
IoT.
It's a very sophisticated
boat school,
where you would type
launch, return,
and this would
make the thing go up
and flip,
and it would do
360,
and all this sort of thing.
But joking inside,
it was really a basic way
of doing
non-human
messaging there.
Then
the vendors there
initiated a project
to do
an IoT telemetry
through
vehicles,
so specifically
ODB2
telemetry,
so this is the
diagnostic port that all
vehicles have.
You can set the data
out of it,
which is
hilariously fragmented and
non-standardized,
is every vendor just
puts whatever the
hell they like in it.
And then
sucking it all up,
putting it into
matrix, aggregating it,
building
dashboards of
engine pressure,
and
there would be a bunch of other ones
like it.
But it's always been a bit
fringe.
I mean, it works,
but there's never been a
kind of
element like company out there saying,
you know,
we're going to do
kick-ass IoT
with matrix.
And also,
the IoT folks like
MQT,
they like
the co-app
style protocols,
which are very,
very simple,
small,
and can put on your
ESP,
86 or whatever
your favorite micro controller
is a matrix client,
is a bit chunky.
First of all,
let's do TLS,
then we want to do
end-to-end encryption,
and here is a
massive E2E stack.
And so,
I think there is
basically a gap between
the lightness that you
expect on an IoT device,
and the chunkiness,
the matrix,
can give you.
And I hope
ran out of time.
I'm not
existing to thank you so much.
Thank you.