June 29th, 2016
OpenAM provides open source Authentication, Authorization, Entitlement and Federation software. We chose it as part of our internal SSO platform. The documentation of OpenAM goes into a lot of details about the installation that I don’t need to go through here again.
OpenAM 12 was not designed as a stateless app, and it’s not meant to be running on an elastic environment like Mesos.
The purpose of this doc is to highlight the main pain points and challenges in deploying OpenAM on a Mesos cluster
June 22nd, 2016
One of the themes of this year’s recently finished Devoxx Paris conference was “coding responsibility”, or rather, the responsibility that we as coders have in shaping the future. As Marc Andreessen pointed out 5 years ago now – Software is eating the World, so as developers we are responsible for the software that is quickly taking on more and more roles in our daily lives and society in general.
June 14th, 2016
Some months ago, we had to refactor an internal web-based tool called the Design Tool. We radically redesigned the back-end and the front-end and that could not have been done with solid end-to-end tests to prevent regression.
With this article, we will share with you our experience with Protractor, since this is the framework we chose to setup this testing phase. In particular, we will tell you how important it is to stick to best practices and to get to know what is going on under the hood when you launch “protractor conf.js” in your console. We will especially cover the tricky use case of testing a file upload drag and drop element: how to simulate a file drag and drop to the browser and assert it was done correctly.
June 13th, 2016
Taking Care of our Engineering Culture… One Toilet at a Time!
Introduction to Code Review
When I first joined Criteo, code review was still a new thing in the culture. Taking a page from industry best practices, the DevTools team (the guys whose mission it is to make our lives easier) had installed Gerrit, an open source code review tool. They did a small “initiation to code review” presentation at an R&D All Hands (our monthly engineering gathering) and then set the tool running. From one day to the next, any c# code checked in to our repositories had to go through Gerrit and get a +2 from another developer.
June 7th, 2016
The purpose of Universal Match, Criteo’s cross-device solution, is to accurately and consistently identify users across multiple environments and devices along with the associated shopping intent. In the past year, we have been changing the whole Criteo platform to leverage all the shopping history across all devices for a single user, leading to solid improvements to advertising campaign performance and better sales attribution.
June 5th, 2016
For many, China’s image is still very related to the old image of low quality / cheap products. To all of these sino-skeptics people, we would advise to very quickly revise their judgment and travel to China for a couple of weeks in order to taste the reality of the booming digital economy. Of course, if you can’t afford the trip, you can also attend local events and meetings about Adtech and China.