July 28, 2021
A few years ago, I wrote a blog post on managing CORS headers with Negroni. Lately, I’ve created a new API server that needed to be accessible from the browser, but this time I used a different technology, more precisely gRPC-Gateway.
Few months after I wrote that blog post, I stopped writing new REST services by hand. I did not rewrite all the services that used the old paradigm just because they needed a fix or a new feature, but for all new services, I moved to gRPC with gRPC-Gateway.Read More
May 31, 2021
Three years passed from the moment the GDPR become binding law in the European Union. On the one hand, I’m happy that it has already been three years, but on the other hand, I’m impatient to see GDPR fully applied.
Cookies Cookies are always a hot theme when we talk about GDPR. I still see websites handing out cookies (first and third parties ones) without a cookie banner or to users who have not pressed the “accept” button on the cookie banner.Read More
September 13, 2020
On September 1st, 2020, the maximum lifetime of TLS certificates signed by Public Certificate Authority got reduced to 13 months. How did we arrive here, and what’s to come? Let’s start from understanding who decides the maximum lifetime of certificates and many other limitations around them.
Who decides the TLS certificate guidelines Ultimately, the client (often a browser or an operating system) identifies the certificate as trustable or not (based on the CA that signed it as well as many other parameters), so the client can decide which parameters to look for and which values are acceptable and which are not.Read More
May 25, 2020
As it is becoming a sort of tradition, here we are, after two years from the enactment of GDPR to see how it performs in the real world.
In our previous yearly check, we analyzed the situation from two points of view: the banners and the fines. Let’s see how those two topics have evolved in the last year.
The Cookie Banners On the 1st of October 2019, with the judgment in case C-673/17, the European Union Court of Justice clarified that pre-ticketed consent checkboxes are not sufficient since the consent has to be expressed actively by the user.Read More
July 14, 2019
In the last few days, multiple fines related to privacy have been announced. More specifically:
British Airways €203M/£183M/$230M (CNN, The Verge) Marriott €109M/£99M/$124M (CNN, The Guardian) Facebook ca€4.5B/ca£4B/ca$5B (The Telegraph, NYT) Even if I talk about them “collectively”, I would like to point out that the third one is very different in nature, in nature and in the jurisdiction, and therefore in the amount of the fine from the first two, which are fairly similar among them.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.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.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
September 23, 2018
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.
In one hand this is very nice since it allows anyone reading the code to immediately understand where the code is hosted and therefore finding 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.Read More