About Me

About Me

I’m a developer who likes taking things apart to understand how they work. I started programming young because I wanted to automate small tasks, and that curiosity never really went away. These days I enjoy building reliable tools, digging into how systems behave, and finding practical solutions to the problems I run into.

LinkedIn

Interests

  • Embedded systems
  • Software engineering
  • DevOps

Projects

Bike Sensor

The idea was to measure the smoothness of the road by attaching an accelerometer to a bike. For this an ESP32 microcontroller and a MPU6050 accelerometer was used. All the data processing was done on the ESP32 which would output aggregated data via HTTP.

Delirium

Delirium is a game created in Unity during my game development minor. The team consisted out of seven members. My role was lead programmer and Scrum master. My main contribution was the random level generator algorithm. During this project I gained experience with Git. I was responsible for the repository and setup automated builds.

OneList

This is a simple to-do list in Go. The idea was to keep it as simple as possible and make it easy to deploy. The binary contains its own webserver, website, storage and authentication. This was my first attempt at OOP Go. I primarily used interfaces to make it easy to extend with different frontend and storage methods.

Build System For C projects

During my bachelor’s degree I worked often with the ESP32 microcontroller. The build system that came provided had a nice tool (Kconfig) to manage compile flags and options. I wanted something that used Kconfig for generic C project, but I could not find it. So I decided to implement it myself. I used CMake as base.

8-bit Computer In Logisim

This is an 8-bit computer based on the videos of Ben Eater in Logisim (logic gate simulator). I had attempted to build it on breadboards like in the videos, but I ran into power issues due to bad components. Instead I opted to continue the project in Logisim. The computer has a limited instruction set and memory. It can be used to calculate Fibonacci numbers.

Unity Machine Learning Agent

Unity Machine Learning Agents (ML-Agents) uses a combination of deep reinforcement learning and imitation learning to create emergent behaviours. I made a simple level where a ball had to be guided to a certain spot. First I had to create special training level with multiple instances of the main level to speed up the learning process. After the training was done it generated a model that could be used in a game to do this specific task.

C++ Vector In C

My implementation of the Vector datatype from C++ in C. It can be used to put integers into a dynamically growing container (not available in C by default). At the base is a normal char array saved to the heap. This allows me to manually allocate and free memory as items are added and removed.

Offset Scanner

The main use case for this program is to find pointers in the memory of an external process. First you must define a process and a pattern you want to search for. The program will then search in the memory of the specified process and output a pointer. This pointer can then be used to manipulate the process externally.

See all projects on GitHub

Skills

C

My go to for anything embedded. Primary used during my bachelor’s degree. I have about five years of experience (including the time of my bachelor’s degree).

C++

Most of my experience with C++ is from my bachelor’s degree. I tend to use C++ over C for the larger projects. I adjust the amount of C code I use in C++ projects to the capabilities of the hardware I am using.

Python

Used during software engineering courses in my bachelor’s degree. After graduation I used Python for data analysis and automation.

C#

I used C# during my game development minor (six months) to create the code for Delirium.

PHP

I learned PHP during my vocational education in web development. I used this to build websites as freelance web developer for about two years.

jQuery

Just as with PHP I also learned this during my vocational education and used it to build websites.

Java

Used during software engineering classes in my bachelor’s degree. After my bachelor’s degree I used Java for data analysis.

Go

I went on a hunt for a higher-level language I could use for webservers and JSON manipulation etc. This is when I discovered Go. Go has become my preferred language for anything non-embedded.