contributor of

date name links
11-08-2017 anndata (Python, Dask, Pandas)
Annotated data.

code, presentation
29-01-2017 scanpy (Python, Dask)
Single-cell analysis in Python. Scales to >1M cells.

code

(co-)creator of

date name links
30-01-2023 Structure From Motion Pipeline (C++, OpenCV)
A Structure From Motion pipeline that takes a set of images and outputs a 3D point cloud and a camera trajectory.
presentation
22-08-2022 geome (PyTorch-Geometric)
The repo provides a set of tools for creating PyTorch Geometric (PyG) data objects from AnnData objects, which are commonly used for storing and manipulating single-cell genomics data.

code
11-05-2021 Semi-Discrete Optimal Transport for Training CNNs (PyTorch)
A graduation project during my bachelor's that aims to improve the training of convolutional neural networks by using optimal transport.
presentation
27-01-2021 Distribution-Matching-with-Dilated-Networks (PyTorch)
Implementation of the paper "Distribution Matching with Dilated Convolutions"

code, paper
22-09-2020 Ping Pong Ball Tracker and Bouncer (OpenCV, C++, Qt, Stm32)
A project that tracks a ping pong ball and bounces it on a screen. The project was done during my bachelor's.
webpage, code, video
13-07-2020 Prust (C, C++, Rust)
PUS-C on Rust. This is the entry point for the Prust tools. List of the tools and a Wiki for them.

code, talk(video), abstract

free time projects

date name links
16-01-2021 epidemic-sim (Java, JavaFx)
An epidemic simulation with visuals to practice design patterns. Many design principles was in my mind while I implemented it. Put extra effort to get familiar with modern Java practices with functional programming paradigms which I love. An over-engineered example for sure...

code
05-07-2020 os-virtual-mem-emulator (C)
A simulation of the virtual memory. The purpose here is to compare the page replacement and allocation policies.

code
12-06-2020 spim-os-multiprogramming-extension (C)
This is a modification of SPIM. Original source code can be found here. Original spim is designed to execute only one process but by adding syscalls like execv, fork, wait and some other helper syscalls I was able to modify it to a multi-process OS with multitasking. There are also interrupts periodically to call the interrupt function which is written in assembly. Interrupt handler makes context switches with round robin scheduling.

code
27-05-2020 unix-like-filesystem (C++)
This is a file system simulation that uses inodes and some other paradigms from unix.

code
16-02-2020 MIPS-32-bit-processor (Verilog)
A 32 bit processor written in structural VerilogHDL in Quartus II. It supports 36 instructions and has a data memory of 128KB.

code
06-02-2020 gpp-language-interpreter-yacc (C, Yacc)
An interpreter for a language called g++ with lisp like syntax.

code
26-09-2018 c-boulderdash (C)
A Comodore 64 game written in C

code