Open Source

Here you can find the open source software projects to which I have made "major" contributions.

Quassel

Quassel is a distributed IRC client, meaning that there is a single "core" application that stays connected to IRC all the time. You can then connect as many "clients" as you want, all of which can see all of the IRC networks, channels, and logs stored on the core.

My contributions to Quassel consist mostly of bugfixes, security improvements, and other miscellaneous small improvements. My biggest contributions were improvements to how the database driver handles loss of connection, replacing unsalted SHA-1 core passwords with salted SHA-512, and a new overlength message-splitting algorithm that splits at logical boundaries when possible while also properly handling multibyte characters. I have also implemented several fixes for issues that sometimes caused the core to get stuck disconnected from IRC.

In addition to my code contributions, I also maintain several Ubuntu PPAs to allow more easily keeping up-to-date with the latest Quassel version on all supported Ubuntu releases:


Quasseldroid

Quasseldroid is the Android client for the Quassel distributed IRC client. It enables the use of many of the Quassel features, such as viewing all backlog, sending and receiving messages, and joining and parting channels from anywhere with a cellular data connection.

My contributions to Quasseldroid consist mostly of bugfixes, especially for bugs causing the core to crash. I fixed quite a number of bugs that would cause a crash on certain events, such as network disconnects, channel kicks/parts, and other similar events. I also improved security by making the application default to encrypted connections whenever both endpoints supported it and improved performance by implementing support for the streaming compression added in Quassel 0.10.

Navigation

Thank you for visiting my website!

If you have questions, comments, insults, or anything else you desire to share with me, please check out the contact page for my information.