Skip to content

Posts

Mar 24th, 2024

Improving the performance of a NodeJS server, a case study

I was given the task to upgrade a small NodeJS server nobody touched in years, and also see if I could do anything about its slow response time to (especially concurrent) requests.

#case-study #nodejs #worker-threads #performance
CASE-STUDY
Feb 10th, 2024

Our bumpy road to PHP 8.1, a case study

PHP upgrade doesn't always have to be a pain, in this case it was not the codebase that posed a challenge. On the contrary, it was fairly easy to identify what needed to be changed in the code to get it ready for the upgrade. The problem was a custom extension we had to upgrade and recompile, and the restrictions of the pipeline. Here is how I solved the problem.

#case-study #PHP #upgrade #extensions
CASE-STUDY
Oct 18th, 2023

Message queue replacement, a case study

On this project, we had to reduce the time it took for a background job to deliver downloadable content for the client. The existing message queue solution - RabbitMQ - was not ideal for this, so we had to look for an alternative queuing solution.

#case-study #RabbitMQ #message-queue #PHP #PostgreSQL #php-enqueue
CASE-STUDY
Jul 11th, 2023

Reintroducing unit tests to a legacy project, a case study

This is a success story of bringing unit testing back from the dead. As I have demonstrated in a previous case study, initiative alone is not enough, victory always requires dedication from the entire dev team. Let me explain how we made it happen this time.

#case-study #unit-test #testing #PHP #code
CASE-STUDY
Mar 2nd, 2022

Introducing unit tests to a monolithic application, a case study

Not all stories have a happy ending, but I am a firm believer that we can also learn from our failures. This was one of those occasions, so let's look at the time when I tried to get my unwilling team to adopt unit testing.

#case-study #unit-test #testing #PHP #code
CASE-STUDY
Feb 19th, 2021

Overtime in Software Development

I have a great interest in mental health topics and the recent online conversations about the prevalence of overtime particularly in game development prompted me to explore the problem in greater depth.

#mental-health #overtime #extreme-programming #work-life-balance
MENTAL-HEALTH
Aug 18th, 2020

Redis message queue implementation, a case study

I was working on a Yii2 application running on an Apache server, where the occasional background job was your plain old cron setup executing some procedural scripts. As the application grew, this solution became unmaintainable and we needed something better.

#case-study #redis #message-queue #PHP #yii2
CASE-STUDY
Sep 5th, 2019

How we made BDD work

In 2018 and 2019, I took a brief detour from PHP development to help rework our application with a different stack, a Ruby on Rails backend and a VueJS frontend. This project was special to me because it was the first time I worked with BDD and I was also tasked with being the product owner.

#BDD #rspec #testing #ruby #product-owner #code
BDD
Mar 9th, 2019

The Vue.js 101 - Sharing data between components

The Vue.js 101 series is about things I wish someone had told me about when I first started working with the framework. Components often need to react to what happens in another component. But how exactly do they know when something is updated elsewhere? Let's explore this one.

#javascript #learning #vuejs2 #framework #code
JAVASCRIPT
Feb 28th, 2019

The many ways to center a div with CSS

Did you ever happen to get annoyed when it didn’t work out the way you wanted for the first try? Which solution works best in specific scenarios? Are there solutions that are superior to others? It may not be so trivial after all!

#CSS #learning #code
CSS
Nov 11th, 2018

The Vue.js 101 - Data within the component: data(), computed and $options

The Vue.js 101 series is about things I wish someone had told me about when I first started working with the framework. Didn't it seem confusing at first, how Vue components had these methods, these computed variables and the data() function, and it wasn't immediately obvious what's what? You're not alone.

#javascript #learning #vuejs2 #framework #code
JAVASCRIPT
Sep 27th, 2018

The Vue.js 101 - A little more about styles

The Vue.js 101 series is about things I wish someone had told me about when I first started working with the framework. Have you ever wondered how can you limit or extend the capabilities of the styles you define on each component? And how do you even structure your styles in a Vue.js application? Let's look into it!

#javascript #learning #vuejs2 #CSS #framework #code
JAVASCRIPT
May 2nd, 2018

The importance of commit messages

This is an argument for writing better commit messages, in addition to showing some real-world examples. Have you ever refactored commit messages? Are you wondering what's the point? This article might just be the right read for you.

#git #learning #commit #refactoring #code
GIT
Sep 1st, 2017

Where I failed

When team cooperation is not working as it should, it can be tempting to cut corners or act like a one-man-band and just try to do your own thing. I'd argue that's almost never the right solution, and you should not give up on trying to improve collaboration.

#soft-skills #cooperation #code-review #team
SOFT-SKILLS
Apr 11th, 2017

Code consistency vs. improvement

Is it better to rewrite something that has been there longer than the Great Wall of China? When we consider improving code quality, we might find ourselves in a clamp between the need for cleaner code, and consistency with the old parts of the software. Is there a way out of this dilemma? I am trying to find an answer for just that in this article.

#clean-code #legacy-code #PHP #refactoring #code
CLEAN-CODE