When I want to take a break at work, I sometimes read technology forums. And there is one kind of posts that I really like: the flame wars between programming languages. I like these posts because you can see passionate and smart people who are arguing as if their lives were at play. These posts have 2 […]
When it comes to relational databases, I can’t help thinking that something is missing. They’re used everywhere. There are many different databases: from the small and useful SQLite to the powerful Teradata. But, there are only a few articles that explain how a database works. You can google by yourself “how does a relational database […]
I’ve interviewed approximately 60 developers since I started working and I still wander how I can improve my skills as a technical interviewer. I’ve never got a formation that explains how to conduct interviews. During the years, I’ve changed the way I interview people. I’ve also lowered my expectations since I’m not working on projects that requires world […]
I recently applied for a position at my current corporation and one of the questions I was asked was “what is a good application?”. I never thought of it before. Therefore, it was a really good exercise to formalize my own vision of a good software application. It was a technical position so my answer was from […]
In my previous article, I spoke about the factory patterns. These patterns are part of creational patterns. In this post we’ll focus on the rest of the creational patterns: the Singleton, the Builder and the prototype.
In this in-depth article I present the advantages and drawbacks of factories. Then I present each type with real examples from famous Java frameworks or Java APIs. I use Java code to implement factories but if you don’t know Java you’ll still be able to understand the idea. I also use UML to present each pattern.
This article is about quantum mechanics. More precisely, it’s about a course I watched on YouTube to have a good idea of this weird subject. Quantum mechanics is a very interesting field since it changes the way you see things and it’s likely to change drastically the world of IT.
Have you ever wondered how Shazam works? I asked myself this question a few years ago and I read a research article written by Avery Li-Chun Wang, the confounder of Shazam, to understand the magic behind Shazam. In this in-depth article I explain all the mechanisms behind Shazam.
In this article, I’ll focus on the Runtime Data Areas described in the JVM specifications. Those areas are designed to store the data used by a program or by the JVM itself. I’ll first present an overview of the JVM then what bytecode is and finally the different data areas.
Most JAVA developers are using Maps and especially HashMaps. But how many developers know how a HashMap works internally? In this post, I’ll explain the implementation of java.util.HashMap, present what’s new in the JAVA 8 implementation and talk about performance, memory and known issues when using HashMaps.