HPI
PythonHuman Programming Interface. Provides a way to unify, access and interact with all my personal data, as a python
package. Currently in-use modules
browserexport
Pythonbackup and parse browser history databases. I use this to backup my browser histories so that I never lose any of it
google_takeout_parser
PythonParses data out of your Google Takeout (History, Activity, Youtube, Locations, etc...)
dotfiles
Shellcross-platform (arch/macos/android) dotfiles and scripts, using yadm
. Includes lots of my scripts, and my configuration files for everything
mpv-sockets
ShellA collection of bash scripts to allow easier and programmatic interaction with mpv
sockets
sqlite_backup
Pythona tool to snapshot sqlite databases you don't own
traktexport
PythonExport your movie/tv show ratings and history from trakt.tv
exobrain
Shell/GoSomething like public wiki to store notes, ideas, blog posts, art, anything else I want to
yadm-git.vim
Vim scriptIntegrates yadm
with vim-fugitive
and vim-gitgutter
, so you can manage your dotfiles without leaving vim
pushshift_comment_export
PythonExports all accessible reddit comments for an account using pushshift
autotui
Pythoninteractively prompt, validate, and persist python objects to disk (JSON
/YAML
) and back using type hints
mpv-history-daemon
PythonDaemon which connects to active mpv instances created by mpv-sockets, saving a history of what I watch/listen to
bgproc
Shellbash
loop to run tasks in the background. used as an anacron
alternative. Uses evry
to schedule tasks
discord_data
PythonLibrary to parse messages/activity from the discord data export
An interactive terminal playlist manager; stores playlists as text files. Seems that most people tend to use spotify/apple music nowadays, but I still like having music locally. This lets me manage playlists locally without having to use one of the bulky GUI applications
oh-my-stars
PythonAn offline CLI tool to search your GitHub Stars - A fork to add some features I wanted
albums
PythonA collection of CSV
files containing popular/acclaimed albums, used to make a giant list of albums to listen to. This maintains a google sheet which I use instead of RateYourMusic
ttally
Pythonan interactive TUI to save things (calorie counter, events) I do often to JSON/YAML. Uses autotui
internally to generate a bunch of aliases from ADTs, letting me save/query recently logged events
url_cache
PythonA file system cache which saves URL metadata and summarizes content. For any URL, acts as an abstraction layer for fetching youtube subtitles, a summary of the HTML, opengraph information and links to any images and videos
HPI_API
PythonAn automatic JSON API for HPI. Dynamically generates HTTP endpoints for each function in an HPI module
evry
RustA shell-script-centric task scheduler; uses exit codes to determine control flow
ttt
GoLogs metadata for shell scripts/invocations; an extension to my shell history
discord-countdown-bot
PythonDiscord bot to use for countdowns. Used as a syncplay
alternative
newest
GoBasic CLI tool to print the most recently modified file in a directory; I use this a lot in small scripts/key bindings
Utility to wait till you have an internet connection. I use this often when changing networks/waiting to connect to my hotspot, and at the top of shell scripts that run in the background, so they don't fail due to network failure
pythonanywhere-3-months
Pythonclicks the 'Run until 3 months from today' button on pythonanywhere, so your website doesn't deactivate automatically
lolexport
PythonExports League of Legends Match History metadata using the RiotGames API. I don’t play league of legends that often anymore, this is to export my entire match history so I can do some analysis as part of HPI
projects
TypeScriptproject for describing my other projects -- the website you're currently looking at!
Generate a unique-enough fingerprint for my current machine, to make it easier to pick different commands/scripts to run on mac, different flavors or linux, or windows
mal-notify-bot
Pythondiscord bot that checks the MAL "Just Added" page, reporting newly approved entries
cookiecutter-template
Pythoncookiecutter template for a strongly typed python package w/ click, pytest, mypy, flake8 and CI using github actions
clone-repos
Pythona basic git repo clone script with pip/editable install support
currently_listening
Go/Pythonpersonal websocket-based currently playing web server. syncs my live mpv and scrobbler activity to a websocket which is consumed by my website/discord presence rpc
glue
Elixir/TypeScriptMy personal website. Has a GUI interface modeled after old Atari/Compaq machines
bookmark.txt
ShellA thin wrapper around todo.txt to keep track of my bookmarks
list_gh_contributions
PythonScript to list all of the repositories you've contributed to on Github. Includes your own repositories and any repositories you've contributed to (a commit, PR or issue)
overrustle_parser
Pythonextract my messages from the overrustlelogs archive (twitch chat logs)
havecmd
ShellA template for bash
scripts, to provide a nicer interface to check for the presence of external commands on the users $PATH
pmark
PerlA hacky, markdown pre-processor. Uses code blocks to generate markdown, from within the markdown itself
greasyfork_archive
PythonScrape data and archive scripts from a users Greasyfork account
pyfzf
PythonAn python wrapper for fzf (forked to support iterators/decorators/types)
vps
ShellScripts used for installing/managing/restarting/monitoring processes on my server. Wraps supervisor
to handle process crashes. Has other misc scripts (mediaproxy
/remsync
) that provide FTP/proxy like functionality
dbsentinel
Pythonlists/archives denied/deleted/unapproved MAL entries
seanb-utils
Shellan installer for core scripts extracted from my dotfiles
animeshorts
Pythonstatic site for my favorite anime short films
frinkconv
ShellA wrapper script for interacting with the Frink language, with a focus on converting units
malexport
Pythonbacks up info from your MAL account - forum posts, lists (including rewatch info), and episode/chapter dates for each entry
rifleman
PythonAn extendible dispatcher to lint/format code, based on rifle. This lets you run one command over lots of files/directories which could be in different languages - it classifies them by inspecting the mime type, extension, name or shebang, and then runs a formatter on those files
Pipe to test if files exist. Got tired of doing the unreadable: xargs -I {} sh -c "[ -e \"{}\" ] && echo \"{}\""
when doing shell one-liners, so this simplifies that
cube-scramble-cli
PythonA CLI for pyTwistyScrambler
, to generate random states for twisty puzzles
serves text files from directory by matching subpaths. I use this to host my dotfiles; see index. It allows me to quickly send someone one of my scripts/configuration files from my dotfiles using this script
window_watcher
PythonCross-platform window watcher (forked from ActivityWatch to log to a file instead). Daemon which periodically saves the window I'm currently using
steamscraper
PythonScrapes personal game/achievement data from streams website
mnu_gsheets
PythonIndexes existing Minna no Uta entries every few days, adding new ones that don't exist to the spreadsheet
bleanser
Pythonmy bleanser modules -- removes duplicate/'useless' backed up data, see karlicoss blog post
xkcd-favorites
HTMLA list of my favorite xkcd's. Converts a list of my favorite IDs to a static website using a bash script
shortcuts
PythonConverts a TOML
file into individual shell scripts. Used to create lots of one-liner shell scripts
calories-scripts
Shell/PythonScripts for interacting with calories
, to fuzzy select new entries to add/and swap/merge databases
server_clipboard
Go/TypeScriptA server which saves my clipboard in memory, so I can share it between my devices
bootstrap
ShellA script to setup a new bash
VPS/servers with defaults I like. This is the first things I do whenever I setup a new server, so I have all my vi
bindings and aliases
listenbrainz_export
PythonExport your scrobbling history from ListenBrainz
fzfcache
GoA small cache for unique lines of text, used to speedup the load time of expensive fzf invocations
git_doc_history
Pythoncopy/track file history in git, with python bindings to traverse and extract files/lines at some date
spkglist
GoA simple package list parser. Used to clean up comments/newlines/spaces from a list of packages when installing packages in shell scripts
grouvee_export
Pythona (partial) grouvee (a video game database website) data exporter
largechar
JavaScriptDisplays large characters on your screen. Was a replacement for this Alfred feature, and an excuse to try some electron programming
full_todotxt
Pythona todotxt
interactive interface that forces you to specify certain attributes. I use this with todotxt_deadline_notify
to send me reminders about todos
calc_ans
OCamlA CLI REPL calculator which remembers your last answer, optimized for my use on termux
Solutions to Project Euler, using distinct languages
saugabooru_episode_mad
PythonDownloads all sakugabooru posts for a particular tag, and optionally lets you combine them into Source(episode)-based videos using ffmpeg
filmswap
Pythondiscord bot to facilitate anonymous film recommendation gift exchanges
A dark-themed HTTP
error page generator. Implements a basic template language, to allow interpolation based on HTTP status codes. Is so that I'm not blinded by the default nginx error pages
file based single-binary URL shortener server. Has no dependencies; doesn’t require you to setup a database
scramble-history
Pythonparses your rubiks cube solve history from cstimer.net, cubers.io, twistytimer, and merges them together giving you uniform averages/data and graphs
cstimer-save-server
Go/JavaScripta userscript/local server which saves my data from https://cstimer.net whenever I open cstimer in my browser
plaintext_playlist_py
Pythonlibrary to parse plaintext playlist files, and other misc personal ID3 scripts
wca_userinfo
Rusttiny webserver that scrapes information for a user from worldcubeassociation.org
MALUserVsAverage
Pythongenerate a graph that shows correlation between a users and average score on MAL