Encore un logiciel de suivi du temps consommé par application et, semble-t-il, par site web. Mais je ne sais pas comment il gère le cas du même site utilisé avec plusieurs comptes …​





A chaque fois que je vois des trucs comme ça, je me dis que j’adorerais vraiment le voir dans un document Asciidoc (et je crois que je sais comment faire)



Manifestement, quand on met à jour XAMPP avec Chocolatey, la configuration saute, et comme j’avais un peu oublié, cerre doc s’est révélée utile





La réflexion est intéressante. Mais il y a quelques authentiques bonnes pratiques qui sont mentionnées dans cet article : tester, utiliser un gestionnnaire de sources, …​




La vraie bonne page sur le framework de définition du rôle des variables. C’est un peu austère, mais très intéressant.


Oh c’est vraiment génial, ça ! Ca permet aux développeurs d’exprimer leur connaissance de l’achitecture, et à l’architecte d’avoir une vision claire sur ce qu’il se passe vraiment dans le code.



Un éditeur collaboratif en ligne, dont la partie serveur est en Rust. Ca doit être …​ raisonnablement efficace.



C’est la démarche que j’utiliserai sur mes prochaines extensions Structurizr (et je pense qu’il faudrait aussi travailler sur l’extensibilité du truc)



Review

Si vous avez subi ma progression dans ce livre, vous vous doutez que je suis plutôt enthousiaste ... En vérité, je ne suis pas "plutôt enthousiaste", je pense plutôt que c'est l'un des meilleurs livres imaginables sur le code en tant que media entre humains.

Je vous remets le sommaire avec mes notes d'avancement


  • PART 1 - ON READING CODE BETTER

    • 1 - Decoding your confusion while coding
      Premier chapitre intéressant sur la mémoire à long terme, la mémoire à court terme, et leur âge dans la lecture de code (ainsi que les sources multiples de confusion)

    • 2 - Speed reading for code
      La mémoire à long time stocké des concepts, et la mémoire à court terme référence ces concepts. Les développeurs experts ont mémorisé plus de concepts (constructions du ou des langages, design patterns,...) et comprennent donc mieux le code. Mais on peut aider les débutants grâce à des marqueurs (mis clés et /ou commentaires) auxquels accède la mémoire iconique (une forme de mémoire visuelle). Au passage, cette notion de marqueurs qui correspondent aux symboles utilisés par les mémoires à court et long terme me paraît incroyable. Si vous voulez une différence fondamentale entre le cerveau humain et l'ordinateur, en voilà une.

    • 3 - How to learn programming syntax quickly
      L'apprentissage de la syntaxe peut utiliser la méthode des répétitions espacées, avec les fiches de mémorisation, mais aussi la réflexion et l'élaboration lors de l'apprentissage.

    • 4 - How to read complex code
      On parle de charge cognitive intrinsèque et extrinsèque, et des moyens de comprendre le code lorsqu'il dépasse ces limites en effectuant des refactoring de lisibilité, des graphes de dépendance ou des diagrammes d'état (voire en automatisant ça avec, par exemple, python tutor - dont la version Java ne semble pas marcher des tonnes)



  • PART 2 - ON THINKING ABOUT CODE

    • 5 - Reaching a deeper understanding of code
      Des idées pertinents sur la compréhension du code. Certaines sont connues (lire du code est proche du langage naturel). D'autres paraissent curieusement épatantes (le rôle des variables de Sajaniemi au sujet duquel l'autrice propose carrément un sujet d'emoji rajoutable en overlay, parce qu'inférable depuis le code source). Ça me donne envie de développer un plugin Eclipse !

    • 6 - Getting better at solving programming problems
      Où on parle des modèles mentaux que les développeurs utilisent pour découvrir le code, et des machines notionelles, qui sont des modèles mentaux spécifiques appliqués à certains niveaux d'exécution du code.

    • 7 - Misconceptions: Bugs in thinking
      Un passage intéressant sur les idées fausses introduites lorsqu'on passe d'un langage à un autre. Des idées fausses qui peuvent évidemment frapper aussi les développeurs débutants, ne disposant pas de modèles internes en nombre suffisant.



  • PART 3 - ON WRITING BETTER CODE

    • 8 - How to get better at naming things
      Il est enfin temps d'écrire du code ! Et la réflexion sur le nommage des variables est bluffante, car tout y passe : abréviations ? Non. Lettres simples ? Non plus. Camel case ou snake case? Camel case. Et même le contenu du nom est étudié. C'est brillant.

    • 9 - Avoiding bad code and cognitive load: Two frameworks
      Impressionnant, l'autrice démontre dans cette partie pourquoi les code smells et, pire encore les contre sens linguistiques, sont des obstacles à la compréhension du code.

    • 10 - Getting better at solving complex problems
      La résolution de problèmes, en tant que compétence générique, n'existe pas. Et c'est un choc pour moi. Tout comme l'est le fait d'automatiser certaines étapes intellectuelles en les faisant passer de la mémoire cognitive (où on doit réfléchir) à la mémoire associative (où on sait ce qu'il faut faire) puis à la mémoire autonome (où on ne réfléchit plus). C'est exactement l’objectif de toute forme d'entraînement sportif.


  • PART 4 - ON COLLABORATING ON CODE

    • 11 - The act of writing code
      Ecrire du code est une activité complexe, regroupant d'innombrables tâches et activités. ce chapitre essaye de façon convaincante d'en dresser la liste. Et il montre aussi le coût spectaculaire des interruptions. Ce qui me permet une recommandation pour le moi futur : réserver aux développeurs des créneaux sans interruption (oui, ça paraît idiot, mais je pense que ce serait un bon ajout aux "méthodes agiles").

    • 12 - Designing and improving larger systems
      L'autrice nous parle des dimensions cognitives du code et de leur impact sur les activités du développeur définies dans le chapitre précédent. C'est vraiment intéressant, parce que ça permet de conditionner le design d'un système logiciel.

    • 13 - How to onboard new developers
      Grâce à la comparaison entre experts et débutants, ce chapitre présente quelques suggestions concernant l'onboarding. Et évidement, ce que font traditionnellement les équipes est ... mauvais, juste mauvais. J'ai particulièrement été intéressé par la vision de l'apprentissage sous forme de vague.





En plus d'être un livre franchement accessible, chacun des chapitres est une source d'information à la fois théorique (les résultats des recherches scientifiques y sont exposés avec clarté) et pratique (les conclusions s'appliquent toujours au domaine de l'informatique d'une façon vraiment simple). Franchement, c'est à mon avis une lecture indispensable à tout développeur, ne serait-ce que pour être capable de faire un peu d'introspection sur vos pratiques.

Voilà comment le capiltalisme lutte contre l’idée même que le réchauffement climatique soit un danger : en émasculant la menace par le biais d’ateliers merdiques et de questionnements oiseux.










La liste est assez longue (et je ne connaissais pas la version Groovy). Et franchement, quand je regarde ces différentes versions, je ne vois pas beaucoup de progrès …​


Un collègue m’a appris la semaine dernière qu’il existait toujours une communauté dynamique, suffisamment pour avoir réécrit la pile réseau


Un ensemble de macros plantuml permettant, en n’utilisant rien d’autre que pumla et plantuml, de créer un ensemble de diagrammes cohérents. La principale limite est pour moi d’exprimer le modèle dans une syntaxe non extensible par du code


Je ne trouve pas l’article original. Mais la théorie des rôles des variables me semble un très bon candidat à l'"emojification" en suffixe.


Un atlas des zones fonctionnelles du cerveau humain, démarré en 1909 et continuellement complété depuis





Review

Dans ce second tome, les héroïnes du premier (Tamé et Eadaz) vont se croiser après avoir fait chacune le tour du monde, ou presque. Chacune d'entre elle a évidement un Destin, et participera à sauver le monde face au Sans-Nom.
Il y a un truc que j'ai beaucoup aimé dans cette histoire, c'est que le roman réussit magnifiquement à exposer les visions des dragons que peuvent avoir le monde oriental et le monde occidental : côté oriental, les dragons sont des dieux qui courent sur les nuages, et côté occidental, ce sont des monstres destructeurs. Réussir à mettre en scène ces deux visions antagonistes de façon cohérente est vraiment une réussite spectaculaire de cette histoire. Et ça n'est pas forcément le seul bon côté.
L'histoire de Tamé, qui ressemble aux traditionnels récits initiatiques (avec ce côté loupé qui débute ce second tome), est également une belle réussite. On voit bien les moments où elle pense réussir, et ceux où elle est convaincue que son échec est une tare qui lui restera à vie. D'un autre côté, Ead, dont le destin semble à première vue similaire, est d'une trempe différente : l'histoire d'amour, les valses hésitations avec son fameux prieuré, ses relations ambiguës avec la sorcière, tout ça donne un rythme plus heurté, voire parfois pénible à lire (typiquement les moments avec la reine sont ... inappropriés - au sens où cette intimité, cette sensualité, n'a pas forcément une place intéressante dans le récit, mis à part comme une espèce de quota éditorial de tension érotique).
Et puis, en plus de ces personnages centraux pas très équilibrés, il y a dans ce roman un gros problème de densité : je ne suis pas du tout sûr que la moitié des rebondissements y aient leur place. L'alchimiste pas trop honnête, par exemple, ne méritait pas son rôle, pas plus que le jeune noble. L'intrigue y aurait gagné quelques centaines de pages sans vraiment y perdre en lisibilité. Et franchement, c'est ce qui aurait pu lui arriver de mieux.
Et je pense que supprimer ces hommes aurait aussi contribué à augmenter encore la dimension féministe du roman, qui est déjà très sensible. Même si cette sensibilité vient avec quelques défauts, comme cette histoire lesbienne qui est très belle et très fin, mais qui semble franchement anachronique (comme le sont ces histoires de couleur de peaux qui donnent à l'oeuvre un côté "série netflix" d'assez mauvais goût).
Bref, l'oeuvre a des qualités évidentes, mais aussi quelques défauts que j'ai trouvé vraiment agaçants.

Review

Une drôle d'histoire de science-fiction mettant en scène des scientifiques sexplorateurs, qui se retrouvent aux prises avec des extra-terrestres apparemment partants pour les galipettes, mais qui sont en fait dominés par un seigneur de guerre vraiment pas gentil.
C'est frais, c'est léger, le dessin est aisonnablement lisible et sacrément coloré.
Autrement dit, c'est une distraction sympathique.

Chaque technologie qui a été à la mode un jour est maintenant un artefact archéologique nécessitant une fouille digne de ce nom. Je l’ai fait cette année, et si on arrive avec le bon état d’esprit, c’est très intéressant.



Mon entreprise a parmi ses valeurs la transparence. Et ma foi, ce que dit cette personne est très juste : ça n’est qu’un outil mettant en valeur la confiance. Une confiance qui vient, je le pense de plus en plus, avec la discipline.







Un annuaire de podcast incluant un moteur de recommandation très complet, puisque les podcasts francophones que j’écoute y sont également représentés


This article is of a kind I don't like : it's a failed experience feedback. And it's written in english for one reason (and only one) : making sure Simon Brown (whom I don't know french reading level) reads and understands it.

And what failed is a project I developped to leverage (at least that what I thought when I started) Structurizr ability at providing a lightweight model usable and editable by Java.

But first ...

Context

I've discovered C4 and Structurizr some years ago (my external archive tells me it dates from '18). And I've immeditaly loved the way it allows someone to describe a software system architecture with an ease that UML never ever dreamed of. Not long after, I read the agile architecture documentation template provided by Simon and really felt in love (undoublty because I do believe humans are story people) with the way it tells the story of the software system studied using C4 and Structurizr.

So, when I was missioned as cross-team tech lead for three projects, I decided to use that tooling to produce all my documentation. And I was able, thanks to these tools and my old architect tool belt (PlantUML and Asciidoc) to produce architecture documents of a very good level with little effort. However, there were some Java classes used to extract informations from the environment (K8s deployment information) and from the build artifacts (maven modules as containers) that were too much specific to my mind.

Need is mother of invention

As a consequence, when the pandemic locked me at home with no more mission, I took the time to get my ideas together and

  1. Write some french documentation explaining/paraphrasing agile architecture documentation
  2. Create a maven artifact project containing smart tools allowing my colleagues - and myself - to easily produce high quality architecture documentation at low cost.

I immediatly met some accidental complexities that I solved through ... well ... shenanigans.

Asciidoc is not so easy

Figure yourself, generating asciidoc in Maven is not so simple.

Indeed, as Asciidoctor is not a Java port of asciidoc, but rather a wrapping of the Ruby code using JRuby, customizing that generation is quite complex. Typically, each component of the system must have a version that allows all the components to work together.So when you update JRuby, you have to check "religiously" that the asciidoct-maven-plugin still works, and that asciidoctor-diagram works.

Speaking of which I had to solve a very specific bug with what can only be described as a hack.

Chaining Java code is not so easy

Considering I wanted to build a Java model of the code prior to feeding asciidoctor-maven-plugin with PlantUML diagrams generated from that model, I had to

  • Generate a basic architecture model of my application using Java code
  • Augment that model with informations extracted from that model metadata
  • Augment documentation with informations also extracted from that model metadata
  • Generate an include chain allowing human-written documentation to include all that generated content
  • Generate the correct diagrams

The augmentation part being modular (the curse of architects) to handle different cases, such as projects using GitHub or Gitlab, extracting containers from Maven and components from Spring/GWT/JavaEE components, I chose to use an old friend of mine, CDI (and in that particular case, JBoss Weld).

And, since all that code was to be run in maven, I had wrap that Java executable in a call to exec-aven-plugin, with all parameters sent as system properties (which worked well, but was quite ugly in the maven pom).

So, my Java code started a Weld container, loaded all CDI components, and orchestrated it. All in a maven build which job is ... well ... to orchestrate plugins, no ? So the concept was good, but the implementation was overly complex.

What was more annoying was that, since my maven build had to embed the exec-maven-plugin code and the asciidoctor-maven-plugin generation (which used asciidoctor-diagram and "some" configuration to handle niceties such as ability to send feedback to documentation author), the pom.xml file was of a rarely seen size (692 lines for the project documentation module).

A chain is as strong as its weakest link

But there is even worse. Acustomed to old french companies, which tend to despise external tools, I prefered to use C4-PlantUML to output diagrams instead of sending them to a structurizr workspace. It worked well, thanks to structurizr-plantuml module (which I contributed to), until the accident. Well, not a real accident, but more an incident. As you see in that question, I found a solution (the hack previously mentionned). But even after having solved that issue, generating the PlantUML diagram remains painfully slow.

To be honest, in my current mission, generating asciidoc routinely takes more than 2 minutes, mainly due to diagrams (yup, i've tested removing them). And, due to the accidental complexity of my pom, i never did the move from asciidoctor-diagram to asciidoctor-kroki (which is way faster, and accept ay more easily to generate diagrams using a locally unning docker image)

The final nail

I guess you see the end coming ... but, you know, I'm quite persistant. And I tried to fix that, but then came the final nail. This one took the form of an opportunity : replaying in an evening event the presentation I did in my company, which you can see below

And when I started working on it, I took a look at this intriguing Simon Brown tweet (because I was intrigued by the concept of structurizr-lite)

And it was a blast : I was able to write my model in a cute DSL, and have all my diagrams rendered nicely. This was a very good presentation tool (I tested it on my colleague), but also a way to generate those diagrams that was undoubtly wayyyy better packaged than what I was building.

Time for introspection

I'm not good at introspecting as I tend to think i'm an awesome person, with genius ideas and the ability to deliver them flawlessly. But this time, the comparison was hard and I had to consider my frankenstein of a tool for what it was : a good idea, poorly delivered.

Isn't it anything to salvage ?

It took some time (and this article is the realization of this introspection), but I've finally understood that there were good and bad ideas.

Let me sum them up here

The good

  • Provided I'm working on a monolith, I can assume maven modules are mapped to structurizr containers, and this helps producing immediate understanding of the project architecture
  • Collecting informations from the maven model to augment the structurizr architecture model is really useful for developers : I don't have to indicate Structurizr it's a Spring project, as my code is already able to understand that by scanning dependencies
  • In the same fashion, extracting GitHub conventionnal project files (README.md, CONTRIBUTING.md) is a great idea, as developers are used to fill those files with great content, that has its own place in architecture documentation
  • Speaking of GitHub extraction, I played with the idea of using GitHub token to connect to GitOps repository to extract K8s deployment files and transform them into standard architecture documentation. This was poorly made, but already understandable AND useful

The bad

  • As I already mentionned, build asciidoc content in maven, when using some plugins and wanting modern versions, is just a nightmare. The build file becomes very fast huge, and nobody can maintain a maven pom cumulating 5 profiles, 3 different plugin configurations - each using hundred of lines of XML). Beware : it's not a critic of Maven, more a citic of the non-optimal integration of Asciidoc in the maven way (yeah I'm a believer)
  • Using another plugin system in a maven build is just plain stupid
  • For the first time, I decided not to deliver my artifacts on maven central (due to the needed bureaucracy) but on Jitpack. It was a bad iead, since companies tend to maintain maven mirrors which mirror maven central (cool), possibly Spring repository (of no interest to me), but never Jitpack, which is way too volatile. So I couldn't download my artifacts in CI machines, and one of the promise of Structurizr (considering the architecture documentation as one of project by-products, always generated on build, and as a consequence alays up-to-date and available ina rtifact repositories)

The weird

  • Being able to reuse architecture diagrams in reveal.js diagrams (thanks to asciidoctor-reveal) was quite funny, but was hardly used (which is quite normal, to my mind)
  • I built a quite complex system to hide the Asciidoc content I generate, and I still can't decide if it was a genius idea, or the weirdest fuckery I've ever produced

What to do next

I tink this article quite sums up the next step : I should refocus on the parts of the project that adds value to Structurizr ecosystem, and give up the other fragments.

But, instead of immediatly giving a method (what I did in my first draft which I immediatly seen as wrong), I think I should first use agile architecture documentation lessons and redefine my goals and non-goals. So, what are my goals ?

  • Use build-time analysis to enhance Structurizr models
  • Use build-time analysis to also enhance produced documentation
  • Integrate as much as possible in Structurizr ecosystem

And what are my non-goals

  • Force users to choose between enhancements and conformance to Structurizr tooling
  • Produce a virtual power plant, too complex to maintain
  • Multiply the moving parts

I think I'm gonna try to use Hacktoberfest to rewrite my tooling in a smart way ...




Le concept est extrêmement intriguant. Mais en lisant le début de l’article, j’avais cru lire un truc encore plus fou où l’auteur aurait réussi à "hacker" les circuits des neurones visuels pour effectuer les calculs …​


Je suis sûr que si je regarde dans mes archives, j’ai déja des dizaines d’outil de monitoring d’uptime …​ Mais celui-ci est joli, et le fait que ce soit une simple image Docker aide toujours.





Un générateur d’images vraiment sympathique





Donc des fonds d’investissement fournissent 500 M€ à une boîte dont le business model ressemble vraiment beaucoup à de l’escroquerie …​ Le monde des startups se rapproche parfois dangereusement de celui de l’arnaque en bande organisée


Alors ça c’est bien vrai : 1 an 1/2 après le début, je fais maintenant presque quotidiennement des journées 8H/18H avec 1H15 de pause …​ parce que je pense que c’est ce qu’il me faut. Ca me donne envie d’installer un tracker d’activité


Ah j’aime beaucoup, ça ressemble énormément à ce que j’ai fait sur ma mission, et c’est plaisant, parce que sacrément efficace. Après se pose bien sûr la question de la pertinence d’un outil qui autorise tous les usages, y compris les plus toxiques.


Une librairie JS pour produire des animations.C’est sympa, ça a l’air optimisé en termes de taille.




Donc la hype des microservices retombe, c’est bien. Ce qui sera mieux, ce sera quand l’industrie aura compris que les microservices correspondent à un cas d’usage dans lequel se trouvent très peu de projets.



Vous connaissez cette phrase ? Vous l'avez sans doute déjà entendue, parce que c'est un slogan de campagne qui a eu un certain succès. Mais pourquoi je mentionne ce slogan ? (on va venir doucement au coeur du sujet, installez-vous au coin du feu, et laissez-moi vous raconter cette fable)

Parce que si l'homme est une créature de chair et de sang, l'entreprise est une créature de pouvoir et d'argent. Je ne sais pas si vous avez lu Sapiens (personnellement, je n'en ai lu que la version dessinée), mais l'auteur énonce à un moment une idée forte

Yuval Noah Harari - Sapiens

Toute coopération humaine à grande échelle – qu’il s’agisse d’un État moderne, d’une Église médiévale, d’une cité antique ou d’une tribu archaïque – s’enracine dans des mythes communs qui n’existent que dans l’imagination collective. […] Pourtant, aucune de ces choses n’existe hors des histoires que les gens inventent et se racontent les uns aux autres. Il n’y a pas de dieux dans l’univers, pas de nations, pas d’argent, pas de droits de l’homme, ni lois ni justice hors de l’imagination commune des êtres humains.

Autrement dit, l'entreprise est une fiction entretenue par le pouvoir de ceux qui la créent (pensez par exemple à Steve Jobs, Jean-Marie Messier, Carlos Ghosn) et elle existe grâce à la circulation de l'argent qui lui vient de ses clients pour subvenir à ses besoins (salaires, fournisseurs, actionnaires, achats divers, ...). La différence importante entre une entreprise et un corps réel est que, comme il s'agit d'une fiction, il est aisé de confondre les moyens et les fins. C'est-à-dire qu'il est facile de croire que l'objectif d'une entreprise est de gagner de l'argent. Gagner de l'argent est pour l'entreprise l'équivalent de se nourrir à satiété : avec suffisamment d'argent, l'entreprise peut payer tous ses besoins et envisager de s'étendre, tout comme suffisamment de nourriture permet à un humain de réfléchir à améliorer son mode de vie. Pourtant, bien peu d'humains considèrent que leur but dans la vie est de disposer de suffisamment de nourriture. Dans la France du XXIème siècle, en dehors des gens sous le seuil de pauvreté, se nourrir est rarement un but prioritaire. C'est ce qu'exprime la (désavouée) pyramide de Maslov. Une telle pyramide des besoins existe-t-elle pour les organisations ? (je ne trouve pas, ça ne veut pas dire que ça n'existe pas, ça veut plutôt dire que la terminologie doit être différente)

On voit bien, pourtant, qu'il existe des besoins d'entreprise au-delà de "survivre" (qui se traduit par "gagner assez de l'argent"). Je citerai par exemple le besoin de vision : savoir ce que fait ou veut faire une entreprise est un besoin crucial, ne serait-ce que pour que les salariés puissent s'aligner avec cette vision, pour être capable de produire de la valeur sans avoir besoin d'instructions explicites. Sauf que construire une vision, ça nécessite une chose : comprendre le métier de l'entreprise et être capable de prendre, dans ce métier, une position claire.

(et maintenant, c'est le moment qui fait mal)

Reprenons donc mon article sur la structure du marché informatique en France.

Et regardons, à la lumière de cet article, le top 250 des entreprises SYNTEC. Qu'est-ce qu'on y voit ? Une domination évidente en nombre et en chiffre d'affaire des ESN. Pourquoi dominent-elles à ce point ce classement ?

Parce qu'être éditeur nécessite une vision, dont sont souvent incapables les dirigeants de ces entreprises (je vais me fâcher fort avec mon chef, là, #NotAllESN toussa toussa). En effet, pour produire un logiciel et arbitrer les envies de ses clients, il faut nécessairement se positionner d'une manière bien plus complexe que ce que font les grosses ESN qui se contentent de répondre à tous les appels d'offre, parce qu'elles ont un besoin terrible de faire circuler l'argent en leur sein (autrement dit, leur taille les a rendues incapables d'agilité et d'évolution, comme dans agar.io). Et, comme une conséquence logique, leurs dirigeants ne sont plus des visionnaires, mais des gestionnaires. Des gens dont l'objectif unique, la vision, est simplement d'assurer la rentabilité attendue par les actionnaires. Et si ces entreprises sont incapables de travailler avec les petites et moyennes entreprises du monde de l'informatique, c'est sans doute à cause de ce fossé entre gestionnaire et visionnaire.

Et ce fossé, on le retrouve à un autre endroit qui fera grincer encore plus de dents.

Est-ce que vous vous souvenez du "I have a dream" de Martin Luther King ? Ou de JFK promettant un américain dans l'espace avant 1970 ? Ou de De Gaulle avec sa vision de la France libre ? J'imagine que vous me voyez venir avec mes gros sabots. Le monde politique lui aussi est devenu un monde de gestionnaire, pour des raisons un peu semblables au monde des chefs d'entreprise : il y a tellement de gens à qui rendre des comptes qu'avoir une vision y est un luxe impossible ... Enfin, c'est la théorie appliquée dans les écoles qui forment l'élite de la fonction publique en France (typiquement l'ENA).

La conséquence est logique : ministères et grandes entreprises se font confiance parce que ces lieux partagent une communauté de culture, communauté où l'innovation est considérée comme un jeu trop dangereux pour être joué. Je pourrais par exemple citer l'exemple historique de la voiture électrique, qui existe depuis 100 ans mais qui ne décolle que parce qu'un fou visionnaire s'y est lancé, ou celui de ces fleurons industriels des transports qui ont pour la plupart été mis sur une voie de garage, parce que si il y a bien un domaine où l'innovation est nécessaire - et risquée - c'est le monde du transport.

Au-delà de ces exemples, il me semble que le marché de l'informatique en France est un exemple trop parlant pour être ignorable. Citez donc une entreprise française d'informatique qui propose de l'innovation autre que de façade. Je vais juste me permettre de définir "innovation de façade". Pour moi, une innovation de façade c'est, par exemple, créer un réseau social quel qu'il soit : l'innovation ne sera pas technique, elle ne sera que dans l'usage. Et l'usage, surtout pour le grand public, c'est sans doute l'un des éléments sur lesquels il est le plus facile de créer une envie, et donc un marché. Au-delà de ces innovations de façade dont la french tech se gargarise, quelles entreprises informatiques françaises sont authentiquement innovantes ? Bien trop peu.

Parce que ces innovations se heurtent à des gestionnaires de tous ordres, pour lesquels l'innovation est un risque avant d'être une opportunité. Et parce que les gestionnaires confondent les moyens (le besoin de faire circuler l'argent dans l'entreprise) et les fins (avoir une vision qui permette à l'entreprise de continuer à faire circuler l'argent après la prochaine révolution technologique).




Review

J'ai une forme de tendresse pour les BDs anthropomorphiques, surtout quand elles nous donnent à voir la nature sous un autre angle.
Dans ces légendes de la garde, il est question de souris ayant développé une société d'ordre médiéval, avec cités indépendantes, et d'une garde d'élite, protégeant les souris voyageant à l'extérieur de villes solidement protégées.
Le dessin est tout à fait lisible, et les souris n'y sont vraiment pas des mickeys. Je leur trouve au contraire, comme d'ailleurs à tous les animaux qui sont présents dans ces pages, un air féroce, parfois même cruel.
Et ce dessin sert une intrigue qui semble simple, mais révèle quand même une vraie profondeur de personnages. A ce propos, je trouve remarquable le fait de réussir à donner aux personnages des expressions, sans pour autant en passer par les artifices classiques de surjouer les expressions, ou d'ajouter des traits rendant le visage lisible (comme par exemple des sourcils).
Autrement dit, c'est une sacrée réussite de mon point de vue, et je suis bien content d'avoir enfin lu ce premier tome. Les suivants ne tarderont pas à me passer entre les mains.

Review

Ce dernier tome propose une intéressante fin en deux parties. Il y a d'abord la spectaculaire destruction de l'auberge de granit par Gally et Kaos (incluant un passage en réalité virtuelle extrêmement émouvant), suivie par l'incroyable ascension de Zalem jusqu'à Jéru (et l'épilogue transformationnel).
C'est sans doute l'un des tomes les moins violents de la série. Et la violence est ici remplacée par une émotion palpable. Par exemple, ce passage à Gally détruit la machine à suicide est vraiment profonde. Et le sacrifice final est incroyablement bien mis en scène.
Autrement dit, c'est une fin à la hauteur d'une série qui a toujours une place à part dans mes lectures.






Je crois qu’il va falloir que je lise cet article un de ces quatre, il m’a l’air extrêmement intelligent



Je vais devoir regarder ça de très près, parce que mon propre projet de documentation d’architecture ne me donne absolument pas satisfaction


Et Rémi et José venaient nous parler de Java 17. Franchement, pour moi, c'est un super sujet.

Sauf que ....

Le chtijug peut offrir ce genre de soirée grâce à ses sponsors. Et l'entreprise dans laquelle je travaille actuellement, Zenika, fait partie de ses sponsors.

Du coup, j'avais le même problème que Logan

Et donc, hier soir, j'ai dû choisir. Et même si j'aime beaucoup Rémi et José, j'aime aussi beaucoup le chtijug, et le buffet qui a lieu après chaque conf.

Résultat, hier soir, pour moi, c'était soirée préparation de buffet.

J'ai donc fait amener par des collègues (merci encore à eux) toutes les boissons de la soirée (une centaine de bouteilles de bière, et une cinquantaine de bouteilles de soft). Puis j'ai cherché, avec l'aide de Younès d'Euratech, des frigos aux quatre coins du bâtiment pour rafraîchir un peu les bouteilles (parce que la bière chaude, c'est moins bon). J'ai ensuite eu un petit créneau pour voir José nous parler des nouvelles méthodes dans les streams (avec un exemple d'utilisation de mapMulti assez rigolo). Et je repartais pour accueillir les plateaux du buffet et commencer à installer tout pour que les spectateurs et els orateurs puissent se détendre au mieux. Résultat, pour moi, l'image qui symbolise le mieux ma soirée d'hier soir, c'est plutôt celle-là

Et franchement, ça fait plaisir de refaire un chtijug, même si je n'en ai presque rien vu. Vivement le prochain !






Je me reconnais pas mal dans la phrase sur la culture du bonzaï (parce que oui, je joue à cookie clicker depuis …​ des années, avec plus ou moins d’acharnement, et surtout l’envie de voir quels sont les accomplissements)


Je sais bien que personne n’a besoin de voir ça. Mais est-ce que vous saviez que la marine américaine a testé l’apontage de C-130 sur porte-avion ? (d’accord, il y a l’air d’avoir un bon vent, mais quand même)


Je suis intrigué par l’idée que quelqu’un définisse un langage de description de document qui soit plus structuré que l’asciidoc, mais moins que l’html. J’ai l’impression qu’il vise une cible assez petite, coincée entre deux énormes cibles.


Review

Dans ce roman typique de la fantasy "moderne", on voit différents personnages de différents coins du monde agir face à une Menace Existentielle qui va évidement les amener à se croiser (dans le second tome, bien sûr).
On a donc différents personnages principaux : une apprentie guerrière qui, pour monter un dragon, va enfreindre une règle de sécurité essentielle de son pays, une espionne/garde du corps qui tombera doucement amoureuse de sa protégée, un médecin alchimiste qui va être trimballé d'un bout à l'autre du monde, et un noble disgracié (et envoyé à peu près au pays de la mort). Ces personnages sont variés et évoluent dans des décors qui évoquent tantôt le japon isolationniste, tantôt l'Angleterre victorienne, avec intrigues de cour et dames de chambre, et tantôt ... l'enfer, tout simplement.
Parce que la menace existentielle dont il est question est tout simplement le retour de dragons néfastes, et trop puissants, dont l'objectif est de dominer l'humanité (je crois).
Franchement, le décor est vraiment chouette. Et les personnages sont intéressants. Et puis l'approche féministe de l'autrice mettant en scène des personnages féminins forts, face à des enjeux qui dépassent de loin leur corps (mais dans lesquels les problèmes "typiquement féminins" - comme la grossesse et l'essentialisation de la femme enceinte sont parfois inclus), est originale et intéressante.
Mais même sans savoir combien de pages compte ce premier tome, c'est trop : les éléments d'intrigue sont trop délayés à mon goût.
Comme j'ai déjà acheté le second tome, et qu'il s'agit clairement d'un unique livre en deux parties, je vais le lire, mais franchement, je suis peu convaincu.

Les mecs réinventent le concept de style CSS, mais avec une étape de compilation (parce que ça fait sérieux). Je persifle, mais c’est parce que je ne comprends vraiment pas l’intérêt de la manoeuvre.




Si vous cherchez à découvrir le monde magique des logos des groupes de metal (je dois bien reconnaître que c’est assez spécifique), cet outil semble assez complet



Les sites web déployés en prod utilisent donc très majoritairement PHP, et Java ne représente que 3,6%. Il doit donc y avoir une forme de distorsion cognitive entre ce qui se passe dans les entreprises et le vrai web


Un site consacré exclusivement aux vaisseaux spatiaux, et apparemment imaginé pour ceux qui veulent écrire à ce sujet. C’est l’internet que j’aime !