CI for testing submissions to the Opam Repository, the central package universe for the OCaml ecosystem
OCaml, Docker
CI for testing OCaml projects on a wide range of operating systems, architectures, and OCaml versions
CI for stress-testing the newly introduced OCaml 5 compiler, which exposed several bugs in the multicore runtime
OCaml bytecode running on the nRF52840 board, using OMicroB for the runtime and bytecode optimisation, and RIOT OS for the base layer between the runtime and the board
C, ARM assembly
Mini-language where programs can be verified for correctness using a Hoare logic-style approach
OCaml
Model checker for verifying safety properties using Probabilistic Computation Tree Logic
Propositional logic SAT solver using the DPLL method
Program semantics and type system for a tiny stack-based language
Undergraduate thesis project implementing Delay-Tolerant Link-State Routing, tested on the CORE network emulator
C, Unix
Lempel-Ziv-Welch (LZW) streaming compressor and decompressor for ASCII text files
Combining Mergesort and Insertion sort for cache-optimised sorting
C
Art project demonstrating cool algorithmic image effects
C++
3D renderer using a HTML table's cells as a pixel grid
JavaScript
Demonstration of a water ripple post-processing screen-space effect
Unity/C#
Experiments with repeating geometric patterns, inspired by "Islamic Patterns: An Analytical and Cosmological Approach" by Keith Critchlow
Multithreaded simulation of falling sand
Rust
Torus ray-tracer, rendering to a window or terminal
Triangle mesh ray-tracer, accelerated with a bounding volume hierarchy (BVH) data structure
C++, Python
Renders 3D fractals in a fragment shader on the GPU, using signed distance functions
C, GLSL
Entry for the Ludum Dare 48 game jam
Strategy game inspired by the flash game "Warfare 1917"
Entry for the Ludum Dare 47 game jam
Entry for the Ludum Dare 46 game jam
Largely unfinished arena-based wave survival game, inspired by Devil Daggers
Tech demo for field-of-view in a tile-based world
C++, SDL2