Solution to Advent of Code "Day 3: Spiral Memory"

After an unsuccessful attempt at learning Rust earlier this year (I mainly read through the documentation without applying it in any project), I recently started to tackle the 2017 edition of Advent of Code, in order to practice Rust for real.

The 3rd challenge, Spiral Memory is interesting because you …

Continue reading »

On working from home while remaining sane

Since I started working at Datadog, I've had the opportunity of working from home full-time (for the second time in my career). Although I consider this to be a real privilege, it comes with its own set of challenges that I'd like to pinpoint and address in light of my …

Continue reading »

The story of the 20°C cronjob

For the last month or so, the lifespan of my beloved Thinkpad X1 Carbon battery had been getting down the drains, from 5-6 hours to less than 3. Following @padenot's advice, I installed powertop and started investigating what was draining this good'ol battery of mine.

Looking at the powertop …

Continue reading »

Preparing the SRE interview

I recently interviewed for an SRE position. I spent a full week learning (or refreshing my memory) on the subjects and topics that could be covered in such an interview. I'll try and lay down the list of topics I covered and resources I used.

What is an SRE?

Having …

Continue reading »

Celery best practices

I've been programming with celery for the last three years, and Deni Bertović's article about Celery best practices has truly been invaluable to me. In time, I've also come up with my set of best practices, and I guess this blog is as good a place as any to …

Continue reading »

My n-step plan to become a better programmer

One of the main selling points of Python are its multi-paradigm philosophy. You can code in imperative, object-oriented or aspect-oriented style, use meta-programming techniques, etc. It also has an immense amount of libraries available. Finally, it's both a simple language to pick up for beginners, and a powerful language for …

Continue reading »

Crawl a website with scrapy

In this article, we are going to see how to scrape information from a website, in particular, from all pages with a common URL pattern. We will see how to do that with Scrapy, a very powerful, and yet simple, scraping and web-crawling framework.

For example, you might be interested …

Continue reading »

Create a webcam manager using pyGTK and Gstreamer


I recently joined the Strongsteam project for a 6 month internship. Our main goal is to provide some "artificial intelligence and data mining APIs to let you pull interesting information out of images, video and audio." We will be doing a presentation at Pycon 2012, the 9th of March …

Continue reading »

How to randomly generate a Monty Python parody

If you always wanted to write texts in the way of Monty Python, I have what you need ! In this post, I am going to show you mathematical techniques to analyse a text, in order to randomly generate look-alike texts.

Introduction to basic concepts

First essential question: what is a …

Continue reading »