A self-contained WebGL fragment shader playground: write GLSL in the browser and watch it render live. Mostly Shadertoy compatible, so pasted shaders should just work. Adds uniform slider controls, procedurally generated or embedded textures, and sharing with just a URL. One HTML file, no dependencies, fully offline.
Carl's stuff
Mostly old projects I'm resurrecting with a little help from Claude...
Projects
More Steam games than you could play in a lifetime? That's an optimisation problem! This highly scientific solution will help you decide what to play next.
A native Apple Silicon reimplementation of maxim-zhao/bmp2tile, the tool for converting images to Sega Master System tiles, maps and palettes. CLI, GUI, and Mac bundle included.
A short claymation whodunnit. Click to interact with people, work out what happened.
Many years ago when I was riddled with cancer (fine now) and taking drugs that made me crave KFC, I made a spreadsheet to work out the most chicken per money I could get. This was often cited as evidence that I am a massive nerd. When the top item (3 Piece Variety Meal) was removed from the menu, I asked Claud to make an up to date version. It did a much better job than I ever did and I'm questioning my nerd credentials. Here is the summary as a web page.
A rule-based grapheme-to-phoneme converter: type an English word, get back its ARPABET pronunciation. Beats dictionaries and AI trained solutions in the < 20 kb category by a fair margin.
Simply choosing the most common Part of Speech for every word can reach ~90% accuracy. This project achieves similar results without the need of a huge dictionary.
Uses a Hidden Markov Model and the Viterbi algorithm to find the likely sequence of tags in a sentence. Possible tags are seeded using a tiny bootstrap dictionary and guesswork. Trained on CoNLL-2000 and UD English-EWT data.