Marijn Stollenga
Personal Website
Projects
- MovieRank A movie recommendation website I made, based on a GPU accellerated non-negative matrix factorization algorithm. The website is written in Zig - link to MovieRank 
- MCDNN: A deep learning library written in C++, using CuDNN and several Cuda kernels - link to MCDNN 
- YAGLL: Yet Another GLL parser; a lightweight General LL (GLL) Parser library for C++, based on libre2 - link to YAGLL 
- YOPL: Your Own Programming Language; an LLVM based compiler using YAGLL as a backend, allowing for the creation of languages (in progress) - link to YOPL 
- Gomandel: A Mandelbrot generator in Go - link to Gomandel 
- Zig-Mandel: A Mandelbrot implementation in the Zig language, output using the WebP library - link to Zig-Mandel 
- VLSTM: An implementation of Pyramid LSTM using C++ and Cuda, linking to MCDNN. See the paper “Parallel Multi-Dimensional LSTM, With Application to Fast Biomedical Volumetric Image Segmentation” for more details - link to VLSTM 
- VRL: A C++ virtual reality framework using OpenVR and Vulkan to create experiments for Cognitive Psychology - link to VRL 
- Cereal Archiver: A disk archive tool written in C++, using an lmbd database, Cereal for serialisation, and Blake2 hashing to avoid duplicates - link to Cereal Archiver 
- Teensy Keyboard Driver: An Arduino based Teensy Keyboard Driver with support for layers - link to Teensy Keyboard Driver 
- Zig-Timsort: A Timsort implementation in the Zig language, using a manual allocator to reduce memory usage - link to Zig-Timsort 
- PTTP: A p2p library in C++, implements set reconciliation using Bloom filters. Based on ZeroMQ, and CapNProto for serialisation (in progress) - link to PTTP 
- YAWN: Yet Another Wiki Notepad; a Go based wiki server, using Bolt as a database backend and Markdown for marking up - link to YAWN 
- Go-Schulze: A Go based implementation of Schulze voting, a Condorcet method for voting reconciliation avoiding strategic voting / gerrymandering - link to Go-Schulze