Projects

A selection of the things that I have worked on. Take a look at my github account for more.

  • Git-backup: A tool for backing up your git repositories

    A tool to backup all of your personal git repositories from cloud providers like GitHub, GitLab and Bitbucket.

    view source

  • Angu: A JavaScript library for building mini-languages

    A small, zero-dependency library that can be used to build and evaluate mini-languages in the browser or in NodeJS. You have complete control over every operation performed, and this library takes care of the nitty gritty of the parsing and such.

    view source

  • Weave: A CLI HTTP Router/file server

    A small CLI router that can merge several HTTP and file endpoints behind a single host/port under different paths. Built to enable quick hacking together of client files and APIs during development.

    view source

  • Web Assembly Fractal Generator

    A Web Assembly experiment to create a fast in-browser fractal generator in Rust and JavaScript using Web Workers and progressive rendering.

    view source

  • FUSS

    A functional CSS preprocessor built using Rust to be a simple yet powerful alternative to SASS.

    view source

  • Talklicker

    A small SPA built using Elm and Haskell for organising event days. Users can add projects or talks that they are interested in giving to a list, and then admins can create and describe days and drag things from the list in.

    view source

  • Compression Machine

    Developed as a bit of fun as a result of playing with various compression algorithms. Compresses and decompresses files using a combination of algorithms (Sequitur, Huffman Coding, Burrows-Wheeler transform, Move-to-front transform) each implemented in Javascript.

    view source

  • Fractal Explorer

    Create and explore fractals from within your web browser. Allows full customization of the colours and rendering quality and downloading of fractal images to your computer. Can be configured to use multiple threads to speed up performance, and fractal parameters can be tweaked to explore novel fractals.

    view source

  • Competitive Learning Simulator

    Based on algorithms I worked with and built on during my PhD, This is a two-dimensional javascript based simulator and train one of several algorithms (K-Means, Self Organizing Maps, Neural Gas, Growing Neural Gas and Grow When Required) on user generated shape based inputs. Shapes can be added, moved, removed and deleted in realtime and the effects on training observed.

    view source