Featured Article

Inversion of Control vs Dependency Injection

Background Lately, I have been interviewing candidates for a Developer role and realised how much confusion there is, still, around the concepts of Inversion of Control and Dependency Injection. The majority of people use both terms interchangeably. Probably, the confusion derives from the heavy use of those concepts on Spring, where Inversion of Control is used to enable Dependency Injection.… Read More »

How to migrate WordPress

This is a post based on my recent experience to upgrade this blog, a post about WordPress written in WordPress 😉 After three years, my WordPress website was way out of date and the warnings to update it were getting louder and louder: PHP version, WordPress version, theme version, plugins version… The last thing I… Read More »

Future beginning and end in Scala

A common issue noticed when reviewing pull requests is the understanding of the boundaries of Futures. In most cases, people take for granted that given a function with this signature the full body of the function will be executed in the Future. Let’s look closely into this with a couple of examples Example 1 Here’s… Read More »

How to construct objects in Scala

Scala’s object-oriented programming style comes with some syntactic sugar and a few tricks. In order to get a better understanding of how Scala works, we will examine a few Scala examples and the corresponding byte code (in reality, the Java code resulting from decompiling the class files). Examples Empty class Simplest possible example, an empty… Read More »

How to implement a Poset in Java

Inspired by this question in Stack Overflow, I decided to try my hand at implementing a Poset in Java. In order to understand how to do this, we need to define some concepts. Basic Poset terminology Poset definition A Poset is a set of elements with a binary relation defined between them (not necessarily between… Read More »

Scala’s uniform object model

Scala is functional and object-oriented. In a way, Scala is more object-oriented than Java as it has a uniform object model similar to Smalltalk’s. So what is this uniform object model? In a nutshell: every value is an object and every operation is a method call. That’s right, there are no primitive types, i.e. 1… Read More »