XD blog

blog page


2016-05-21 20h l'histoire des enfants, 21h celle des parents

Vous avez relu ce soir le même livre pour la vingtième fois car votre petite fille vous l'a demandé. Vous avez bien essayé de piocher maladroitement le mauvais livre mais elle est très têtu. La reine des neige a encore gagné. Personnellement, je lis dans le noir. Je suis très peu fidèle au texte original. Monsieur noir a eu un succès mitigé, monsieur vague n'était pas le plus doué pour endormir. Mademoiselle je fais semblant de dormir même si on me chatouille a résisté à l'oubli pendant quatre mois.

Et à 21h commence l'histoire des parents. Je dois dire que la télévision est un peu plus futée et procède par série. Quand on est adulte, on ne peut plus regarder toujours le même épisode. Enfin presque, quand on regarde les séries proposées par France Télévision, elles sont principalement policières. Il y a souvent un duo de personnages reliés par une relation complexe. Rien de précis juste un brin de mystère dont on dévoile un petit bout à chaque épisode. Ensuite une intrigue de fond, celle qui vous incite à revenir la semaine prochaine. Et pour finir, l'intrigue du jour, la petite satisfaction du jour.

2016-05-18 Meetup Data For Good 18 Mai

DataForGood continue sa série de meetup sur des projets de datamining au bénéfice de la société. Le dernier opus s'est tenu aujourd'hui Demo Day : Présentation des projets Data for Good et fut très enthousiasmant. Plus d'une centaine de personnes étaient présentes. Cinq projets ont été présentés précédés d'une présentation de Paul Duan. et Adrien Montcoudiol. Il y a très peu d'inspecteurs d'hygiène sur Paris et plus d'un milliers de restaurants. Comment choisir le prochain à visiter ? Vous serez sans doute là la prochaine fois pour avoir la réponse. En attendant, quelques liens : Driven Data un équivalent de Kaggle rémunéré au bénéficiaire d'organismes publics. Data Kind propose de travailler sur des projets à but humanitaire de plus long terme et moins dans l'esprit compétition. Data Look recense des projets centrés sur le partage d'information et leur visualisation, un peu moins sur le travail de celles-ci. On y retrouve le projet mené en Amérique du Sud qui permet à tout un chacun de remonter les nids de poules. Ma rue solidaire un site qui aide au montage de projet collectif pour lutter contre la précarité avec les outils d'aujourd'hui !.

2016-05-14 Les modèles économiques ne prennent pas tout en compte

Je pensais avoir entendu depuis Seattle la présence d'OGM dans l'alimentation bovine avait un impact négactif sur la production de méthane de nos troupeaux. Enlever les OGM permet de réduire la production de méthane de 30%. Mais je n'ai pas réussi à retrouver la source de cette information. J'ai tout de même creusé un peu et je dois dire que je ne sais plus vraiment ce que je bois comme lait.


more...

2016-05-07 Les pubs à la télévision, impact à l'école

Comme la seconde saison de The 100 m'a beaucoup plu, je me suis mis en tête de regarder un épisode sur la télévision américaine. J'ai vite abandonné. Il est quasiment impossible de suivre un épisode avec toute la publicité. Tout est haché surtout vers la fin. Ce n'est rien de nouveau mais en regardant ce découpage ou plutôt ce massacre, je me demandais si cela n'avait pas un effet sur la concentration des enfants américains. Le téléspactateur n'est jamais habitué à maintenir sa concentration plus de sept minutes d'affilée. Cela me rappelle la réflexion de Kristen Stewart aux Oscar Kristen Stewart juge sévèrement la cérémonie des César qui n'était pas habituée à suivre une cérémonie sans interruption. Mais à l'école ? Quel peut être l'impact sur les enfants d'un spectacle où le spectateur n'est jamais concentré sur une période qui n'excède jamais quelques minutes ?

L'élite, par ce terme, je désigne les parents qui ont les moyens d'avoir un contrôle quasi permanent dans le temps sur l'éducation qu'ils donnent à leur enfant, l'élite fait souvent le choix d'interdire la télévision voire la présence d'écrans pour leurs enfants. Je pense mais ce n'est que mon avis que cela favorise chez ces enfants la faculté de pouvoir rester concentré sur une longue période.

En informatique, lorsqu'on construit un programme, on considère qu'une pause, une semaine, un mois, nécessite en effort même de la part de l'auteur du programme lorsqu'il souhaite se replonger dans ce qu'il a écrit. Il lui faut un temps d'adaptation pendant lequel il s'approprie ce qu'il a lui-même créé. Pour programmer, il faut une certaine capacité d'immersion.

Bref si votre enfant joue, ne l'interrompez pas.


more...

2016-04-30 Seattle

Deux liens pour éviter de les chercher à nouveaux la prochaine fois que je me retrouve à Seattle. How to travel between Seattle, Victoria and Vancouver, B.C. Walking Downtown Bainbridge Island (and Taking a Look at Their New Complete Street) Je comparais Google et Bing et j'ai fermé Google Maps car leur page maps n'arrête pas de clignoter à chaque fois que je me déplace sur la carte. Je suis de plus en plus incapable de regarder la télévision américaine. On peut zapper sur cinq chaînes d'affilée sans éviter une seule fois les pubs. Ca m'évoque plutôt la question suivante : en supposant que toutes les chaînes de télévisions diffuse la même proportion de publicité p ~ 30%, lorsqu'une pub survient sur la chaîne que je regarde, je passe à la suivante en bouclant sur l'ensemble des chaînes. Combien de fois dois-je zapper pour tomber sur autre chose que de la pub ? Quelle est la distribution de cette variable ? Encore du Bernouilli très simple mais la télévision américaine inspire peu.

2016-04-23 5 polyèdres réguliers en pâte à modeler

Lors de la semaine Digigirlz organisée par Microsoft (Microsoft lance les vacances 100% geek réservées aux filles, Madame Le Figaro, 21/04/2016), j'ai animé un atelier d'initiation aux algorithmes durant lequel je ne fais pas toujours des algorithmes mais parfois des mathématiques afin de montrer que ce n'est pas la torture à laquelle tout le monde pense. Même si les énoncés sont souvent très formels, il est difficile de croire qu'ils aient émergé sous cette forme dans l'esprit de leur inventeur. Cela naît d'une intuition qu'on éprouve, qu'on teste, à l'aide de pâte à modeler par exemple : A Issy, les collégiennes passent leurs vacances en « colo » numérique, Le Parisien, 23/04/2016. En voici un peu plus sur ce que j'ai fait ce jour-là : Mathématiques et pâtes à modeler.

2016-04-20 Build xgboost on Windows (not the python module)

Here are the steps I followed:

If you want to build the wheel for Python, I suggest reading Build xgboost 0.4a30 for Python 3.4 and 3.5.

2016-04-15 Dissection of a neural network

A friend sent me this link: Tinker With a Neural Network. Quite fascinating to see the inside of a neural network, how the training changes by adding features, increasing the learning rate or switching the loss function, adding the number of layers or neurones. You can also read Work on the features or the model.

2016-04-14 Retour sur le hackathon ENSAE / Microsoft / Croix-Rouge

Le hackathon ENSAE / Microsoft / Croix-Rouge s'est terminé depuis quelques temps déjà (novembre 2015). Je ne sais pas si une seconde édition aura lieu même si la question m'est régulièrement posée. En attendant, les photos sont disponibles, la vidéo tirée de l'événement ENSAE ParisTech - DSSC l'est aussi depuis peu. Un retour sur l'événement, plus complet, a récemment été publié dans la revue des anciens de l'ENSAE : Le premier hackathon organisé par l’ENSAE et Microsoft sur les données de la Croix-Rouge. Enfin, Microsoft sponsorise la seconde édition du Data Science Game (2016).

Les résultats des deux groups vainqueurs du hackathon ont été présentés lors du meet up de DataForGood en janvier 2016.

2016-04-02 Apprendre la programmation

C'est l'histoire de trois français qui montent une école de programmation dans la Silicon Valley. Holberton School, 40% de femmes parmi la première promotion, petite promotion de 32 étudiants, le cursus est gratuit, l'école se rémunère en prenant 17% du salaire sur les trois premières années de chaque étudiant une fois le premier job trouvé. Pas d'examen, apprentissage et évaluation par projet uniquement. Ces Français qui veulent apprendre aux Américains à coder. Dernier point : les mentors. Nombreux, de tous horizons professionnels, et pour la plupart, français.

2016-03-30 Create a video in Python from images

I was looking into making a short video based on images produced with matplotlib or pygame. Here is the results with a simple simulation used once in while in my teachings. Unfortunately, I was not able to directly produce a video I could see through the brower. I needed to convert it with MovieMaker.

And the code...


more...

2016-03-25 Les classes en programmation

Monsieur, c'est vraiment utile les classes ? On est obligé de les utiliser ? C'est le genre de questions que les étudiants posent alors qu'ils commencent leur projet. La réponse courte consiste à répondre que c'est plus pratique. Mais concrètement, ça veut dire quoi plus pratique ? D'une manière générale, on s'embarrasse rarement d'un concept s'il n'apporte rien. On peut écrire les mêmes programmes sans classes mais...


more...

2016-03-22 Accélérer Python

Python est très lent, c'est pratiquement son seul défaut avec le fait qu'il n'est pas vraiment un langage multi-thread à cause du GIL. Bref, pour accélérer le langage, on passe le plus souvent par du C et donc un langage compilé. Le plus simple est d'écrire ses calculs en C puis de s'interfacer avec le langage Python. C'est comme cela que fonctionne la librairie numpy. Une autre option consiste à écrire en pseudo langage C avec Cython. C'est l'option choisie par scikit-learn. Mais on ne réécrit pas tout, on utilise un profileur qui nous indique où le programme perd le plus de temps et on travaille spécifiquement sur cette partie. Et si on ne veut pas réécrire du code, on peut penser à changer d'interpréteur afin que le même code python soit exécuté plus rapidement. Sur ce point, il faut lire Les interpréteurs alternatifs de python. Une caractéristique des langages compilés (et non interprétés) et que les variables sont déclarées avec un type précis.

def addition(x, y):
    return x + y

La fonction précédente fonctionnera si l'addition de x et y au moment de l'exécution si cette addition à un sens ce qui ne requiert pas que ces deux variables soient du même type.

double addition(double x, double y) {
    return x + y;
}

En C, on est obligé de spécifier le type car on ne peut donner un sens au symbol + que si le type des variables est connu. Compiler le langage Python implique alors de faire de l'inférence de type... ce qu'il est parfois impossible d'accomplir à moins d'exécuter le programme. On se tourne alors vers les JIT qui propose de compiler certaines parties d'un programme en partant du code interprété lors de l'exécution.

2016-03-19 A few interesting links about Python

A few links about regular expressions, machine learning, automation:

The last page gives a list of python modules about machine learning. Among mlxtend has a really nice and detailed documentation. It includes formulas.

2016-03-13 Ranking python modules

I was puzzled was a new badge on matplotlib about Depsy. A link to dill on depsy, a link on the same module on pypi-ranking: dill. I checked pythonnet. The number of contributors is actually wrong and it is difficult to see when the last contribution was made which is one the first thing I look at before using a new module.


<-- -->

Xavier Dupré