A tutorial on how to use the Messenger component of Symfony 4 with RabbitMQ

Running tasks asynchronous is becoming vital for any large web application. An example, on which I worked, is a Facebook-like activity stream for Open Social (Drupal 8). Imagine that a personal notification based on a relation, rank, and gender has to be generated for millions of users when an event happens. Pretty complex right? Now, imagine the messages to have to be aggregated (e.g., messages like there are 5 new comments on your posts). It Read more…

A realistic plan to pay for a universal basic income in the Netherlands

Een Nederlandse versie kan je hier vinden The idea of a universal basic income (UBI) is gaining traction on the whole political sphere. The central concept is that every citizen gets a monthly allowance that is above the poverty line with no mandatory requirements (e.g., having to apply for a job). Even if you do have a salary, you would still get the monthly UBI on top of it. As the concept is assuming a Read more…

API Platform and Symfony 4

How to build a Symfony 4 API Platform application from scratch

Symfony 4 and the API Platform Framework make it easy to create an API application with basic CRUD operations. However, in real-world applications more advanced features (e.g. authentication and custom endpoints) are needed which require quite a bit of knowledge to set-up. Therefore, in this blog article, we explore these advanced features by creating an example application that covers the following topics: Step 1. Installation of API Platform and the EasyAdminBundle Step 2. Creation of Read more…

My thoughts on the Google Adwords API and how to get to your first API call

tl;dr: Do NOT USE the Google Adwords API but the Google Ads API when you build your first integration. The world is a better place because Google connected us faster and more user friendlier to the internet than other options. However, as the company matured the output of the innovation efforts have stagnated. For example, the self-driving car efforts of Waymo (now part of Alphabet), which started testing since 2009, have been caught up by Read more…

Why you should use CSS Grid for your layouts

In my career as a backend web developer, I was often amazed by the state of the technologies needed to get something working at the front end. From backward browser compatibility to getting the layout you want the solution always seemed to consist of hacky workarounds. For example, for my tutoring product, in order to get the grid to get a non-sticky footer always on the bottom, I had to use a wrapper element with Read more…

An architecture to build a YouTube / Netflix service

In this article, I present an architecture that I use for building my video streaming website with open source components. I am new to the video streaming technology, but I was positively surprised at the number of tools available to make a video streaming service. Technical requirements of the service Should have authorization for retrieving the videos. Should include a commerce and payment (iDEAL) platform. Should be performant (also in uploading and processing videos). A Read more…

Clean Room

Lessons learned from trying to consume no content for a month

As published in this article, I took up the challenge of banning most content consumption out of my life for a month. In this follow up article I report on how the month went and will discuss the lessons learned for the future. Major benefits during the month First, it felt great to be around my 1-year-old son without being distracted by my phone. It felt more like super high-quality time instead of having to Read more…

Een realistisch plan om een basisinkomen te betalen in Nederland

Vertaling van het originele artikel wat in Engels geschreven was. Het idee van een universeel basisinkomen is populair aan het worden aan beide kanten van het politieke spectrum. Vooral in de Verenigde staten is er een discussie aan de gang welke wordt gevoed door voorlopers van de innovatie zoals Elon Musk en Mark Zuckerberg. Het primaire concept is dat elke burgen een onvoorwaardelijke maandelijkse toelage krijgt die hoger ligt dan de armoedegrens. De toelage krijg Read more…

How to get Bluetooth headphones to work with Ubuntu

So, in the name productivity and as a reward for cleaning my office room, I decided to reward myself with high-quality headphones. My office room is next to a busy cycling street, and during rush hour it can be challenging to focus. Furthermore, my girlfriend is tutororing math at home causing the doorbell to ring many times during the day. My previous headphones where all in the €50 price range and did not have noise Read more…

Phone Recording Concert

No content consumption for a month challenge

I am never bored, and I am an expert at spending leisure time. When there are 100 people in the room I am less conscientious than 82 of them (understandmyself.com). I would not be one of the victims when the world’s economy is fully automated and taken over by robots because I will have no problem finding enough activities for me to spend my time on. For example, in the last two weeks, I spend Read more…

First month of the blog, 500 visitors!

This article gives an overview of how the first month of the blog went with insight in statistics from behind the scenes. It is mainly interested for people that read this blog or that are thinking of starting their blog. Data & statistics Post & page visits (what people viewed): Referrers (where people come from): Countries: Clicks (from the posts): Monthly views and visitors: I am quite happy with the visitors in the first month. Read more…