I think my interests can be most effectively summarised by what I'm working on now, what I've worked on in the past, and what I want to learn about in the future. This list was last updated on the 9th of August 2025.
- (June 2025) My Masters's degree thesis, titled "Performance and Dynamism in User-extensible Compiler Infrastructures" and supervised by Dr Tobias Grosser and Sasha Lopoukhine (dissertation here, presentation here, meta-repo here)
- (June 2025) ByteSight, a Python-native tracing performance profiler operating at the bytecode level (repo here)
- (March 2025) An exploration of the explainable artificial intelligence paper Beyond Sparsity: Tree Regularization of Deep Models for Interpretability titled "Just Prune It? Evaluating Tree Regularisation and its Applicability to Explaining Concept Bottleneck Model Side-channels" (repo here, write-up here)
- (January 2025) An investigation into the opportunities for shared memory parallelism in the egg e-graph library for equality saturation compiler optimisations (fork here, write-up here)
- (January 2025) A replication study of the paper Where Has My Time Gone? (repo here)
- (October 2024) A performance evaluation of the Jack's Gelato online menu, motivating an automatically generated web mirror with more desirable performance properties (blog post here, repo here)
- (April 2024) My Bachelor's degree thesis, an assessment of Rust's suitability for performant and productive implementations of HPC codebases (dissertation here, talk here, meta-repo here)
- (April 2024) Software tooling to facilitate running performance experiments on HPC resources through the Slurm workload manager (documentation here, repo here)
- (December 2023) An LLVM-backed compiler written in C++ for a subset of the C language (repo here, tests here)
- (November 2023) A discussion of the monoidal properties of Lasagne (video here, repo here)
- (November 2021) A stochastic model of the spread of antibiotic resistant pathogens which was nominated for best model as part of the international gold medal winning Warwick team for the iGEM synthetic biology competition (website here, repo here)
- Hardware description languages, perhaps writing some Verilog for a small FPGA
- Proof assistants, likely through the Lean Natural Numbers Game
- Using MLIR/xDSL to build DSL frontends to ergonomically express IR and represent dynamic language features