Projects

Debian logo Debian

Minified screenshot of Debian packaging portfolio I've been an active Debian packager since 2015, and a Debian Project Member since March 2023. Previously I was a verified uploader (DM) from 2018-2023. Much of my work here relates to tools and themes for the Linux desktop.

I also maintain a personal repository shipping more niche apps and my default settings.

Apps for Linux

icoextract demo icoextract is a pure-Python icon extractor library and thumbnailer for Windows executables. It aims to be lightweight, portable (cross-platform), and fast on large files.

bookmarksync demo bookmarksync is a simple utility to manage and sync GTK+ and KDE bookmarks (i.e. favourite places). As seen on the Arch Linux Wiki!

Variety Variety is a wallpaper downloader and manager, with support for numerous online sources (Unsplash, Wallhaven, etc.) and built-in effects/filters.

In collaboration with Peter Levi.

Networking & Backend

highdef.network map snippet I operate AS4242421080 within the dn42 experimental network; as of 2025 it is a top 10 network by peer count, with 10+ PoPs and >100 active peers.

Much of my project focus here is leveraging automation (currently Ansible) to create a scalable and easy-to-maintain network.

Limnoria NuWeather example Limnoria is a powerful, multi-purpose IRC bot written in Python. I work on the main project as well as a set of plugins, which talk to various services including OpenWeatherMap and Last.fm.

In collaboration with Val Lorentz and many others.

webtrace is web frontend to mtr, traceroute, and ping with real time streaming output and a simple API.

Previous work

  • PyLink (2015-2022): multi-network IRC services, with support for federation via server-side "puppeting" relays
  • wikiTrivia (2021): an interactive CLI trivia game using SWI-Prolog and Wikidata queries for questions
  • DataPackCrafter (2021): a Minecraft data pack language, implemented in TypeScript
  • FileInsight (2016-2019): file type identifier tool (C++/Qt) using libmagic (file) and TrID as backends
  • Shapes (2017-2018): a puzzle platformer game in Unity3D + C#
  • TrulyAmazed (2016-2017): a maze game built using PyQt5