Projects

This is just a very small selection of the projects I worked on.

PDF Structure Viewer and Digital Signing

I created the PDF Structure Viewer application to view the internal structure of a PDF. This was created to assist in making an open source Rust library for the Digital Signing of PDFs. The project was supported by MyEmma and later also Snelstart.

This project allows for the programmatic signing of PDFs. The PDFs are cryptographically signed to not allow any modifications to the PDF without invalidating the signature. This project is planned to be extended to allow for PDF Advanced Electronic Signatures (PAdES), CAdES and Qualified Electronic Signing (QES). This means that the library can be used for the signing of digital documents that follow the eIDAS Regulation. Which in turn means that the documents carry the same legal weight as a handwritten signature.

View source at: https://github.com/ralpha/pdf_structure_viewer and https://github.com/ralpha/pdf_signing

Screenshot PDF Structure Viewer

DF Language Server

Dwarf Fortress RAW language server is an application that allows Dwarf Fortress RAW files to be checked for correctness. This allows modders of the game (Dwarf Fortress) to detect problems in there mod files.

Qua implementation this project is similar to a compiler. It goes though the following 3 stages:

  • Lexical Analysis (tokenization and creation of the AST)
  • Syntax Analysis (AST to a data structure)
  • Semantic Analysis (Validate data structures)

To allow for integration with IDEs it uses the Language Server Protocol (LSP). The clients/IDE extensions all use the same language server application. This allows for great flexibility and ease of maintenance.

View source at: https://gitlab.com/df-modding-tools/df-raw-language-server

DF Language Server Logo

DF Storyteller

DF Storyteller is a client side application for parsing and storing Dwarf Fortress Legends files. It provides an API for other apps to visualize the data.

This application was written in Rust. It is a full stack application. It incorporates a lot of technologies, some notable are:

  • Good software architecture
  • Automatic documentation creation
  • Multi-database support
  • CI/CD Pipeline (using Docker)
  • RESTfull/GraphQL API
  • Advanced error handling
  • Automatic bug reporting
  • Cross platform
  • Security first design
  • ...

View source at: https://gitlab.com/df_storyteller/df-storyteller

Logo DFStoryteller

President Student Council Hasselt University

Reforming and very actively participating in the governance of the university. There where a lot of projects we accomplished: Mobility problems, Bringing students together in sub organizations, Study track rule changes, Internal governance, National and Internal student representation.

This gave me more inside into the workings of big organizations, like universities. Working with and steering of big teams (of volunteers) to complete projects. (Internal) Governance and politics inside the organizations.

UHasselt entrance

G19 keyboard Drivers for Linux

Drivers for a Logitech G19 keyboard. Based on MultiCoreNop and sblatt initial projects. I made a stable version, an installer, added Google Calendar applet, ...

View source at: https://github.com/ralpha/Logitech-G19-Linux-Daemon

G19 Screenshot

LaTeX ⇒ HTML Compiler

Compiler for LaTeX to HTML. This worked on a subset of LaTeX2e and uses MathML. The compiler was made using BISON and FLEX and can easily be expanded to support all of LaTeX2e.

Result Compiler

Face Detection

An application that implements face detection in MATLAB. It is based on ‘Face Detection in Color Images’. We use a color image and try to detect human faces in the image. This is done by using the color components of the image to extrapolate where the faces are and to search for eyes and mouths.
Report: download here.

Result Face Detection

Lixo

Lixo is a small game that I developed for Android devices. It is a lightweight app that can be run on almost any device.
A fun little game to spend a few minutes with.

Logo Lixo

Roster System

Platform to keep track of records. I developed this system together with Bjorn Schijff for an Arma 3 military simulation unit. We were leading this unit at the time. We made this system to keep track of our members and their activities. This system also allowed the members to upload missions of their own and make them playable on the server.
Most advanced features:

  • Dynamic roster tree view
  • Upload missions to the server
  • Operations log

This system was put in place because it made it easier to distribute work to more personnel.
We developed this system in our spare time.
We stopped development in September 2015 because we both retired from the unit.

Logo 27thSM

ORBAT

Tree-view of a military structure. This was the predecessor to the Roster System. The ORBAT (Order of battle) is based on the military variant and was developed in my spare time. It works with json and javascript and is all client-side. I later made my code available on GitHub.

Screenshot ORBAT

UML Editor

Tom Mahieu and I made a UML-Editor as a project for university. We developed this project in Java. The most notable features are:

  • Edit the UML
  • Save and Load UML's
  • Export to Java-code (and IDE-project files)
  • Export to image
  • Undo/Redo capability
Screenshot UML-Editor

Movie website

For one of the courses during my studies at UHasselt I had an assignment to build a website for a fictional movie theater. This website was built from scratch and did not use any external plugins. It used all of the latest HTML5 standards and uses PHP with a PostgreSQL database.

Screenshot moviewebsite

File system organizer

For my graduation project in secondary education I made a program that can organize files by metadata. This program was written in C++ using OpenGL and GLUT and Microsoft Access database. Most notable features (mainly in application design):

  • Scans and indexes a file-system fairly fast.
  • Offside data modifications and later committing changes.
  • Uses a lot of factors to sort data.
  • Move and sort files easily.
Screenshot Program