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

Verbal Arithmetic In Rust And Z3 - at 2023-11-12 20:59:14

I've been trying to learn Rust on again and off again for the past few months. To motivate myself, I wanted to fool around a bit with Z3 (an SMT solver) in Rust. This quickly turned into quite a bit of a struggle, as while there are Rust bindings available, I'm finding them fairly difficult to work with. I'm not sure if this difficulty stems from the bindings being unergonomic, or that my Rust knowledge is still too basic. Furthermore, I also haven't been able to find any good, accessible examples of simple toy problems modelled in...

last updated 2023-11-12 20:59:14 by Simon Vandevelde

Decision Models and ChatGPT - at 2023-11-05 21:11:13

Update: we recently investigated the synergy between DMN and GPT-3 and published a paper on it. You can read all about it here. ChatGPT has been all the rage, lately. Many people have been experimenting with it, from producing code and passing a computer science exam to succesfully writing emails disputing a parking fine. So, as a researcher in symbolic AI, this begs the question: can it craft decision models for us? This blog posts describes my attempt to have ChatGPT generate a simple Decision Model and Notation (DMN) model. Let's...

last updated 2023-11-05 21:11:13 by Simon Vandevelde

Show cmus and ncspot status in Sway - at 2023-01-15 14:57:45

To play music on my pc, I use two different applications: cmus, for my local music ncspot, to connect to Spotify Both are minimalistic applications that work right out of your terminal. It would be cool, I thought, to show their status on my Sway status bar. So, I spent some time figuring out how to best do so. If you read this post, you can do so too! It's actually fairly simple: I have a status.sh script which is called by...

last updated 2023-01-15 14:57:45 by Simon Vandevelde

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

See All Posts