Workation Diary: The Barcelona Preparation

The day I make a dream come true finally becomes reality. My long planned work and vacation trip (short: workation) just began this week. As we all now, the Covid-19 pandemic brought home and remote work much faster into our life than expected. Especially for software engineers, who only needs their laptop for work, remote … read more …

Do Readonly Properties replace Getters (in PHP)?

I am in programming since around 2006 and started coding with Borland C++ (I can hear you saying “Bor -what”). Back that time, we created Desktop UI applications with object oriented C++ and together with the language, we learned best practices and common approaches (to object oriented programming). One major rule of thumb – among … read more …

On a personal note – I will change the format of this blog a bit

Back in 2015, I started this blog for having a platform to share my thoughts about my profession and random things. Later, starting from 2018, I got in touch with algorithms, data structures and every thing around that what I call „deeper computer science“. During that time, I had job interviews with Facebook, Google and … read more …

About Mocking in Unit Tests

Recently at SCAYLE, I wrote a Laravel service that inserts data using Eloquent into a table like this: For people not familiar with Laravel/Eloquent: The HelloWorld model mirrors the database structure and the save method persists data into the database table. So far, so good. Like for any good and responsible project, I wrote unit … read more …

When to use Traits in PHP

Traits were introduced to PHP in version 5.4. While classes were introduced in version 4, class inheritance was – as in Java – limited to single inheritance only from the very beginning. Class Inheritance: The Good, The Bad, The Ugly Class Inheritance is a central concept in object oriented programming and exists in every programming … read more …

Data Transformation with Benthos

For a current project, I need to read data from an API, transform and push it to an AWS S3 bucket. Normally I would consider to use a standard programming language for that because there is no “magic” involved. However, one of the requirements is to use Benthos, a tool for “Fancy stream processing made … read more …

Passwords and Managers – My Very Own Story

Keestash

Back in 2010, when I started studying computer science, the very first thing that I have asked myself was: who is responsible for protecting my data?  This was a start of a new journey for me. On the one hand, I was learning a lot of new things, such as OOP, databases, distributed systems (today … read more …

A few Notes about Migrating to Laminas

In 2019 I wrote about a MySQL 5.7 migration at Check24. While it is very exciting when working on new features, it is also a good thing to think about the architecture and use modern frameworks and libraries. Working on the architecture provides also the opportunity to improve source code quality and introduce quick wins. … read more …

Scalable System Design: Design a Contact Tracing System

In this post, I want to address scalable system design and how to grow a system while it’s user base grows. Because talking only about the theory can become boring very quickly, I want to discuss this topic on a practical example. Before I start with the design itself, keep in mind that there is … read more …

Migrate a Keestash App from jQuery to Vue.Js

When starting Keestash back in late 2018, I was focused on the PHP backend and how things might work “out of the box”. The frontend needed just some click handlers here and there and thus, jQuery was the choice. Now, about two years later, things have changed a bit. The frontend got a boost with … read more …