Recherche

Coder's IO

OpenDataCamp 2015

OpendatacampPict

Cette année encore la réunion des amoureux de la donnée à fait l’ouverture de la conférence Devoxx organisé par Etalab, la startup d’état ménée par Pierre Pezziardi](https://twitter.com/ppezziardi).

L’objectif de cette conférence est de mettre dans une même pièce des personnes passionnées par la data et de les faire travailler ensemble.
Les travaux traités au cours de cette journée visent à améliorer les données de la plate-forme data.gouv.fr. J’ai participé à l’édition de l’année dernière et ça été une très bonne expérience.

Retrospective : édition 2014

L’année dernière j’avais travaillé sur un jeu de données sur l’évolution du nombre d’accidents sur une période données. Nous étions un groupe d’une dizaine de personnes à nous creuser la cervelle sur la manière d’exploiter ce jeu de données brutes. Durant la journée nous nous étions répartie en petit groupe pour travailler sur des axes différents.
L’objectif de la journée était de publier sur le site data.gouv.fr une visualisation des données sous un certain angle.
Avec Antoine Roux nous avons formé un binôme et publier cette visualisation

L’événement est gratuit et se déroule en marge de la conférence Devoxx France. On retrouve tout type de profil parmi mes participants : le développeur, le datascientist, le porteur d’un projet, etc.

L’expérience de l’année dernière était très intéressante malgré le fait que je sois complètement débutant dans l’art et ma manière de jouer avec des données. Lors de la session de 2014 j’ai appris plein de choses :D.
Fort d’une formation suivie du coursera : (data science)[https://thecoderwriter.wordpress.com/2015/04/04/data-science-specialisation-coursera/], je venais plus confiant à l’édition de 2015 en me disant que j’allais mettre à profit ces connaissances.

Edition 2015

Mercredi 8 avril 2015, 9h30 début de l’OpenDataCamp dans une petite salle du palais des Congres. Lorsque j’arrive, les sujets sont en cours de présentation.

  • Transition énergétique : Spécifier une application type mes-aides.org, permettant de mettre avant les aides disponibles pour permettre aux ménages de faire leurs transitions énergétiques.
  • Netflix emploi : Création d’un moteur permettant d’identifier les offres d’emplois cachés. Le moteur se baserait sur des informations statistiques, économiques, géographiques des entreprises pour essayer de détecter des postes à pouvoir.
  • Api RDF : Création d’une API permettant la transformation de fichier au format CSV au format RDF (Web sémantique)
  • Création/enrichissement d’APIs de moissonnage de données.

Parmi tous ces sujets, j’ai choisi la transition énergétique. Pour être tout à fait honnête, j’ai choisi ce sujet sans vraiment réfléchir. Ce qui m’a motivé, c’est la possibilité de travailler avec P. Pezziardi, qui était à l’origine de cette proposition.

L’objectif du travail que nous allions réaliser était de définir un workflow de questions que l’on pourrait poser à un internaute afin d’identifier ces besoins en matière de transition énergétiques. Ensuite, lui proposer les aides (ex crédit d’impot) auquel il peut avoir recours pour faire ses travaux.

L’idée est de pouvoir également le maximum d’informations contextuelles par rapport aux réponses apportées au fur et à mesure.
Dans cet exercice nous partions d’une feuille blanche. La première heure n’a pas été productive, effectivement le sujet est un peu vaste. Puis armé d’un feutre et d’un paperboard nous avons commencé à construire progressivement les questions. Face à ces questions, il fallait identifier les sources de données permettant de contextualiser la réponse.

Par exemple, la première question posée est naturellement, l’adresse postale de la personne. En fonction, de la localisation géographique on est capable de déterminer :
* Climat,
* potentiel solaire,
* température (max/min),
* thermographie aérienne,
* altitude.
* à partir du cadastre : affichage d’une petite carte avec visualisation des polygones de bâti / sélection en cas d’erreur

L’ensemble des questions posées feront aboutir à un profil énergétique et par rapport à la moyenne nationale l’internaute pourra se situer.

Cette journée de brainstorming a permis de créer une première version de spécifications avec lesquels Pierre pourra aller voir les ministères pour défendre et expliquer le projet. C’est à peu près la même démarche qui avait été mise en place pour le site mes-aides.

Je pensais manipuler et traiter de la donnée lors de cette journée. Au final, j’ai passé la journée à réfléchir et concevoir une interface et un workflow.
Nous étions au final 3 personnes travailler sur le sujet. Cette analyse a été très intéressante et l’aboutissement une certaine satisfaction.
Si le projet voit le jour, le code source sera accessible sur le dépôt github d’Etalab.

La fin de journée, c’est soldée par une présentation de l’avancement de chacun des sujets présentés le matin.

Si l’année prochaine vous n’avez pas la possibilité d’avoir un billet pour l’université Devoxx, je vous recommande la participation à l’évènement OpenDataCamp.

Mix-IT édition 2015

Mix-IT 2015

Cette année la conférence Mix-It s’est déroulée les 16 et 17 avril 2015. C’est la première fois que je participais à cette conférence lyonnaise. D’ailleurs je me suis retrouvé la-bas presque par hasard, il faut que je vous raconte.

Pour la petite histoire

Pendant les appels à orateurs, j’avais soumis un sujet sur les lighting talks (LT). Un sujet que j’avais déjà présenté sur d’autres conférences.
Le principe des LT est assez simple. Il vous donne accès à une tribune pour présenter un sujet pendant la pause déjeuné du premier jour de la conférence.

L’ensemble des sujets proposés est ensuite soumis à un vote des conférenciers. Seuls les sujets arrivés dans le top 5 pourront passer. Une chose importante pour la suite est que le LT ne donne pas accès à une place automatiquement.

Le sujet était proposé, je n’avais qu’à patienter jusqu’à l’ouverture de la billetterie…
Le jour dit arrive.. et manque de chance.. je n’ai pas pu avoir de place, elles sont parties trop vite. Donc adieu à mes rêves de gloire en présentant mon sujet ;).

Malgré le fait que je n’ai pas eu de billet, je continuais à surveiller les votes sur les LT. Le mien conservait une bonne place dans le classement.

A ma grande surprise, je reçois dans la nuit de lundi à mardi précédant la conférence, un mail des organisateurs m’indiquant que mon sujet était dans le top 10 et que celui-ci avait de bonnes chances de passer et que pour cette raison, il me proposait exceptionnellement un billet pour assister à la conférence.

Bien sûr j’acceptais la proposition et je n’avais plus qu’à prendre un billet de train, réserver un hôtel, avoir l’accord de ma femme, de mon client et de ma boîte… tout ça en moins de 2 jours.. J’aime le sport 😉

Je vous passe les détails, mais jeudi matin, j’étais dans le train à 6h58 (levé à 4h15) en partance pour Lyon et la conférence Mix-IT… quelle histoire!

Jour 1

Je suis arrivé au milieu de la keynote d’ouverture. Après un passage au café et croissant. Je suis allé saluer mes collègues Lyonnais de Zenika j’ai attaqué les conférences.

Changer d’avis sur Javascript

Cette conférence présentée par Damien Feugas portait sur la nouvelle version de la spécification ECMAScript, la version 6.

Damien nous a présenté toutes les nouvelles features de cette nouvelle mouture.
D’une manière générale, c’est un tournant pour le langage. Beaucoup de choses ont été améliorées au niveau de la syntaxe.

  • Il sera possible de créer des classes
  • Gestion des strings – Interpolation
  • Une gestion plus rationnelle des scopes
  • Heritage avec le mot clef extends
  • Faire des fonctions anonymes simplifiées
  • plus de perte du this

D’une manière générale, le code est plus concis et plus clair.

Cette liste est loin d’être exhaustive, mais n’hésitez pas à aller voir la spec.

Apprenez les ficelles de Marionette

Cette deuxième conférence a été présentée par Romain Maton.
Il est venue nous présenter le framework Marionette qui vient compléter le célèbre autre framework Backbone.js.

Aujourd’hui, backbone souffre de critique autour du problème de fuite mémoire, d’un manque de composant de haut niveau.

Marionette.js est la solution à ces problèmes et évitera la migration vers un autre framework web type Angular ou Ember.

Romain a présenté son sujet sous la forme d’un live coding. La construction de 0 d’une application todolist.
A chaque étape, il nous a expliqué les tenants et les aboutissants de ce qu’il était en train de faire.
sa présentation était très intéressante et m’a réellement donné envie d’approfondir le sujet.

Les lightning Talks

Pendant l’heure du déjeuner, on a pu assister à des lightings talk, présentation de 5 mn. La mienne n’a finalement pas été retenue.

Le premier talk était sur l’utilisation des Raspberry dans une maison!. Johan Poirier est venue nous présenter sa passion pour ces petits boitiers.

Le deuxième talk faisait état des difficultés que les développeurs ayant plus d’expérience (un peu plus vieux avec une situation personnelle plus contraignante) à faire de la veille technique. Ce que Thibault Jouannic entendait par là c’est qu’il avait moins de temps à consacrer à cette veille technique et il ne pouvait plus tester par lui-même tous les buzzwords émergents.
Aujourd’hui il devait rationaliser sa veille en se posant des questions sur:

  • La pérennité de tel ou tel framework,
  • Est-ce que cet outil est mature pour partir en prod,
  • Est-ce que je peux adresser mon problème avec cet outil?
  • etc.

En ayant cette réflexion en amont, il s’assure de mettre à profit son précieux temps sur des choses qui lui seront vraiment utiles.

Le speaker du troisième talk est venue nous expliquer comment HTML5 allait révolutionner les CMS de demain. Mickaël Andrieux est plus venu faire un petit coup de pub sur le produit de sa société. Je n’ai pas trouvé la valeur ajoutée de son talk.

L’avant-dernière présentation était sur un sujet vraiment très intéressant auquel je suis particulièrement sensibilisé aujourd’hui : « les entreprises libérées ». Il venait nous présenter les choix qui avaient été pris dans sa société et les axes sur lesquels ils avaient joué pour améliorer le situation au quotidien.

La première chose, c’est la suppression du comment, c’est à dire, qu’il avait éradiqué le fait que les strates managériales indiquaient à ceux qui réalisent comment travailler. Une présentation vraiment originale qui montre qu’il est possible d’améliorer son quotidien au travail.

Le dernier talk présenté par Agnés Haasser traitait des PCS : Projets Créatifs Stupides. L’idée d’un projet de ce type est de se fixer un objectif très très ambitieux à réaliser en un minimum de temps. Par exemple, la création d’un jeux vidéo en 48h. L’objectif est atteint si le jeu est jouable. Un autre exemple est l’écriture d’un roman de 500pages en 1 mois.

Le bilan dressé par Agnes est que ce genre d’exercice lui a permis d’apprendre à optimiser son temps de travail, d’apprendre à apprendre et d’être capable de garder le focus sur un sujet pendant une période donnée. Très intéressant, c’est un sujet à creuser.

24 minutes pour bâtir une appli mobile

Cette conférence était présentée par Sébastien Blanc. L’objectif de Sébastien était de développer sous nos yeux une application mobile todo liste déployable indifféremment sur toutes les plateformes mobiles du marché (IOS, Android et même windows mobile). Cette application se basera sur les frameworks suivants : Cordova, Ionic et comme bonus elle sera sécurisée via le framework Keycloak. Sébastien veut réaliser tout ça en 24 minutes.

Dans les grandes lignes il a atteint son objectif, malgré des soucis de taille d’écran…
La présentation était pêchue et son le ton de l’humour.

Après cette conférence, je me suis retranché dans mon hôtel. La fatigue était trop présente et je n’arrivais plus à garder les yeux ouverts.

jour2

Introduction à l’IoT: du capteur à la donnée

Philippe Antoine et Sameh Ben Fredj nous ont fait un état de l’art de l’Internet Of Things (IoT). L’idée était de donner une vision globale des tenants et aboutissant de l’IOT.
La présentation commence par une énumération des endroits ou l’on trouve l’IoT, quels sont les services proposés par les objets connectés. On peut s’apercevoir que les objets connectés sont déjà pas mal présents dans notre quotidien.
Ensuite, ils nous présentent les services qu’ils pourront rendre notamment dans le cadre de l’aide aux personnes âgées.
La deuxième partie de la conférence, nous permet de rentrer dans les détails techniques et architecturaux de l’IoT. On découvre les différentes briques composant l’Internet of Things.

Cette présentation a été très instructive et m’a permis de mieux comprendre ce qu’il se cachait derrière ce buzzword.

Plus d’informations ici avec les slides de la présentation

J’ai consacré la deuxième partie de la journée à des workshops.

Initiation au Machine Learning avec Spark

Actuellement je suis très investie sur tout ce qui touche au BigData. J’ai suivi pas mal de conférences et hand’s on sur le sujet. C’est naturellement que je me suis dirigé vers celui-là.

La première chose importante pour évaluer la qualité d’un hand’s on est la facilité de mise en place de l’environnement de travail. Pour celui-ci je mettrais 10/10 (malgré un petit problème de conf au démarrage).

Le bilan de ce workshop est très positif. Le sujet a vraiment été bien traité. Nous nous sommes focalisé sur les différents algorithmes liés au machine learning et les exemples au niveau du code permettaient de vraiment bien comprendre comment les utiliser. Contrairement à d’autres ateliers, celui-ci n’était pas une énième formation à Spark. Un grand bravo à Alban Phélip et Yoann Benoit

Prise en main des outils JDK:jstat, jstack et jmap

Ce workshop portait sur des outils livrés avec java que l’on n’a pas forcément l’habitude d’utiliser.
Les outils en question sont :
* jstat,
* jstask,
* jmap.

Ils permettent de faire une analyse fine du comportement de la JVM au runtime du point de vue de la mémoire utilisée. Ils sont très pratiques pour effectuer cette analyse directement sur les serveurs de production sans avoir besoin d’UI. En règle générale on est plus habitué aux outils comme JVisualVM ou Jconsole.
Le hand’s on était très bien fait. Tout l’environnement était packagé dans une VM avec une recette de cuisine à suivre pas à pas.
Cela a permis de se concentrer sur l’essentiel de l’atelier et d’apprendre plein de choses. Merci à Angelique Henry pour la qualité de ce hand’s on.

Et voilà le deuxième jour touche à sa fin et il est déjà l’heure pour moi de me diriger vers la gare de Lyon la part Dieu pour prendre mon train.

Je garderai une très bonne impression de cette première participation à la conférence Mix-IT. J’y ai vu des talks très intéressants et tout ça dans une ambiance conviviale.
Un grand bravo aux organisateurs et j’espère pouvoir être présent l’année prochaine.

Devoxx France 2015 – Keynotes

Capture d'écran 2015-04-19 19.48.38

Devoxx France 2015 – 4 ième édition

Les préparatifs

Mercredi 8 avril 2015 au soir, préparation aux deux jours de conférence. La check list n’a pas beaucoup changé par rapport à l’année dernière :

  • Batterie du téléphone portable chargée à bloque,
  • Batterie du lap top idem,
  • Bloc-notes + stylos,
  • Tenue confortable,
  • Lunette (ça c’est nouveau! :)),
  • Mail permettant de retirer mon badge.

Ensuite vient l’organisation de la journée, établir le programme des conférences auquel je souhaite assister. Et c’est là que tout se complique.
En effet le grand changement, par rapport à 2014, c’est le lieu ou se tiendra la conférence.

L’année dernière, Devoxx France se tenait au Marriott, cette année c’est au palais des Congrès que se déroule l’évènement.

Beaucoup plus de conférences proposées. les choix deviennent difficiles :). En effet là ou l’année dernière 5 conférences se déroulaient en même temps, cette année, il y aura jusqu’à 8 conférences en parallèle.

Après un arbitrage sévère, le programme est enfin prêt (même si je sais que tout est encore mutable. :P)

Il ne me reste plus qu’à me coucher tôt pour être frais et dispo le lendemain du grand jour.

L’arrivée porte Maillot fait son petit effet. Lorsque l’on rentre dans le palais des Congrès que l’on monte au niveau 2, la conférence prend une nouvelle dimension par rapport aux années précédentes, c’est impressionnant.

2200 développeurs passionnés sont réunis, cela représente 300 personnes supplémentaires par rapport à l’année dernière. L’augmentation du nombre de convives ne se récent pas trop étant donné l’espace disponible.

Les Keynotes

Keynote de l’équipe Devoxx France

Bref, rentrons dans le vif du sujet. La journée commence par une première keynote tenue par Nicolas Martignole, Antonio Goncalves et Zouheir Cadi, les fondateurs de la conférence française.
Durant cette keynote, ils font un bilan le chemin parcouru pour aboutir à cette édition 2015.

Ils font également une annonce importante.. La famille des conférences Devoxx va s’agrandir, en effet la conférence

La Conférence JMaghreb rejoint la famille Devoxx et devient Devoxx Maroc. Comme les autres membres de la famille cette conférence sera un rendez-vous incontournable des développeurs, passionnés et entrepreneurs.

Au programme des sessions, des ateliers pratiques, des tables rondes, hackaton autour des sujets techniques liés au web, mobile, devops, gaming, sécurité.

Devoxx Maroc se tiendra au Mégarama de Casablanca du 16 au 18 novembre 2015.

Pour ceux qui souhaiterait tenter l’aventure de Devoxx Maroc en tant que speaker, le CFP ouvre le 1er mai prochain.

Le futur de la robotique personnelle

La seconde keynote, intitulé robot humanoïde pour tout le monde, a été présentée par Rodolphe Gelin sur le thème du futur de la robotique personnelle.

Il est directeur de la recherche dans la société Aldebaran.

Il commence par présenter différents robots développés par Aldebaran Nao, Pepper, Romeo.

Pour illustrer le thème de sa keynote, il nous propose une vidéo mettant en situation le premier robot de la liste (Nao). On voit une grand-mère interagir le robot.
Elle commence par l’appeler et lui demander de venir. Ensuite, elle lui demande les dernières informations importantes de l’actualité. Le robot s’exécute et lui énumère la liste. Lorsque la dame veut avoir plus de détails sur un titre, elle le demande naturellement au robot qui lui donne plus d’informations.

Cette scénette montre comment les robots pourront être utiles dans un futur proche dans le cadre de personne âgée pouvant être isolée socialement.
Au-delà de la diffusion des informations, Nao pourra aussi service de boîte mail interactive et aussi répondre au téléphone. Sur ce dernier point, Rodolphe Gelin insiste sur le fait, que cette fonctionnalité peut, par exemple, éviter des accidents.

En règle générale, les personnes agées se précipitent sur le téléphone lorsqu’elles reçoivent un appel et que c’est une des causes principales de chute. Avec le robot, cela limitera ces situations puisqu’il pourra prendre l’appel et éviter à la personne de faire un déplacement précipité.

A la fin de cette vidéo (fiction), le speaker précise que la situation montrée n’est pas encore possible. Aujourd’hui, le principal frein à la fluidité dans les interactions entre humain et robot dans une situation courante de la vie de tous les jours est la difficulté pour le robot à entendre et interpréter les messages oraux qui ne lui sont pas adressé explicitement.

Par exemple, vous êtes dans votre canapé, le robot est dans une autre pièce vous lui demandez quelque chose, il aura des difficultés à savoir qu’on s’adresse à lui directement et surtout entendre l’ordre. La raison principale à ce problème est la pollution sonore (ventilateur CPU, lorsqu’il parle, les bruits périphériques, etc).

Rodolphe Gelin se veut rassurant, ces obstacles ne sont évidemment pas insurmontable mais il reste tout de même du travail pour atteindre cette cible.

Les perspectives des travaux menés permettront de faire en sorte que le robot puisse évoluer au contact de la personne qu’il accompagnera. Il apprendra au fur et à mesure du comportement de la personne et à termes à réfléchir par rapport à ses habitudes.
Il pourra également, surveiller des comportements suspects comme une chute, un endormissement trop fréquent, etc) et dans ces situations critiques prévenir autrui.

D’ailleurs les organismes d’assurance s’intéressent particulièrement à ce projet. Il permettra de rationaliser les situations d’urgence.

Un point sur lequel Rodolphe a insisté est que l’on pourrait penser que ce petit robot pourrait créer un isolement social pour les personnes âgées. A cela, il répond que bien au contraire, le robot pourrait également se soucier de cet aspect et créer ce lien social en créant le contact avec d’autres personnes (proposer des appels, proposer des envois de mail, etc).

Ensuite, il nous a montré plusieurs petites vidéos présentant comment le robot pourrait apprendre de son environnement (au niveau des sons, des mouvements, etc)

Enfin, Rodolphe Gelin conclut par le fait que tous les apprentissages réalisés par les robots devront être partagé pour permettre de capitaliser sur ces connaissances précieuses.

Aussi, il a mis en avant les problématiques de sécurité et le fait que les robots devaient absolument être protéger d’une manière ou d’une autre du piratage étant donné la place qu’il prendrait dans le quotidien des humains.
Sur ce dernier sujet, il implique la responsabilité du développeur par rapport au fait qu’un robot est un outil et comme tous outils, il peut servir à faire des choses bien, ou pas…

Bien qu’elle est une teinture de science-fiction (assez proche) cette keynote était très intéressante et ouvre beaucoup de perspectives sur l’avenir.

La problématique du contrôle des technologies de l’information

La troisième keynote est présentée par Eric Filiol. Directeur du centre de recherche de l’ESIEA, il est un expert français en cryptologie et virologie informatique. Il a été lieutenant-colonel de l’armée de terre française.

On entend de plus en plus de faits mettant en cause les libertés d’expression et les actions visant à imposer un contrôle sur les technologies de l’information.

Eric rappelle, que depuis 60ans les technologies de l’information sont faites par des développeurs … mais que depuis 15 ans, elles sont régies par des personnes n’y comprenant rien, les Hommes politiques.

Si l’on regarde l’histoire passée, la gouvernance était organisée de façon pyramidale ou le sommet envoyait des ordres à la base. Les technologies de l’information (internet) ont changé cette organisation verticale; L’information circule beaucoup plus facilement et peu à peu s’impose un mode collaboratif.

Les strates politiques n’arrivent pas à prendre le train marche et plutôt que de s’adapter et d’accompagner ce mouvement, ils préfèrent en prendre le contrôle et de mettre sous surveillance les agissements des citoyens. Pour un état cette prise de contrôle abusive est un aveu de faiblesse.

Plusieurs faits marquant de tentatives de contrôle comme Cocom, Itar, arrangements de Wassenaar, etc.

Toutes ces actions sont légitimées, par nos politiques, par les faits terroristes et autres tragédies marquantes de l’actualité.

Eric Filiol cite une phrase historique du Cardinale de Richelieu : « Qu’on me donne 6 lignes écrites à la main de n’importe quel honnête homme j’y trouverai de quoi le faire pendre« .

En laissant les choses faire par les groupes politiques, on s’expose à une dictature de la donnée, une perte des valeurs démocratiques fondamentales et une perte du libre arbitre.

Eric Filiol nous donne une nouvelle citation : « Pas de libre arbitre -> pas de liberté … Pas de vie privée -> pas de libre arbitre« .

Par cette phrase, il nous invite à rester vigilant sur l’importance de garder un droit sur sa vie privée et de défendre fermement nos données privées. (même si l’on peut considérer que l’on n’a rien à cacher).

Il note les évolutions positives qu’il faudrait engager pour aller dans ce sens :

  • Le respect de la vie privée,
  • Inscription de ce respect dans la constitution,
  • Renforcer le rôle du juge d’instruction,
  • Créer un comité d’éthique.

Enfin il conclut en remettant au centre le développeur.

Il explique que le développeur à une part de responsabilité dans cette ‘bataille‘. Il est le gardien de la technologie (limiter les bugs, les backdoors, la qualité, etc) dans ce sens une responsabilité morale.

Reading and Writing in 20 Years

Le dernière keynote est présentée par Dan Allen project leader sur le projet asciidoctor.

Dan est venue parler de l’importance des écrits dans l’histoire de l’humanité.
Toutes les formes d’écritures depuis la nuit des temps ont permit de comprendre comment nos ancêtres vivaient.

Au tout début, les écrits étaient des dessins, puis l’écriture est arrivée, ensuite c’est l’imprimerie et maintenant l’ère du numérique avec les outils informatiques.
Jusqu’à une vingtaine d’années en arrière, les livres étaient la source principale de la connaissance, aujourd’hui ce support physique est en ‘déclin‘.

Ce déclin n’est absolument pas synonyme que l’homme s’est arrêté d’écrire bien au contraire, il n’a jamais été autant productif en matière d’écriture. Ce qui a changé c’est le support d’écriture.

Au-delà du simple faite d’écrire, ce qui permet de conserver cette mémoire à travers les âges c’est le partage de cette information.

Aujourd’hui, si le partage des écrits est facilité par le support numérique, il se pose quand même la question du format de partage. Le standard adopté (en général) est le format PDF, bien que celui-ci a été créé plus pour l’impression. Ce que Dan propose est plutôt la mise en place d’un format pivot permettant l’écriture, l’échange et à terme l’impression. Mais quel pourrait être ce format ? 😉

Un autre problème pouvant interférer est le langage. En effet, un écrit rédigé dans une langue, peut-être traduit dans plusieurs autres languages. Le problème est la précision avec laquelle la traduction est faite. On peut perdre du sens sur l’idée originelle et par conséquent induire des erreurs pour les générations futures.

En conclusion, Dan Allen encourage l’écrivain qui est en nous a continuer d’écrire et partager sans retenue. (l’idéal serait aussi de la faire en Asciidoctor 😛 )

Data Science spécialisation – Coursera

Aujourd’hui on entend souvent parler des mots clef suivants :

  • BigData,
  • data scientist,
  • Data Engineer,
  • Machine Learning,
  • NoSQL

En règles générales, ils sont associés à des outils comme :

  • Hadoop,
  • Spark,
  • storm,
  • Kafka,
  • Cassandra,
  • MongoDB,
  • et bien d’autres encore.

Un grand nombre de meetups ou de users groups sont consacrés à ces outils. Les connaitre et les maitriser est une chose importante mais je pense que ce n’est pas une fin en soi.

Exploiter des sources de données, nettoyer un jeu de données approximatif, savoir corréler des informations entre elles ne sont pas des choses forcément intuitives.
Je veux parler de l’aspect théorique qui se cache derrière les mots clefs et outils évoqués ci-dessus.

Je suis depuis début janvier les cours de la formation en ligne Data Science disponible sur Coursera.
Cette formation se décompose en 9 modules :

  • The Data Scientist’s Toolbox
  • R Programming
  • Getting and Cleaning Data
  • Exploratory Data Analysis
  • Reproducible Research
  • Statistical Inference
  • Regression Models
  • Practical Machine Learning
  • Developing Data Products

et se finalise par la réalisation d’un projet permettant de valider le cursus.

Les thèmes abordés se focalisent sur des aspects théoriques (analyse, statistique). Ces outils théoriques permettent de travailler plus efficacement et surtout de manière plus formelle face à un jeu de données (quel que soit son volume).

Je viens de terminer le troisième module. La progression au travers des différents modules est facile. Les concepts sont introduits au fur et à mesure. Ils sont accompagnés d’exercices pratiques tirés de use cases concrets.

L’ensemble des exercices se basent sur le langage R. Ce langage, orienté manipulation de data, propose un environnement de développement très complet permettant de travailler dans de bonnes conditions. La prise en main est très aisée pour un développeur.

Aussi les ressources par rapport à cette plateforme sont très nombreuses.

Chaque module se décompose en 4 semaines de cours + exercices. Le temps consacré pour travailler doit être d’environ 4h à 5h par semaine.

Cette formation peut être suivie soit gratuitement ou bien en payant 43Euros/module ce qui permet d’obtenir un certificat vérifié.

Aujourd’hui j’ai déjà le sentiment d’avoir acquis des bases solides dans ce domaine. Je projette de finaliser le cursus (encore 6 modules + le projet).

Si vous êtes intéressé par le sujet de la data, je vous recommande vivement cette formation en ligne.

N’hésitez pas à poser des questions si vous voulez plus de précision sur cette formation.

Une entreprise libérée, c’est quoi?

Voila une vidéo expliquant en 1mn ce qu’est une entreprise libérée.
C’est un concept intéressant, à découvrir…

 

Le type Optional – Java 8

 

L'objectif de cet article n'est pas de faire une enième présentation du type Optional de Java 8. Personnellement, j'en avais parlé https://plus.google.com/112440333946538821016/posts/Hf7ZTATQhaJ (c'était sur le type proposé par Guava) et d'autres blogs avaient abordé le sujet également.

Aujourd'hui, l'objectif est de vous parler des points étranges proposés par le type Optional de Java 8.
En effet, l'implémentation disponible dans la dernière version du JDK propose des méthodes pour le moins surprenantes. Surtout en regard de ce qui se passe chez les voisins (Guava et Scala par exemple).

Bon rentrons dans le vif du sujet…

Dans cet article nous aborderons 2 méthodes : 

Optional.of();
Optional.OfNullable();

Les choses étranges ne se limitent pas à ces 2 méthodes, j'aborderai les autres dans d'autres articles.

Optional.of et Optional.ofNullable

Ces deux méthodes servent à construire un Optional à partir d'une référence.

Dans le premier cas, il faut fournir obligatoirement une référence valide en paramètre, sinon on se retouve confronté à la fameuse NullpointerException.. 
Etrange comme comportement, en effet c'est un peu ironique d'être exposé à une NPE en manipulant un type censé nous protéger de ce type d'exception.

Dans le deuxième cas, ofNullable(), le contrat est plus souple autorise une référence nulle en paramètre.
Selon le cas, la méthode renverra un Optional 'VIDE' ou 'PLEIN'.

Si on prend ces deux méthodes avec un peu de recule, on peut se dire que 
– of() servirait à gérer le cas où l'on veut encapsuler un objet pour remplir le contrat d'une méthode qui renvoie un Optional.
– ofNullable() servirait à encapsuler une référence dont on n'est pas trop sur de sa validité.

Avec ce bilan, on est en droit de se poser la question de pourquoi ne pas avoir fait un mixe des deux et proposer une seule méthode : of() qui aurait le comportement de la méthode ofNullable(). C'est-à-dire, si le paramètre est null alors cela renvoie une Optional Vide et si la référence en paramètre n'est pas null alors un Optional Plein et c'est tout.. 

Ca simplifierait l'API et les problèmes possibles posés par la présence de ces deux méthodes.
Si on regarde la librairie Guava, on peut constater que les mêmes méthodes sont proposées (et même comportement). en revanche, dans Scala, par un mécanisme spécifique au langage, on ne trouve qu'un seul point d'entrée pour la construction d'un Optional.

Java 8 et Guava -> 0
Scala -> 1
Scala wins! 🙂

En conclusion, l'introduction du type Optional dans le langage Java est une très bonne chose. Par contre le choix fait pour la construction d'un Optional est un peu étrange. Il implique des erreurs potentielles notamment, et paradoxalement, en générant une NullpointerException.

to be continued….

Paris Jug : soirée Young blood II

 

Le 13 janvier prochain, le Paris Jug organise une soirée un peu particulière. C'est une soirée quickies ouverte à tous. 

Si vous n'avez jamais présenté en public, que vous avez un sujet qui vous tiens à coeur et que celui-ci peut être présenté en 15minutes alors C'est le moment de se lancer!!

Pour postuler, il faut remplir un formulaire que vous trouverez sur le lien attaché à ce post.

Il y aura 6 quickies au total. 
5 seront sélectionnés par un jury entre le 1/12/14 et le 07/012/14 et 1 tiré au sort.

Pour préparer sa présentation, il sera possible d'être coaché entre le 14/12/14 et 13/01/15 à raison de 2 ou 3 soirées durant cette période.

Durant cette soirée, un vote aura lieu sur l'ensemble des quickies présenté et le gagnant pourra présenter son sujet à Devoxx FR 2015.

Cette opportunité ne se rate pas 🙂 alors à vos idées! 

#java #parisjug #quickies  

Java 9 : Les premières fonctionnalités

 

Lundi dernier, le 11 août 2014, Mark Reinhold a publié une liste de plusieurs JEPs (JDK-Enhancement Proposal), sur la mailling list JDK9-Dev. 

Cette liste a pour objectif de fixer un point de départ pour la future version du JDK. 
Chaque Committer du projet pouvait donner son avis sur la liste.

La clôture des votes était aujourd'hui (18/08/2014). Le résultat de ce sondage permettra de définir les fonctionnalités qui seront traitées pour la version 9 du JDK.

Voici les JEPs qui ont été soumises au vote :

  – 102: Process API Updates
  – 143: Improve Contended Locking
  – 197: Segmented Code Cache
  – 198: Light-Weight JSON API
  – 199: Smart Java Compilation, Phase Two
  – 201: Modular Source Code

Cette liste est issue de la longue liste des JEPs disponible ici : http://openjdk.java.net/jeps/0

Ci-dessous une brève présentation de chaque JEP proposées :

Process API Updates
Amélioration de l'API permettant de contrôler et gérer les processus du système d'exploitation. Les limitations de l'API existante obligent souvent les développeurs à avoir recours à du code natif.

Improve Contended Locking
Amélioration des performances dans un environnement concurrent. 

Segmented Code Cache
Segmentation du cache du compilateur JIT afin d'améliorer les performances et de permettre des extensions futures.

Light-Weight JSON API
Fournir une API permettant de consommer et générer des documents JSON selon la RFC7159.

Smart Java Compilation, Phase Two
A cause de plusieurs problèmes de stabilité et de portabilité, sjavac (smart java compiler) n'est pas utilisé par défaut. L'objectif premier de ce JEP est de fixer ces problèmes. Il s'agit de s'assurer que l'outil produira un résultat fiable sur l'ensemble des environnements (software et hardware).

Modular Source Code
Il s'agit de réorganiser le code source du JDK en modules. D'améliorer le système de build pour compiler ces modules. Et enfin de bien délimiter l'utilisation de chaque module.

Je n'ai pas trouvé pour le moment les résultats du vote. ils devront être publier dans les jours à venir. J'essaierai de faire un update du post dès qu'ils seront disponibles.

En attendant, vous trouverez sur le lien attaché au post plus de détails concernant chaque JEP.

Intellij IDEA 14 early preview

 

JetBrains vient de sortir la dernière version de son IDE Java.
Cette version est accessible en early preview. C'est à dire que vous pouvez profiter de la version dès maintenant pour la tester. 

Bien entendu cette version n'est pas complètement sèche et il est possible de rencontrer des petits soucis qui seront naturellement corrigés lors de la release finale. 

Voici les principales nouvelles fonctionnalités ou améliorations qui font partie de ce nouvel opus.

En ce qui concerne le debugger Java, il a été entièrement réécrit et la fenêtre de debuggage a été unifiée pour tous les langages.
Les breakpoints peuvent être organisés par groupes d'utilisateurs.
La visualisation des tableaux et des collections peut se faire directement dans le debugger, il n'est plus nécessaire d'utiliser la fonction de visualisation.

En ce qui concerne l'éditeur Java, il est possible de générer des nouvelles méthodes de test dans des tests unitaires existants.

D'un point de vue plus général, le temps de démarrage a été amélioré.
Meilleure intégration de Gradle et Grails.

Cette liste n'est pas exhaustive. Je vous invite à consulter le lien attaché au post pour connaitre la liste complète des nouveautés.

Un autre point intéressant est la mise à disposition dans la version communautaire de fonctionnalité clés : 
 – Code coverage,
 – Structural search and replace,
 – Type migration refactoring.

Pour vous faire une idée plus précise, il suffit de télécharger la version et de commencer à jouer avec !

#java #idea #early #preview #v14  

Propulsé par WordPress.com.

Retour en haut ↑

Concevoir un site comme celui-ci avec WordPress.com
Commencer