A subset of projects that I have contributed to over the years that I find interesting.
![formal-lang syntax grammar](/_app/immutable/assets/formal-lang_preview.BavJImM5.webp)
![formal-lang syntax grammar](/_app/immutable/assets/formal-lang_preview.BavJImM5.webp)
formal-lang
Formal specification and verification of a the semantics of a simple programming language.
![Benchmark showing scoop-search is 350 times faster than scoop search](/_app/immutable/assets/scoop-search_preview.n-_Pqe1v.webp)
![Benchmark showing scoop-search is 350 times faster than scoop search](/_app/immutable/assets/scoop-search_preview.n-_Pqe1v.webp)
scoop-search
A much faster alternative for the search command of the Scoop package manager.
![Example of a sensor coverage problem with four coverage holes](/_app/immutable/assets/sensors-coverage_preview.CP8YLI0d.webp)
![Example of a sensor coverage problem with four coverage holes](/_app/immutable/assets/sensors-coverage_preview.CP8YLI0d.webp)
Sensors coverage problem
Solution to the sensors coverage problem using homology from topological data analysis.
![Screenshot of the π digits program invocations](/_app/immutable/assets/pi-generation_preview.D8smD6XL.webp)
![Screenshot of the π digits program invocations](/_app/immutable/assets/pi-generation_preview.D8smD6XL.webp)
π digits generation
Generates 100 million digits of π under 2 minutes using the Chudnovsky algorithm.
![Example notes from the university course "Topological Data Analysis"](/_app/immutable/assets/uni-notes_preview.CmPGpTFV.webp)
![Example notes from the university course "Topological Data Analysis"](/_app/immutable/assets/uni-notes_preview.CmPGpTFV.webp)
University notes
Collection of my personal notes from my university courses.
![Screenshot of the RAM runner web app with the reverse program](/_app/immutable/assets/ram-runner_preview.6RJR5W5s.webp)
![Screenshot of the RAM runner web app with the reverse program](/_app/immutable/assets/ram-runner_preview.6RJR5W5s.webp)
Random-access machine runner
Interpreter for the mathematical RAM computation model.
![Two spirals with the decision boundary](/_app/immutable/assets/SVM_preview.D4nfG2kj.webp)
![Two spirals with the decision boundary](/_app/immutable/assets/SVM_preview.D4nfG2kj.webp)
SVM
From scratch implementation of a support vector machine using gradient descent and SMO.
![Example of a register transformation from a binary safe single-writer multi-reader register to a multivalue regular single-writer single-reader register](/_app/immutable/assets/register-transformations_preview.cxtj_Am-.webp)
![Example of a register transformation from a binary safe single-writer multi-reader register to a multivalue regular single-writer single-reader register](/_app/immutable/assets/register-transformations_preview.cxtj_Am-.webp)
Register transformation
Showcases the transformations needed to go from one wait-free register to a different one.
lemmur
A client for the Lemmy platform - a federated Reddit alternative. (archive)
Avatar
Source code for the generation of my avatar.
![Lattice agreement algorithm visualization](/_app/immutable/assets/distributed-algorithms_preview.CDORbMFn.webp)
![Lattice agreement algorithm visualization](/_app/immutable/assets/distributed-algorithms_preview.CDORbMFn.webp)
Distributed algorithms
Implementation of a handful of distributed computing primitives, including broadcast and agreement.
![Example usage of the STM library](/_app/immutable/assets/STM_preview.wDdyntyI.webp)
![Example usage of the STM library](/_app/immutable/assets/STM_preview.wDdyntyI.webp)
Software Transactional Memory
Implementation of a software transactional memory using the TL2 algorithm.
![A rasterized Obama triangle, raycasted ellipsoid, and deepfried meme](/_app/immutable/assets/computer-graphics_preview.B4_8V9WF.webp)
![A rasterized Obama triangle, raycasted ellipsoid, and deepfried meme](/_app/immutable/assets/computer-graphics_preview.B4_8V9WF.webp)
Computer graphics
Implementation of a handful of computer graphics algorithms, including image filters, rasterization, and raycasting.