Projects
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.
- API spec
- Script to test the API implementation with the API.md specification file (Racket)
- Backend service
§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)