
June 20, 2019
A few days ago, Facebook presented Libra, a blockchain-based cryptocurrency project.
After the inception of Bitcoin around ten years ago, we got more and more used to new cryptocurrencies being presented every other day.
Often those projects are created by small teams of people, often anonymously.
Facebook’s announcement is very different since Facebook is a huge company and has partnered with many other huge companies for this launch.
I’m very skeptical of Libra, and I think it will not succeed in the long run.
In fact, it already starts with big challenges, including the fact that most people do not trust Facebook.
Differently from many companies, Facebook is used by many people, but it is not generally trusted, and the base requirement for the success of any kind of currency is the trust in the entity behind it.
Libra will be managed by the Libra Alliance and not Facebook directly.
Still, so far, we have seen a much more significant presence of Facebook than any other Libra Alliance member, so easily Libra will still be referred to as “the Facebook cryptocurrency” many years from now.
Read More 
May 25, 2019
One year has passed by the 25/05/2018, the day that the GDPR started to be enforced.
Today I’d like to see how this first year of GDPR went and what we could be expecting for the future given what we have seen so far.
The first consideration that I think is obvious but interesting is that the Internet did not close down on the 25/05/2018 as many were worried.
In fact, not much changed on that day.
A thing that did change a lot is the number of banners asking the authorization to give some cookies to your browser.
This increase of cookie banners is an interesting phenomenon since the differences between the EU cookie law and the GDPR on cookies are minor.
I think this phenomenon can be explained by the fact that now companies are more worried about violating those regulations than before, thanks to the massive fines that they can incur into with the GDPR.
Read More 
April 30, 2019
For a few years now, I’ve been using Hugo for my website as well as other websites as well.
My first Hugo website was my own since I wanted to learn more about the technology before suggesting it to anyone else.
Back then I was not able to find any minimalistic theme I liked, and for that reason, I started my own.
As you can imagine from the name, I based it on Bootstrap, version 3 since that was the current version when I started to work on it.
I’ve made some minor updates over the last few years, but it was still based on Bootstrap 3.
In the last couple of months I did some commits in a branch to bring it to Bootstrap 4, and today I merged them in master
, so the template now is based on Bootstrap 4.
Read More 
March 21, 2019
After the article on the reasons to use vanity URLs in Go and the one about how to implement a lightweight vanity URLs provider, I’d like to share with you how you can leverage AWS Lambda to implement a vanity URLs provider.
The first thing we will need is to import the github.com/aws/aws-lambda-go
package.
This package will provide us with the needed functions to easily integrate our Go code with AWS Lambda.
In our main
we will just need to start the Lambda with a handler like this:
Read More 
February 4, 2019 - Bruxelles, BE
This year, as it has happened for the last few years, I’ve been at FOSDEM.
As always I’ve enjoyed it a lot, and that’s why I continue to go there, and every time I have to suggest other people which events to attend in Europe, I always mention FOSDEM as the main event.
This year, differently from previous editions, I tried to stick to a single room both days, being mostly in the Go room on Saturday and in the Containers room on Sunday.
I made this decision since I’ve seen the advantages of last year experience, where being in the same room for a whole day allowed me to follow more talks and to stress less.
Read More 
January 18, 2019
Golang forces its users to use the repository URL of the dependency in the import statement.
For instance, if we want to import the “test” package that is hosted at github.com/fale/test
, we will need to use github.com/fale/test
.
On the one hand, this is very nice since it allows anyone reading the code to immediately understand where the code is hosted and therefore find it very quickly.
Also, this URL-based import path guarantees that no two different packages can have the same import path, preventing this kind of confusion for both programmers and the compiler itself.
On the other hand, this is a limitation since it makes the code very reliant on the repository location.
Read More 
December 3, 2018
Today the IT world is very focused on high performance, high throughput interfaces.
In this situation, it is common to find REST and gRPC API, given their performances compared to the other solutions.
Sometimes, though, we still encounter old API written with older techniques or new API that for some reasons have been developed with outdated technologies.
One of those cases that I’ve encountered a few times over the last few months is SOAP.
Read More 
November 18, 2018
There are some pieces that you need to put in every microservice you write.
Those are for instance logging, error handling, authentication.
Over the last year, I found myself writing over and over CORS headers.
This requirement brought me to think that I should have used a Negroni middleware since we are already using Negroni for other middlewares.
I started looking online for an already written one, and I found a bunch, but I was not happy with what I found, so I decided to write my own.
Read More 
October 18, 2018
A couple of days ago, Eliot Horowitz, CTO & co-founder of MongoDB announced that MongoDB is moving from the AGPL to the SSPL license.
The SSPL is a new license, just created by MongoDB.
In the post, Eliot points out that they created the SSPL starting from the AGPL, and he affirms that the new license guarantees all the freedoms the AGPL does.
I firmly believe that the SSPL is not a FLOSS license since it limits the possibility of the cloud providers to provide an “as a service” version of it.
This case might seem trivial and an edge case, but the complete freedom of usage is one of the FLOSS movement and licenses pillars.
Read More 
September 23, 2018
Golang uses URLs for the dependencies packages resolution.
To unbundle the code repository hosting the package and the import path, Golang supports the idea of Vanity Import Paths.
The way this has been implemented is that, as long as the import path points to a page where Go can find the real package URL, it will follow through.
So, we will need to create a web server that can serve pages in a way that the Go toolchains can understand.
To do so, I use the following code:
Read More