Current

Cycle Sort
Cycle sort is the one obsessed with not writing to memory. It figures out exactly where each value belongs and puts it there in a single write, at the cost of a lot of comparisons. Watch it run step by step.
Conway's Game of Life
Draw a starting pattern, stamp in a glider gun, and watch Conway’s Game of Life play out. Works with mouse and touch.
Bubble Sort
Bubble sort in its simplest form — two loops that, for each slot, sweep everything to its right and swap in the smallest value. Watch it run step by step.
Comparing Sort Algorithms
Line every sort up and race them on the same data. Watch who finishes first, how many comparisons it took, and how much scratch memory each one needed.
Timestamping a transcript so a local LLM can cite the podcast.
An LLM can pull stock picks out of a podcast transcript, but on its own it can’t tell you where they were said. Dropping a timestamp into the text every thirty seconds fixes that.
Podcasts
Reorganized the list — added a section for the YouTube channels I follow and refreshed which shows are still active versus defunct.
Skipping unchanged RSS feeds with conditional GET.
Downloading the whole feed every time you poll is wasteful and a little rude to the server. Conditional GET lets you ask “has anything changed?” and get a tiny 304 back when it hasn’t.
Sprite Creator (Retired)

I was trying to create some sprites for animation and thought it would be fun to create a sprite creator. Using all the fancy new HTML 5 technologies this is a pretty simple sprite creator.

Random Word API (Retired)

I needed an API to display a random word. Couldn’t find any to meet my needs so this simple API just does that. It supports two languages English and Japanese. The backend is written in .NET Core 3.1.

Updated May 2022: .NET Core 2.1 to 3.1. Added a way to retreive multiple words.

Funny Pics
Added a couple of funny cat video and classic chair prank.