In September this year I started my first course of my master degree in software engineering at the Open University (OU) in the Netherlands. I have now officially completed this first course, so this seems like a good occasion to look back on my experiences so far. The subjects of this first course were object-oriented programming (using Java) and relational databases. A small side-note for those that do not know, the OU mainly runs remote courses, so all of the materials and lectures are done online.

For a personal project I’m currently working on, I’m using test-driven development. For those not familiar with test-driven development (or TDD), the basic idea is writing tests that fail first. The next step is writing the minimal amount of code to pass the test. And finally refactoring, cleaning, and improving the code while using the tests to ensure nothing breaks. After which you repeat the process. (see the Wikipedia article)

For about the last year or so my website consisted of a bunch of static pages, generated with the static site generator Hugo. While there is nothing really wrong with my site as it right now, it was made when I was frustrated with how bloated many websites had become (and still are). It’s all pure html/css with not a single line of JavaScript. The look and feel of this site are also very plaintext-ish.

In March I wrote a post about my BSc graduate assignment on developing a data ecosystem infrastructure. This Free and Open-Source Software (FOSS) collects, cleans, and structures the learning analytics data gathered by the different systems in the ecosystem. At the same time the software makes the structured and unstructured (raw) data available to other systems for further processing or presentation. This project is part of Marcel Schmitz’s PhD research project.

Today I was looking at some Flask-WTForms pcaps to see how they worked when I noticed something weird. Every second or so, Firefox sends a GET request to After a bit of reading I found out it is used to check whether a client is in a captive portal. These are wi-fi hot-spots which have a web page on which the user has to login, accept a terms of service/EULA or something similar, like for example on Dutch trains:

I’m currently working on my graduate internship. My project is part of Marcel’s PhD research project about learning analytics, learning dashboards, and learning design. Background One of the problems faced by faculties, course designers, and teachers is the lack of insight into the student experience. Faculties are rated based on two factors: the time it takes for students to get their degree and the student experience. The first factor is obvious and easy to measure, but student experience is harder.

Usually when preparing for an exam, I create flashcards based on practice exams, course material, and the notes I took during class. To do this I use a great piece of free (as in freedom) software called Anki. Anki also has mobile apps available and makes use of spaced repetition, which basically comes down to, if you get an answer right, it takes longer for the same question to be asked again.

About a year ago (a few months longer actually) I switched to Linux as my main operating system. My goal was to become more proficiant in the use and administration of Linux and unix-like systems. Software Switching to Linux didn’t just mean ditching Windows, but also the applications I was used to working with. Software like Microsoft Office springs to mind as an obvious one. Since MS Office doesn’t run on Linux natively I had to find another solution.

Until about a week ago I had a complete Wordpress installation for my About page, my CV and some old blog posts. Don’t get me wrong, I like Wordpress, and I still use it when I build websites for other people. But it seemed like overkill for a website that is basically some plaintext, some formatting, and maybe an image or two. What got me thinking about this was Bryan Lunduke’s video, The World Wide Web Sucks, in which he rants about high RAM and CPU usage of websites these days.