Book Review / Critique livre

Entries feed - Comments feed

Last entries

Tue 17 Dec 2013

  • David Mentré

Book review: Better Embedded System Software

better_embedded_system_software_cover.gif Better Embedded System Software is a very good book if you write software, and not only embedded software!

I discover this book when following the Toyota Unintended Acceleration case where Philip Koopman, the author of this book, was a plaintiff's expert. Philip Koopman is an Associate Professor at the Carnegie Mellon University.

Why is this book so good? Because it explains in daily words what should be the ideal software development process. And not only it details the ideal process, but it gives concrete, down to earth advices on how to improve your current process and software development habits.

The book is divided into 30 small chapters, following the order of the usual V cycle (overall process, requirements and architecture, design, implementation, verification and validation, critical system properties). The chapters are very short, about 10 pages, and relatively independent. This one of the great point of the book: it is easy to read a chapter, there is not need to allocate a long time slot for it. You can pick the chapter that is most interesting to you. And as the chapters are right to the point, you immediately get useful advices and you can immediately start to apply them on your own development.

The other great quality of this book is that the author has a strong background in embedded software development. Therefore the advices are realistic and graduated. The author knows that you are going to find barriers and limitations in your work environment and he helps against them. For example, there are two chapters on producing some documentation but not too much. Even if you cannot apply the whole set of advices, you nonetheless get some ideas on own to improve your current software and what could be done in later steps.

I am not an expert on all the topics presented in this book (that's why I bought it!) but for the domains I knew (e.g. concurrent programming), the advices seem balanced and appropriate.

Of course, 10 pages for a chapter is very short and some subjects are so wide that they would deserve a book on their own (e.g. safety and security). In that case, Koopman's book give useful pointers to continue your reading and the summary he gives is an excellent introduction to the topic.

As I said many times, we are currently making very bad software and we should improve this situation. Better Embedded System Software is the one the very few books that you should keep close to your table and consult on a regular basis.

If you cannot afford the book, some quite detailed slides on Avoiding the 43 Top software risks have been made available by Philip Koopman.

Fri 05 Jul 2013

  • David Mentré
  • 2

Critique livre : Éloge de l'oisiveté

Bertrand Russell (image Wikipédia) Ce petit livre (32 pages, éditons Alia) est ancien, 1932, mais toujours étonnamment d'actualité. Bertrand Russell, le célèbre logicien, y expose ses idées sur le travail, l'utilité du travail pour la société et comment procurer plus de bonheur à tous.

Pour parler sérieusement, ce que je veux dire, c'est que le fait de croire que le TRAVAIL est une vertu est la cause de grands maux dans le monde moderne, et que la voie du bonheur et de la prospérité passe par une diminution méthodique du travail.

La réduction du temps de travail ! Voilà l'objectif de Bertrand Russell. Et il n'y va pas de main morte puisqu'il préconise 4h par jour. :-) Mais au-delà de cette proposition, Russell explique pourquoi travailler peu est nécessaire : pour avoir du temps pour des loisirs, pour développer des activités créatives, aussi bien artistiques que scientifiques, pour s'éduquer, etc. En résumé, pour faire de l'homme un être actif pour le bien de la société et pas seulement un être passif, juste bon à s'abrutir au travail et consommer sur le peu de temps qu'il lui reste.

1932 ! Il y a 80 ans, on parlait déjà de ces questions et je n'ai pas vraiment l'impression qu'on est vraiment progressé depuis. À une heure où l'automatisme est croissant, où la productivité est sens cesse améliorée, ou certains sont surchargés de travail alors que d'autres en demandent, nous devrions collectivement nous interroger sur la façon de répartir équitablement travail mais surtout richesse dans notre société ? Peut-être peut-on voir au-delà de l'horizon néo-libéral (bouché) qu'on nous présente que seule voie possible ? Bertrand Russell nous invite à y réfléchir intelligemment et de manière compréhensible.

La bonté est, de toutes les qualités morales, celle dont le monde a le plus besoin, or la bonté est le produit de l'aisance et de la sécurité, non d'une vie de galérien. Nous avons choisi, à la place, le surmenage pour les uns et la misère pour les autres : en cela, nous nous sommes montrés bien bêtes, mais il n'y a pas de raison pour persévérer dans notre bêtise indéfiniment.

Mon 01 Oct 2012

  • David Mentré

Critique livre : Introduction à la logique

Introduction à la logique Habituellement, j'attends de finir un livre avant d'en parler. :-) Je ferai un exception pour l'« Introduction à la logique. Théorie de la démonstration » de David, Nour et Raffalli tant je mets du temps à le lire. Je l'ai acheté en 2002 et je suis loin d'avoir fini de le lire. À tel point que je viens de me rendre compte qu'une deuxième édition est sortie en 2004. ;-)

Comme son titre l'indique, ce livre présente la logique de manière pédagogique pour tous ceux qui doivent s'y frotter, de l'étudiant qui aborde la théorie de la démonstration à l'ingénieur qui doit formaliser des spécifications pour faire des vérifications formelles.

Ce que j'aime beaucoup dans ce livre, c'est qu'il est très très pédagogique. Il ne part d'aucun pré-supposé (hormis peut-être des connaissances en algèbre de base pour quelques exemples) et construit les notions pas à pas. Chaque démonstration (du moins dans les premiers chapitres) est claire et détaillée, chaque théorème ou axiome utilisé à chaque étape de la preuve étant référencé. On est très loin des ouvrages du même genre où les démonstrations sont « évidentes » ou « par application directe du théorème Machin ». Ici, le lecteur est pris par la main. Les notions abordées sont complexes mais le lecteur n'est pas perdu (du moins pas tout de suite) grâce à l'effort pédagogique des auteurs.

Le seul reproche qu'on pourra faire à cet ouvrage, c'est qu'il n'est pas très synthétique. Celui qui voudrait comprendre « rapidement » la logique pour par exemple l'utiliser en vérification formelle sera probablement déçu.

En résumé, ce livre s'adresse à un public technique, intéressé par le sujet. Mais pour quiconque voudrait approfondir les notions de la logique, c'est pour moi un ouvrage de référence, très bien construit et très clair.

Mon 17 Sep 2012

  • David Mentré

Critique livre : Saison brune

« Saison brune », de Philippe Squarzoni

Pour une fois, je ne vais pas parler d'un livre mais d'une BD, « Saison brune » de Philippe Squarzoni. Cette BD n'est pas un ouvrage de divertissement, de poésie ou d'imagination, c'est une enquête approfondie sur le réchauffement climatique, ses conséquences et la façon dont on peut l'affronter.

« Saison brune », extrait En 2006, Philippe Squarzoni terminait un ouvrage sur le bilan des années Chirac, « Dol ». Au moment de rédiger la partie sur l'aspect écologique de son mandat, il a jugé qu'il ne connaissait pas assez le sujet. Alors il a creusé. Ça lui a pris 6 ans et donné ce « Saison brune », une BD de 475 pages en noir et blanc au graphisme très réaliste (regardez ses paysages naturels en noir et blanc, c'est magnifique ! Dans la ligne des grandes BD japonaises comme Taniguchi).

L'ouvrage est grosso modo découpé en trois parties. Dans la première, il explique ce qu'est le réchauffement climatique. Il détaille notamment comment est construit le rapport du GIEC (Groupe d'Experts Intergouvernemental sur le réchauffement du Climat) et qu'il y a un réel consensus de la communauté scientifique pour établir que le climat se réchauffe. Le question maintenant n'est pas de savoir s'il y a un réchauffement mais dans quel scénario on se situe, entre très mauvais et catastrophique. Dans la deuxième partie, il analyse quelles sont les principales sources de rejet de gaz à effet de serre dans l'atmosphère (la production d'énergie, le transport, ...) et les conséquences du réchauffement climatique sur notre planète (inondations, appauvrissements des populations, ...). Il montre comment lutter contre ce réchauffement, d'abord et avant tout en limitant la consommation énergétique. Il détaille les différentes sources d'énergies non carbonées, éolien, solaire et il explique pourquoi le nucléaire est une fausse solution (avant Fukushima ! Ce qui est dit sur la centrale du Blayais en 1999 est prémonitoire... et glaçant !). Dans la troisième partie, il aborde les relations entre ce réchauffement climatiques et l’accaparement des ressources par le capitalisme mondial. Il montre que lutter contre le réchauffement va à l'encontre des intérêts du laisser faire libéral.

Au final, j'ai trouvé cet ouvrage passionnant et éclairant. Passionnant car on y apprend pleins de choses, comme par exemple comment le rapport du GIEC est construit. Je n'imaginais pas la somme de travail que cela représente. Mais cette BD est aussi éclairante car l'auteur n'est pas manichéen, il se met, il nous met, en face de nos contradictions. Comment nous aspirons tous à notre confortable niveau de vie d'européen (prendre l'avion pour ses vacances, utiliser des voitures toujours plus équipées mais gourmandes, ...) alors que nous devons tous, collectivement, lutter contre ce réchauffement climatique, ce qui nous impose de justement limiter notre consommation énergétique et donc transformer notre mode de vie.

La conclusion du livre est pessimiste : nous avons une fenêtre pour changer nos comportements mais nous ne le ferons pas, car l'urgence n'est pas assez présente dans nos esprits. Je pense qu'il a raison. Mais ce n'est pas une raison pour ne rien faire. Lisez cette BD, d'urgence !

Mon 10 Sep 2012

  • David Mentré

Book review: Rework. Change the way you work forever

Rework This book is made by people of 37signals, a successful American company doing web based product. They are know for their previous book, Getting Real, which I have not read but look quite similar in spirit if not in content.

"Rework. Change the way you work forever" by Fried and Hansson is made of several small essays, each essay containing a "catch phrase" (e.g. "Ignore the real world", "Workaholism", "Scratch your own itch", ...) and a small explanation in two or three pages. Those parts are organised into several chapters (e.g. "Takedowns", "Go", "Progress", "Productivity", ...) that look at the several issues when starting and running a business (get the idea, develop the product, hire new people, ...).

This book is interesting because it is made by people having a successful business, so you can believe them when they are saying that it can be done that way. And that way is quite unusual (for this kind of book)! They are talking about being small, saying no to the client, avoiding too long much hours ("workaholism") or funding your company by yourself and not using venture capital funds. It is thus interesting to get a fresh view in running business, even if this view is being told by other people around you or in the Free Software world. I particularly liked the spirit of the book which says that instead of doing market studies or imagine several different products, it is better to actually making a good product, targeted at a well identified need (and the authors detail how to identify it).

On the down side, even if the book is illustrated with several examples coming from successful businesses, I would have preferred such illustration to come from examples from 37signals itself. It would have been much more reliable and more interesting in my humble point of view.

The book is short. I liked it that way. It won't take you days to read it. It could have been shorter (there is a place for a reference card extracted from this book) but in its current form the ideas are illustrated enough so you have a better chance to understand them.

Wed 02 Mar 2011

  • David Mentré
  • 2

Critique livre : Pour une révolution fiscale

Couverture Pour une révolution fiscale Camille Landais, Thomas Piketty et Emmanuel Saez on récemment publié « La révolution fiscale, Un impôt sur le revenu pour le XXIe siècle » aux éditions Seuil, 12,50 €. J'en recommande fortement la lecture.

Ce livre est découpé en trois parties. La première partie fait un bilan très pédagogique du système fiscal actuel en partant de données macro-économiques (le Produit Intérieur Brut (PIB), le nombre d'adultes, ...) pour raffiner et expliquer d'où vient l'argent, comment il est prélevé et à qui il est redistribué. On y apprend par exemple qu'en moyenne les français payent 49% d'impôts ou que les 1% de français très aisés (500.000 personnes) détiennent 24% du patrimoine national. Saviez vous par exemple que l'impôt sur le revenu (IRPP) représente seulement 3% du revenu national, contre 6% pour la Contribution Sociale Généralisée (CSG), 13% pour les impôts à la consommation (TVA et autres impôts indirects) et 23% pour les cotisations sociales (maladie, famille, formation, retraite, chômage, ...) ? Autant dire que quand on (nous ou les politiques) se focalise sur l'impôt sur le revenu, on ne regarde qu'une toute petite portion des prélèvements. Plus intéressant encore, les auteurs montrent que notre système fiscal est clairement régressif, les 5% les plus riches payant moins d'impôts que le reste de la population.

La seconde partie décrit la proposition des auteurs : une simplification du système fiscal actuel, pour une meilleure transparence et une meilleure équité. Ils proposent une suppression de l'actuel impôt sur le revenu (IRPP) qui serait remplacée par une CSG aux taux révisés, prélevée à la source, et touchant autant les revenus du travail que du capital. L'impôt serait prélevé par individu, en distinguant notamment les deux conjoints d'un couple pour éviter de pénaliser les femmes qui ont souvent le revenu le plus faible. Ce qui est très intéressant dans cette proposition est que les auteurs ne cherchent pas à augmenter ou diminuer le volume global d'impôt : l'impôt prélevé est le même, seulement plus simple et plus équitable. Et bien entendu, rien n'empêche d'y envisager des modifications, pour être plus « de droite » ou « de gauche » (cf. tableau p. 95). Avec la proposition actuelle, 97% des français payeraient moins d'impôts.

La troisième partie détaille les perspectives possibles : un revenu d'autonomie pour les jeunes adultes, améliorer les transferts sociaux, etc.

Ce livre est accompagné d'un site web, revolution-fiscale.fr, qui contient des simulateurs pour élaborer ses propres variantes de la réforme proposée. Plus intéressant encore, l'intégralité des données et des programmes sont disponibles pour permettre aux plus courageux de refaire et vérifier les calculs[1]. Il n'y a pas de licence clairement associée à ces données et programmes, mais les auteurs demandent « simplement aux personnes utilisant nos programmes et fichiers d'indiquer leur source », ce qui peut en faire une licence Libre. En tout cas, l'effort de documentation scientifique est significatif et mérite d'être signalé. Même dans le monde scientifique, il est rare de trouver des publications qui fournissent les programmes et données utilisées.

Bien que relativement court, 40 petites pages pour la partie bilan et de même pour la proposition, j'ai trouvé ce livre très pédagogique et très stimulant. N'hésitez pas à l'acheter ou l'emprunter.

Notes

[1] Les programmes et données sont fournis pour des logiciels propriétaires (Excel et Stata), il serait intéressant de refaire les calculs avec des programmes libres comme R.

Thu 30 Jul 2009

  • David Mentré

Critique livre : La programmation en pratique

La programmation en pratique Un livre que je recommande chaudement à tout programmeur ou apprenti programmeur : La programmation en pratique de Brian W. Kernighan[1] et Rob Pike, éditions Vuibert informatique, ISBN 2-7117-8670-6.

Ce livre aborde tous les sujets qu'un bon programmeur doit connaître :

  1. Le style : comment écrire du code clair et bien commenté ;
  2. Les algorithmes et structure de données : l'importance de choisir un bon algorithme, évaluer sa complexité et les différents types de structures de données (listes, arbres, tables de hachage) ;
  3. La conception et l'implémentation : comment concevoir un programme, choisir un algorithme et bien réutiliser les bibliothèques existantes ;
  4. Les interfaces : comment faire un code réutilisable par d'autres ;
  5. Le débogage : quelles méthodes et outils utiliser pour trouver les erreurs de ce !!#@!?!! de programme ;
  6. Les tests : comment tester son programme, de manière systématique et reproductible ;
  7. Les performances : comment évaluer les goulots d'étranglement dans un programme et comment y remédier ;
  8. La portabilité : comment écrire un programme exécutable sur différentes plate-formes, et ce même en langage C ! ;-)
  9. La notation : quelques exemples qui montrent qu'un programme utilisant une notation adaptée facilite la vie de son utilisateur.

Ce livre est abondamment illustré d'exemples en C, C++, Java, Perl ou Awk. Les exemples sont clairs et l'approche est pragmatique, mais avec le soupçon de théorie quand c'est nécessaire. Chaque chapitre se termine par des exemples et des lectures complémentaires, permettant d'approfondir un sujet si nécessaire. Les auteurs ont de l'expérience et savent transmettre leur savoir.

J'ai particulièrement aimé ce livre car il concentre dans un ouvrage relativement concis (300 pages) tous les conseils que j'ai pu lire ou découvrir à droite et à gauche dans ma vie de programmeur. Et même si vous programmez en PHP, Python ou OCaml, les points abordés sont universels et valides pour tous les langages. Ce livre est une perle, lisez-le... et appliquez ses règles ! ;-)

Notes

[1] Oui, LE Kernighan du langage C et de Awk.

Mon 20 Jul 2009

  • David Mentré
  • 2

Critique livre : The Visual Display of Quantitative Information

The Visual Display of Quantitative Information« Une image vaut mille mots. » Encore faut-il que cette image reflète fidèlement l'information représentée, surtout quand les données sont des données scientifiques. C'est tout l'enjeu du livre passionnant d'Edward R. Tufte, The Visual Display of Quantitative Information. C'est un « vieux » livre, dont la première édition date de 1982 (27 ans déjà !) et la seconde de 2001.

Ce livre est semble-t-il un grand classique de la représentation des données statistiques et ce n'est pas par hasard : il explique dans son texte et montre brillamment dans ses illustrations quels sont les règles pour faire des graphiques illustrant fidèlement des nombres ainsi que les pièges à éviter. Comment faire une illustration qui permette à son lecteur de comprendre des données numériques, géographiques ou autres, sans être trompé par ce graphique ?

Tufte construit son argumentation en deux parties. Dans la première il puise dans des sources historiques pour donner des exemples d'illustrations réussies ou complètement ratées[1].

Parmi ses exemples historiques, un exemple très parlant est cette carte de 1869 faite par le français Charles Joseph Minard illustrant le sort des armées napoléoniennes durant la campagne de Russie :

Taille des troupes napoléoniennes durant la campagne de Russie

Sur une même illustration sont représentées :

  • par l'épaisseur du trait, sa couleur et les annotations chiffrées, la taille des troupes napoléoniennes, de 422.000 hommes initialement à 10.000 hommes au retour de la campagne ;
  • par le positionnement spatial, les lieux de combat ou les événements marquants (voyez le franchissement de la Bérézina !) ;
  • par une correspondance verticale avec un graphique des températures, l'influence de la température.

Cette illustration est à la fois jolie à regarder, très parlante et historiquement fidèle.

Dans une seconde partie, il construit une théorie des graphiques de données (theory of data graphics) en donnant des règles à suivre et des explications pas à pas pour augmenter l'efficacité visuelle et la fidélité d'une illustration.

Un exemple de règle donnée par Tufte dans sa théorie des graphiques de données :

Erase non-data-ink, within reason

Ce que l'on pourrait traduire par :

Effacer l'encre sans information, avec discernement

L'idée dans cette règle est que chaque portion de noir ou de couleur dans un graphique doit apporter une information. Si elle n'en apporte aucune, il faut la supprimer. Et Tufte montre comment le faire. Par exemple en supprimant les grilles ou marques inutiles sur les axes. Mais là, il vous faudrait lire le livre pour vraiment comprendre par les exemples de Tufte. ;-) Et l'auteur va plus loin en montrant des formes originales de graphiques scientifiques.

Ce qui me passionne dans ce livre, c'est que Tufte applique à son livre les conseils qu'il donne. Son ouvrage est un véritable objet graphique, aussi agréable à lire qu'intéressant à comprendre. Tufte a dû s'auto-éditer pour obtenir le résultat qu'il désirait.

Cet ouvrage est un peu cher, 40€ pour 200 pages avec peu de texte et pleins d'images, ;-) mais à mon avis cela vaut l'investissement. Vous ne verrez plus ces immondes graphiques en camembert de la même façon ! :-)

Notes

[1] Par exemple, si une image est utilisée pour représenter une quantité, sa surface doit être proportionnelle à la quantité et non sa hauteur.

Thu 12 Feb 2009

  • David Mentré
  • 1

Critique livre: Ergonomie web

Faire un site web n'est pas une chose simple, faire un bon site web utilisable par son public est encore plus difficile ! Bien souvent, on ne sait pas si quelque chose est mal fait, et si oui comment y remédier. Le livre Ergonomie web d'Amélie Boucher (32 €, ISBN 978-2-212-12158-2) n'est pas la solution miracle mais donne de sérieuses pistes pour arriver à faire un site web réellement fonctionnel.

Le livre est divisé en cinq parties. La première partie est une introduction à l'ergonomie web, avec une rapide présentation des concepts et un détail des dix idées reçues sur l'ergonomie web (règle des trois clics, les internautes sont des idiots, ...).

La deuxième partie détaille plus avant les fondements de l'ergonomie. Tout en restant accessible, Amélie Boucher présente quelques théories et lois à la base de l'ergonomie, comme la loi de Fitts (« une cible est d'autant plus rapide à atteindre qu'elle est proche est grande »), le concept d'affordance (les possibilités d'action suggérées par les caractéristiques d'un objet), etc. Cette deuxième partie détaille ensuite comment prendre en compte les utilisateurs de son site web avec la méthode des personas (des utilisateurs types qui font des actions sur votre site).

La troisième partie est le cœur du livre. Elle commence par un long cinquième chapitre qui donne les douze règles pour optimiser l'ergonomie de son site :

  1. Architecture : le site est bien rangé ;
  2. Organisation visuelle : la page est bien rangée (PDF) ;
  3. Cohérence : le site capitalise sur l'apprentissage interne ;
  4. Conventions : le site capitalise sur l'apprentissage externe ;
  5. Information : le site informe l'internaute et lui répond ;
  6. Compréhension : les mots et les symboles sont choisis minutieusement ;
  7. Assistance : le site aide et dirige l'internaute ;
  8. Gestion des erreurs : le site prévoit que l'internaute se trompe ;
  9. Rapidité : l'internaute ne perd pas son temps ;
  10. Liberté : c'est l'internaute qui commande ;
  11. Accessibilité : un site facile d'accès pour tous ;
  12. Satisfaction de votre internaute.

Chacune de ces règles est abondamment commentée et illustrée, avec des exemples à suivre et à ne pas suivre pris sur des sites web grand public. Ce cinquième chapitre est la colonne vertébrale de l'ouvrage. Si vous n'avez pas le temps de tout lire, lisez celui-ci ! Cette troisième partie se termine par quelques conseils et explications méthodologiques pour l'audit ergonomique.

La quatrième partie aborde l'élaboration concrète d'un site web de A à Z, de la définition des contenus et l'analyse concurrentielle aux zonings et maquettes des écrans.

Enfin, la cinquième partie donne différentes méthodes pour mettre à l'épreuve un site par de vraies utilisateurs, de la méthode de tri des cartes pour organiser un site aux tests utilisateurs.

L'ensemble du livre est d'une lecture agréable. Le contenu ardu est limité à son strict minimum et le livre est bien illustré, facilitant la compréhension des explications bien souvent liées à l'aspect visuel des choses. Les conseils méthodologiques semblent empreints de pragmatisme, reflet d'une utilisation réelle des méthodes expliquées. De nombreuses fois, l'auteur explique ce que l'on peut simplifier et les points à ne surtout pas négliger dans le traitement ergonomique de son site. Évidemment, si on fait un petit site web sur un coin de table, on n'a pas forcément besoin de toutes les méthodologies proposées dans ce livre. Mais avoir en tête les douze règles de l'ergonomie web me semble indispensable. Enfin, le livre donne de nombreuses références, sur le web ou en livre papier, pour aller plus loin.

En résumé, je trouve ce livre vraiment excellent : clair, détaillé, pédagogique. Une lecture obligatoire pour tous ceux qui conçoivent ou participent à l'élaboration d'un site web.

Au passage, je compte lancer une grande souscription : envoyer un exemplaire de ce livre à chaque membre (une centaine de personnes) de la société VSC technologies, auteur du désastre de l'informatique et de l'ergonomie web qu'est Voyages-sncf.com ! ;-)