Bachelor Thesis

We're allowed to choose our own topic for our bachelor thesis so I suggested the E-Sheet project so I could work on it and be doing something for my thesis. But the proposal was rejected, So I needed to pick something else or adjust the suggested topic. I choose for the second option. The final topic was titled "Interactive tabular data on touch devices".

For the implementation I used the Piccolo. Piccolo is a monolithic interaction toolkit, which allows to easily create a Zoomable User Interface (ZUI). A ZUI  is an UI where users can change the scale of the viewed area in order to see more detail or less, and browse through different documents.

I implemented several ways to enter data into the cells, the methods are divided in two main categories inline text editing and data entry using pop-ups. I also created two on-screen keyboards; a normal keyboard and a phone keyboard for screens with lower resolutions. The entered data is stored locally using a SQLite database.

The application was tested by several members of the RBIHF and they came to the following...

IRC Client

For the course Computer Networks at UHasselt. Pieter Vincken and I formed a group. Our assignment was to create a basic IRC client with at least the following requirements:

  • Log in to the server with a chosen nickname.
  • Join, create and leave channels.
  • Send and receive messages to/form channels.
  • Send and receive private messages.
  • Send and receive files using DCC, underneath using P2P.
  • Basic admin feature(s). E.g. Kick.

As a server we were obligated to use WeIRCd, which is discontinued by now. We choose to use Qt for this assignment, however we were still obligated to use the default socket library of C, not the one from Qt.

The following commands were implemented: /nick, /user, /pass, /connect, /join, /privmsg, /part, /partall, /quit, /dcc send, /dcc reject, /names, /mode, /real. More information about the commands can be found here.


For the course Software Engineering at UHasselt. I formed a group with 5 other people. The group were obligatory, chosen by the education staff. This caused some serious problems between some group members. Some members even left during the process. But that's all I'm going to say about that part of the project.

Our task was to develop Robo Race, a computer variation of the game Robo Rally. It can be played locally against bots or over the local network. The number of players may vary between 2 and 8.

The first part of our task was analyzing the given problem/game and creating the required diagrams. E.g. domain model, sequence diagrams, contracts, etc. This was done during the first months.

The rule book can be downloaded in attachment. Since we didn't have to implement all the rules, a short list of things we did differently:

  • You can only have one upgrade card.
  • You can't exchange an upgrade card to avoid a damage point.
  • The robot lasers only last one square when shot instead of the normal lasers that will continue as long as it isn't stopped by an object. E.g. a wall.
    The normal laser will go through robots but only the first robot that was hit will be damaged. This is visible on the image below, look at the purple
  • ...


For the course "Introduction to Web Technologies" I had to create a blog and an online portfolio. The website had to be built with PHP, MySQL, JavaScript, XHTML and CSS.

There were a few requirements; the website had to be XHTML and CSS valid. When everything was finished we were encouraged to use AJAX where possible. Everyone alse had to implement one unique extra, I choose for an AJAX calendar and an event system. The event system was based on the event system I saw on a few Drupal websites.

Functionality requirements

  • Blog
    • Post/edit/delete blog entries
    • Post/edit/delete comments
  • Portfolio
    • Upload assignments and allow them to be downloaded by registered users.
    • Auto generate a list of all the acquired skills (from the uploaded assignments)
  • Users
    • Register, log in and log out
    • Different user levels (Admin, registered, guest)
  • Extra
    • AJAX calendar
    • Event system

A Social Network

For the course "Advanced Web Technologies" we (four fellow students and me) had to create a website that is focused on students and contains elements of Facebook, Wikipedia, Reddit’s TIL and StackOverflow.

The website had to be build with JSP, Java Servlets and MySQL. PHP and other server side technologies weren't allowed. There were several requirements I listed a few below. If you understand dutch and want to know all the requirements, you can read the assignment that is posted in attachment.


  • Register users
  • (De)friend users
  • Invite new users
  • Ask questions
  • Answer questions
  • Post articles
  • ...