Alors, c’est l’urgence ou pas ?

L’état d’urgence a donc été prolongé récemment …

Malgré son inefficacité constatée.

Malgré ses abus, tout autant constatés.

Ce qui est curieux, c’est qu’il est d’une application plutôt sélective. Par exemple, si vous êtes militant écologiste, il s’appliquera dans toute sa fermeté.

En revanche, si vous êtes chauffeur de taxi en colère (parce que les VTC payent tous les impôts alors que vous passez au black dès la barre des 200 €  franchis dans la journée) …

Mais bon, c’est vrai que les chauffeurs de taxi ne sont pas une bande de terroristes, hein

D’ailleurs, les néo-nazis corses et les agriculteurs non plus

Alors c’est vrai que, comme le rappelle France TV Infos, c’est aux préfets de décider ce qui menace ou pas l’ordre public.

Et manifestement, déverser des tonnes d’ordure, bloquer des autoroutes, c’est nettement moins grave que, par exemple, « déchemiser » un DRH …

Et c’est là qu’on voit toute la beauté et la grandeur de la France. Parce qu’après tout, l’état d’urgence, avant tout, c’est donner le pouvoir de justice aux préfets (en gros, hein). Et, ma foi, la sélectivité dont ils font preuve dans leurs interventions montre bien de quel ordre public ils se manifestent : si tu fais partie d’une corporation reconnue, pas de problème, tu peux saccager le bien public, personne ne fera même mine de t’empêcher d’agir.

En revanche, si tu milites pour une cause éminemment contestable comme par exemple l’écologie, là, il vaut mieux t’arrêter tout de suite.

Et puis c’est vrai qu’on est à peu près certains qu’il va s’arrêter rapidement …

Bon, cela dit, il y a des causes bien plus honorables que celle du respect de la Justice (laquelle se portera mieux maintenant que le garde des sceaux est un audacieux réformateur, partisan de la fusion de son ministère et de celui de l’intérieur).

Pour finir avec une note d’humour, vous saurez maintenant si l’état d’urgence est toujours en cours grâce à cet indispensable site : https://estcequecestencoreletatdurgence.fr/

 

La France n’est pas raciste ?

En tout cas, c’est ce que prétend une espèce de bandeau publicitaire TF1.

Pourtant …

Notez bien que si vous ne voyez pas en quoi ce sondage est par nature raciste et anti-musulman, … vous avez sans doute également un problème.

Bon, après bien sûr, quand on lit des articles comme ça en regardant TF1 et en écoutant Europe1 (par exemple), on peut facilement imaginer le fameux grand remplacement qui fait frémir la fachosphère.

Mais tout cela n’est en fait qu’une espèce de monstrueux faux-nez : agiter le spectre de l’étranger, ça marche depuis les savoyards, depuis les bretons, depuis la Gaule. Et aujourd’hui encore, on trouve dans nos campagnes des gens pour croire qu’effectivement, les étrangers sont là pour prendre notre place.

C’est assez pratique, quand le seul projet politique existant dans notre pays est celui de faire peur au bon peuple pour qu’il se taise … Mais j’en reparlerai, je pense.

Arrêter de rêver, le plein emploi ne reviendra pas !

Vous les entendez, les annonces du chiffre du chômage, qui nous montrent que, malgré « l’action du gouvernement », il y a de plus en plus de demandeurs d’emploi ?

Vous les entendez, ces gens qui annoncent qu’ils ont « tout perdu » parce qu’ils ont perdu leur emploi (pour l’avoir vécu plusieurs fois, c’est effectivement une situation difficile) ?

Eh bien préparez-vous à les entendre encore et encore … Parce que la première victime du progrès technologique, c’est l’emploi.

Je vais prendre quelques exemples … frappants.

Qui menace le plus l’emploi des taxis ? Les VTC ? NON. Les voitures autonomes, oui. Parce que pour un chauffeur de taxi, devenir VTC, c’est juste un pas de coté. Mais quand son concurrent sera une voiture sans chauffeur et sans accident, que fera-t-il ? Demander au gouvernement d’interdire un équipement qui sauvera des milliers de vies chaque année ? Ca passera assez mal, il faut le reconnaître. Bon, à ce moment-là, il pourra compter sur les chauffeurs de poids-lourds menacés par le même danger, évidement.

Mais allons plus loin …

Regardez cet étrange graphique de McKinsey

2016-01-28 13_15_11-Automation potential and wages for US jobs - McKinsey Global Institute _ Tableau

Plus la bulle est haute dans le graphique, plus l’emploi a des chances d’être automatisable prochainement.

Du coup, on peut quasiment en tirer une liste d’emplois menacés :

  • Tous les travailleurs à la chaine, évidement
  • Toutes les personnes qui conduisent des véhicules, quels qu’ils soient (donc les pilotes de ligne sont aussi menacés que les chauffeurs poids-lourd longue distance)

Du coup, lutter contre le chômage, est-ce que ça n’est pas vain ? Surtout quand, comme n’importe quel gouvernement moderne, on n’a en fait aucune espèce de moyen d’action.

C’est vrai, après tout. De quels moyens dispose le gouvernement pour « créer de l’emploi » ? Les expériences de ces dix dernières années ont montré qu’il n’y en avait aucun :

  • Les exonérations de charge diverses n’ont permis que d’augmenter les dividendes versés
  • Les 35 heures ont abouti au même résultat

Bref, aucun cadeau fiscal n’a aidé.

Et les initiatives (comme le(s) cloud(s) souverain(s)) ont eu de ce point de vue un effet pitoyablement mauvais : dépenser des centaines de millions d’euros pour créer une centaine d’emplois, ça n’est pas vraiment un bon résultat.

Autrement dit, lutter contre le chômage est une lutte vaine (parce que le gouvernement n’a pas de moyen d’action) et perdue d’avance (parce que le progrès technologique avance trop vite pour des fonctionnaires aux modes de pensée dépassés).

Alors quoi ? Abandonner ?

Pas forcément.

Réorienter la lutte, peut-être : construire une civilisation du post-travail. Ce que montre le schéma de McKinsey, c’est que les activités automatisables seront automatisées lorsque ce sera rentable. Du coup, il vaut peut-être mieux s’orienter vers les activités non automatisables : la création. Faire de nos enfants des créateurs, que ce soit dans l’industrie, l’art, la science, fera d’eux des personnes non remplaçables par des robots. Bien sûr, ils n’auront pas forcément de travail en tant que tel, mais je crois que cette vision (du travail en tant qu’épanouissement) est dépassée.

 

Changement de ligne

Depuis quelques temps, j’éprouve le besoin de … changer la ligne éditoriale d’airain de ce blog.

Aujourd’hui, je pense qu’il est temps. Ne vous inquiétez cependant pas trop, ça restera avant tout un blog d’opinion. On verra toutefois où ces opinions me mènent …

Cela dit, il y a des chances certaines que je parle beaucoup plus de politique, à la fois de façon générale et particulière.

Je cherche un truc …

Je vous fais là une « capture des besoins » vite fait pour un truc …. dont je commence vraiment à ressentir le besoin.

Donc, j’ai un téléphone portable sur lequel je mets la musique que je veux écouter (en l’occurrence sur une carte SDHC de 16 Go). Le problème, c’est que ma bibliothèque occupe bien plus que les 4 Go dont je je dispose pour ma musique (4 Go parce qu’il y a aussi quelques cartes pour OsmAnd~).

Donc, j’aimerais bien trouver une solution pour stocker ma musique de façon mobile (plus que mon NAS, en tout cas).

Apparemment, ça semble exister sous la forme de disques durs wifi. Parce qu’avec ça, je mets ma musique dessus, et zou, non ?

En fait, ça n’est pas si simple. Parce que d’après ce que je comprends, il faut utiliser une application spécifique pour lire la musique et les vidéos. Et, selon les modèles, il y aura de l’ethernet ou pas, ca fera répéteur wifi ou pas, …
Vous le comprenez bien, je ne suis pas conquis par ce que je vois sur le marché. Surtout parce que la question de l’UPnP est laissée de côté. Et oui ! L’UPnP, ma marotte !Ce qui m’amène évidement à faire ma liste de course.Si je devais choisir un disque dur réseau sans fil, j’en prendrais un qui

    Dispose d’un stockage de … 250 Go (?)Intègre un serveur UpnPSe synchronise via rsync avec mon NAS domestiqueDispose d’une batterie tenant une douzaine d’heureSe recharge en USBDispose de connexions ethernet et wifi (avec bien sûr une sécurité très forte sur le wifi – genre une authentification basée sur l’adresse MAC)Soit également utilisable comme magnétoscope numérique en vacances (genre je branche une prise HDMI sur la télé, je choisis le film à jouer via le point de contrôle UPnP, et zou !)

Bon, par contre, au niveau budget, je suis un peu incertain …

Scalakka au chtijug (mais pas que)

Hier soir, le chtijug recevait un showman : Quentin Adam, alias @waxzce qui venait nous présenter plusieurs sujets en un … après un échauffement marrant de hubert sablonnière qui nous présentait en cinq minutes chrono le machete order. En cette période de folie marketting Star Wars, c’était opportun.

Revenons à nos moutons … Enfin, à Quentin.

Il nous a présenté en un peu moins de deux heures une espèce de digest de ses meilleures oeuvres, en commençant par une histoire très haut niveau des révolutions industrielles et du fameux « software is eating the world ».

Pour être clair, il nous a présenté les 100 premiers slides de cette présentation

http://fr.slideshare.net/quentinadam/slideshelf

Et c’était très chouette.

Parce qu’il y a derrière ça bien plus qu’une simple vision d’entreprise sur ce qui est bien pour CleverCloud. Non, ce qui soutient cette longue introduction, c’est la vision inévitable de la manière dont les révolutions industrielles se construisent et transforment le monde pour, quasiment, le préparer à la révolution suivante. Dit comme ça, le transhumanisme n’est évidement pas loin. Cela dit, il est vrai que le métier de développeur est affreusement jeune, et que la manière dont on met en prod aujourd’hui ressemble conceptuellement à la manière dont les entreprises du XIXème siècle géraient leur production électrique : à la main. Aujourd’hui, on sait que ça n’était pas la bonne manière de faire, et on sait aussi que demain, quelques admins suffiront à gérer des milliers de machines virtuelles. Du coup, il faut transformer nos applications pour qu’elles intègrent plusieurs facteurs facilitant le déploiement, qui sont décrits dans la présentation. Typiquement, créer des applications stateless, sans session, et sans jamais utiliser de stockage fichier (ce qui pose évidement la question de la persistance au long terme, question que j’ai posé à Quentin, et qui a répondu avec le classique « utilise plus de VM »)

Il a ensuite enchaîné sur du livecoding akka/scala pour extraire les logs écrits dans ELK par un processus et les afficher en temps réel dans une petite appli Websocket.

Et là, c’était moins chouette.

Pas parce que la démonstration était inintéressante, bien au contraire : créer une application en une cinquantaine de lignes de code, c’est chouette.

Non, ce qui est moins chouette, c’est le Scala. Clairement, il s’agit pour moi d’un langage d’avant-garde expérimentant avec toute une série de concepts auxquels j’ai du mal à adhérer

  • les implicites, (et encore je ne sais pas si c’était des classes ou des paramètres)
  • la définition d’opérateurs (genre le ~> d’akka)

Tout ça, c’est mignon à essayer, mais franchement, à regarder l’exemple exposé par Quentin, j’aurais pu faire aussi bien en java8 avec des closures ou même en java7 « classique ». D’accord, le code aurait été quelques lignes plus long, mais oh combien plus compréhensible.

Cela dit, je ne vais pas bouder mon plaisir, c’était une sacrée chouette session, idéale pour fêter la fin d’une belle année du chtijug.

En bonus, l’accueil d’Adeo et le buffet d’Onyme étaient très bien (pour le buffet d’Onyme, j’avais l’habitude).

Vos papiers, s’il vous plaît

Ca fait bientôt trois semaines que les attentats ont eu lieu.

Malgré ce peu de recul, certaines choses sautent aux yeux.

La France est devenue un état policier dans lequel le seul acte citoyen consiste à compter les bavures quotidiennes. Rue89 et La Quadrature du Net s’en occupent bien, et méritent d’être aidés.

Notre premier ministre, droit dans ses bottes, nous annonce que l’état policier d’urgence va se pérenniser. Et notre président en profite pour annoncer qu’il va réviser la constitution pour donner plus de pouvoir à la police … qui n’a en ce moment pas besoin de contrôle judiciaire ….

Bref, si le mois de Janvier avait amené son cortège de défenseurs frelatés de la liberté, le mois de novembre signe un automne de l’état de droit particulièrement triste : la liberté est déjà sous surveillance, l’égalité ne semble valable que pour les blancs et la fraternité … bon, elle est partie au bistrot prétendre que l’alcoolisme franchouillard était un acyte de courage guerrier.

Franchement, en ce moment j’ai chaque jour plus honte d’être français.

J’aimerais pouvoir dire qu’il faut voir le bon côté des choses, et que ces temps difficiles finiront … mais je sens bien que nous n’en sommes qu’au début, et que le terme de dictature beige se révèle enfin dans toute son abjection.

Vert.x au chtijug

Il ya déja près d’une semaine,  Yannick de Kercadio nous présentait les bases de vert.x à travers trois ou quatre exemples niveau Hello world. D’ailleurs, je vais devoir séparer le fond et la forme de cette présentation tant ils étaient dissemblables.

Mais avant ça, voici les slides :

https://drive.google.com/file/d/0BzquubdfqGRuc0pzc25VNmM4UlU/preview
 

vert.x

vert.x est donc un framework de développement d’applications HTTP qui utilise le pattern reactive pour offrir censément des performances supérieures aux serveurs web classiques en essayant d’être au maximum non bloquant. L’intérêt de la manoeuvre est de ne créer qu’un thread Java par CPU, et de stocker en mémoire uniquement les objets s’occupant de ces traitements. D’après Yannick, c’est ce côté non-bloquant qui permet à vert.x d’atteindre des performances 10 fois supérieures à celles d’un serveur web « classique ». Bon, en vrai, je me demande si ça n’est pas plutôt parce que vert.x se passe de toute la complexité de JavaEE (servlet, HTTRequest, HTTPResponse, …) qu’il est plus performant …

Un autre intérêt de vert.x est d’offrir un écosystème qui va permettre de manipuler de façon assynchrone toute un tas de connexions … même si la qualité n’est pas toujours au rendez-vous. Et là, Yannick nous donne l’exemple du connecteur Cassandra qui utilise le driver synchrone de Cassandra, annihilant l’intérêt majeur de vert.x …

Cela dit (et même si je ne l’ai pas dit durant la présentation), rien n’empêche à Yannick, ou aux équipes de Proxiad, de proposer un driver Cassandra réellement assynchrone. Rien ? sauf peut-être le côté non contributeur des SSII françaises ;-)

Au chapitre des boulettes, deux ou trois imprécisions sur l’histoire de vert.x. Par exemple, Yannick ne semblait pas savoir que vert.x était, entre autres, l’oeuvre de Julien Viet (l’auteur de Crash, qui est d’ailleurs utilisé dans vert.x sous le nom vertex-shell … quoique ca ne semble pas si sûr que ça …) et maintenant de Clément Escoffier, qui bossent tous les deux chez RedHat. Bon en même temps, je ne lui en veux pas de ne pas connaître les détails de la vie des people Java :-)

La présentation

Alors là par contre, c’était franchement génial. Parce que j’ai déjà vu des présentations en live-coding au chtijug (le thermomètre connecté était jusqu’à présent ma préférée), mais des présentations où le speaker fait live-coder des membres de l’assistance … c’était du jamais vu. Ca montre à la fois la simplicité de l’API de vert.x, mais aussi la confiance du speaker dans sa présentation. (bon, ça montre aussi le manque de connaissance des IDE dans l’assistance, mais c’est un autre sujet).

Du coup, évidement les sujets étaient assez bateau, mais la présentation était vivante, interactive, bref, très chouette. Bravo !

Et alors, ça va servir ou pas ?

Eh bien en fait, comme je fais du Wisdom depuis un an, et que Wisdom utilise vert.x … je l’utilise déjà, mais dans un contexte quasi-JavaEE, bref, le meilleur des deux mondes !

PlantUML

Il y a des gens qui pensent qu’UML est une méthode.

Il y en a d’autres qui pensent que c’est un framework (c’est assez semblable).

Il y en a aussi qui imaginent que c’est un modèle.

Pour ma part, je n’y vois qu’un formalisme bien pratique pour dessiner des diagrammes avec des patates qui représentent la façon dont un système fonctionne. D’ailleurs, je pourrais donner pour chaque diagramme toutes les raisons qui font que, vraiment, vraiment, c’est une simplification abusive de la réalité. (mais tout ça, j’en ai déja parlé il y a bien longtemps)

Bref … C’est une façon commode de dessiner.

Hélas, la plupart des outils pensent que si je veux dessiner, j’ai besoin d’une palette, de couleurs, et de poser « au hasard de mon inspiration », des trucs sur ma feuille de dessin. PlantUML, lui, colle à ma façon de voir puisqu’il ne me propose pas de dessiner. En fait, il me propose plutôt de décrire mon dessin dans un format textuel, puis de générer le diagramme qui lui correspond. Et c’est vraiment pratique, parce que je peux me concentrer sur ce que je veux montrer, et laisser un outil bien plus performant (Graphviz en l’occurence) le dessiner pour moi. Du coup, j’aime bien PlantUML.

Surtout qu’il s’intègre facilement dans ma logithèque :

Et en plus, c’est gratuit !

Alors pourquoi je me retiendrai de l’utiliser ?

Et pourquoi vous vous retiendriez de l’utiliser ?

Franchement ? Je ne vois pas de bonne raison de ne pas vous en servir la prochaine fois que vous voudrez faire un diagramme à patates. Vous verrez, passées les 5 premières minutes de surprise, vous serez conquis.

isomorphique de quoi ?

La semaine denrière, c’était chtijug.

Oui, je suis un peu en retard, mais c’est pas trop grave, parce que pendant ce temps, l’orateur a eu le temps de mettre ses slides sur internet.

Session un peu particulière, en particulier avec son titre assez … ronflant : « réalisation d’applications isomorphiques avec spring boot, React et Nashorn ».

En vérité, c’est beaucoup plus simple à décrire que ça : vous savez que votre JVM intègre, et depuis un moment, un interpréteur Javascript ? Non ? Eh bien c’est pourtant le cas, grâce à la JSR 223 (l’une des meilleures à mon avis), qui permet de lier sous une interface commune la plupart des interpréteurs pour la JVM. Ainsi, exécuter du javascript (grâce à Rhino ou Nashorn), du Python (grâce à Jython), du … Groovy (funky baby) ou même … oui, même … du Java interprété (grâce à Beanshell) est vraiment très facile.

Donc, la présentation de Sébastien utilise cette percée, et la disponibilité en masse de frameworks javascripts, pour remplacer le beaucoup trop vieux et trop moisi rendu JSP par un rendu fait grâce à mustache (que je connais bien grâce à Ractive) ou React. Je ne vais pas vraiment m’éterniser sur React, parce que franchement, le JSX, c’est la pire idée à laquelle je puisse penser. En revanche, conceptuellement, c’est assez élégant.

Je m’explique.

Quand vous faites votre application web, vous avez votre joli modèle Java bien typé. Et c’est bien. Mais, au moment où vous faites le rendu dans votre JSP (ou votre template thymeleaf si vous utilisez Wisdom, par exemple), vous passez dans le monde moche et pénible du string typed. Tout est string, et vos objets Java n’ont plus d’autres intérêt que d’e^tre des struct capables d’émettre du String. Et dans ce cas, passer par du Javascript … n’est pas idiot. Parce que le travail énorme réalisé dans le monde du javascript ne se contente plus du client. Et que node.js reste une assez piètre idée, assez peu scalable. Du coup, joindre le meilleure du Java (le modèle, les capacités de traitement d’entreprise) au meilleur du javascript (tous ces outils de templating conçus par et pour le web) est vraiment chouette.

D’ailleurs, ça me donne des idées à propos de ractive/requirejs/Wisdom (mon trio de choc). Des idées qui n’attendent plus que deux choses

  1. Facile : le fameux bout de code transformant un require() en chargement de ressources depuis le CLASSPATH (d’après ce que j’ai compris, Sébastien travaille dessus)
  2. Moins facile : passer un template HTML plutôt que Javascript. Parce que s’il est question de rendu isomorphe, j’aimerais autant que ce soit le même fichier qui soit rendu de la même façon (ou presque) côté client et côté serveur.