Hosted on this website:

  • IB Pseudocode interpreter
    • This is a somewhat complete interpreter written for the IB Computer Science Pseudocode specification with some extra features to make it runnable. In reality, the IB doesn't even stick to their own specification in the mark scheme, nor do students have to stick to it. This implementation is in pure Javascript, features almost no error detection and lacks functions and lexical scoping. I think it has dynamic scoping but I don't see why it would be useful. Part of the IB Computer Science course involves producing a product, this is not that, this was a distraction from actually studying.
  • Algorithms Project
    • An interactive demonstration of the 4 algorithms required for the IB course, linear and binary search, and bubble and selection sort.
  • Pentago
    • My potentially incorrect implementation of the noughts-n-crosses/tic-tac-toe extension, Pentago. Each player takes turns, either placing a peice or rotating one of the four squares, aiming to get five in a row horizontally, vertically or diagonally.
  • Age of the Page
    • While sadly most webpages no longer send this information, there is a field in http headers that contains the date the page was last updated. This is particularly useful for building bibliographies in styles that require 'date last updated'. It's also the only PHP I've ever written.
  • Recycling
    • The project that started it all, a very simple game with a bit of information about about recycling where I live. I must have made it in about 2015 after just learning about HTML and if I'm honest, my CSS skills haven't improved much since then.