Projects

I don't like being bored.

So like all people, in an attempt to stave away boredom and fill the empty void inside of me, I like to have some projects running. Sadly, like most people, I can think of projects faster than I can finish them. Kind of like a younger and less useful brother of Lucky Luke.

Below you can find my current project board. I don't update it often, but seeing as I don't work through projects that fast, it doesn't matter.

Ideas

Peggle clone in Godot engine

Peggle is an "old" game, where you shoot a silver ball and try to hit as much pegs as possible. It's a fairly simple physics-based game.

I'd like to implement this game in the Godot engine cause it seems like good fun.

Unofficial Linguee API

When working on the Dunglish translator I was looking for an online API that would allow me to translate Dutch words to English. The easy solution would be Google Translate. The problem is that I don't like google. Online I found Linguee as an alternative translator.

I'd like to make an API to easily request translation from Linguee. It hopefully shouldn't be too hard.

Belgica translator

Belgica is the language of the True Belgian Patriots over at the Belgica subreddit, a parody on Belgian nationalism. It's a mix of Belgian's three national languages: Dutch, French and German.

Similarly to the Dunglish translator, it could try and break down compositions into smaller elements. Each word could then be translated into one of the three random languages, to form the perfect translator.

AiAiAi bluetooth battery level

The bluetooth AiAiAi is the pair of headphones that I use. Sadly, currently on Linux it seems to be impossible to read out the battery level of the headphones when connected to my computer. I'd like to find a way to read out the level, and maybe write a GNOME plugin to show it.

If anyone has any ideas of how to do this, please contact me.

TF2Speech

The game Team Fortress 2 has an active community of source filmmaker content. These are videos (often funny short movies made using the source filmmaker(SFM), starring the TF2 characters. A problem in SFM is the lack of original voicelines of the characters. Some people find a way around it by juxtaposing words from different sentences to form a new sentence. Others hire voice actors that sound like the original voice actors. Both of these solutions sadly don't sound very natural.

However, I think that using this voice conversion we could improve the quality of the voicelines. For example, an SFM maker could hire a voice actor resembling a character. Then, he could use that voiceline to put through the AI trained on the character to further improve it, and make it sound more accurate and natural.

Alarm Clock

I'd like to build a Raspberry Pi alarm clock one day. Something fancy with more features than I'd ever need.

"Papers, Please" bot

Papers, please is a game made by Lucas Pope. You play as an employee of the border control, and work in a checkpoint where you either allow people or deny them passage to Arstotzka. Every day you need to make sure every person trying to enter, complies by that days rules. Throughout this "simple" concept, there is also some storytelling.

I think it should be possible to use a Raspberry Pi to interpret the images (using OpenCV) and have it decide whether an applicant may enter or not.

BikingSensors

I really like cycling. The only thing I don't like about cycling, is breathing polluted air and driving on bad roads. Therefore, I'd like to make a small device that can analyse these for me. Maybe even other stuff. Using a GPS tracker and some smart thinking I could plot all the roads in my neighbourhood based on both the quality of air and quality of road.

Biking Weather Lamp

Oftentimes I wonder if I can go for a bike ride the day after. I then look up the next day's weather, which takes a LOT of effort. (Like, typing a search query and clicking three times.)

My solution to this problem would be to have a Raspberry Pi which turns on a light in the shape of a bike (no idea where to find it) if the forecast for the next day shows no rain.

Biking Helmet

OpenCoffeeOS

Imagine an operating system for the raspberry pi, solely to drive superbrewers. I could replace all the stupid software that a superbrewer comes with, and add more features like brewing coffee over sockets.

Peggle AI

I think it'd be neat to build an AI that plays Peggle.

The AI would be given a list of coordinates of the peggs, and would then pick an angle to shoot the ball at. After which, it would receive it's score gained and an ordered list of the pegs it hit. Using this score, we can try to implement reinforcement learning.

Self host a CI server

There's no practical need to self host a CI server, but I think it would be a nice experience.

The CI server could maybe also document metadata about the testing: a graph of how much ram was used through time, how much cpu power, ...

XIDP

In Execution

Dunglish translator

Dunglish happens when a Dutch native speaker with little grasp of the English language, makes mistakes like false friends or literally translating stuff. In Dutch, a vacuumcleaner is called a "stofzuiger", or literally translated, a "dustsucker".

So, I think it'd be funny to write a program that 'translates' Dutch into Dunglish. It could try to break down the togethertheorems (aka compounds in English) into the smallest possible elements (like "stof" and "zuiger"), translate those words to English ("dust" and "sucker") and then glue them together to form a nice Dunglish togethertheorem. A link to what I currently have can be found here.

Oscilloscope PC case

In 2017 I got an awesome broken old oscilloscope. I figured it'd be cool to put a computer in it. It only took me two years to actually start building it.

So far the case itself is done, now all I need is some cool LED's and whatnot. I'll post some pictures soon.

This website

Yes.

Finished..?

Logic-based Rummikub solver

Rummikub is a fun board game for the whole family, and I utterly suck at it. In order to help me win more often, I thought to myself "Why not build a solver to assist me in winning?". So I did just that!

I used the IDP reasoning engine, a state of the art constraint solver by KU Leuven University, to model the rules of Rummikub. Then I created a simple http server in Python, threw together a nice JS based interface, et voila! You can test out an online version of the solver here. The source code is also available.

Etesync server

EteSync is a secure, end-to-end encrypted and privacy respecting sync for contacts, calendars and tasks. Basically, it does everything Google Calendars does, but more secure. By using an app on your phone or a bridge program on your computer, you can automatically sync your data. For the server-side, there's two options: paying a monthly subscription (which is supercheap), or self-hosting an EteSync server. Because of the way EteSync is build, self-hosting doesn't have any advantages other than relying on yourself for upkeep. No matter where the data is stored, it's still safely encrypted.

Even though it doesn't make much of a difference, I figured it'd be a nice learning experience to self-host an EteSync server on a rasperry pi zero. This turned out to be tougher than initially thought, since I have 0 experience. However, it runs supernicely right now at home! Because it only serves one user (me), a raspberry pi zero is more than fast enough. In the future I plan on writing a tutorial on how to self-host on a raspberry pi zero. The tutorial should appear somewhere here.

Birdhouse

My parents bought a weatherstation and needed a place outside to keep the secondary probe. It needs to be placed out of direct sunlight, in a rainfree place where the wind can still hit it. Furthermore, it can't be kept next to a wall (because it would radiate heat) and needs to be at least one meter above the ground to measure accurately. Because placing a container just for the probe is a waste of space, I figured I'd build a birdhouse with space for the probe in the roof of the birdhouse.

A build log can be found here.

There's even a family of Great tits (the birds) living in it now.

Simple Python gui for youtube-dl

Just a small downloader GUI, as requested by my girlfriend. I also tried teaching myself how to use the QtThreads correctly using this project. Code can be found over here: Qyt_dl.

qcutter: sheet cutting software

qcutter is a simple sheet cutting software I built, to plan out the optimal way of cutting a sheet of material into smaller parts. I noticed there wasn't really a good open source software to do this yet, and seeing as I could use this myself often, I figured I'd make it myself. It lacks core features right now, but I'm working on those. Probably.

Simple weatherstation

A simple weatherstation for a raspberry pi zero, to check the temperature and humidity in my room. It makes use of the crontab on Linux to be executed periodically to measure, calculate means and draw graphs. It hosts these graphs on a local Apache webserver so I can check it from any device on the network.

Darebee-Launcher

A small script to automatically launch a Darebee Fitness Program on the right page for the day. Can be used in a cron job to launch at a certain time of day, or to launch on bootup, to remind you to do the exercise.

The script can be found on my GitLab.

Pyidp3

Pyidp3 is part of my master thesis. It's a Python 3 upgrade of a Python 2 library, called Pyidp. Pyidp3 is an API between Python 3 and the IDP system.

IDP over socket