pylapp

Software crafter, digital punker - pylapersonne.info

La galÚre du choix des speakers pour une conférence

đŸ‡«đŸ‡· – 4 juin 2019

AprĂšs avoir organisĂ© la 1Ăšre Ă©dition du DevFest du Bout du Monde avec Code d’Armor (le GDG des CĂŽtes d’Armor) et les copains du FinistDevs (celui du FinistĂšre), j’ai dĂ©cidĂ© d’aborder le dur choix de la sĂ©lection des intervenants pour une confĂ©rence, car plusieurs façons de voir les choses s’opposent, les polĂ©miques se rĂ©pĂštent, et aucune solution n’est vraiment meilleure que l’autre


âžĄïž Savoir se lancer, et minimiser les risques

Je prends exemple ici du DevFest du Bout du Monde mĂȘme si finalement on retrouve cette problĂ©matique partout. Lorsque l’on dĂ©cide de crĂ©er la 1Ăšre Ă©dition d’une confĂ©rence, en plus de tout le travail de lancement du projet, on doit faire le choix des personnes qui interviennent pour des confĂ©rences, quickies ou ateliers, et un outil de Call For Paper (comme Conference Hall) fait gĂ©nĂ©ralement grandement l’affaire. Chaque organisateur vote mais se pose souvent les mĂȘme questions que ses collĂšgues : quelle stratĂ©gie adopter ? qu’est-ce qui ferait consensus ?

On pourrait miser sur les gros poissons, et dans l’IT ce n’est pas ce qui manque. En 2019 une entreprise du secteur qui n’a pas de Dev Rel / Dev Advocate / Dev Evangelist / Dev {insĂ©rez un titre qui claque ici} n’a pas tout compris Ă  la culture software. DerriĂšre ces candidats-lĂ  ce sont des entreprises qui rĂ©munĂšrent les intervenants et qui sont objectivĂ©s Ă  faire des tournĂ©es un peu partout pour partager voire Ă©vangĂ©liser sur un sujet, une techno ou sur le fait que c’est l’entreprise que-c’est-elle-la-meilleure-avec-des-paillettes. Et parfois on peut se retrouver avec ces rockstar speakers Ă  participer Ă  leurs tournĂ©es comme si on Ă©tait leur roadies en leur prĂ©parant la scĂšne et avoir la chance insigne de les avoir. Dans les faits le contenu proposĂ© par les intervenants est rĂŽdĂ© dans une majoritĂ© des cas, et il n’y a pas de regret Ă  avoir quand Ă  leurs prestations (ouf !). Mais parfois, on se dit qu’avoir telle ou telle entreprise reprĂ©sentĂ©e dans les confĂ©rences peut ramener davantage de monde et faire gagner l’évĂ©nement en visibilitĂ© (et en r€cettes) ; on peut ĂȘtre amenĂ© Ă  faire le choix de simplement profiter de son aura sans s’assurer d’avoir quelque chose de qualitatif derriĂšre. C’est con, mais pour se lancer on doit prendre des dĂ©cisions et ne pas faire des paris trop risquĂ©s pour assurer la viabilitĂ© du projet. Quitte Ă  avoir Jean-Rufus qui (re)parle encore dans un grand slideshow du fonctionnement du nouveau BullShitLayout proposĂ© dans la prĂ©-alpha-release d’une lib.

âžĄïž Savoir se lancer, mais miser sur le local

On peut aussi faire le choix du local pur-terroir-certifiĂ©-bien-de-chez-nous-100%-green. L’intĂ©rĂȘt ici est de mettre en avant des p’tits nouveaux, de chercher des talents ou des intervenant.e.s qui ont du potentiel et de construire l’aventure avec elles et eux.


Cette façon de faire a un bel avantage qui est celui de donner une identitĂ© rĂ©gionale Ă  l’évĂ©nement avec des thĂ©matiques pas forcĂ©ment abordĂ©es ailleurs. Ainsi on aurait, si toutes les confĂ©rences Ă©quivalentes faisaient ce choix, des Ă©vĂ©nements avec leur identitĂ© propre et faisant que le public se dĂ©place pour profiter du contenu plus ou moins original. Miser sur les talents locaux rĂ©sous un autre problĂšme qui est que, au jour d’aujourd’hui, si on prend les plus grosses confĂ©rences (voire d’autres plus petites aussi), on retrouve les mĂȘmes intervenants. Constamment. Pire encore, on retrouve les mĂȘmes sujets mais Ă  des dates et lieux diffĂ©rents (vous vous rappelez quand je parlais de tournĂ©es ?). De fait quand bien mĂȘme ce serait qualitatif, le paysage dĂ©jĂ  saturĂ© ne va pas spĂ©cialement faire de place aux nouveaux venus qui veulent tenter l’aventure. Dit autrement, si ta boite au gros capital ne te paye pas pour te dĂ©placer partout pour faire des confĂ©rences racoleuses, tu pourras au mieux te contenter des meetups du coin. N’est pas le U2 du dev qui veut nan mais oh. Les Stades de France du logiciel ne sont pas pour les keupons du coin.

Mais le problĂšme du “tout local” est que des confĂ©rences peuvent ne pas faire le mĂȘme poids que d’autres. Elles pourraient se retrouver malgrĂ© elles trop spĂ©cialisĂ©es sur un domaine n’attirant pas assez de monde, ou alors en concurrence frontale avec d’autres spĂ©cialisĂ©es dans le mĂȘme sujet mais avec plus de moyens. Miser sur le “100% local ou presque” implique aussi que le public ait Ă  se dĂ©placer exprĂšs, ce qui peut parfois ĂȘtre bloquant lorsque l’on habite sur la cĂŽte mĂ©diterranĂ©enne et que l’on veut aller Ă  une confĂ©rence en Hauts-de-France ou dans le FinistĂšre. Pourquoi aller au CongrĂšs National de l’Oignon Rouge Ă  PlougasnouĂ«t alors que je peux aller au Salon National de l’Oignon Ă  Paname ?

Quand bien mĂȘme cela pourrait marcher, il faudrait avant tout que les entreprises du secteur s’investissent. Pour certaines ĂȘtre sponsor n’est pas envisageable (💾) ou implique des process particuliĂšrement complexes (đŸ€Ș), pour d’autres envoyer des collaborateurs animer des confĂ©rences ne reprĂ©sentent pas d’intĂ©rĂȘt ni de retour sur investissement (💾💾💾). Curieusement ce sont souvent les mĂȘmes qui se plaignent de ne pas rĂ©ussir Ă  recruter des talents ou Ă  les voir s’en aller vers de plus verts open spaces („ლ).

Bref, proposer du contenu trop local rendrait l’évĂšnement trop
 local, il faut savoir ce que l’on veut. Pour Libre en FĂȘte en TrĂ©gor 2018 on a pris ce paris, il a Ă©tĂ© rĂ©ussi. Plus de 700 personnes en une journĂ©e avec ateliers, stands et confĂ©rences, une belle rĂ©ussite :–) On a appliquĂ© la mĂȘme stratĂ©gie pour le CafĂ© Vie PrivĂ©e 2018 de Lannion : un bar bondĂ© avec une bonne quarantaine de personnes, des confĂ©rences d’acteurs du coin, et de vrais bons retours.

🏁 Et alors dans tout ça ?

Je voudrais dire qu’il faut rĂ©ussir Ă  faire le bon compromis.

Pas celui qui sĂ©curise un projet qui n’a mĂȘme plus besoin de l’ĂȘtre car il est bien rĂŽdĂ© et reconnu. Pas un compromis qui ne rĂ©pond qu’aux lois sacrĂ©es des bilans sur tableur, oĂč on doit attirer des tĂȘtes d’affiche et des grosses boĂźtes pour faire venir un maximum de spectateurs histoire de s’assurer d’avoir des bĂ©nĂ©fices Ă  5 chiffres đŸ€‘. Non. Clairement pas. Surtout pas quand on retrouve les mĂȘmes confĂ©rences partout alors qu’elles ont Ă©tĂ© enregistrĂ©es plusieurs fois et mises sur YouTube.

Il faut faire un compromis qui satisfait à la fois les organisateurs et le public, et ce n’est pas facile.
Avoir des speakers de renom va Ă©viter aux personnes de faire des dĂ©placements trop longs : on fait venir les speakers reconnus auprĂšs des gens pour qu’ils en profitent, et il faut le faire. Ce que l’on fait parfois dans nos meetups de GDG ou autres user groups peut ĂȘtre refait ici : on fait venir des bons intervenants de loin pour les gens du coin. En plus, ça sĂ©curise le projet et, ouf !, ça rassure.

Mais il faut aussi laisser leur chance aux autres. Je ne parle pas de laisser 10% des slots disponibles pour les “petits” avec des quickies de 15 minutes le midi lorsque tout le monde mange, quand les “grands” eux ont 90% des slots toute la journĂ©e. Non. PlutĂŽt faire du 50–50. Il ne faut pas confondre l’égalitĂ© devant le sacro-saint CFP et l’équitĂ© entre les intervenants n’ayant de base pas les mĂȘme chances ni la mĂȘme visibilitĂ©. Quand on organise une confĂ©rence on doit proposer du contenu intĂ©ressant d’abord, et flatter l’égo des uns et des autres ensuite. Pas l’inverse.

Ca peut ĂȘtre couillu et risquĂ©, mais il faut tenter. Les GDG et autres users groups servent Ă  ça aussi : faire connaitre et tester des intervenants du coin pour ensuite les propulser sur des Ă©vĂ©nements plus gros, ou Ă©changer entre eux des infos sur des speakers pas encore connus d’autres rĂ©gions mais qui peuvent faire de belles choses. Du cĂŽtĂ© du DevFest du Bout du Monde, on a rĂ©ussi Ă  avoir 25% d’intervenants de Bretagne, 42% si on compte ceux venant de Nantes (troll spotted?). Pour une premiĂšre c’est pas mal dĂ©jĂ . Mais le choix ne fut pas Ă©vident du tout, on s’est bien pris la tĂȘte, sachant aussi que l’on se refusait de mettre en avant des collĂšgues. On ne voulait pas avoir des commandos de nos entreprises respectives dans le programme.

Bref. Que l’on soit organisateur d’évĂ©nements ou pas, on retrouve souvent les mĂȘmes remarques : des speakers de renom qui ont rĂ©pondu prĂ©sents 👍, et parfois un manque de speakers peu connus qui pourtant peuvent proposer de belles choses 👎. Pourtant il y a moyen de corriger ça. Faut juste du courage et de la curiositĂ©, et prend des risques.

Toi qui rĂąles d’avoir les mĂȘmes noms dans les confs, j’espĂšre que tu comprendras mieux la problĂ©matique. Mais toi qui organises ces confs, j’espĂšre que tu comprendras le rĂ©el problĂšme ;–)

Do you like my publications? Buy me a beer or use something else ❀

Pourquoi il faut tenter les Startup Weekends

đŸ‡«đŸ‡· – 22 mars 2019

Depuis un moment une interrogation me restait en tĂȘte concernant l’associatif et les gros projets qui peuvent en dĂ©couler, Ă  savoir comment capitaliser a minima l’expĂ©rience acquise, et la restituer au mieux auprĂšs de qui veut bien s’intĂ©resser au sujet.
Finalement, j’ai dĂ©cidĂ© de poser ici quelques billets, comme une sorte de retour d’expĂ©rience associative qui vaut ce qu’il vaut.

Enfin bref j’ai un peu de temps et aujourd’hui je commence avec un projet qui date un peu : mon 1er Startup Weekend du cĂŽtĂ© orga de la Force.

Mais pourquoi un Startup Weekend ?

J’avais dĂ©jĂ  eu l’occasion de participer Ă  des startup weekends, mon 1er datant de 2012.
A l’époque, une jeune association de dĂ©veloppeurs de Lannion (Code d’Armor) avait pris le pari de faire dans la ville une nouvelle Ă©dition. DĂ©barquant tout juste dans la rĂ©gion, j’avais tentĂ© l’expĂ©rience avec des camarades de promo et ce fut un vrai bon moment.

Puis vinrent 2016 et 2017 oĂč Kreizenn Dafar et la:matrice avaient lancĂ© un autre Startup Weekend Ă  Saint Brieuc. Vu l’ambiance de ce genre d’évĂšnements, la diversitĂ© des participants et l’excitation produite par les 58h pour creuser une idĂ©e, ce fut une nouvelle fois des vrais bons moments mĂȘlant maquettage, prototypes, business, chartes graphiques, sondages et mĂ©langes d’odeurs de boisson Ă©nergisante et de choux renfermĂ© (miam). Les organisateurs de l’époque avaient formĂ© une foutrement bonne Ă©quipe avec une ambiance chaleureuse (ce qui se voyait en tout cas), et c’est un peu Ă  cause de ça que j’ai tentĂ© l’aventure. Pour ĂȘtre transparent, c’est aussi parce qu’en faire un Ă  Lannion Ă©tait devenu nettement plus complexe, dans le sens oĂč on pouvait difficilement mobiliser toutes les ressources nĂ©cessaires (mais c’est un autre sujet). On y avait pensĂ© avec Code d’Armor, mais c’était trop risquĂ© Ă  l’époque pour nous sur trop de plans. Et puis bon, il faut savoir prendre des risques et j’avais envie de me frotter Ă  cet exercice.

L’édition 2017

Du coup, printemps 2017, tentons l’aventure
 et dĂ©couvrons quelques marches Ă  franchir.
Bon dĂ©jĂ , les rĂ©unions le soir Ă  Saint Brieuc quand on vit Ă  Lannion, ça pique, surtout quand elles se passent aprĂšs le boulot, m’enfin bon si j’avais signĂ© c’était pour y aller :) L’un de Ă©lĂ©ments les moins Ă©vidents Ă  apprĂ©hender Ă©tait la diversitĂ© des profils. Se retrouver (en tant que profil technique) parmi des comptables, facilitateurs, juristes, graphistes, entrepreneurs ou personnes baignant dans le monde fabuleux de la Starteup Nachione faisait qu’il fallait ĂȘtre capable de parler le mĂȘme langage
 et de comprendre les problĂ©matiques des uns et des autres qu’on ne soupçonnait pas. À cela s’ajoutait un ensemble de sujets en dehors de ma zone de confort comme par exemple la gestion du budget, les contrats de sponsoring ou la logistique. Mais finalement, vu la cohĂ©sion de l’équipe, c’était facile d’apprendre de tout le monde et de comprendre ces choses nĂ©buleuses basĂ©es sur des tableurs et des looonnngues rĂ©unions. Et finalement, j’ai gagnĂ© quelques potes ;)

Une fois les prĂ©paratifs passĂ©s (je n’ai plus tout en tĂȘte, ça date un peu), place au grand jour ! Et lĂ  ce fut le pied (j’embellis un poil). À une Ă©quipe d’organisateurs rĂŽdĂ©s (sauf moi) s’ajoutaient des bĂ©nĂ©voles qui couraient partout, une logistique qui assurait, un facilitateur de talent
 bref on avait une bonne base. En plus de ça les coachs et les membres du jury avaient rĂ©pondu Ă  l’appel, et nous avions rĂ©ussi Ă  l’époque Ă  avoir un large panel de coachs pour toucher un maximum de sujets. ComptabilitĂ©, droit des affaires, banques, entrepreneuriat, communication, ressources humaines
 ça brassait large, et ça a servi aux participants. Coup de bol, les planĂštes devant ĂȘtre apparement bien alignĂ©es Ă  un moment, Cyril de Sousa Cardoso avait rĂ©pondu prĂ©sent pour aiguiller les Ă©quipes et les inspirer avec un talk trĂšs riche. Et ça, ce fut bien cool.

De mon cĂŽtĂ©, je faisais partie du groupe ayant le titre pompeux plein de galons de “mentor”. Avec une Ă©quipe sous mon aile, je devais m’assurer que celle-ci puisse profiter de l’évĂ©nement et se faire plaisir tout en Ă©vitant de se planter (trop salement). GĂ©rer les conflits internes, les aider Ă  creuser leur projet et concevoir leur service, les conseiller et les voir se planter (c’est le jeu) sur le week-end fut aussi riche que rythmĂ©, mais ce fut une bonne expĂ©rience.

Et du coup ?

Et finalement ? Finalement je ne regrette rien, ou alors j’ai oubliĂ© (U_U). J’ai autant appris de mes collĂšgues aux profils techniques que des autres, et c’est une trĂšs bonne chose. D’ailleurs, on devrait ĂȘtre vigilant Ă  sensibiliser les gens aux problĂ©matiques et façons de faire des autres mĂ©tiers avec lesquels on peut interagir, cela rend les choses plus humaines, et on Ă©vite d’avoir des oeillĂšres. Être avec des mentors, des coachs et des jurys donnait des conversations gĂ©nĂ©ralement riches et utiles pour la suite. Une chose chouette aussi Ă  voir, c’était que ces derniĂšres Ă©ditions ont permis Ă  des participants de se lancer aussi dans l’aventure en faisant leurs propres Ă©vĂ©nements (Ă  Caen et Angers par exemple).

Un regret quand mĂȘme concerne la participation des Ă©tudiants de la rĂ©gion, elle aurait pu ĂȘtre plus Ă©levĂ©e, mais ça c’est une autre histoire. On aurait aimĂ© aussi avoir le soutien d’entreprises de la rĂ©gion, certaines nous ont soutenu, d’autres n’ont jamais daignĂ© rĂ©pondre
 une autre histoire ça aussi. On peut aussi souligner que trop peu osent encore continuer aprĂšs, comme si la prise de risque n’était pas encore ancrĂ©e chez nous.

Je ne peux que conseiller d’aller au moins une fois Ă  un startup weekend en tant que participant. Quel que soit son profil (technique, business, design ou porteur de projet), on apprend pendant 58h autant des autres que de soi-mĂȘme. Visions de choses, buts Ă  atteindre, contraintes, besoins, ou encore travail en Ă©quipe, gestion du stress et des relations humaines, mĂȘme si finalement son projet n’aboutit pas, on ne repart pas sans rien. Et quand bien mĂȘme son projet ne finit pas sur le podium, rien n’empĂȘche de continuer et de se lancer, car ce week-end aura permis de faire avancer les choses. On gagne capitalise sur diffĂ©rents Ă©lĂ©ments et on repart avec des souvenirs, des goodies et des idĂ©es plein la tĂȘte !

CĂŽtĂ© organisateur, c’est une chose Ă  faire aussi. On s’aperçoit de l’audace et des capacitĂ©s d’imagination et de prise de risque des participants, et ça fait plaisir Ă  voir. On travaille aussi de concert avec diffĂ©rents interlocuteurs permettant d’avoir un bon aperçu du tissu associatif et Ă©conomique local, des ambitions de chacun et des clivages politiques parfois imbĂ©ciles n’arrangeant pas les choses. Et finalement, quand on a un noyau associatif dur qui veut aller loin dans son projet, on finit par faire un bel Ă©vĂ©nement !

D'ailleurs, le week-end du 29–30–31 mars aura lieu la 4Ăšme Ă©dition du startup weekend de Saint Brieuc, et il reste encore des places ! Si vous hĂ©sitez encore, vous pouvez voir les photos des derniĂšres Ă©ditions ;)

Do you like my publications? Buy me a beer or use something else ❀

Tapster — Robot as a Service đŸ€–

đŸ‡ș🇾 – August, 28th 2018

Disclaimer: I have no stocks in Tapster Robotics, Inc. and I wrote this article because I contributed to a project in my personal spare time which to my mind must be more known.

I had the chance and the great opportunity to contribute to a free and open source project: the Tapster robot designed by Tapster Robotics, Inc. Because it was rich and exciting, I wanted to write down the experience I had with this project. I won’t talk about the robot’s initialization, but this wiki page is clear and effective.

1 — First thing, why such robot?

When I got my new job, I made some researches about the state of the art of automation and tests tools, quite useful for us — developers. I found a strange but fun project (mainly thanks to this article): a real robot which was able to tap on smartphones screens. The project was also free, open source and open hardware (wow!) and we could be able to build a new one using 3D printers. However I found something was missing. Basically the robot was driven by a Node.js server which receives HTTP requests, but there were no clients to use so as to send such requests, what a pity. Lucky strike I am a developer, so did I choose to work on apps in my own leisure time so as to enrich this project. Second lucky strike, in my team at Orange Group, we have to create tools in order to test and validate innovative products and services, a nd I succeeded later in introducing this robot in my team. Here the fun starts!

2 — The core of the bot, it’s server

The basic features of the robot were cool yet. If we dive in the legacy GitHub repository (or this one) we find several basic features such defining 3D position of the robot’s finger, changing its arms angles, tap on coordinates
 The problem was the missing of other types of moves we might need for testing purposes. Thus the robot’s server was upgraded with new features: tap several times on a point, double tap, make swipes, tap on random points or draw patterns. The new server was used as a base for the following clients.

3 — {AT | T} Driven Development

When you are worried about the quality of your product, you may set up some processes like ATDD (Acceptance Test Driven Development), TDD (Test Driven Development) or BDD (Behavior Driven Development). If we focus on ATDD or TDD, we can find powerful and efficient tools to write tests. If we are looking for acceptance tests Robot Framework does the job. If we want instrumented tests for mobile apps we can use UI Automator / Espresso, Selenium or Appium. And for unit tests you can get a lot of libraries like JUnit.
The thing is Robot Framework uses third party tools (guess what? Appium for example) to process tests on mobile apps. And what if this framework was able to deal with a Tapster robot? Challenge completed, keywords have been implemented. They provide to people in charge of tests several routes to the robot’s API so as to make gestures on apps. And when if we combine these keywords with Appium’s, the level of abstraction allows to make the robot interact with the app-under-test easier. New features have been added like stress taps and stress swipes (useful for monkey tests) and interactions with UI widgets using their ID, texts or Xpath. In other words these keywords helped a lot.

4 — Automation is good, mostly with scripting

DevOps is a nowadays well-known process improving the way of working and the communication between the developers team and the ops team. In order to automate all the tests, integration and validation steps for a product, Jenkins is generally used. One of its benefits is the ability to trigger scripts, e.g. written in Python, so as to executed tasks. Because we wanted to use the robot (i.e. send HTTP requests to its server) without additional glue, a Python client has been implemented. People want to have an interactive mode? No problem. Some of them want to execute always defined commands? Implemented. With this efficient scripting language and the Jenkins scheduler it was possible to automate interactions on a smartphone using the robot.

5 —Think to your colleagues, think GUI...

OK I am a developer so do I work using GNU/Linux-based OS and the console is one of my best friends. But you may have colleagues who are not developers, and they do not use console-based softwares at all, only tools with a lovely and shiny graphical user interface. In addition if I want to animate showcases, graphical clients are sexier. For these reasons Android and Web apps have been implemented and they provide a handy use: to drive remotely the robot through Wi-Fi connections ; quite useful if your computer and the robot are in a corner while you talk to attendees, or drink a pint of beer behind a kakemono.


6 — Hey bot!

Someday I was bored to always trigger the same commands so as to test the features. It was quite annoying to make always the same moves (that is the reason why robots have been created, haven’t they?) and a idea appeared: and what if an assistant was integrated inside the Android app? What if I were able to
 talk to the robot? So let’s go to implement an assistant, but which one? For sure Google Assistant
 Joking! The chosen one was Snips. Snips is an off-the-grid solution of assistant implementing both ASR (Automatic Speech Recognition) and NLU (Natural Language Understanding). Nothing is done in a foreign cloud you don’t own, in fact nothing is done in a cloud. Operations are proceeded locally, hus the solution is respectful of your private life. You can define several intents for your assistant, train it and also trigger actions. Once defined you just have to download the assets and use the binaries (dedicated to your platform) in order to process your voice and make the match between what you said and what thing should be done. The solutions is quite incredible, and you have a high degree of customization making GAFAM’s solutions not so exciting. After having defined the french and the english assistants, they have been integrated to the Android app, and the result is quite fun :–) (if you understand french, see this video).

→ And so what?

This project is amazing.
Firstly the model 2 of the robot is free, open source, open hardware and not expensive to build. Licenses in use are MIT and BSD 2-Clause, and several forks (still-alive-or-dead) exist. Secondly even if the model 2 is not enough for you, you can improve it to your needs or use another model: the Tapster Sidekick (see this video, this one and this). Then, the robot helped for certain test cases. In fact common testing softwares can fail to trigger events (tap, swipe, 
) on secured elements like SIM card-displayed-widgets. With more and more secured apps we might need hardware-based tools to complete tests and enhance the quality workflows.

But to my mind a tricky part about the robot is the calibration Indeed the robot is agnostic: it doesn’t care about the model of smartphone you are using (or tablet) or its OS. In fact if you say to the robot to tap to (x,y), it will tap to (x,y). That’s all. (x,y) might be a point outside the screen, or a different point you want to click on. That is the reason why you have to calibrate the robot according to a device model, and that point has also been improved :–)

However a regret can remain about Appium. Few years ago the version 1.4 of Appium was able to deal with a Tapster robot. But with the massive refactoring (based on axes and chain saws) of Appium with its version 1.5 the code dealing with the robot has been withdrawn, and its milestone deprecated. Thus it could be cool to integrate again the robot management in this tool
 who’s on it?

If you are looking for resources, feel free to follow these links:

Do you like my publications? Buy me a beer or use something else ❀

Privacy or sensitive data
 a list of tools to protect your Юѕѕ

đŸ‡ș🇾 – August, 17th 2018

Sometimes friends of mine asked me why I am so interested in subjects and tools related to privacy, data and share. I answered them because they are quite fun themas, and make us be aware of the use of digital tools we have. They also make us looking for new solutions and solve hard challenges so as to reach both a kind of wahoo effect and innovation. But sometimes they asked me which tools they should use so as to protect their data or just secure their devices. When I answered them I forgot some details or cool softwares which could have help them. So here we are, this is a list of tools you can use, share and improve if you are worried about your privacy, your sensitive data or the protection of the use of your daily tools.

🌐 1 — Web browsing

You should choose free and open source web browsers who are not maintained by companies looking for profits.

Some of them are dedicated to privacy like Brave, Orfox (from the Guardian Project) or Firefox Focus. Others can possess dedicated extensions like Firefox or are already configured like Tor Browser. But the browser is not enough, you have the right to define another search engine like Qwant or DuckDuckGo! Such engines do not contain trackers and do not use for example your location in order to provide to you the best list of sushis bar for the dinner you have around you. The user experience is a bit degraded, but it is a question of search request after all :)

🚀 2 — Networking

Use safe browsers is a good idea. but what if the network you use is public or cannot be trusted? What should you do if you are using for example Wi-Fi hotspots?

You can still use TOR: with its onion routing and its shiny hammer, you may have a more secure but a slower connection from your device to the destination server. Be aware in this case the final layer of your onion can betray you, and sometimes computers can be confiscated for legal reasons. You can still use some VPN solutions like ProtonVPN and OpenVPN which make harder the read of your connection payloads. Another fun tool for Android and iOS powered devices is OONI probe: a kind of probe which checks if censorship has been implemented in the network you use. Beware the probe collects evidences of censorship by checking connections to certain websites which can have their content regulated or forbidden (like porn). Measurements data can be collected and available on this web page. DNS configuration can be changed to prevent your web navigation of being blocked: Quad9, Google, OpenDNS, Cloudflare, FDN, FreeDNS... no need to keep the default one!

📡 3 — Web tracking

There are a quite big list of add-ons to plug on your favorite web browser so as to check whether a web site is tracking you or not. Collect of data, locations, configuration of your device, cookies, JavaScript scripts, redirections, profile creations, all those boring things which help companies to earn money and define their audience can be blocked.

For example you can find for Firefox several plugins like Kimetrack, Privacy Badger and No Script. They allow you to disable third party scripts which are not useful for you. They give you also a lot of details about the trackers the pages may have.

💈 4 — App stores

For some operating systems like GNU/Linux and Android, we can use alternative app stores to get applications and other software. Even if some of them are not verified by the OS owner (e.g. with Google and its Google Play), alternative stores can bring to light free and open source applications respectful to your private life. They possess also applications which do not apply to the rules of the official store owner, rules which can be very boring for developers. But with these alternative stores, it will be your job to trust the app and not to complain the bad behaviors they can have on your device (malwares are spreading a lot within Android ecosystem because of those stores).

Did you know for Android F-Droid and Yalp? No? Time to move and try :)

💿 5 — Operating systems

The first thing to change if you are worried about your privacy is the operating system (OS) you have on your computer, smartphones, tablets or whatever you use. Avoid the use of black-box OS like Windows: if you cannot see what it is doing, do not use it.

For computers, GNU/Linux based OS are numerous: Ubuntu (not a big fan but it’s a start), Debian, ArchLinux (if you have a beard) or Gentoo (if you have an Albus Dumbledore’s white beard and a pointed hat). There are other systems dedicated to privacy and private life protection: Qubes OS, Tails or PureOS for examples. You can replace your smartphones and tablets OS based on Android by LineageOS (a fork of Android) or eelo (a new starting project). You must keep in mind if you are not using the official OS of your device, you may have security fixes and bug patches later than others or never...

And what if I bought a computer with such OS instead of installing it? Have a look on Minifree! They sell laptops with preinstalled GNU/Linux OS and free BIOS certified by the Free Software Foundation. Check their website, you may discover a laptop matching your needs :)

📬 6 — Messaging

Instant messaging, SMS, voice chats, emails... Who owns the apps you use daily? It might be mainly Google (Gmail, Hangouts), Apple (iMessage), Microsoft (Skype, Outlook) and Facebook (WhatsApp, Messenger), thus companies who must be interested by your data.

Have a look of enciphered SMS with Silence, and encrypted communications with Signal. Telegram is not so evil, but is concerned by political issues... Did you notice the chat app used by some of Mr Robot’s characters? It’s Wickr. This web site is able to help you to choose the most suitable app for you. “And what about my emails” do you think? Have a look on ProtonMail.

🔧 7 — Daily tools

Look deeper in the tools you use daily on your computer or your smartphone: you may see things you can replace by free or open source or privacy-respectful versions.

Have a look on softwares made by Cozy Cloud and Framasoft. Need to store your passwords or looking for an efficient software which can build for your very strong credentials? Why no... Keepass! Your device contains pictures of your kids, contact of your lover, or your personal tasks and thoughts of the day. Did you think to protect them with encryption? Plenty of operating systems provide such tools in their settings, move on! You can also have a look on VeraCrypt. If you want to hide information with pictures or sounds, thus use steganography and go to DeepSound and SilentEye websites. Yep, Mr Robot again :)

💰 8 — Payment

OK this part is far less feasible because of the laws of countries and all the bullshit you can see in not specialized press. Nevertheless if I want to talk about privacy, I cannot miss to introduce cryptocurrencies.

When you buy something on the Internet or withdraw money using fiat currencies (e.g. USD, EURO, YEN, ...) you leave traces for your bank and it can be very useful if your payment card has been stolen or pirated: block the card, cancel transactions, alert you in case of strange moves. We can read several things about cryptocurrencies: they are gorgeous, they can make you earn a lot of money and perfectly anonymous. Please stop now. This is not true at all, but some cryptocurrencies like Zcash and Monero are anonymous (a bright article here): if you make a transaction, no one can find the sender (you) and the receiver. For these two, the side effect is transactions cannot be removed, because they are stored in a blockchain, but that’s another story.

đŸ•” 9 — Security

Did I say the previous parts were tricky? This one is harder. If you want to protect your privacy, data and your private life when you use softwares, you have to put your trust on them. But how to be sure the softwares, devices and network connections you use are safe? Keep in mind they can be spied, or contain flaws from where data can be stolen, or worse with backdoors and remote control system.

Hopefully there are some of tools you can use if you are skilled enough so as to check whether an app or a connection is clean or not. Have a look of the the Kali OS and the Metasploit framework, they are great tools to tests applications, OS, networks
 If you are able to break your target or exploit it, it means other people can do so. Feel free to test but respect the law about that 8-)

⛩ 10 — The most important: people

Honestly I did not find all these tools on my own. I discussed with friends and colleagues, and read organizations blogs. Thus if you want to protect your ĐŽss and keep your things safe, you should check the news of some serious and harsh groups, they can warn people if big problems occur.

I place here unordered groups like the Electronic Frontier Foundation, the Guardian Project, La Quadrature du Net, the TOR Project, the Open Observatory of Network Interference, Exodus Privacy, the Ministry of Freedom, the Free Software Foundation and April.

đŸŽâ€â˜ ïž TL ; DR — Conclusion

Privacy, data, private life, web uses
 we must be worried about them. We should ask to ourselves questions: what if my device is stolen? What if we have a massive data theft? What if we learn companies are spying us? How can we protect our devices as strongly as possible?

We have a lot of tools, applications, operating systems and devices. I just wrote here a small sample of them. Some of them may be Single Points of Failure so do not put all of your sensitive data in one medium. Free and open source worlds are far more convinced about privacy and private life than bg companies. Security and privacy protection make us create new solutions and help innovation. Hacktivism can bring to the light the bad behaviors of companies. People need to protect and defend their data and their private life, because damages can be massive in case of censorship, flaws or bugs. If your are not convinced, I advise you to read some great books: you might have another point of view after that: 1984 of George Orwell and 2084 written by Boualem Sansal.



Cheers!

Do you like my publications? Buy me a beer or use something else ❀

Et si on parlait de l’hypocrisie vis à vis des GAFAM et du libre ?

đŸ‡«đŸ‡· – 16 aoĂ»t 2018

Cet article est Ă  considĂ©rer comme un billet d’humeur, et Ă  ce titre les opinions exprimĂ©es ici ne sont que les miennes. Mais je trouve pertinent de prĂ©ciser pour la suite plusieurs choses. Tout d’abord, oui je me considĂšre comme libriste, et partisan de l’open source. Oui, la vie privĂ©e, le partage et l’ouverture sont des sujets qui me prĂ©occupent. Oui, je suis aussi cette annĂ©e prĂ©sident d’un Google Developers Group (GDG). Si vous faites un blocage lĂ -dessus me considĂ©rant comme un dĂ©vot, inutile de continuer Ă  lire vous risqueriez d’avoir un avis nuancĂ© :) Sinon sachez qu’ĂȘtre dans un GDG n’engage Ă  rien, n’impose rien, ne contraint rien, et ne permet que d’avoir accĂšs Ă  beaucoup de contenus, et dans le cadre d’une p’tite association de dĂ©veloppeurs de Lannion comme Code d’Armor, ce n’est pas nĂ©gligeable. Ce billet d’humeur fait suite Ă  ces vagues d’hypocrisie institutionnalisĂ©es et un brin dĂ©magos qui concernent aussi bien les gĂ©ants du web que les solutions alternatives


( ‱‱)† Vade retro GAFAM

Ne nous voilons pas la face, il y a des bons et des mauvais cĂŽtĂ©s chez les gĂ©ants du web, et c’est un fait. Dit autrement, les avis butĂ©s et non nuancĂ©s hurlant au “diable Google” et au “cancer Facebook” sont assez risibles et tristes. Bim, c’est dit.

Que leur devons-nous, Ă  ces grosses entreprises AmĂ©ricaines ? Beaucoup de choses, mais pas tout non plus. Prenons l’exemple d’Apple. Ce membre de GAFAM propose des produits onĂ©reux, mais gĂ©nĂ©ralement efficaces, et faisant partie d’un Ă©cosystĂšme riche et cohĂ©rent pour l’utilisateur. Qui a dĂ©mocratisĂ© (sans inventer) les tablettes numĂ©riques proposant (enfin !) des bons produits ? Apple. Qui Ă©vite de tomber dans la facilitĂ© en limitant son catalogue de smartphones pour ne pas avoir Ă  proposer des appareils bas de gamme bons au rebus au bout de 2 ans ? Apple (pas seulement). Qui met en avant la protection de la vie privĂ©e de ses utilisateurs quitte Ă  avoir des dĂ©boires avec le gouvernement AmĂ©ricain ? Vous avez compris. Il y a certes une prison dorĂ©e et verrouillĂ©e pour les usagers, saupoudrĂ©e d’un peu de marketing bullshit, mais la marque de Cupertino a su rĂ©pondre efficacement Ă  des besoins. Passons du cĂŽtĂ© G des GAFAM. Sans chercher pour autant Ă  faire un catalogue des services de Google/Alphabet, il y a des Ă©lĂ©ments qui se dĂ©marquent dont des projets de X. Le projet Loon pour dĂ©livrer un accĂšs Ă  l’Internet dans des endroits reculĂ©s, le projet Wing pour d’autres modes de transport ou le projet AI, sobrement baptisĂ© pour l’intelligence artificielle. Alors oui, il ne s’agit pas ici de pure philanthropie. Google et Alphabet restent des entreprises, et les revenus de la firme de Moutain View sont essentiellement publicitaires. Mais il y a des efforts pour creuser diffĂ©rents sujets et faire avancer les dĂ©bats sur des thĂšmes qui finiront tĂŽt ou tard par s’imposer.

Je ne vais pas m’amuser Ă  faire une liste des contributions de tous ces gĂ©ants, ni de leurs dĂ©rives vis Ă  vis des donnĂ©es, de la vie privĂ©e ou de la coopĂ©ration avec des États, mais voici quelques Ă©lĂ©ments posĂ©s en vrac qui me font me poser la question suivante : Si nous devons bannir ces entreprises de nos vies, serions-nous prĂȘt Ă  jeter ces produits, ou ceux sur lesquels ils sont basĂ©s, ou encore les outils auxquels des contributions ont Ă©tĂ© apportĂ©es ? Je cite en vrac entre autres les librairies et frameworks Flutter, Angular, Polymer et React, le systĂšme d’exploitation Android, le navigateur Chromium, les langages informatiques GraphQL, Dart, Go et TypeScript, l’outil Kubernetes, TensorFlow et PyTorch pour l’intelligence artificielle, l’Open Handset Alliance, et Google Project Zero pour la sĂ©curitĂ© informatique.

On peut ainsi constater deux choses : nous devons beaucoup d’outils et de produits Ă  ces sociĂ©tĂ©s, certains vraiment formidables d’ailleurs, mais justement, ne nous leur en devons pas trop ? La question reste ouverte :–)

(╯°□°)╯Serment d’hypocrite

La raison qui me fait Ă©crire ce billet, est de voir l’augmentation de cas de comportements schizophrĂšnes, ou de syndromes de Stockholm, vis Ă  vis des GAFAM.

Comment peut-on rester stoĂŻque quand des Ă©lus torpillant les GAFAM vis Ă  vis de leur ingĂ©rence dans la vie privĂ©e et la collecte de donnĂ©es laissent leurs Ă©coles ou ateliers numĂ©riques s’installer sur le territoire ? Comment ne peut-on pas ĂȘtre affligĂ© quand on voit des personnalitĂ©s politiques scandalisĂ©es par le monopole de ces gĂ©ants, quand on leur laisse des villes, l’Éducation Nationale et le MinistĂšre des ArmĂ©es ? Comment peut-on Ă  la fois critiquer l’omniprĂ©sence des entreprises AmĂ©ricaines dans nos vies quotidiennes, sans pour autant Ă©duquer les citoyens au numĂ©rique et favoriser les solutions alternatives ? Car oui, il y en a ! En cherchant un peu, on peut voir que dans une multitude de situations, des solutions non intrusives, respectueuses et vertueuses existent, et rendent dispensable l’utilisation des produits de GAFAM.

Nombreuses sont les critiques vis Ă  vis de l’hĂ©gĂ©monie d’Android dans le monde des appareils mobiles. Si sa prĂ©sence (indirectement celle de Google) gĂšne autant, quand arriveront les soutiens officiels et concrets Ă  des projets comme eelo ou LineageOS ? Lorsque des villes ont besoin de services en ligne Ă  des fins de gain de productivitĂ© ou de partage, pourquoi ne voit-on pas ou peu de communication sur des solutions comme celles proposĂ©es par Cozy Cloud ou Framasoft ? Quand des personnalitĂ©s politiques tirent sur WhatsApp et Telegram, applications n’ayant pas leur confiance, pourquoi voit-on des travaux sur une app française de messagerie sĂ©curisĂ©e alors que d’autres existent comme Signal ? Devrions-nous nous attendre Ă  des fiascos comme Louvois et SAIP ?

(ლâ•č◡â•čლ ) La route est longue...

Il ne faut cependant pas voir le verre à moitié vide.

Des progrĂšs peuvent ĂȘtre citĂ©s, notamment avec GendBuntu dans la Gendarmerie (systĂšme d’exploitation basĂ© sur Ubuntu) (chacun sa paroisse hein), ou encore la montĂ©e en puissance de Qwant. Des associations et partis continuent de taper du poing sur la table et de dĂ©battre, comme l’April, la Quadrature du Net ou le Parti Pirate. Des projets ont mĂȘme donnĂ© des fruits pas dĂ©gueus comme CHATONS, et DĂ©googlisons Internet.

Le problĂšme est que, au jour d’aujourd’hui, les projets et entitĂ©s qui se soucient de la vie privĂ©e, du numĂ©rique, de la dĂ©centralisation et du partage sont gĂ©nĂ©ralement catĂ©gorisĂ©s dans un coin comme une sorte de militantisme paranoĂŻaque Ă  voir le mal partout, un peu comme ce tonton rĂ©ac’ qu’on invite aux repas de famille mais qu’on Ă©vite de trop laisser parler. Mais ne serait-il pas tant d’essayer ou de promouvoir de nouveaux modĂšles ?

Prenons par exemple la plateforme Patreon. Si des artistes arrivent Ă  ĂȘtre financĂ©s via cette plateforme, pourquoi pas des membres de projets libre et open source ? En France, le mouvement (relativement louable) de la #StartupNation s’installe pour favoriser la crĂ©ation d’entreprises. Et si on avait un mouvement similaire type #FreeNation ? Le nom claque un peu quand mĂȘme. DerniĂšre idĂ©e, les cryptomonnaies. En supposant que l’on place les efforts et dĂ©bats ailleurs que sur la spĂ©culation, la rĂ©gulation ou l’interdiction des cryptomonnaies et des ICO, ne pourrait-on pas par exemple imaginer des tokens permettant de financer des entitĂ©s dĂ©vouĂ©es Ă  l’open source ? Quitte Ă  ĂȘtre disruptif avec ces monnaies alternatives, pourquoi pas l’ĂȘtre Ă  fond et repenser la rĂ©munĂ©ration ?

M’enfin bon. A force de rĂ©flexions de ce genre, et puisque tous ces Ă©lĂ©ments sont gĂ©nĂ©ralement inconnus du public, et que les discours concernant les GAFAM sont systĂ©matiquement binarisĂ©s pro/anti, je me demande s’il n’y a pas finalement un refus de la classe politique et d’une partie de la population de se poser des questions, de soutenir des solutions meilleures pour tous, et de remettre en cause ses habitudes. Personnellement je me dis qu’un jour le message finira par passer. Pas Ă  grands coups d’articles putaclicks, mais plutĂŽt Ă  force d’éditions de Libre en FĂȘte comme Ă  Lannion ou de CafĂ©s Vie PrivĂ©e, ça finirait peut-ĂȘtre par changer
 mais les prises de conscience tardent.

Je terminerai par une belle phrase de Framasoft qui rĂ©sume tout ça : La route est longue mais la voie est libre... Entre temps, faĂźtes un tour sur la page du projet Contributopia ;–)

Do you like my publications? Buy me a beer or use something else ❀

When I say mine you say Coinhive ⚒

đŸ‡ș🇾 – January, 4th 2018

Few weeks ago I started an experiment like a quick-and-dirty proof of concept around cryptocurrencies and web mining. I choose Coinhive so as to see what it was possible to do with this tool. I write here the results of my experiments and the tests I made of this API. Before that, let’s sum up the principles of blockchains and Monero ⛏

Note Coinhive is closed

⛏ About blockchains & cryptocurrencies

I won’t write too much lines about blockchains and cryptocurrencies, because it’s not a really new concept (brought out in 2008 by Satoshi Nakamoto with Bitcoin), and I should both talk about concepts of cryptanarchism, cypherpunk and cryptography. So, let’s make it short. And if you understand french-written slidedecks, go here ;-D

Blockchains can be seen as distributed decentralized ledgers or databases. No one owns a unique instance of the base but a number of nodes linked each others through peer-to-peer network. This aspect is one of the biggest advantage of the technology, the other relies on the impossibility to corrupt the data stored inside it within “pages” of the ledger called blocks. Due to hash operations, the content of a block is unfalsifiable and sustainable, and if a block has been altered the following will be too and so on. There are several types of hash operations called Proofs of Work: Equihash for Zcash, Ethash for Ethereum, Hashcash for Bitcoin or CryptoNight for Monero. There will be also Proof of Stake instead of Proof Of Work for Ethereum but not for today. This mathematical competition is made between each node in order to choose the one which will be able to build the new block. Thus the successful node earns tokens (e.g. Bitcoin, Ether, Zcash, Monero or Dogecoin) and can spend them (e.g. in exchange places like Kraken, Changelly or Coinbase). Blockchains are public, and some of them (e.g. Monero, Dash and Zcash) can hide their data like transactions, fees, amount of used tokens or owners. For some blockchains, instead of just exchanging tokens, it is possible to store programs and define decentralized applications (ÐApps) using Ethereum or EOS. Cryptocurrencies can be called with their acronyms: BTC, BCH, BTG, ETH, ETC, ZEC, XMR respectively for Bitcoin, BitcoinCash, Bitcoin Gold, Ether, Ether Classic, Zcash and Monero. Some of these altcoins are in limited quantity (at most 21.000.000 for BTC) or not (XMR, ETH). Finally, altcoins are volatile and mainly used for speculation. And sometimes, there are funny crashes (see below).

Graph of values of BTC, ETH and XMR with a crash

(╯°□°)â•Żïž” ┻━┻ Ok buddy, and Coinhive? Soon, but before let’s talk about its currency: Monero.

⛏ About Monero

Drawing about Monero

Monero is an opensource cryptocurrency launched in 2014. It is based on CryptoNote algorithm which protects privacy, contents and transactions. CryptoNote and the network in use, Kovri, obfuscate the data so as to make it quite impossible for an intruder to see what happens. Technologically Monero is quite awesome: Kovri is based on I2P’s specifications, encryption is everywhere, and several mechanisms like Ring Signatures (hiding senders), Ring Confidential Transactions (hiding amounts of XMR in transactions) and stealth addresses (protecting the receivers of the transactions) have been set up with the aim of protecting the blockchain. Yes, Monero is one of the most badass of cryptocurrencies. According to Bitinfocharts (on 01/03/2017) the USD value of 1 XMR was $379.65, the mining time to wait before a new block was around 2 minutes, the blockchain size was around 38 GB and the reward for the successful miner was around 5.5 XMR. Nice :)


(ノ`Д ́)ノ Please guy, don’t make another boring article about Monero, I want Coinhive!

Ok, since we have introduced blockchains and Monero, let’s talk about Coinhive.

⛏ “Hello Coinhive!”

Logo of Coinhive

What’s that?

I won’t write a too big paragraph about the history of Coinhive. I just say that this tool is quite well-known today because of its use with Pirate Bay portals, and the Showtime case. The idea behind is to provide a new way of remuneration: because more and more people use ad-blockers, it may be quite tricky to use advertisements to monetize a web site or an app. So, if we can mine Monero when the users are visiting our product? That’s why Coinhive is here.

Coinhive offers a JavaScript miner for the Monero blockchain, and it is really easy to integrate it inside a web project. The miner is run in the browser, and uses the CPU power of the users to try to mine new blocks. Due to the lack of API in Web standards, GPU are not really used with this API. Coinhive uses Monero thanks to of the lightweight of CryptoNight, and also because the calculational power to have to mine Monero can be medium.
The formula for the payouts is quite simple, Coinhive keeps around 30% of the benefits, and the remaining 70% are for the developer:

(solved-hashes / global-difficulty) * block-reward * 0.7

So, what are the features?

First, proof of work captchas!

Coinhive is not just another miner for Monero, or a tool for pirates or whatever press-groups can say. The project offers a new kind of captcha using
 Proof of Work! Instead of having to write a not-so-readable keyword, or click on ugly cars with several pictures, this captcha system makes users (in fact their browsers) need to compute a defined number of hashes so as to submit a form. Spams are prevented, it is far less boring that old-school captchas, and it might make developers earn a bit of Monero. The use is quite simple: add a reference to a script in HTML, add a div with the amount of hashes and the data key, and that’s all. The div will be replaced by additional content within an iframe.

Second, proof of work shortlinks!

Coinhive provides a feature related to shortlinks. Instead of using GAFA’s or other well-knowns URL shortener (please, consider using Frama.link), it is possible for the developer to define a short link with which users have to solve a number of hashes before being automatically forwarded to the target URL. It is quite interesting so as to prevent spams, click-bots or too curious spies.

The use is very simple, add the short link in your text content, and when the user clicks on, a new page will be opened in its browser with the state of the process.

Third, Monero mining — the clean way The last feature, and the more known, is about mining. After having defined public and private keys for the API, developers can integrate JavaScript glue and/or HTML components in a web page so as to set up the miner. In fact, it is a better idea to ask the user to allow the mining process, but on 01/03/2018 it remains possible to mine Monero silently. The use of this feature is as simple as the captcha feature: add a div in your page, add a script and that’s all. The div will contain an iframe with the widget of the miner. The widget itself is customizable, specially with colors, number of threads to use and the throttle. The higher the throttle is, the more busy will be the CPU.

... and the clean-or-not way.

Coinhive allows developers to use pure JavaScript glue to mine Monero instead of using widgets. This is this kind of tools some websites used, and they were in a dirty way I won’t show here. The cleaner way is to use the API which asks the user to grant the mining process. It is better to have resilient users choosing or not if you can mine than having lost a lot of them because of ninja mining. The code to inject is as simple of the others :

However it is not because there is no GUI that users cannot see the miner working. Indeed, if we look deeper with the task manager of the browser, we can see there is something quite busy on the web page. But no more details are available :–/

And a dashboard.

Finally Coinhive has a clean dashboard which sums up the hashrate (hashes/s), the total number of hashes and the pending payments. It lists also the “sites” you have defined (here “dwarf” defined for the demo in my web site). You can easily read that with this demo I’m not rich at all, and the XMR gain I may have will not refund the power supply costs. But who cares? It’s just for beauty of proofs of concepts :)

⛏ Enter in the noice of the hive

Thus, and it is the purpose of this article, I tried the mining feature of Coinhive. I made it in a quick-and-dirty way, hide it in a dedicated location in my web site, and here I am. I tried this feature with 2 smartphones and 2 laptops using Firefox as web browser. I used the same configuration: 4 threads and 100% of speed (i.e. 1.0 for the throttle). The tests duration was around 1 hour. I choose this duration so as to be closer of a use case where someone watches a video on a streaming platform or uses its favorite web application (social network, tool in the cloud, etc.). Below are the specifications of the devices.

I put below the resulting hashes of each device. I can say I made these tests with only the miner and no more application opened. The device have not been rooted, jailbreaked or overclocked. The miner in use was the UI miner.

⛏ And so what?

I can say that if I want to make users of web projects mine Monero using Coinhive, I will make it possible if they are using computers and not smartphones. With computers there are higher hashrates and maybe they can make me earn Monero tokens if the hashes are successful. But with all the last flagships of OEMs, I think it might be interesting to mine with them. Look at the specifications of the iPhone X, the Samsung Galaxy S8 or the Huawei Mate 10, it could worth :)

I will make new tests with new parameters so as to have better ouputs :) Moreover I want to look deeper in the browser so as to find more traces and logs related to the miner. Coinhive is not opensource, and I am the kind of person which wants to look deeper to trust the tools I use. I would like to make new tests with JavaScript pure miner, using Chrome, Opera, Safari and Edge. It may be interesting to make tests with several durations and speed of mining so as to find the good combination between them which permits to mine Monero units without impacting too much the users. In addition, I have felt that the fans of the laptops were noisy, and the smartphones were quite hot. So it has an impact on power consumption and temperature of the components. It may be interesting to keep an eye of these elements in the future tests.

The API of Coinhive is both really interesting and easy to use, and to my mind it is not a so bad example of what we can do with blockchains. Prevent spams, earn money for side projects or news-websites, monetize a web site even if users block advertisements, these are interesting ways of use. We can also integrate Coinhive to opensource projects or associations so as to help them to earn money and buy some supplies for examples.

Indeed malicious people and malwares can use the API to earn money silently, but I believe it is not a good reason at all to forbid this kind of tools.

Let’s see what will be the next cool features! ~=[,,_,,]:3

Do you like my publications? Buy me a beer or use something else ❀

Le jour oĂč le Web s’enfonça un peu plus dans la tombe

đŸ‡«đŸ‡· – 20 dĂ©cembre 2017

Aujourd’hui, j’aimerais aborder un sujet qui me tient à cƓur, à savoir le Web, ses principes et les coups qu’ils reçoivent.

Ceux qui me connaissent savent que je ne perds pas une occasion pour taquiner les dĂ©veloppeurs web, mais pour une fois ce ne sera pas le cas ici :) Je tiens avant tout Ă  apporter une prĂ©cision non nĂ©gligeable : les opinions exprimĂ©es ici sont strictement les miennes, personnelles, et ne reflĂštent aucunement l’avis des associations ou des entreprises dans lesquelles je suis ou ai pu ĂȘtre. L’idĂ©e derriĂšre ce billet est surtout de pousser Ă  la rĂ©flexion car mĂȘme Tim Berners-Lee a des craintes.

Grumpy cat

Etant nĂ© au dĂ©but des annĂ©es 1990, j’ai pu voir arriver les dĂ©buts du Web (entre deux gĂ©nĂ©riques karaokĂ©s de PokĂ©mon) avec le “Web 1.0”, le web documentaire. A cette Ă©poque lĂ , le Web et les internets (oui, j’ose dire les internets) se rĂ©sumaient Ă  un bon vieux boĂźtier bleu qui chauffait assez rapidement, avec un dĂ©bit ahurissant de 56k, et qui ouvrait les portes du monde numĂ©rique avec ce bon vieux bruit si mythique. Pour ceux qui ne voient pas de quoi je parle, ici une vidĂ©o qui rĂ©sume bien l’époque.

A cette Ă©poque lĂ , la seule chose qui pouvait nous soucier vraiment Ă©tait la facture tĂ©lĂ©phonique Ă  cause du hors-forfait. Si on avait payĂ© pour 10h/mois, et qu’on avait le malheur de dĂ©passer cette limite, la facture devenait vite salĂ©e (un peu comme les larmes de ceux qui la reçoivent vu les prix exorbitants Ă  l’époque). Pas de Google, pas de Facebook, juste un labrador noir Ă  envoyer faire des recherches (qui a pensĂ© Ă  le nourrir ?), un chat avec un casque audio sur la tĂȘte et une mule sympa. Et Windows 98 aussi.

Puis, vinrent les annĂ©es 2000, avec l’émergence du “Web 2.0”, le web social, avec ses blogs, ses wikis, les premiers rĂ©seaux sociaux et une volontĂ© de normaliser ce joyeux dĂ©sordre que constituaient le XHTML et le CSS 2. WikipĂ©dia arriva aussi, et on commençait Ă  se dire que, finalement, les CD-ROM de l’encyclopĂ©die Microsoft Encarta allaient vraisemblablement finir dans le cerisier pour faire fuir les corbeaux (indice, ça ne fonctionne pas trop). Mais Ă  partir de lĂ , une odeur de tarte aux concombres commença Ă  se faire sentir. Car derriĂšre toute l’excitation de publier ses photos de vacances (putain, combien de photos de pieds dans l’eau et de selfies sur les internets ?), de rĂąler sur tout et rien (oui bon, je suis concernĂ©) et d’exploser les planĂštes de ses voisins (OGame quand tu nous tiens), se profilaient l’appĂąt du gain et la volontĂ© de contrĂŽler tout ça. Remarque, quand on galĂšre Ă  parquer un troupeau, on peut attendre qu’il se forme quelque part et mettre une clĂŽture ensuite. C’est con, mais ça fonctionne.

Mais finalement, pourquoi est-ce que l’odeur de la tarte aux concombres numĂ©riques envahit de plus en plus le web ?

Premier enjeu, le contenu.

Au dĂ©but, le Web Ă©tait un endroit de partage Bon, partage plus ou moins lĂ©gal certes, mais d’échange avant tout. Si j’aimais une image, je l’enregistrais sur mon ordinateur (avec 2 disques HDD de 3 Go chacun, s’agissait pas de dĂ©conner sur le choix de l’image) et je la partageais. Si je trouvais un lien hypertexte pointant vers un contenu intĂ©ressant, hop, je partageais. Et ainsi de suite. Mais lĂ  oĂč le partage de l’information et de la connaissance est, le profit et les droits d’auteur se cachent.

Étant libriste dans l’ñme, comprenez-bien que la notion de copyright me donne de l’urticaire (sauf si derriĂšre vous choisissez une licence open source), mĂȘme si finalement c’est le nerf de la guerre. Sans rentrer dans les dĂ©tails (et j’avoue que ce n’est pas du tout mon domaine), l’usage des droits d’auteurs tend Ă  s’imposer lourdement sur la toile. Filtrage de contenu ou mĂȘme blocage complet se mettent en place si le sacro-saint droit d’auteur est bafouĂ©. DerriĂšre l’idĂ©e sĂ»rement louable d’éviter que les artistes soient flouĂ©s (cadeau) les effets de bords peuvent ĂȘtre Ă©normes. Quid des informations parues sur WikipĂ©dia ? Des images d’artistes sur DeviantArt ? Ou des dĂ©pĂŽts de code source de logiciels sur GitHub ? Le monde scientifique Ă©tant dĂ©jĂ  soumis Ă  la loi du billet vert, Ă©largissons alors Ă  tout type de document ! Mais derriĂšre ça, c’est un flou juridique qui persiste, si large que mĂȘme une image banale peut ĂȘtre soumise Ă  ce droit (et parfois, c’est drĂŽle Ă  voir). En filtrant le contenu, on filtre l’information, et de fait la connaissance gĂ©nĂ©rale. Dommage pour un lieu de partage, non ? Et le pire dans tout ça, c’est que l’arsenal juridique est si flou, qu’il a tendance Ă  faire plus de dĂ©gĂąts qu’autre chose. Il y a des plateformes de partage en P2P ? Fermons-les. Comment ça du contenu, difficilement accessible, tombĂ© dans le domaine public, n’est plus accessible ? Rien Ă  faire.

Vidéo bloquée sur YouTube

Autre exemple, les Digital Rights Management, ces bons vieux DRM. Toujours pour soutenir les Ă©diteurs, pardon, les artistes, le World Wide Web Consortium (W3C) avait commencĂ© Ă  travailler sur le projet des Encrypted Media Extensions pour s’assurer que tout Ă©tait en ordre. Vous voulez regarder une vidĂ©o en ligne ? VĂ©rifions d’abord si vous avez le droit de la voir. Vous ĂȘtes dans un pays oĂč des accords commerciaux peuvent manquer pour Ă©couter une chanson sur une plateforme de streaming ? Hop, vĂ©rifions donc ça. EmpĂȘcher quelqu’un d’accĂ©der Ă  une information, juste pour des raisons commerciales qu’il ne pige mĂȘme pas, ne revient pas Ă  une forme plus vicieuse de censure ? L’enjeu Ă©tait tel, que le W3C a soutenu ce projet d’insĂ©rer dans les standards du HTML 5 les notions de DRM. RĂ©sultat ? Un Web un peu plus verrouillĂ©, et l’Electronic Frontier Foundation (EFF) qui claque la porte avec une lettre ouverte.

Caricature de DRM

Dernier point relatif au contenu, et finalement au business, les bulles. Le Web Ă©tant passĂ© de lieu de partage Ă  lieu Ă  forte monĂ©tisation, les rĂ©seaux sociaux se sont empressĂ©s de fournir du contenu Ă  leurs utilisateurs et on ne le regrette pas en soit. Et pour ça, quoi de mieux que de mettre en place des systĂšmes de recommandations ? AprĂšs tout, si le contenu, et la publicitĂ© concernĂ©e, ramĂšnent de l’argent, pourquoi pas non ? Sauf que, la technique a parfois ses limites, avec entre autres les fakes news. LĂ  oĂč on l’on partageait l’information en Ă©tant serein dans les annĂ©es 2000, on en vient Ă  douter de sa pertinence et de sa rĂ©alitĂ© en 2017, Ă  tel point que le terme “d’ùre de post vĂ©ritĂ©â€ est apparu.

DeuxiÚme enjeu, la vie privée.

Pendant un long moment, les notions de chiffrement et de protection de sa vie privĂ©e Ă©taient acceptables. Au mieux on se donnait l’image de quelqu’un de soucieux, au pire celle d’un geek qui bricole dans son coin mais qu’on aime bien quand mĂȘme.

Mais depuis les annĂ©es 2010, vinrent les ennuis. Par exemple, 2013 et sa Loi de Programmation Militaire. Capture en temps rĂ©el des informations, rĂ©quisition de documents, interceptions de communication, et tout ça dans un flou juridique constant et oĂč le manque de dĂ©tails laisse trop de permissivitĂ©. Mais bon, contre la dĂ©linquance et pour protĂ©ger les affaires, ça vaut bien le coup, non ? Puis arrivĂšrent les attentats. 7 Janvier 2015, 13 Novembre 2015, 14 Juillet 2016, des dates qui je pense ne peuvent ĂȘtre oubliĂ©es, et des faits qui ne peuvent ĂȘtre pardonnĂ©s. Mais l’unitĂ© et la solidaritĂ© qui sont apparus ont vite Ă©tĂ© remplacĂ©s par l’état policier. Le terrorisme se cache avec un routage en oignon ? Matraquons TOR. Les fanatiques chiffrent leurs communications (on dit chiffrer et pas crypter bordel) ? Essayons d’imposer des backdoors. Quelqu’un refuse de donner des identifiants de connexion ou des clĂ©s de dĂ©chiffrement ? Il est complice. Des abrutis en kalachnikovs font des recherches sur les internets ? Mettons des boites noires et gardons un maximum de donnĂ©es. Des discussions ont eu lieu sur des messageries instantanĂ©es chiffrĂ©es ? Interdisons-les. Et, en quelques mois, la prĂ©somption d’innocence a Ă©tĂ© remplacĂ©e par le soupçon, par dĂ©faut, de culpabilitĂ© pour tout le monde. Si vous n’avez rien Ă  vous reprocher, pourquoi protĂ©ger votre vie privĂ©e ?

Campagne de communication

Dernier enjeu, le business.

Ce que l’on voit de plus en plus maintenant, c’est que lĂ  oĂč le Web permettait le partage de l’information, et le cumul de connaissance, on trouve Ă  la place des volontĂ©s mercantiles prioritaires.

Un site de torrents hĂ©berge des contenus violant les droits d’auteur ? D’accord, fermons-le, mettons ces responsables en prison, trop d’argent en jeu. Mais si un site web prĂŽne les valeurs familiales traditionnelles, dĂ©fend des principes archaĂŻques religieux et s’en prend aux droits fondamentaux des femmes Ă  disposer de leurs corps ? Laissons-le lĂ , les affaires ne sont pas menacĂ©es. Pour aller dans le sens commun je ne ferais pas de dĂ©lation ;)

Quand on s’intĂ©resse par curiositĂ© au monde des cryptomonnaies, il est intĂ©ressant de voir les rĂ©actions des gouvernements, de la presse ne maĂźtrisant pas le sujet, et des experts autoproclamĂ©s. Soutient au terrorisme, financement d’entreprises criminelles, ou encore bulles spĂ©culatives, les cryptomonnaies sont aussi dans le collimateur. Par exemple, les Initial Coin Offering (ICO). Imaginez un peu : des levĂ©es de fonds avec une monnaie dĂ©centralisĂ©e et non rĂ©gulĂ©e, pour lancer des projets pouvant ĂȘtre louables, une bonne idĂ©e non ? Pour de plus en plus de pays, non. La Chine, et la CorĂ©e du Sud ont interdit ce mĂ©canisme, la France veut le rĂ©guler. Mais pour avoir bonne conscience, est mis en avant le fait que le quidam moyen pourrait se faire arnaquer et perdre son argent, le vrai. Personnellement, je trouve que j’ai plus Ă  perdre en achetant un album des EnfoirĂ©s qu’en investissant lors d’une ICO.

Campagne de communication contre la FCC

Enfin, et je dois avouer que c’est le sujet Ă  l’origine de ce billet, les attaques incessantes contre la NeutralitĂ© du Net. Je ne vais pas faire une prĂ©sentation de ce que c’est (sinon, vu la taille de ce billet, le peu de personnes Ă©tant arrivĂ© Ă  ces lignes n’ira pas au bout), mais, pour simplifier, cela va Ă  l’encontre des principes mĂȘme du Web. Mais bon, avouez qu’on n’est plus vraiment Ă  ça prĂȘt. La NeutralitĂ© du Net permet, Ă  tous, d’avoir accĂšs au mĂȘme contenu, avec la mĂȘme qualitĂ© de service, sans limitation, peu importe si l’utilisateur est un particulier, une entreprise ou un gros client ayant souscrit Ă  une offre onĂ©reuse. Si je veux voir une vidĂ©o sur YouTube aujourd’hui, je devrais pouvoir la voir dans les mĂȘmes conditions dans 6 mois, et mes amis aussi, mĂȘme si notre fournisseur d’accĂšs Ă  Internet est diffĂ©rent, (et si son dirigeant fait du boudin). Sauf que ce principe fondamental du Web est remis en cause. ConsidĂ©rĂ© comme dogmatique ou freinant l’innovation (ah ?), beaucoup souhaiteraient le voir disparaĂźtre. Et le 1er coup a Ă©tĂ© portĂ© aux États Unis, avec la Federal Communication Commission (FCC). Mais finalement, payer plus pour plus de contenu (pourtant accessibles) et de meilleures performances, cela ne ferait pas furieusement penser aux annĂ©es 1990 ? Remplaçons le modem 56k par une box d’un FAI quelconque, les forfaits liĂ©s aux dĂ©bits par des forfaits ciblant le contenu et le tour est jouĂ©. Tu veux, tu payes. Tu ne peux pas payer ? Tu n’as rien, ou alors seulement accĂšs Ă  un sous-Internet, fallait avoir plus de sous mon p’tit bonhomme.

Bref, quand on fait tout ce constat, avec un peu de recul, on en vient à se poser cette question : que veut-on réellement comme Web ?

DĂ©couvrir, jouer, apprendre, s’exprimer, se protĂ©ger et ĂȘtre libre ? Si c’est le cas, il est grand temps de rĂ©agir. Et ce ne sont pas les outils et groupes qui manquent. Citons par exemple Framasoft (avec CHATONS et Degooglisons Internet), La Quadrature du Net, FDN, Mozilla ou encore Les ExĂ©gĂštes Amateurs ou le Parti Pirate. La presse en ligne comme Numerama et NextInpact propose aussi de quoi rĂ©flĂ©chir. Sans eux pour essayer d’ouvrir les fenĂȘtres, le web finira par sentir le renfermĂ©, et l’odeur enivrante du billet vert. Et tout sera finalement mis en place pour que le jour oĂč un pays bascule dans le totalitarisme, tout soit prĂȘt pour surveiller la population. Et ceux qui voudront se protĂ©ger seront vite ciblĂ©s. Mais bon, 1984, 2084 et V for Vendetta ne sont que des bouquins de fiction non ?

Je terminerais par cette citation de SĂ©bastien Soriano, patron de l’Arcep : La neutralitĂ© du net vise Ă  protĂ©ger le principe d’innovation sans autorisation, de maniĂšre Ă  ce que le seul l’arbitre des innovations ou de la pertinence des contenus soit l’utilisateur.

Sur ces bonnes paroles


Do you like my publications? Buy me a beer or use something else ❀