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

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. It’s a C++ library, so in order to use it from Go, you have to use cgo to import the functions. This makes cross-compiling difficult/impossible, and also requires that libolm is installed on the runtime system. Read more...

2024 Matrix Governing Board Endorsements

Election Results 2024-06-03: The results of the first Governing Board Election have been posted on the Matrix.org Blog. I am happy that both Kim and Nico were elected as ecosystem members, and 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 (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. 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. Walking Tour Our tour guide was a Porto native, and took us to some of the main sights in the city. He started by talking about the history of Porto and the centuries-old rivalry between Porto (which is in northern Portugal) and Lisbon (in the south). 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. Like Beeper, Automattic is a remote-only company and so is the Texts. 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. 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. This year, we returned to an in-person only competition, however we opened up an open division to remote competitors. We also continued our open-internet policy which allowed students to access internet resources. Read more...

NixCon + SCaLE 2024

I attended NixCon and SCaLE in Pasadena, California for the first time this year. I went with my friend Addison, and while I was there I also met up with some other friends, and made some new friends as well! I flew out very early on Thursday morning from Denver to LAX. It was raining on the way out of Denver, and the approach into LAX was quite windy. It was the most turbulent flight I’ve been on in a very long time. Getting from LAX to Pasadena was quite a journey. I had to take the Metro Connector from LAX over to the Metro and then I took two metro lines up to Pasadena. Read more...

Is Getting A Master's Degree in Computer Science Worth It?

“Master of Science in Computer Science”, it sounds so grand, doesn’t it? But is it worth it? I’m writing this post to give my perspective on whether getting a master’s degree is worth the effort and money. I’m assuming that you are currently in a computer science undergraduate program and are considering whether to continue on to get a computer science master’s degree. I want to be very clear, this post is my opinion only. I will start by saying that I am very happy with my decision to get my master’s in computer science after getting my bachelor’s. Mines offers a 4+1 program which allows you to earn a master’s degree by attending for one extra year. Read more...

Waterloo

Today I went to Waterloo, the town which gave its name to the battle that saw Napoleon’s final defeat at the hands of the Seventh Coalition. Getting there was quite an adventure. To start, I woke up late again. After managing to get out of bed, I tried to take the tram over to a bus that went directly to the Waterloo city centre. I found the bus stop, and waited for a few minutes before the bus came, but then it just rolled right on past! I tried flagging it down, but it didn’t stop. So, I had to go with plan B which was to go over to Brussels Midi and take the regional train to Waterloo. Read more...

« Previous Page 1 of 26 Next Page »