I'm a software engineer
with a ♥ for Java & web
Yep, that's me...
slow dancing with a laptop
My passion lies in software development, because it is the place where logical thinking and creativity meet each other, stilling my endless appetite to make things better.
Thriving in motivated teams, I keep an eye out to seek out opportunities to mentor and guide coworkers and help everyone reach their full potential, in every aspect.
I always try to push my limits by getting involved in all kinds of projects, as well professionally as in my spare time. While I focus on the latest advancements within the Java world, you'll also find me tinkering with machine learning, design, cloud, ...
VDAB, which stands for "Flemish Service for Employment and Vocational Training," is a government organization in Belgium that primarily focuses on the labor market in Flanders.
I lead the PONOS team, which is responsible for services for employers. We assist them in finding and matching the best candidates for the job.
While this might not sound particularly glamorous, it has been quite a rollercoaster ride. We're navigating a mix of both outdated and cutting-edge technologies, all while managing a team of up to 20 people to meet extremely tight deadlines.
Presales investigation into the necessary steps to make an existing older applications deployable in the cloud, and maintainable by a third party.
Over several days, I conducted an in-depth investigation into the state of the applications and what modifications are necessary to achieve the set objectives. I documented this in a comprehensive report.
A portal designed for handling all reimbursements related to admissions in hospitals, elderly care, mobility aids and revalidations. Acquired data is validated using a rule engine to subsequently calculate the reimbursement amount.
The challenge lies in the enormous amount of data that need to be processed in a timely and reliable fashion. This is where a microservice-based architecture comes in place, using CQRS with event sourcing and domain driven design. We also treat medical information, which needs to be stored in a GDPR-compliant and secured way.
The European fishery business is going through a big transition. The European Union demands more communication between the member states, in a unified way.
Our team contributed as Belgium to several open-source microservices in order to exchange and inspect info about fishery sales. An amazing project which involved international collaboration and reverse-engineering communication with sattelites.
In 2016, Colruyt was making a big switch, from mainframe-based applications to Java EE web applications.
During my time at Colruyt, I've had a very broad role. I've spent my time on:
The European Union has developed the European Register of Road Transport Undertaking. The purpose is for every member state to exchange information about professional transportation.
FOD Mobility Transport is responsible for the Belgian implementation, called B-ERRU. This was implemented in Cool-Gen technology. We got the assignment to migrate this to a Java + Angular JS project.
Friends of a colleague, Eva and Lise, were getting married! They didn't want any wedding presents. But, you know how it goes: no-one will likes to come empty handed, so everyone would still buy a present. So, let's think out of the box...
In 2011, France had a big problem with leaking breast implants.
In order to avoid the same issue in Belgium, we have built several applications for tracking these implants. To subsidize these applications, the Belgian government decided to tax companies who work in the world of medical implanted devices.
Contributions is the application which calculates and invoices taxes. Even more: we make it possible for the business to adapt the business rules and -flow themselves!
In 2011, France had a big problem with leaking breast implants.
In order to avoid the same issue in Belgium, we were asked to build a web application which registers, checks and does a follow-up of everything that has to do something with medical implanted devices.
Insisto is a great initiative from the Flemish government to streamline youth care management.
Youth care in Flanders is organized at several levels, by several instances. Insisto is web application which makes all information accessible and transparant for all these parties.
I did an intership of 3 months at VDK Spaarbank (Savings Bank). At the IT department, I built a Silverlight application that uses a 3-tier back-end.
My task was to build an easy-to-use application with which such special rules can be set up. I could count on the support of great colleagues, which made it a great internship.
For a startup company, I've helped developing and integrating Keywi.
This is a little box that allows cars to be opened with your smartphone. This helps sharing your car, which would lead to having less cars in the world!
On average a car is only used less than 2 out of the 24 hours a day. By renting your car when you don’t need it, you’re able to save a lot of money. In this way you won’t only earn some money with your stationed car but you also take care of the environment.
The city Herzele asked the students Applied Informatics to build a site on which people could find all the beautiful heritage Herzele has to offer. The content on that site must be easily modifyable with an back-end Java application. The best work would be selected as the official website.
And guess who won! :D
A personal portfolio that is super-simple to maintain, using as little code as possible and providing all contents via YAML and Markdown files. All this wrapped in a minimilastic design. And the best part? I'm having a blast experimenting with SvelteKit while doing this!
We're tying the knot! Being a developer, I couldn't resist the urge to add a tech twist to our wedding preparations. So, we're sending out our invitations uniquely - as QR codes! Simply scan to RSVP on our specially designed website. This also gives me the perfect opportunity to experiment with some React, Parcel, and Nest. Let the coding and celebrations begin!"
I'm thrilled to announce that I've become the proud father of Tibo. While many opt for a single store to manage their birth list, we decided to take a different route. I'm excited to create a more personalized birth list myself, allowing us to shop at different stores.
Jumping on the microservices craze (which allows me to experiment with all kinds of technologies), I've built a personal portal. It's helping me simplify my life. Or at least, that's the purpose :)
At the time, Unitils was an awesome Java framework that simplifies writing automated tests.
I wrote an extension on unitils-selenium to make it possible to record Selenium tests as video files.
I've been fascinated by computers for as long as I can remember. Out of nostalgia, I like to keep some older stuff around.
This course introduces the essential concepts of software architecture. A software architecture is an abstract view of a software system distinct from the details of implementation, algorithms, and data representation. Architecture is, increasingly, a crucial part of a software organization's business strategy.
Multi-day trainings about the basics of leading a team, and how to deal with conflict situations
Read people and react intelligently with the aid of the Insights-framework.
An introduction to the basic security measures in order to not only build a great web application, but also a safe one.
This Java developer training program, spanning at least ten weeks, equips participants with essential technical skills for efficiency. It covers JavaEE, Spring, JPA, Hibernate, EJB, JSF, Web Services, and more, taught by seasoned consultants actively using these technologies in their projects.
Start-ups in the IT-world: the lean start-up method
We mapped our log lines to useful fields. Now, it's time to deliver: let's visualize our data with Kibana. At the end of the road, we'll be able to search through our logs, discover new connections by visualizing data and... finally make sense of your logs.
In the previous part, we've set up the first component in the process: Filebeat. This component sends all the log lines to Logstash. We will now configure Logstash to interpret the log lines and map it to useful, searchable, filterable and groupable data.
In the previous parts of this series, we've discovered what Elastic Search is and how it can help us analyzing our logs.
In the previous part, we've downloaded and installed the necessary software. Now, the time has come to configure the components, starting with: Filebeat.
Ok! Hopefully we're now at a point where we have logs with timestamps, tons of information, all structured in a recognizable way.
Let's now pump our logs in an Elastic Search database, so that we can start searching, filtering, distilling information out of them!
Elastic Search, work your magic please! Right?
In my current project, when something goes wrong, we have trouble finding out what and where exactly.
Why? Can't we just see what happens in the logs?
Yeah… but with great effort… We have several issues making sense of our logs.
In this article, I'll demonstrate how Elastic Search can help us to address these needs.
One of my grandmothers has difficulties hearing. Doing phone calls has become impossible, even with adapted phones that yell in your ear.
To avoid losing contact, we've tried to teach her how use send texts over sms. This wasn't a great success: the keyboard confused her, there were too many steps, too many buttons: it went wrong easily.
Hell, I'm a developer. I surely can come up with an appropriate solution, right? I've got an old Samsung Galaxy S5 lying around that my grandmother can use... so let's develop an easy mail app!
Due to disk space problems, I've experienced a weird issue which causes a network to become unremovable. This is how I've solved it...
In my few years as consultant software developer, I've been in great projects. Some went exactly as planned, smooth as a whistle. Others went completely wrong, rendering the team and myself stressed or even furious.
I've had the luck - yes, luck - to start in a big project that was completely failing. Every day, we were struggling with what had to be delivered, an enormous list of bugs that needed to be fixed, and the constant updates that we needed to release. Working late nights were no exception.
"How can we ever save this project?", was the big question. Serious change was needed, but there was no time, no money, no environment to support it. What to do?
For my current project, the need for deep integration tests rises.
A few years ago, there was a lot of buzz about Arquillian, a framework that let's you setup Integration tests for a Java EE environment.
Basically: It lets you run JUnit tests on a server. This allows you to create realistic integration tests.
Now that the framework has matured, let's experiment with the Arquillian test framework! I want to see what it can and cannot do.
How can you collaborate when you don't have any guarantees about the members of the team, their availability, their goals or their deadlines?
Being dependent on open source software is a risk. You can lower the risk by following best-practices. In this article, I try to define the most important practices.
Every web developer has experienced this before: the client wants to show "almost everything" on the same page, but is very unhappy when he opens the site and has to look at a blank page for more than a couple of seconds.
Nowadays, developers have the means to optimize a lot (and fix everything that broke in the process), but we still cannot cast a magic “load superfast” spell and get rid of all loading time. Can we do more?