Free software is quite dear to my heart, and so I try to contribute as much as I can to all kinds of different projects. Listed below are either ones that I’ve stuck with for a while, or personal projects that are still actively maintained. Sometimes I give talks that aren’t about maths; you can also find these here.
xmonad§I’m a maintainer for xmonad, a minimal X11 window manager written in Haskell. In particular, this encompasses the
xmonadrepository, where the lean core of the program resides,
xmonad-contrib—containing lots of user extensions for all kinds of different use-cases—as well as some auxillary packages like
X11: Haskell bindings to Xlib. As I strongly believe in dogfooding, I’m an avid user of course! My configuration can be found here.
kmonad§I’m a contributor to kmonad, a keyboard remapping daemon in the spirit of qmk. However, instead of being firmware for a specific keyboard, it is implemented in software and thus works anywhere—even on your laptop!
My personal keyboard configuration—colemak-dh, with some extras to facilitate more convenient Haskell and LaTeX programming—can be found here.
Xmobar§Since xmonad does not have a built-in status bar, one has to use a third party program instead—xmobar!
Note that my contributions to xmobar have come to a bit of a halt, as—see #656—xmobar 0.45 and up does not work with musl libc, which happens to be the libc that I’m currently using on my main machine. One day!As these programs have to work together quite closely, one can’t help but also be a contributor to the latter if one uses the former. The configuration I use is available here.
Void Linux§I maintain a few packages for the Void gnu/Linux distribution:
The fact that this includes ghc also means bumping/updating every Haskell package in case of an update—lots of fun!
$ xmypkgs cgrep ghc ghc-bin kmonad pandoc
Author§dmenu in the spirit of yeganesh. More concretely, it displays commands in order of usage (with an optional decay for frequency sorting), and can open programs or given files inside of your terminal or any other chosen program. cli application to query and filter the menus of the different canteens at TU Dresden.
- optparse-applicative-cmdline-util (Hackage) Utility functions for writing command line interfaces with optparse-applicative. This is used, for example, in vmensa.
A reimplementation of utility functions from Neil Mitchell’s TagSoup,
as well as some extra functionality,
for Ben Gamari’s html-parse,
as this nicely supports
Emacs modes§I’ve written too many Emacs packages—and none of them popular, at that!
A major more for
.kbdfiles, serving as the Emacs integration for kmonad’s configuration.
- arxiv-citation (melpa) Generate citation data for pdf files from the arXiv. Additionally, download preprints to a specified directory and open them. Includes elfeed support.
- latex-change-env (melpa) Provides a way to modify LaTeX environments, as well as the display math mode (seeing it as an environment of sorts). This includes primitive label handling: we remember the name of labels and can rename or remember them for later. This means that we can restore old labels after deleting them—very convenient!
Creates a new
:vckeyword for use-package. Leveraging
package-vc.el, installing packages from their direct upstream repositories (as opposed to, say, gnu elpa) becomes very convenient. I’ve written about this package here, and about
package-vc.elhere. Note that, as of commit 2ce27968, this package is built into Emacs!
A tiny package that wraps
query-replacein order to support multiple matches. I’ve written about it here.
- Git Introduction An introduction to Git for people at the mathematics faculty at TU Dresden.