Programming Concurrency on the JVM, par Venkat Subramaniam

Note : 5 ; Essentiellement intéressant pour la programmation par acteurs, bien que le traitement du sujet soit largement perfectible.

Ce livre a attiré mon attention, car il traite de programmation concurrente, non spécifiquement en Java, mais sur différents langages de la JVM. Dans la pratique, on parle presqu’exclusivement de Java et de Scala. Clojure parvient à se ménager une petite place, surtout que STM vient de là, mais JRuby et Groovy sont abordés de manière vraiment très succincte en fin de livre.

Du livre, parlons-en : il s’agit d’un texte de 250 pages découpé en 5 parties (la 5ème ne contient qu’un court chapitre de conclusion) et totalisant 10 chapitres. Le premier chapitre est une courte introduction illustrée par du multithread « de base » en Java. Il nous présente le thème récurrent du texte : « shared mutability is pure evil ! ».

La première partie s’intitule « stratégies for concurrency » et se contente de 2 chapitres sur 30 pages. Le chapitre 2 « division of labour » évoque le mapping des tâches avec des threads dans différentes configurations applicatives. C’est un sujet instinctivement naturel mais bien illustré ici. Le texte ayant pris quelques rides, il ne pouvait évoquer les co-routines popularisées par Go et désormais disponibles sur la JVM. Au chapitre 3, on prépare la seconde partie en évoquant, hélas de manière légère, des options de conception liées à la gestion des états, et plus précisément l’impact de la mutabilité. Un chapitre un peu décevant.

Lire la suite

Note de lecture : Effective Modern C++, par Scott Meyers

Note : 7 ; Une verve et une pédagogie toujours présente, mais dans un ouvrage (et un sujet) plus difficile d’accès.

Je suis bien rouillé sur le C++. Je le savais déjà, mais ce texte m’en a fait prendre conscience de manière nette. Par ailleurs le C++ et la manière dont on doit penser son code ont aussi évolué de manière radicale, et ce texte plus que tout autre m’en a fait prendre conscience.

Ce sont 300 pages qui sont consacrées à couvrir les 42 items de ce texte. L’ensemble est regroupé en 8 chapitres. La place dédiée à chaque item est significativement plus importante que dans « effective C++ ». Le premier chapitre « deducing types » fait un peu moins de 30 pages et couvre 4 items. Il fait un choc car on prend de face l’un des aspects du C++ 11 les plus complexes : la gestion des types. Et là il faut bien comprendre les notions de lvalue, de rvalue (à propos, ne sautez pas l’introduction) et de référence universelle. Ajoutons-y l’inférence de type et une touche de template métaprogramming, vous vous dites que le livre va être très long, d’autant que l’auteur semble avoir perdu son humour au passage.

Sans être hilarant, le court chapitre 2 dédié à l’inférence de type avec auto nous permet de reprendre notre souffle. Peut-être ces explications nous auraient même été utiles au premier chapitre ? Je retrouve vraiment le style inimitable de Scott Meyers au chapitre 3. Les sujets traités sont moins ardus, mais ce chapitre couvre quand même 11 items sur 70 pages où l’auteur nous fait découvrir « in situ » les nouveaux mots-clés, les nouvelles constructions du C++ … et leurs sombres recoins. Un chapitre vraiment instructif et agréable.

Lire la suite

Note de lecture : Vous allez commettre une terrible erreur ! par Olivier Sibony

Note : 3 ; Plus une tribune pour que l’auteur clame ses idées, qu’un véritable travail d’étude.

De prime abord, le titre semblait prometteur sur l’investigation des biais cognitifs. Hélas, Olivier Sibony essaie de faire « comme les grands » mais n’y parvient pas. Le texte vise les décideurs et l’auteur se livre au long des pages à une danse de séduction à leur égard qui nuit gravement à la force du texte aussi bien qu’à son contenu même. Nous reviendrons là-dessus en conclusion de cette note.

L’ouvrage lui-même compte 330 pages (hors annexes) divisées en 3 parties, le tout totalisant 16 chapitres. La première partie compte 176 pages sur 9 chapitres. C’est la partie la plus longue, de loin, mais aussi la plus intéressante. Ça tombe bien. C’est justement la partie qui évoque les biais cognitifs. On commence au chapitre 1 par « le piège du storytelling ». Ce chapitre regroupe 3 biais : le biais de confirmation, le biais du champion et le biais d’expérience. Le tout est illustré … par une histoire ! Il s’agit de celle des avions renifleurs. Toutefois le propos et les biais sont clairement expliqués. Mais, et l’on retrouvera cela tout au long du livre, l’auteur manipule bel et bien les éléments dans une direction qu’il souhaite donner. Pour quelqu’un qui prône « les faits, rien que les faits » …

Le second chapitre évoque le piège de l’imitation. Il regroupe l’erreur d’attribution (où l’on corrèle trop vite un résultat avec un facteur), l’effet de halo où seuls les traits qui attirent notre regard sont notés à l’exclusion des autres éléments et le biais du survivant où les ratages sont ignorés. Un bon chapitre bien et clairement illustré. Le chapitre 3 nous emmène vers les pièges de l’intuition : en relatant Kahneman, nous y voyons plus clair sur le champ d’application de l’intuition et du danger de l’extrapoler. Un sujet clairement traité.

Lire la suite

Note de lecture : Blueprint for Revolution, par Srdja Popovic & Matthew Miller

Note 10 ; Un regard radical et perturbant sur le changement. Mais aussi un livre captivant, parfois drôle et touchant ! Pour une révolution qui commence dans nos têtes ! Book of the year 2019 !

Srdja Popovic fait un métier en quelque sorte unique au monde : il est consultant en renversement de dictateurs ! Il a gagné ses galons de crédibilité en étant l’un des chefs de file du mouvement qui a renversé Milosevic. Et il nous gratifie aujourd’hui d’un livre formidable auquel cette note de lecture aura bien du mal à rendre justice.

Le volume lui-même se présente dans un moyen format de 260 pages comptant 11 chapitres. Chacun représente une des étapes de sa méthode de renversement de dictateurs. Car oui, il a une méthode et donne même des formations là-dessus ! Le premier chapitre « it can never happen here » nous trace les débuts de son mouvement : Otpor ! (ne pas oublier le point d’exclamation). Deux décisions initiales à retenir du mouvement. Tout d’abord il est né avec le symbole du poing stylisé, sans plan ni organisation, mais en demandant aux nouveaux venus de montrer leur engagement en peignant au pochoir le symbole dans les rues de Belgrade. Une bonne méthode pour rendre le symbole omniprésent. Ensuite, le choix de ne pas avoir de « leader charismatique » afin de ne pas rendre le mouvement fragile par rapport au pouvoir en place. L’auteur se distingue de Gandhi ou Martin Luther King : pour lui et aujourd’hui, un mouvement pour rallier doit être sympa et marrant. Ce sont les révolutionnaires égyptiens qui sont au centre de ce chapitre qui se conclut par « the fist is shaking Cairo ».

Le second chapitre intitule « Dream big, start small ». Et il débute par l’histoire d’Alrov et de l’augmentation du « Cottage cheese » en Israël. Qui aboutira certes à une révision des prix du fromage mais se poursuivra par des batailles plus importantes. L’auteur nous rappelle qu’il faut choisir ses batailles et que celles-ci doivent parler au plus grand nombre. Ce sont rarement des concepts abstrait comme la liberté, mais souvent des choses plus terre à terre et quotidiennes. Souvent, cela a à voir avec la bouffe. Voir grand, c’est le sujet du 3ème chapitre « A vision of tomorrow ». C’est aux Maldives que nous emporte cette fois l’auteur. Ici Srdja nous invite à visualiser un but concret à atteindre, à l’image du solution focus.

Lire la suite

Note de lecture : La Longue Traîne, par Chris Anderson

Note : 8 ; Un point de vue en rupture sur l’économie de l’ère Internet.

Dans ce volume, Chris Anderson nous dévoile la mécanique et la redistribution des cartes que constitue les marchés de niche par rapport au marché de masse. Des marchés de niche rendus possibles par l’ère Internet, où le e-commerce met à la disposition des acheteurs des linéaires virtuels d’articles infinis, rendu accessible par la magie des moteurs de recherche et de recommandation. A l’inverse, le vendeur « physique » doit se contenter d’une surface de vente finie qu’il consacrera aux articles qui se vendent le mieux.

Au sein de ce volume de poche de 380 pages, l’auteur décline la manière dont se décline cette approche des marchés de niches et quels en sont les conséquences. Le texte est structuré en 15 chapitres. Le premier définit ce qu’est effectivement une longue traîne, en s’appuyant sur un marché que l’auteur connait bien : la musique. Le hit-parade en fait le gros de la vente. Mais iTunes nous a montré que les ventes se poursuivent au-delà du 800 000ème rang ! C’est au second chapitre que l’auteur met l’accent sur la « culture du hit », créée pour satisfaire une distribution de masse, là où l’approche « longue traîne » va maintenant nous transformer en un peuple de niches. L’auteur nous gratifie au chapitre 3 d’une brève histoire de la longue traîne et des innovations qui l’ont permise, en commençant par la vente par correspondance de Sears.

Le quatrième chapitre est consacré aux 3 forces de la longue traine. La première, la démocratisation des outils de production permet d’élargir l’offre en n’étant plus subordonné aux grosses structures seules capables d’assurer cette production. La seconde force est la démocratisation de la distribution, le e-commerce en étant l’illustration. Enfin la 3ème force est la connexion entre offre et demande que permettent moteurs de recherches et mécanismes de recommandation. Bref, c’est le cœur du sujet. D’ailleurs, le chapitre 5 focalise sur la première force, à savoir les producteurs. On y parle crowd-sourcing, pro-am, et surtout de Wikipédia qui occupe une bonne part de ce chapitre.

Lire la suite

Note de lecture : Facilitator’s Guide to Participatory Decision-Making 3rd edt., par Sam Kaner with Lenny Lind, Catherine Toldi, Sarah Fisk & Duane Berger

Note : 5 ; Les bases de la facilitation

Le titre me laissait à penser qu’il s’agissait d’un livre focalisé sur la prise de décision facilitée. En fait, le texte traite plus largement du processus dans son ensemble, ce que les auteurs appellent le « cycle en diamant » qui couvre une phase divergente, une phase convergente et au milieu ce qu’ils appellent la « groan zone », littéralement la « zone des gémissements ». Et bien sûr au bout, il y a le processus de décision lui-même ! En réalité, le titre ne ment pas.

Par contre, je m’attendais à un texte pour le « niveau d’après », alors que les auteurs cherchent plutôt à assoir les bases. Un peu de déconvenues pour moi, donc. L’objet en lui-même est dans la lignée de l’ouvrage d’Ingrid Bens, avec un format proche du A4, une présentation et une police qui font d’avantage penser à un support de cours, surtout quand on considère l’importance des illustrations. Il y a donc moins de raisons d’être effrayé par les 370 pages de la bête, surtout que la lecture est rythmée en 25 chapitres regroupés en 5 parties.

La première partie couvre les principes de base, sur 3 chapitres, en moins de 40 pages. C’est un « tour rapide » du processus en diamant que nous propose le premier chapitre. C’est couvert en une vingtaine de pages couvertes aux deux tiers d’illustrations. C’est agréable à lire, descriptif mais peu explicatif. Bref, une introduction. Le second chapitre se focalise sur la dynamique de participation, celle permettant d’obtenir ce que les auteurs appellent des « solutions inclusives ». On enfonce un peu des portes ouvertes. Cette première partie se referme sur le rôle du facilitateur : c’est simple et clair sur l’attendu, mais superficiel sur la posture.

Lire la suite

Note de lecture : Communities of Practice, par Etienne Wenger

Note : 0 ; Chiant !

Le développement des communautés de pratique est un sujet épineux. Le réussir est une difficile alchimie. Je pensais avoir trouvé la bonne voix avec Etienne Wenger. La chute fut brutale. Le livre compte environ 280, pages. L’impression qui date un peu rend la lecture un peu inconfortable. De manière générale, la qualité de l’objet est assez médiocre et j’ai même dû rafistoler un peu la bête. Le livre est structuré en 12 chapitres auxquels il faut rajouter 3 « coda » et 2 « vignettes ». C’est bien la première fois que je croise les termes « vignette » et « coda ».

Les vignettes en question sont une histoire tournant autour d’une communauté de jeunes femmes affectées à la saisie de dossiers médicaux pour une compagnie d’assurance. Cela se lit bien, l’auteur ajoute force détails à tel point que je me demande à quoi cela va-t-il servir plus tard.

Après une courte introduction particulièrement insipide sur la notion de pratique, on aborde la première notion qui importe à l’auteur : la notion de sens. Plus exactement il s’agit de « négociation du sens ». Pourquoi ce terme de « négociation » ? Je n’en ai pas la moindre idée et d’ailleurs l’auteur ne l’explique pas. Pourtant il y a la place, d’autant qu’il a la pénible habite de se répéter, encore et encore. Cette négociation du sens tourne autour de deux notions : la participation et la réification ! Si je m’attarde sur ce premier chapitre, c’est qu’il contient de manière particulièrement absconse la totalité de ce qui est dit dans les chapitres à suivre, répété en variant les formulations.

Après un premier chapitre particulièrement stratosphérique, place non pas à l’action mais au style académique (en fait c’est plus ou moins le même), avec la notion de communauté au chapitre 2. Elle tourne autour de 3 notions : l’entreprise conjointe, le répertoire partagé et l’engagement mutuel. A part la 3ème notion, les autres vous paraissent assez nébuleuses, probablement. Elles le resteront. Un chapitre orienté définition dont on ressort aussi perplexe qu’on est rentré.

Définitions encore avec le chapitre 3 focalisé sur l’apprentissage. On y parle à nouveau participation et réification (ça va continuer tout au long du livre, j’aurais déjà envie de vomir à mi-parcours). Arrivé à la fin du chapitre, impossible pour moi de comprendre ce que l’auteur a bien voulu dire.

Une impression qui va perdurer au chapitre 4 qui traite des limites. C’est l’occasion pour l’auteur de parler des différents types de connexion … et de la négociation du sens. Je suis toujours incapable de comprendre où il veut en venir. Quant à être actionnable, ce chapitre de l’est pas plus que les autres. On patauge en plein propos académique (au mieux). Le chapitre 5 consacré à la localité est court mais transmet un message décodable : si l’engagement mutuel entre les participants est fort, le facteur local/distant d’une communauté est moins déterminant. Je passe sur le « coda 1 », « knowing in practice » qui n’a rien de pratique.

La seconde partie est dédiée à l’identité. Ah oui, parce que les chapitres précédents étaient englobés dans une partie « pratiques ». Ne pas le savoir ne change rien. Après une introduction qui conserve son mojo rébarbatif, vient le chapitre 6 : l’identité en pratique. Je suis en plein brouillard, l’auteur parle d’expérience négociée… Je n’ai rien compris. Le titre du chapitre 7, participation et non-participation évoque à lui seul la fatuité de son contenu. Passons, il n’y a rien à dire. A ce stade j’ai déjà commencé à lire en diagonale (peut-être depuis le début de cette seconde partie, d’ailleurs). L’auteur parle de « mode d’appartenance au chapitre 8. Un mode qui aurait deux polarités : l’engagement et l’imagination. Que faire de ce qui est dit ici ? Je n’en ai pas la moindre idée. Identification et négociabilité, c’est ainsi que se présente le chapitre 9. Le titre est sensé nous éclairer sur le contenu. Ici les deux sont définitivement hermétiques.

La dernière partie a pour titre « Design ». Je suis bien curieux de voir ce dont il s’agit. Passons très vite sur l’introduction pour faire face au chapitre 10 : architectures d’apprentissage. Le chapitre donne l’impression d’avoir recyclé le vocable des parties précédente et d’avoir mélangé celui-ci de manière hasardeuse. Il en résulte un propos sans queue ni tête. Bravo. C’est d’organisations qu’il est question au chapitre 11. L’auteur évoque des dimensions et j’ai l’impression de retrouver celles du chapitre précédent. C’est probablement que le texte étant tellement ennuyeux, l’ensemble se mélange dans ma tête. Le livre se referme sur un chapitre 12 dédié à l’éducation, tout aussi vide de sens que tous les autres.

Il y a fort longtemps que je n’avais lu un livre aussi pénible. C’est même un nouveau sommet pour moi. Le texte est confus, hermétique et académique. Il se complet dans des réflexions et des définitions à l’intérêt inexistant. Ne faites pas comme moi : fuyez ce livre.

Communities of Practice, par Etienne Wenger

Référence complète : Communities of Practice – Etienne Wenger – Cambridge University Press 1998 – ISBN: 978 0 521 43017 3

Note de lecture : La cinquième discipline, par Peter Senge

Note : 7 ; La systémique en tant que philosophie de vie !

Ceci est un grand classique, il m’était difficile d’échapper à cette lecture ! La 5ème discipline, c’est la systémique. Ce texte est la grande référence sur le sujet et il étale le sujet sur 5 parties couvrant 400 pages dans cette édition française. Le tout représente 18 chapitres.

La première partie « comment nos actions façonnent notre réalité… » compte un peu moins de 60 pages sur 3 chapitres. Le premier sert d’introduction pour nous diriger vers le véritable objectif de l’auteur : les organisations apprenantes et fait un bref teasing sur les 5 leviers : la pensée systémique, la maîtrise personnelle, les modèles mentaux, la vision partagée et l’apprenance en équipe. On retrouvera ces 5 sujets au cours de l’ouvrage. Le second chapitre aborde d’ailleurs la capacité des organisations à apprendre et les 7 mythes répandus qui y font obstacle. Ainsi « l’ennemie est au-dehors » me rappellent toutes les raisons exogènes que l’on énumère pour éviter de fixer nos propres faiblesses… Le chapitre met l’eau à la bouche. Le 3ème chapitre est un vrai plaisir, car il aborde le jeu de la bière que je vous suggère d’essayer et qui nous met le pied dans la vue systémique d’un cycle production-consommation !

La seconde partie est consacrée aux leviers des organisations apprenantes. Il s’agit de 4 chapitres occupant un peu moins de 70 pages. Le chapitre 4 sur les principes de la pensée systémique est un peu décevant. Non que je ne sois d’accord avec les points abordés, comme la non-corrélation entre l’ampleur de l’action et celle du résultat, mais il explique plus le cadre que les fondements. C’est par contre ce que fait fort bien le chapitre 5 en expliquant les boucles de causalités grâce à des exemples simples. L’auteur en profite aussi pour introduire sa notation. Bien vu ! On entre plus avant avec les systèmes archétypaux au chapitre 6. Ils sont clairs et bien expliqués mais demandent certainement un peu de pratique. L’auteur introduit simplement les principaux archétypes : modèle à limitation de croissance et remède symptomatique, le tout bien étayé d’exemples. Cette seconde partie se referme sur un chapitre 7 un peu moins punchy. Mais on en a bien profité.

Lire la suite

Note de lecture : The Five Dysfunctions of a Team, par Patrick Lencioni

Note : 7 ; Des principes simples et importants pour faire fonctionner une équipe, expliqués clairement au travers d’un story telling efficace.

Le story telling, ça marche. Les ouvrages présentés sous forme d’histoire ou de fable (comme l’auteur appelle cela) comptent parmi mes meilleures lectures. Cela fonctionne aussi à plein ici, avec l’histoire de Kathryn, CEO fraîchement nommée à

la place du fondateur de la société, mais rompue à l’exercice de la direction.
Les 225 pages de l’ouvrage sont essentiellement consacrées à la « fable », soit 185 pages. Le reste est consacré au modèle (les fameuses 5 dysfonctions). Le format état plus petit qu’à l’accoutumée et story-telling aidant, la fable se lit très rapidement. C’est un régal. Comme souvent, l’histoire est un peu « fleur bleue », même si l’intrigue possède son vilain canard (qui finira par être virée par Kathryn) et un sceptique qui finira par être convaincu. Mais dans l’ensemble, le texte illustre très bien les 5 points que l’auteur voulait mettre en évidence.

Le modèle, lui se présente sous une forme de pyramide de cinq étages que nous allons aborder en commençant par la base :

Lire la suite

Note de lecture : Fooled by Randomness 2nd edt., par Nassim Nicholas Taleb

Note : 5 ; Troublant, intéressant … et brouillon et égocentrique !

Les choses ne sont pas aussi déterministes que nous aimerions le croire. Là où nous voyons des corrélations et de l’expertise il n’y a bien souvent que de la pure chance. Tel est le propos central de cet ouvrage.

Le texte compte environ 260 pages en format 12 x 22. Il est divisé en 3 parties. C’est une lecture plus difficile qu’il ne semble de prime abord, car l’auteur écrit dans un anglais plutôt élaboré. La première partie « Solomon’s warning » compte 7 chapitres pour 130 pages, c’est donc la moitié de l’ouvrage. Le premier chapitre « si vous êtes si riche, pourquoi n’êtes-vous pas plus intelligent » marque de son empreinte la condescendance dont fait preuve l’auteur. C’est un trait qui couvre la totalité du livre. Ce premier chapitre nous comte les histoires de Nero et de John, tous deux traders. L’un fait preuve d’aversion aux risques tandis que l’autre s’expose au « randomness » risque et termine ruiné. Il y est donc question de tenter le destin.

Le chapitre 2 évoque un système de comptabilité bizarre. Il y est question d’histoires alternatives. De là l’auteur nous conduit vers son outil préféré : la simulation Monte Carlo, qu’il utilise en lieu et place de la lecture des informations ! Le chapitre 3 permet à l’auteur d’évoquer le médiocre respect qu’il a pour les leçons de l’histoire (dont il juge les corrélations avec le présent sujet à caution) et son mépris des journalistes. Quand je vous parle d’égo… Je passe rapidement sur le chapitre 4, fort court et qui ne développe pas de nouveau thème.

Lire la suite