Interpreted (desktop) things (Bash/Python) that aren't full-fledged pieces of software. They're only tested on Linux, and most will only work on Linux (and similar, if supported by the dependencies).


Make the script executable:

chmod +x path/to/script

Then place the script somewhere on your path: do

echo $PATH

for a list of paths checked by the shell; if none of these are under your home directory, it makes sense to create a ~/bin directory and put something like

export PATH="$PATH:$HOME/bin"

in your shell configuration file (~/.bashrc for Bash).

For Python scripts, change the first line to point to the location of the Python executable for the matching version (2 or 3) (Python 2 or 3 might be python instead of python2, for example).



Create an RSS feed from your YouTube subscriptions. (YouTube no longer provides any reliable method of receiving updates.)

Usage: run ytsubs -h.

Dependencies: Python 3.2 or later 3.x.

Download (0.3.5). There's also an Arch package.



Control the volume on an ALSA system. audctl does the controlling, and notifaud sends a desktop notification indicating the current state; I use these together with sxhkd to map my keyboard's volume keys.

Unlike most volume control utilities I've used, audctl does not unmute the volume when it is changed; this is by design.

Configuration: audctl has a couple of things to set: open up the script in an editor and change the variables at the top (11th and 12th lines) if you want to. See man amixer for details on what values these can take. Similarly, open notifaud and change the values of 'TIMEOUT' and 'PID_FILE' to set the duration of notifications and the temporary file to use (lines 7 and 8).

Usage: audctl takes a single argument: 'up' or 'down' to step the volume up or down; 'toggle' to mute/unmute sound; or a number (integer) to set the volume to (a percentage, without the '%'). notifaud takes no arguments.

Dependencies: both depend on alsa-utils (in particular, amixer) and Bash. notifaud depends on libnotify, and won't do much without some sort of notification daemon, like Xfce Notification Daemon.

Download: audctl/notifaud.



For many people running Dustforce on Linux, the custom levels menu crashes the game. This is a workaround that adds custom levels to the community map pack. Running the script moves current custom levels into CMP and links the custom levels directory with appropriate permissions for adding new ones. Running the script again reverts the changes made.

Dependencies: Bash, sudo, sudo privileges.




Install Arch Linux packages from AUR.

Usage: takes a list of package names to install or update; passing the '-f' option forces an update for packages already at the latest version. Passing no packages tries to update every foreign package currently installed (the output of pacman -Qmq).

Dependencies: Python 3.




An interactive script for transferring files from one MediaWiki wiki to another. Useful when migrating a wiki that you don't have backend access to.

Dependencies: Python 2.