Oliverde8's blue Website

The SUN always shines - A Seven Deadly Sin Fanfiction

I am not sure how I started watching the Seven Deadly Sin Anime, but well I did. I didn t fall in love with it it was an interesting anime to watch. Then came season 2 which for me didn t start great until Episode 14 "Master of the Sun". What an introduction to one Escanor. At this stage the Anime wasn t going on fast enought for me and I started to read the Manga which introduces Escanor a bit earlier with a fight with Izraf. At this point I couldn t get enought of him. But then came the fight with the Demon King. The fight wasn t great but the fight with Escanor at his ...

Read more

The Microservice trend - Chapter 1 - Cleaner code

This article is part of a series of Article I intend to write on microservices and the few things I have seen. I am not sure how long it will be as I am publishing them as I write them. In the articles when I talk about an “application” I often mean the end result, microservices will work together for multiple goals, for example to deliver a B2B website as well as B2C website. I consider that the B2B website & the B2C website are 2 applications that relies on the services at the back. Where do they come from Still a few years ago we used to develop huge monolithic appl ...

Read more

Catching exceptions, how hard can it be

I am surprised at how much people don t "catch" properly their exceptions. Just very recently I stumbled to a PR on an open source project that decided me to write this little article. Let s have a look to this PR of Akeneo : PIM-7915: Display a modal on deletion error We can see here that there is a nice catch : // ... } catch (\Exception $exception) { return new JsonResponse([ message => $exception->getMessage()], 500); }; What bothers me with this catch? Well, the code here catches all exceptions and logs nothing. So it will catch "errors&q ...

Read more

Playing with trait's to make autoconstructs in PHP

I have recently for the first time in a while being playing with a bit of Java. One of the library on the project was lombok. What this library allows is to generate getters & setters during compilations thanks to annotations. This is very often done in php with the magic methods (http://php.net/manual/en/language.oop5.magic.php). What lombok also allows is to create constructors automatically, again with a simple annoation. This is great and is something I have never seen in PHP. Why is it practical to have constructors genetated automatically ? When extending an existing cla ...

Read more

Building a Simple PHP-ETL

Anyone of you fallowing my github might have seen that I have recently created a new library : PHP-ETL Recently I had a did a few repetitive projects, all of them consisted of transforming a csv file. I ended up identifying these repetetive tasks. Transformation : I identified the transformations very early in the process, and coded the RuleEngine a while ago. Grouping : On a few of the occasion I ended up having to group multiple lines of the csv file into one line. This I had todo to create configurable products from variants for exemple. Multiple destination : Quite often wh ...

Read more

Akeneo 2.0 - An alpha at it's best

I have been working with akeneo 2.0 for a few month now and I can say it has been a lot of frustrations. I will try to balance this article with nice new features in Akeneo 2.0 but not sure I will be able to balance much. Variations First of all let’s talk about “the” main feature in this 2.0, variations. Indeed the variaiton modelisation is much better. Using the interface is easier and variations can be found easily without much issue. If you have watched any of the Akeneo videos you will see how well it looks and seems to work. But here is where the dream ends, ...

Read more

Mysql, the limit's of the offset

I was in conversation with a friend the other day, and we were talking about exporting by batch big quantities of data. I am not sure how we ended up talking about how using the "LIMIT". There are a few mistakes people does when working with SQL and adding LIMIT s with an offset to their queries. A database allows us to query a database and have results rather fast; but some very simple queries can create performance issues. It s important to understand the basics of how things work to understand the issue. In this article we will talk about the usage of the "LIMIT" ...

Read more

Grafana - Data visualization

I don t know if you ever heard of grafana, few people even in the computer industry has. Grafana is a great tool to visualise data. I have been using grafana for over a year now to have statistics on the usage of eXpansion. A tool I made for the Maniaplanet game. More know to many people is Kibana, and indeed I also started there. I first used Kibana to make visualise statistics on the usage of eXpansion. But I realized very quickly that Kibana was not designed for that. Kibana is designed for logs monitoring; I could get nice graps showing me stats about the different versions of the tool ...

Read more

Assassin's Creed Origins

After a year of break AC is back. And this time we are going back way back in the past, into Egypt. Agains public opinion I quite liked AC Unity & Sydicate which I thought was both good games; even throught they were not exceptional. Syndicate was better with both twins being more fun while Unity was quite dull. But well compared to Black Flag, both remained unexceptional games. The main issue with both games was the story and the repetitive side quests. Black flag offered more diversity as the map represented a bigger area; but both Unity & Syndicate were in a single City and ...

Read more

eXpansion2 - Abandoning Doctrine & Going with Propel

Among the many things I try and manage at home one of my favorites ongoing projects is eXpansion2. For those that doesen t know what it s about; it s a server controller for the Maniaplanet(Tracknmania) game. It connects to the games dedicated server and adds interfaces to manage the server as well as new features such as records. The controller runs as a deamon on the server. eXpansion is a project we started a while back, been 5 years or maybe even more. The first version was based on a controller made by the game s developpers. The last version of the game has broken our controller a ...

Read more