Hi!

Welcome to my website.

My face. Do not touch it.
My face! What have you done to my face!

My name is Simon Vandevelde. I'm a software engineer, graduated in 2019 at KU Leuven De Nayer Campus in Sint-Katelijne-Waver, Belgium.
I really don't like building websites. So, as a protest to all things webdevelopment, I put a lot of effort into making my webpage seem as low effort as possible. To show I really mean it, I even purposefully didn't close some tags. That'll teach 'em.

Right now I work as a PhD researcher at the Eavise research group at KU Leuven, as part of the Declarative Languages and Artifical Intelligence unit. At Eavise, I specialise in symbolic AI, or more specifically in knowledge representation and reasoning. Currently, I'm looking into expanding the practical useability of the knowledge base paradigm, by for example using a knowledge representation such as DMN. You can find a full list of my publications and presentations on the following page.

A bit about me: I like making stuff. I love coding stuff. I also have hobbies and interests. When I'm really in the mood, I sometimes create blogposts! Besides these things, I also volunteer at the local CoderDojo, where children come together to learn programming in a playful manner, using Scratch, CodeCombat, ...

I try to be an open source software advocate. I always try to use software that's open source, and my own projects are always open source as well. Maybe if I keep repeating "open source" you'll be brainwashed into seeing the light. Open source open source open source. That being said, if you're interested in a list of all the open source programs and apps I use, you can find those here.

Some of my biggest achievements in no particular order are:

That about sums me up. I'll think of some more stuff in the future. If you want to contact me about hobbies, projects or other personal stuff, feel free to pop me a mail at simon[dot]vandevelde[at]hotmail[dot]com. If you want to contact me about my work, feel free to pop me a mail at s[dot]vandevelde[at]kuleuven[dot]be.


My GitLab! My GitHub! I barely use it! Toot toot! Watch my 'interesting' videos.

Latest Posts

Flower Arranging for Fun and Health - at 2022-08-02 20:23:27

Almost two years ago, during the first covid dip in Belgium, I tried my hand at floral arrangements. And I've been hooked ever since! What started as an excuse to get my cousins round and spend time with our grandmother quickly grew into a bi-monthly tradition. The story of how we got started goes a bit as follows: my grandmother used to regularly partake in floral arrangement workshops, hosted by the local flower shop. With the arrival of covid lockdowns, she remarked that she was sad that the workshops...

last updated 2022-08-02 20:23:27 by Simon Vandevelde

Balanced Catan Board Generator - at 2022-06-29 11:22:04

Catan is a wonderful boardgame about strategy and chance. However, the chances of the game can become extremely skewed based on the board layout, which is typically decided randomly. This post describes how we can tackle this, and implements a tool (available online) to generate balanced boards using the IDP-Z3 reasoning engine, based on First Order Logic. Image from the Wikimedia Commons. Catan boards and balance Lets first get into what constitutes a Catan board. As shown in the image above, a Catan...

last updated 2022-06-29 11:22:04 by Simon Vandevelde

Modeling The Universe In ProbLife - at 2022-04-18 15:41:28

A while ago we had the idea for an "Art with AI" type project: a probabilistic extension of Game of Life (GoL), the well-known cellular automaton. The idea behind GoL is to start with a grid of living and dead cells, and to generate the "next" generation based on a set of rules. For example, in the image below we generate the evolution of the left grid to end up with the middle grid, and then do the same to the middle to end up with the right one. The rules used for these generations...

last updated 2022-04-18 15:41:28 by Simon Vandevelde

Knowledge-Based Decision Support for Adhesive Selection - at 2022-03-31 08:17:02

I recently wrote a Leuven.AI stories blog on my work on a knowledge-based decision support system for adhesive selection. Feel free to read it there! In a nutshell: selecting a suitable glue for a gluing task is time-consuming, and requires a lot of experience and knowledge. We captured this knowledge formally, and built a tool to support the adhesive experts in their selection. In a test case, usage of the tool has reduced the selection time from 3 hours to 3 minutes! ...

last updated 2022-03-31 08:17:02 by Simon Vandevelde

Solving Sudoku Puzzles With First Order Logic - at 2022-03-06 15:21:11

Sudoku is probably one of the most well-known logic games of all time. Naturally, people have written various computer programs to solve the game, using a multitude of techniques. In fact, searching for the key words "Sudoku Solver" on GitHub lists a whopping number of repos: 26K at the time of writing. We can also see that most implementations are in imperative programming languages, such as Python (9106 repos), Java (3805 repos) or C++ (2907 repos). This post describes a different approach for a sudoku solver, where we use the IDP-Z3 system, a declarative logic-based reasoning...

last updated 2022-03-06 15:21:11 by Simon Vandevelde

Logic Based Rummikub Solver - at 2021-05-16 11:07:24

Rummikub is a wonderful boardgame, that is fun for everyone. ... except for me, because I always lose at it. To help me win games, I decided to cheat and build a rummikub solver. While there already exist a few solvers for the game [1,2,3,4], no logical implementation has been published yet. Let's change that! This post delves a bit deeper into the logical implementation of Rummikub. Using this implementation, a Rummikub Solver was built with a browser-based interface and a Python server. The source code for the entire project is available here. A (slower) online...

last updated 2021-05-16 11:07:24 by Simon Vandevelde

Host Your Own Videoconferencing Server Using Galene - at 2020-12-27 11:06:06

This page contains a how-to guide for setting up a self-hosted Galène videoconferencing server. Galène is a free and open source videoconferencing server, similar to Jitsi. However, in my experience, it is much easier to set up. Before we start with the guide, let's first go over the benefits of hosting your own videoconferencing server: More control over your own data More secure: WebRTC is only encrypted in transport, and not end-to-end, meaning the server can see your data. If you self-host, you can always trust your...

last updated 2020-12-27 11:06:06 by Simon Vandevelde

Sway Pomodoro Timer - at 2020-11-28 09:27:50

This guide briefly goes over how to get a working pomodoro timer on Sway, the tiling Wayland compositor and my preferred way of working on Linux (it should also work on i3). One of the most important aspects of life, especially now that a lot of us are experiencing the (dis)pleasures of working at home, is finding a good balance between work and relaxation. Something that helps me greatly in achieving this on a day-to-day basis is the concept of the pomodoro technique: work in intervals (for me 35 mins works best) and take a short...

last updated 2020-11-28 09:27:50 by Simon Vandevelde

Host Your Own EteSync Server - at 2020-11-28 08:52:28

This guide is outdated, and only here for legacy reasons. If you want the up to date version, you can find it on the EteSync wiki Hi! Welcome to my guide on self hosting an EteSync server on the Raspberry Pi Zero. Requirements: Computer running a Linux flavour; A Raspberry Pi Zero; A micro SD card; A working internet connection; A domain name, unless you want to read...

last updated 2020-11-28 08:52:28 by Simon Vandevelde

Creating A LaTeX Package - at 2020-11-22 21:10:34

Why my own package? Recently, I was working on a paper in which we had to list multiple so-called decision tables. A decision table is a visual representation of an assignment of outputs based on a set of inputs. In the Decision Model and Notation standard, such a table looks as follows: Decide what to eat ...

last updated 2020-11-22 21:10:34 by Simon Vandevelde

See All Posts