Jonathan Sumner Evans
Sumner Evans
Software Engineer at Automattic working on Beeper

Matrix Cryptographic Key Infrastructure

End-to-end encryption is one of the things which brought me to Matrix, and I’m sure that it’s one of the factors that brought many of you to Matrix as well.

However, Matrix’s user experience with cryptography is often confusing. I mainly blame the other chat networks for their incompetence. Most other chat networks don’t even provide any cryptographically-guaranteed security and privacy. Some networks provide encryption in a way that does not truly leave the user in control of their keys. Only a few networks (Signal) truly leave the user in control, and their UX is arguably worse than Matrix.

Read more »

Message Security in Matrix

In Matrix, message security is provided by Megolm. The goal of message security is twofold. We (a) want messages to be encrypted on the sender’s device and (b) only be able to be decrypted on devices of users who are a part of the conversation. As a corollary, we want to prevent other parties (rogue homeservers, man-in-the-middle attackers, etc.) from decrypting the messages.

Read more »

Matrix Cryptography Prerequisites

Understanding Matrix cryptography requires understanding some basic cryptography primitives. This article intends to explain those prerequisites in simple terms. This article is not a rigorous, mathematical description of the cryptosystems in use. Rather, it is a practical guide to what functionality each of the cryptography primitives provides. I’ve tried to include links to external resources if you are interested in learning more about a specific topic.

Read more »

Differential Fuzzing Libolm and Goolm

Background

When we at Beeper started working on the new Android app, based on mautrix-go, we initially tried using goolm as the crypto implementation instead of libolm. We almost immediately ran into issues for unknown reasons, and rather than fighting with cryptography, we decided to just put in the work to get libolm working in the Android app.

However, libolm is annoying for multiple reasons.

Read more »

2024 Matrix Governing Board Endorsements

I’m running for the Matrix Governing Board as an Individual Member (see my Platform) and I am only eligible to vote as an individual member, but I would like to endorse a few Ecosystem Member candidates who are well qualified to represent the ecosystem.

Kim Brose

I endorse Kim Brose (HarHarLinks) representing Matrix Community Events as an Ecosystem Member candidate.

I met Kim in Berlin at the first Community Matrix Summit and has been active in organizing many other Matrix community events including the 2023 and 2024 Matrix Community Meetups at FOSDEM. He is a great community builder and is consistently welcoming to newcomers at the events. His Matrix pedigree is also deep and includes running a homeserver for multiple people, contributing to the simplematrixbotlib, and contributions to many other projects. He also is a public figure from Nordeck and presents their work on widgets regularly. Kim would provide a valuable perspective on the Matrix ecosystem as he has been involved so many aspects of our community.

Read more »

Porto, Portugal - Sightseeing

On the Saturday after the retreat I did my own sightseeing and adventuring around Porto. However, as I mentioned in my post about the retreat, a bunch of us went on a walking tour of the city on Wednesday, but since it wasn’t really meetup-related, I decided to combine the info that I got on the tour with this post, as I think it fits better.

Read more »

Porto, Portugal - Work Retreat

The past few weeks have been exciting for Beeper. We made Beeper available to everyone without a waitlist, launched a new Android app based on our own internally-built Matrix SDK written in Go, and were acquired by Automattic for $125M. As part of the acquisition, the Beeper team is merging with the Texts.com team that was acquired by Automattic last year. We are going to unify the products under the Beeper brand. All of this is only a few months on the heels of our Beeper Mini launch which brought fully end-to-end encrypted iMessage to Android devices.

Read more »

My Matrix Governing Board Platform

Election Results

2024-06-03: The results of the first Governing Board Election have been posted on the Matrix.org Blog.

I am grateful that I was elected as an individual member. Thank you to those who voted for me!

I’m running for the Matrix Governing Board as an Individual Member. I work on bridges1 and backend infrastructure2 as a software engineer at Beeper. You may have met me at one of the Matrix meetups3 and possibly even seen me giving a presentation at one of them. I have been a user of Matrix since around 20184 and I have been heavily involved in the community since around 20205. I’ve contributed multiple spec clarifications6 and been involved in many MSCs both personally and through my position at Beeper7. I also have contributed to Synapse8 and the Matrix React SDK9.

Read more »

Denver to Porto

I’m making my way across the pond once again, this time for a work retreat. I’m attending a team meetup in Porto, Portugal.

I ran the 2024 Mines High School Programming Competition on Saturday, and I had to be in Porto by Monday morning. Thus, I had to leave on an evening flight on Saturday in order to arrive in time. Unfortunately, the best flight I was able to get that left late enough on Saturday went through Munich with a 7 hour layover before the flight to Porto. My return flight goes through Frankfurt (it’s kinda annoying having to go out of the way to Germany to get to and from Portugal, but it is what it is).

Read more »

Mines High School Programming Competition 2024

For the last seven years, Mines ACM has hosted a High School Programming Competition (HSPC) modelled after the International Collegiate Programming Contest (ICPC). I wrote about the 2019, 2020, 2021, 2022, and 2023 competitions on this blog. The problems from every year are new and written by Mines students and some Mines alum specifically for the competition. This year, I wrote two of the problems and helped Ethan Richards with organizing the competition.

Read more »
« Previous Page 1 of 26 Next Page »