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