Projects

Published: Tuesday, Nov 19, 2019
Last modified: Friday, Jul 29, 2022 (2475740)

This is a list of projects I have had a significant role in. Please see contributions for casual contributions and random fixes to various projects on a as-needed basis.

§Active

Stuff that has been updated in the last year or so goes here.

sillypaste
A Django (Python) based pastebin with REST API and user accounts. See this example instance on Heroku.
jhmod
A tool to manipulate Jupiter Hell save files, .nvc archives (game data lives within), and more. Golang.
tinybasic.rkt
TinyBASIC Interpreter in Racket. Blog post.
toml-racket
TOML parser for Racket. Originally forked from Greg Hendershott’s TOML parser.
umask
micro library to access umask syscall within Racket.
4chdl
4chan image downloader in Racket
aoc
Advent of code samples in various languages. See the year I tried to do each day in a different language. Favorite days were done in ZKL and Forth.

§Application scripting / configuration

awesome-cfg
Extensions and customizations (in lua) of the awesome window manager.
emacs.d
Emacs configuration. Written in literal-programming style. Like a good emacs user, a lot of code tailored for my specific needs and use-cases (check out site-* directories for even more code I wrote or forked).
dotfiles
dotfiles with a tool to manage them using GNU Stow. Includes some useful, original mpv lua scripts too!

§Infrastructure

I believe in ensuring I don’t duplicate my own work multiple times. This is important because computers are pretty messy and easy to break.

nixos-configs
My desktop configuration. May adopt it for server use in future.
ircbox
My irc setup. Used primarily via the glowing-bear web application & weechat-android app. Ansible.
nightflyer
My hobby retrocomputing Thinkpad x31. Yes it even runs ansible!
seedbox
VM to host open source .iso torrents. Ansible.
gitlab-runner-playbook
Ansible playbook to deploy a gitlab runner on Alpine linux. This takes over the whole system as gitlab runners should not be trusted (they run whatever code you push).

§Feature Complete

Stuff I consider complete - no more features. Also stuff that hasn’t been updated recently, however, I depend on it.

mumble-ping
Racket utility library to check mumble server status
runomatic
Racket-based API Client & Bot for runogame.com
wifi-toggle
Web microservice to toggle a Mikrotik router’s wifi. Useful for disconnecting from this shared consciousness we call the internet.
rpaste
Pastebin in Racket
imgurgame
Python flask webapp to show random imgur images by changing case of a string. NSFW because imgur is NSFW.
ssh-hack
ssh wrapper to simplify playing NetHack on sites like hardfought.org
serveip
Microservice to tell client their public facing IP. Like ipchicken. Racket.
etqw-ping-racket
Library/tool to query Enemey Territory: Quake Wars servers in Racket.

§Zprava

Undergrad university capstone project. Chat app with Android app. Backend is django + django-rest-framework. I was the lead on the backend team.

§Inactive

Codebases in various states of disrepair or irrelevance. Anything I don’t depend on or isn’t in a usable state.

wine-prefix
A wine prefix manager written in Racket
mcstat
PHP library to get Minecraft server status
chdl
pyton asyncio image downloader in python. Sadly aiohttp broke their backwards compat and I opted to write a new version in Racket.
abl-mode
OpenEdge Advanced Business Language major mode for emacs. Forked from here.
minecraft-ping
Racket library to query minecraft servers.
sc2bank
Python PyQt4 application to modify/sign starcraft II arcade XML documents.
sirsi and sirsi2
Python tools to check when library books become overdue / auto renew books if possible. This was to avoid pesky library fines due to not liking their hard to use website. Did I Mention Sirsi Dynex isn’t user friendly?
secret-manager
Simple (probably insecure) python password manager
s2png-yotsuba-edition
fork of a tool to embed content into images. Is not a stenographic tool. C.
minimal-blog-viewer
View Blogger blogs without client side javascript (e.g. in lynx). Written in nodejs.
minecraft-nbt
Partial implementation of a NBT file parser in Racket.
lslfragments
LindenScript Language scripts for Second Life. This language is a real piece of work. Don’t believe me, read the code :)
More bitbucket repos…?
I would list them, however, bitbucket had the wonderful idea of wiping mercurial repositories instead of archiving them until the user deletes them.

§Infrastructure

winny-gentoo-ops
My old Gentoo workstation configuration (such as /etc/portage)
winny-overlay
My old Gentoo overlay for Gentoo (portage) packages
ports
FreeBSD ports I maintained for awhile

§Hermes

For a little while I was the maintainer of the Heremes Pandora App for Mac. Then I quit using Macs. It wasn’t for me. Apple doesn’t seem to listen to power users like they used to.

HermesRemote
Control the Hermes application over the network. Play/pause/skip/control volume. php+applescript backend with jquery / bootstrap frontend.
HermesSkypeControl
Python script to suspend Hermes playback during Skype calls.
sparkle-util
scripts to automate an old way of signing applications on Mac, prior to notarization.
Hermes
The app itself (I no longer maintain this for a long time)