A non-exhaustive list of activities around open-source software. You can find links to some of the code forges I’m active on the About page.

Embedded

postmarketOS

postmarketOS is a Linux distribution for mobile devices and more. It’s based on Alpine Linux and can be installed on smartphones and many other mobile devices. I’m part of the ‘Core Contributors’ of the project, and part of the infrastructure team which manages the hosting of the website, wiki, Matrix server etc. Amongst other things I’ve ported postmarketOS to many devices, including all generations of Fairphone (1, 2, 3, 4 & 5), several Qualcomm Snapdragon 801 devices, several Snapdragon 400-based smartwatches, and in the past I’ve also worked on the PINE64 family of devices (such as the PinePhone, PineTab, etc).

Linux kernel development

Currently most Android devices run a very outdated version of Linux which is modified by SoC manufacturers and OEMs and deviate from official Linux kernel releases quite a lot. Work has been work by different organisations, companies and people to upstream changes to mainline Linux so that a smartphone, tablet or smartwatch, which originally came with old and heavily modified Linux versions, can also boot a non-modified version of the Linux kernel. That way security and features come directly to a device without the SoC manufacturer or OEM being in the way.

My work is primarily focused around device and driver bringup for the various Fairphone devices but also devices from other OEMs using similar chipsets.

Offical TWRP builds for Fairphone 2, 4 and 5

Team Win Recovery Project (TWRP) is a popular custom recovery for Android devices with touchscreen support. The Fairphone 2, Fairphone 4 and Fairphone 5 builds are maintained by me.

Razer

OpenRazer

OpenRazer is an open-source driver and user-space daemon that allows you to manage your Razer peripherals on GNU/Linux. I’m the maintainer for the project - developing it, handling issues, reviewing changes and packaging the software for many different Linux distributions. Written in C and Python.

RazerGenie

An open-source Qt-based application which is a UI for interacting with the OpenRazer daemon. Written in C++ and Qt.

razer_test

An experimental replacement for the OpenRazer project which aims to solve design issues present in OpenRazer. Works on Linux, FreeBSD, macOS and Windows. Written in C++.


Archive

These are some projects I’ve worked on in the past but due to various reasons do not maintain anymore.

Embedded

CWM v6.0.1.2 for the ZTE Racer II

ClockworkMod Recovery (CWM) is a custom recovery for Android devices, made by Koushik “Koush” Dutta. Ported to the ZTE Racer II.

EFIDroid for the Fairphone 2

An UEFI-based second-stage bootloader which supports multiboot. Ported to the Fairphone 2.

Android Apps

Nextcloud News

An app which connects to the “News” app for Nextcloud. Written in Kotlin, uses the Android Jetpack libraries and the Nextcloud Single Sign-on API.

Schaukuchl Android App

An app which displays the current menu for the restaurant “Schaukuchl” in Vienna.

Spengergasse Timetable App

The timetables in our school were generated HTML pages that were not responsive and had other issues. We’ve developed an Android app that implemented a parser for the HTML tables using jsoup and displayed them in a nice format. The app was later abandoned because the school switched to a newer version of Untis (the timetable software) that had its own Android app.

Python

aaurbs

Automated Arch User Repository Build System is an automated builder for Arch Linux packages with a webinterface.

DynDNS

A self-written DynDNS client & server. Works with the DigitalOcean DNS API.

Honeypot

Web-based todo list, made as a school project with 3 others.

Monstercat Connect Notifier

A Telegram bot which sends new releases by the EDM Label “Monstercat” automatically to a Telegram channel.

Browser Extensions

JavadocRedirector

This is a Chrome/Opera extension which automatically redirects you from Java 7 Javadoc pages to Java 8 Javadoc pages.

GriesmayerNoFlash

A WebExtension (compatible with Chrome and Firefox 57+) that adds a Download button to educational videos on griesmayer.com which need Flash to play.

Others

RobotPi

RobotPi is a project for controlling a robot with both a server-side and a client-side component.