Programming Projects

I've written many programs over the years. I also have some on my GitHub page, although that mostly houses programs I've written live on my YouTube channel.

The DVIICE (Digital Virtual Instantaneous Instrument Comparator and Emulator) is here to help you explore new instruments and tunings! Play a note on a diatonic Richter harmonica, see where that note is on a Drop-D guitar. Then try a standard piano. Play a few measures with your keyboard, send the notes to a friend, and play them back. Feel free to experiment!
Star Trek Online loot parsers
Version 11 has all the latest features and fixes, such as animated boards, notation import/export, and so on.
Other games
I've implemented the Sliding Tile Puzzle in JavaScript! It doesn't animate GIFs, you can't pick the color of the empty tile, you can't toggle the image, there are no keyboard controls, you can't tell it to give you a random file from a directory, and you can't download a file directly from the web, but you can use actual video files and it even works on mobile!

Use version 4 of the Sliding Tile Puzzle to make puzzles out of everything from .bmp files on your local machine to animated GIFs loaded from a URL! Most sites deliver content to the app just fine, but you may occasionally need to save a GIF on your machine for it to open properly.

Blok is a Python-Tkinter version of Blek. It's not fully implemented, but it's reasonably close. It includes a GUI tool to create levels.
The "Smallest Float" page displays the smallest floating-point value available on your machine.

Quilting Pattern allows you to design a basic quilting pattern, adding/removing lines and choosing colors.

The "Slideshow" page is an HTML/CSS/JS image slideshow with a variety of animations and controls.

The "Full Escaper" page allows you to fully escape/unescape between text and HTML character entities.

The "Pencil Finder" page allows you to select an image on your computer and select a pixel or rectangle in the image, and then it tells you an appropriate combination of up to three Prismacolor colored pencils (in increments of 10%) to match that color, along with the pencils to use for the color's complement.

The "Subtitle Creator" page allows you to select a video on your computer and create subtitles for it. Import the text of an existing WebVTT subtitle file or start with a blank slate, and then you can add, remove, and edit cues. The text area and the area below the buttons provide information and hints to help you navigate the process.
  • Add cues by marking "in" and "out" points (based on the video's current seek position) and confirming the new cue (and optionally adding text immediately by writing it in and then committing the change).
  • Edit cues by selecting the one nearest to the video's current seek position, changing the text, and committing the change.
  • Remove cues by selecting the one nearest to the video's current seek position and using the "remove" button.
  • See your changes reflected in the video with the "apply subtitles" button.
  • Export your subtitles into the text area with the "export" button.
  • Import existing subtitles into your project by pasting them into the text area and using the "import" button.
The "Shopping List" page allows you to build a list by adding, removing, and rearranging items. You can then share a link which will reproduce your list when opened.