Working on Android projects is an interesting endeavour spanning many technologies, companies, people and languages.
My focus lies on the Sony Xperia line of devices.
In regognition of my contributions, Sony named me "Hero Developer" in 2019.
Visit my Mobile Projects page to learn more about AOSP, SailfishOS, LineageOS and other facets of my work.
Video management and annotation interface, conceived to augment Argentine Tango lessons and practice.
I used to dance myself and created this tool for noting down lessons, concepts and inspiration, intersecting the visual with the textual.
See this more detailed page showing its use: tango interface page.
If you know the password, you can also view an exported static archive at tango.ix5.org
flask-admin jinja2 misaka youtube-dl
Theme for the static site generator pelican, available at git.ix5.org. Supports lots of plugins and customization options. Nice typography, sleek and elegant.
Although the generated site is static, comments are available via a custom isso instance, see further down below.
Used for my "thoughts" section.
pelican python jinja2
My own small blogging engine. Running at ix5.org/stream. If I had a twitter, that's what I'd post there.
Reworked the styling in Feb of 2020 to use stronger colours coupled with better typography, see Stream rework.
flask-admin jinja2 misaka
I re-launched the homepage of my old student union "Fachschaft W" with a custom-written theme "fsw", including updated German translations, auto-updating configuration, custom plugins, auto-backups, live monitoring.
Using PHP and SASS, a CSS preprocessor.
Also overhauled the hosting from the last solution and saved a good bit of dough…
wordpress sass css
Created and wrote the initial articles for the FachschaftW Wiki, based on MediaWiki. Used for knowledge management, a passion of mine.
Running Visual Editor with parsoid instance to allow easier editing for all members.
Created the FachschaftsCloud (internal), based on Seafile. Used for file revisioning, GDPR compliant. Supports team integration tools, configured automatic deduplicated backups.Upstream commits:
python django file-synchronization
Created and improved lots of roles for use with the Ansible automation tool.
…and many more!
automation python ansible
MusicBrainz Picard Plugin
This was my introduction to cleaner python code and team code review. Having your changes scrutinized can seem like a blow at first, but then you realize what a great favour you're being done by having people give feedback and teach you.
Dark Mode rework
Reworked most of my pages to work with a system-wide dark theme.
See Dark Mode rework.
I of course use Vim, NeoVim to be exact, as my day-to-day file editor. My configuration is available at dotnvim to enjoy.
Also contributed to a few plugins:
An Android app to interact with Gerrit code review servers.
I added a few small improvements and made the app more friendly for freedom-minded people.
- styles: Switch AppTheme to MaterialComponents
- AndroidManifest.xml: allowBackup=true
- Add fastlane metadata for F-Droid
Other Contributions and Projects
- flask-admin: Prevent escape key from confirming deletions
- flask-admin: Demo of tagging functionality, an often-requested functionality
- NewPipe: Downloader: Deleter: Dismiss previous Snackbars
- Dark Mode Toggle WebExtension demo (use website-dark-mode-switcher instead)
Self-hosted git service. Upstream: gitea.io.
My own instance is available at git.ix5.org.
GitHub is great for attracting contributors, but having a gatekeeper has too many downsides. Bit ironic that most of the links on this page point to GitHub…
self-hosted go git
Self-hosted commenting service, used for comment areas under my statically generated sites, for example here.
- html: Add markdown render flags option
- admin: Set default order_by to 'created'
- Improve docs, cleanup, align with current version
- docs: Add 'Testing' section
- Makefile, docs: Align with changes to npm handling
- Swap node-sass for sassc, mention in docs
- share: isso.conf: Use dashed-case for misaka 2.0
- Serve isso.css separately instead of inline
- utils: Improve cookie SameSite/secure handling
- docs: install: Reorder Install from source, py3.5
- Remove legacy werkzeug support
- Use pre for comments in admin area
- utils: html: Normalize misaka extensions
As of late 2021, I've become a maintainer of isso! I've managed to close over 40 issues and helped rejuvenate the project, encouraged more active contributors and steered the development towards more modern practices, including automation.
Self-hosted file syncing service.
self-hosted go file-synchronization
Telegram, while proprietary, has somehow managed to provide a great platform for developers.
Together with another developer, I run a small bot that trawls a specific news site, extracts information and posts it to a channel. I have written a bit about it at The joy of Telegram bots.
Team chat solution. Lightweight, productivity-enhancing threading model, mobile apps available. Fully open source and way faster than Slack.
I run a small instance for an internal development team.
static site generator python markdown
Privacy-friendly log analyzer, available at goaccess.io.
Federated audio server, nice to share music and playlist with friends.
The federated model allows you to share music with other instance owners, building a mutual catalog and discover great new music. Music streaming services like Spotify with their pointless restrictions are a spit in the face of our arts and culture.
The open governance model ensures this project will last. This is what happens when people are doing things the right way.
No version hosted by me any more, but still a nice project.