Ce soir aux HumanTalks de MaineLabs, j'ai eu la plaisir de faire une petite présentation sur mon boulot comme DevOps à Amazon Web Services lors de mes 2 années à Dublin.
L'intégralité du talk a été filmé et mise en ligne sur Youtube :
<iframe width="853" height="480" src="https://www.youtube.com/embed/M1y_1tMlll4" allowfullscreen></iframe>Les slides sont accessibles ici, ainsi que …
I'd like to introduce you to an awesome git companion : pre-commit hooks by Yelp.

Git hooks are scripts that git executes before or after events such as: commit, push, and receive.
Git hooks are a built-in feature, but git does not offer much support for them: if there is a …
Il reste 7 jours pour se mobiliser : http://sous-surveillance.fr
Aux USA, les américains en ont assez de ce Patriot Act initiallement approuvé par George Bush, et veulent le réformer. Pourquoi répéter leurs erreurs avec ce projet de loi relatif au Renseignement ??
Pour une explication drôle de la situation là-bas …
I recently worked on a short website project using Django & Heroku. It was my very time using this Python framework, and I really liked it !
This is a compendium of tips & tricks that I, as a Django beginner, found quite useful :
Django enhanced shell
To install it :
pip install django …
Die shell script, DIE !
In this post, I'll show how easy it ease to convert fragile shell scripts to Python scripts, using sh.py. I'll use as an example a simple script to check your HTML code from the command-line, using the W3C validator.
Now you ask me, why the …
Sometimes, it's useful to print some source code on paper. And PDF is a very common file format, that you can be sure your printer will accept, and that will let you preview the final page layout. But how to quickly perform syntax-coloring and export to PDF ?
I've been experimenting …
Disclaimer: this post was heaviliy inspired by the 2 following gists:
color_log.pyusingtermcolorrecipescolorlog.pyusingcolorama
I loved the simplicity of the first, not having to manipulate any of the logging internal API, but I prefer colorama over termcolor.
Without further ado, there is my solution …
In a nutshell:
SUN=$SAUCE_USERNAME; SAK=$SAUCE_ACCESSKEY
curl -u $SUN:$SAAK https://saucelabs.com/rest/v1/$SUN/jobs?format=csv \
| perl -wpe 's/\r$//' \
| xargs -I{} curl -u $SUN:$SAK -X DELETE "https://saucelabs.com/rest/v1/$SUN/jobs/{}"

Pytest is a very complete test framework for Python. I like how you can write a basic unittest.TestCase and the py.test test runner command will inject all its magic at runtime, without you having to directly import anything: awesome separation of concerns.
This modularity comes at a cost …
Since July 2014, Substack great cross-browsers testing tool testling has been unavailable.
Today I was looking for an alternative to use with ecovoit, my carpooling search engine. Saucelabs is a very interesting solution, and is free for open-source projects.
Now I found 2 tools to easily launch your Javascript TAP …
Under Windows, CPython is shipped with a very useful py command.
PEP-397 describes in details its behaviour, and its C implementation can be found in the CPYthon Mercurial repository.

There has already been a lenghty discussion in the "python-ideas" mailing list to write a Linux equivalent. I agree with what …

L'année dernière, j'avais été touché par l'article de @nicolasy "Noël est passé, mais il vous reste quelques cadeaux à faire !" En cette rentrée 2015, je me permets de lui piquer l'idée.
Certes, la motivation de fin d'année de faire ses derniers dons défisqualisés est passée. Certes, il est un peu …
C'était la prise de conscience rigolote de ce matin :)
Petite explication: plusieurs des services web de géolocalisation gracieusement fournis par Google utilisent la même interface (API). Cette interface requiert de définir une "zone de travail" géographique dans laquelle on va ensuite pouvoir interroger Google sur des adresses, des itinéraries, etc …
A month ago, I wanted to automate queries to a website that is using the PHPSESSID cookie to keep track of sessions. I struggled a lot and couldn't find any documentation covering the behaviour I was observing. But yesterday I finally found a solution !

In hope it could help others …
Consider the following Python expression:
print("".join(set("ABCDE")))
What do you think it produces ?
Not necessarily "ABCDE". Right, but you would expect the result to be consistent, isn't it ?
$ for i in {1..3}; do python2.7 -c 'print("".join(set("ABCDE")))'; done
ACBED
ACBED
ACBED
Great !
...
But with …
En anglais, le titre pourrait se traduire par "The head to the grindstone", soit littéralement "la tête sur la meule à aiguiser". Rigolo non ?
Au vu du sujet cependant, "Tales of a lost afternoon" sonnerait mieux je trouve. En effet, cet article va traiter d'organisation personnelle du temps. Le sujet …
This post is only relevant to you if you use browserify. For a good introduction to this powerful Javascript bundling tool, check this doc.
First of all, I'd like to take my hat off to James Hallyday and Peteris Krumins who have built such amazing tools as browserify, testling and …
I'm happy to introduce you with genealogic-d3, a Javascript visualization library to nicely display genealogy trees that I've been working on during the past 3 days.
I'm quite satisfied by the result. You'll find a live demo you can play with at https://chezsoi.org/lucas/genealogic-d3/skywalker.html
I …
Inspired by this tweeter post by Marcus Lagergren and the JS1K competition, here is a valid Javascript code snippet for you obfuscated code lovers:
ー=!+[]+!+[]+!+[]+!+[],ߺ=ー+ー,ǀ=ߺ+ߺ,ꓹ=!+[]+[],ǃ=!+[]+!+[]+!+[],ᚐ=ꓹ[+[]],ꓹ=ᚐ+ꓹ[ǃ]+(![]+[])[ǃ]+ᚐ,ᚐ=/,/[ꓹ]+[],ꓹ=ǀ+ߺ+!+[]+!+[],ꓹ=ᚐ[ǃ]+ᚐ …This post aims to introduce a very useful tool to debug low-level issues in Python, how to enhance it and finally how to solve two annoying common problems.
1. Debugging Python with gdb
All the basics are there : https://wiki.python.org/moin/DebuggingWithGdb
Tl;dr :
gdb -p $(pgrep -f …