Skip to content

Instantly share code, notes, and snippets.

@fladd
Last active April 3, 2024 10:45
Show Gist options
  • Save fladd/d2d3d302e49f22cbd505ee458895a951 to your computer and use it in GitHub Desktop.
Save fladd/d2d3d302e49f22cbd505ee458895a951 to your computer and use it in GitHub Desktop.
Young NeurolabNL on Matrix

Young NeurolabNL on Matrix

What is Matrix?

Matrix is a free standard and protocol for secure decentralised (real-time) communication. Think of it as the chat equivalent to email. As with email, decentralisation here means that there is no single provider/server who provides/owns the network (like with Slack for instance), but that there are multiple providers/servers on an open and interconnected network who can all talk to each other (just like you can send an email from your university email account to, for instance, a Google Gmail address). For more information have a look at the Matrix website.

The people who created Matrix also run the flagship implementationd of software to connect to the Matrix network, named Element (but there are many alternative implementations). Note that the Element website also provides professional/commercial hosting for Matrix servers (the equivalent to running your own email server), but this is not interesting for us, as there are many servers that offer free accounts (just like in the email world).

Due to its open design and security focus, Matrix/Element is used by multiple governments as well as in [defence](https://element.io/sectors/defence, healthcare and education.

How to get onto Matrix?

To start using Matrix, you need two things: (1) an account at some Matrix provider/server (i.e. a Matrix "username"), and (2) a Matrix client (i.e. the software to connect to the server). For both of these there is plenty of choice available, but if you don't want to think about this, then just start with (1) a free account on the "matrix.org" server (a server run by the people who made Matrix themselves), and (2) use the Element clients (available for web, desktop and mobile):

  • Go to element.io/download and choose your platform
  • Install/run Element
  • You can choose to create an account; pick your preferred username here and leave the server setting at the default (matrix.org)

The Young NeurolabNL space

Chat rooms in Matrix can be organized into "spaces". These are basically just meta-rooms that can hold other rooms and hence bind them together into a community. For Young NeurolabNL this overarching community is the space at #young-neurolabnl:matrix.org. This space is meant for all our regular members and those interested in our work. It is (for now) semi-public, meaning anyone can join it as long as they know the name/address of the room, but it is not listed in the Matrix room directory, so it is not discoverable by search. To join this space, visit https://matrix.to/#/#young-neurolabnl:matrix.org, and continue with the listed client of your choice (e.g. Element). Once joined, you see the following setup:

image

There are (for now) three rooms in this space:

  • Young NeurolabNL News and Young NeurolabNL Chat are fully public rooms. They are listed in the Matrix room directory so anyone can find and join them, even when they have not (yet) joined the space. The News room is read-only and meant for updates from our side, while the Chat room is meant as an entry point to Young NeurolabNL (e.g. for getting in touch with us or asking a question without the need to join the entire space). Both rooms are not end-to-end encrypted.
  • Career Event is a semi-private room. It is not listed in the Matrix room directory, and it is only visible and joinable if you have already joined the space. This is meant for all general members who are visiting this year's career event, to discuss anything related to that, and for us to coordinate the event (e.g. by room-wide announcements). This room is end-to-end encrypted.

The Core Team space

For us members of the core team, there is another private space called Core Team, nested within the public space for regular members. This nested space is fully private, meaning it is not listed in the Matrix room directory, only visible and joinable when explicitely invited, and end-to-end encrypted. It holds (for now) three more fully private rooms (all end-to-end encrypted):

  • General is for pretty much any conversation that doesn't belong into the other two
  • Event Organization is for discussions concerning the organization of our career (and potentially other) events
  • Meeting Room is an always-on video conference with embedded chat (very similar to what you know from Zoom and Teams)

To be invited to this space, send me your Matrix username (not the display name, but the full one that starts with "@" and ends with the server you signed up with; e.g. mine is "@fladd:matrix.org").

Once you have jalso oined this space, the whole setup looks like this:

image

Using Matrix on multiple devices

It is perfectly possible to access Matrix from multiple devices (e.g. destop and phone). There are clients for everything. Element is again the easiest option here, since it is available for most operating systems (Windows, MacOS, Linux, Android, iOS). In order for the end-to-end encryption to work properly, whenever you log in with a new device, you are asked to "verify" this device, using another known one. Usually it just means that you have to have Element open on both devices, and are asked to either scan a QR code or to compare a set of Emojis across both devices. Once your devices are verified, Element will stop bugging you about it. Choosing to not verify a device has implication for security (i.e. the device is not "trusted") and that is signalled to other people you communicate with.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment