Hi I'm Ben

Munro Leagues

Calculates and displays the overall standings for sporting leagues. Designed to be simple for organisers, by accepting results in multiple formats and solving common problems. With fast-loading and interactive results, it powers leagues across the UK, with over 480 events and 32,000 results stored.

Bang

My programming language. A strongly typed, functional, bytecode interpreter written in Rust. Complete with a custom linter, opinionated code-formatter, type-checker, and language server.

Neural Search on Modern Consumer Devices

My fourth-year university research project investigated if changes in modern processor designs — such as unified memory and neural accelerators — can be used to improve the performance of dense information retrieval tasks using neural networks on consumer hardware (like Apple's M1).

xc

An experimental parallel test-runner for Python, using sub-interpreters to isolate the tests in a single process. Includes integrated code-coverage collection and automatic test discovery.

Orienteering Games

A selection of mini-games to test navigational/ map reading abilities created for Lockdown Orienteering. The games include a 3D-maze, spot-the-difference, and drawing the best route on a map. They have been played thousands of times by people from all over the world.