> home

Carl's stuff

Mostly old projects I'm resurrecting with a little help from Claude...

Projects

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.

  • GLSL
  • Shadertoy
  • Offline
  • Single file

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.

  • Metacritic
  • How Long To Beat
  • Stupid

A short claymation whodunnit. Click to interact with people, work out what happened.

  • Game jam
  • Claymation
  • Point-and-click
  • Web-based

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.

  • KFC UK
  • Value ranking

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.

  • Grapheme to phoneme
  • ARPABET
  • CMU dictionary
  • NLP

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.

  • Hidden Markov Model
  • Viterbi
  • NLP