Malte Krupa


Public services

Not so public services


Software projects

Global Cluster (2023)

Technologies: Elixir, Mnesia, FreeBSD, WireGuard

Code: github.com/maltekrupa/global_cluster
Website archive: archive.ph - archive.org

Out of interest in Elixir and the distributed nature of the BEAM I decided to build a globally distributed application providing a simple website and visitor counter.

From the projects “Why?” section:

The BEAM is said to be very robust and I wanted to see how complicated it gets when you try to build a clustered application. The default scenario would’ve been to run multiple high-performance servers close to each other so you can make use of a low-latency high-bandwith network. I instead choose the path of using virtual servers with very limited resources connected over a long distance.

clamav-rest (2019 - 2024)

Technologies: Python, Docker, Github Actions

Code: github.com/maltekrupa/clamav-rest
Container repository: github.com/maltekrupa/clamav-rest/pkgs

Some time ago I started a tiny side project which allows you to scan for viruses via an API. The project was used at a company I worked for in their SaaS product to scan user-uploaded files for viruses.

The project is very small but the constant maintenance work for all the parts in and around this tiny piece of software tought me a lot of respect for people working in open source projects.

Ansible roles for FreeBSD (2022 - ongoing)

Technologies: Ansible, YAML, FreeBSD

Repository: github.com/maltekrupa/ansible-roles-freebsd

Most - if not all - of the services I host are managed using ansible. I don’t particularly like ansible but it is boring and does the job.

University - Simulation of the Future (2015)

Technologies: JavaScript, Three.js

Repository: github.com/maltekrupa/sunsimulation

For a cross functional course called “Simulation der Zukunft” we had to create a simulation that depicts the movement of the sun and the shadow it casts on buildings. We did so by making use of three.js.

Our team consisted of two computer science students and two mechanial engineering students.

The project is still reachable: https://nafn.de/simdezuk/


Open Source contributions

Minor contributions

Add precompiled NIFs for FreeBSD (2023)

Technologies: Elixir, FreeBSD

Pull request: github.com/elixir-explorer/explorer/pull/618

To make use of kino_explorer on a livebook instance running on FreeBSD I ran into an issue.

The change to fix this only touched three lines but it took me about 9 commits to get there. :) The elixir community was very helpful.

Testing live views with chromedriver fails on GitHub actions (2023)

Technologies: Elixir, GitHub actions

Issue: github.com/elixir-wallaby/wallaby/issues/699

After working on a tiny open source project for years I’m somewhat aware of the amount of work it takes to create a project in public. So, when I interact with people who do this work for all of us, I try to be respectful and make their lives as easy as possible.

At one point I ran into an issue (which was my fault) with Wallaby which is Elixir based and does: “Concurrent browser tests for your Elixir web apps”.

I tried to make sure that the issue takes away as little time as possible of their time but … should’ve just read the readme instead . :)

Add GitHub actions to run Continous Integration tests to chessboard.js (2023)

Technologies: Github actions, JavaScript

Pull request: github.com/oakmac/chessboard2/pull/42

While working on a chess based phoenix live view app I came across the chessboard.js library and an issue where the maintainer added the help-wanted tag. Since I often work with GitHub Actions, I figured I could help here.

Add documentation on lab.uberspace.de (2018 - 2019)

Technologies: Markdown

Uberspace is a hosting company. They provide an extensive collection of guides for their users. I created guides for Prometheus, Grafana and Alertmanager.


Privacy Policy | Imprint