Google et les blogs

Comme tout le monde l’a remarqué, Google a modifié sa gestion des blogs. Parmi le concert de louanges, je retiens néanmoins Laurent, qui, lui, n’y voit pas un bienfait évident :

plutôt que de s’adapter au contenu qu’il doit indexer, ou de tirer la leçon de ses effets pervers sur leWeb, Google va convaincre la blogosphère d’adapter ses liens de manière à lui éviter d’avoir à les prendre en compte.

  Le pire, c’est que c’est déja fait : le blog de Google nous dit que les principaux outils de blog se sont déja équipés de tels outils. Et si je ne veux pas que mes commentaires soient nofollow ? Comment je fais ? Personnellement, et bien que ce blog soit encore jeune, j’ai eu, au début, une avalanche de spams pour jouer au pocker au Texas (depuis Lille, malin quoi). J’ai naturellement installé un anti-spam (Spam-Karma qui marche très bien).

Au lieu de mettre en place ça de manière uniforme, que font les bloggeurs, ils choisissent de se taire façe au spam, ou, plus simplement, de ne plus être visibles. Bref, ça me révolte. il va sans dire que, chez moi, aucun lien n’aura jamais de rel=no-follow, sauf peut-être Google, pour sa réflexion à courte vue. Eh oui, avec ça, les blogs qui n’automatisent pas ce nofollow vont donner à leurs liens beaucoup plus de poids, et j’imagine très bien les blogs de chez blogger créés dans un but, comment dire … commerçant (pas d’inquiétude, il y a un nofollow (tiens, je devrais mettre un truc dans ma feuille de style pour que les liens ayant cet attribut apparaissent différement, ce que tout le monde devrait faire, d’ailleurs, avec par exemple un surlignement spécial)) ne pas l’activer pour vraiment maximiser le gain de visibilité. M’enfin, tant que personne ne spamme delicious …

Pour ceux que ça intéresse

Il se trouve que je suis plutôt un nerd I am nerdier than 77% of all people. Are you nerdier? Click here to find out! . Ca doit plutôt coller avec mon geek-code (que je ne peux plus déterminer localement, parce que j’ai supprimé le javascript, mais j’ai trouvé un script PHP sur le web) que voilà : Version: 3.1 GCS d+ s++: a C++$ UL-- P- L+ E- W+++ N+(++)>$ o K--? w+ !O !M V PS+ PE- Y+ !PGP !t !5 !X R(+)@ tv+ b++(+++)@ DI D+ G+ e+++ h---- r+++ y+++ Vous pouvez accessoirement le décoder . Et, dans le même genre, je dois aussi pouvoir retrouver mon nomic code. Ah, non, c’est mon degré de pureté nomic, pour lequel je suis à environ 38 %. Et c’est déja un assez bon score.

Why JSP and JSTL are used ?

Imaginez : vous avez un gros paquet de code. Vous faites un refactoring important dessus. Grâce à Eclipse/NetBeans/Idea, le code est bien modifié, et toutes les classes Java compilent. Mais qu’en est-il des JSP incluant des tags JSTL évaluant ces classes Java ? Nada ! Et, comme elles ne sont pas compilées, il faut lancer Tomcat et afficher les pages pour s’en rendre compte ! Ca vallait bien la peine de réinventer le développement grâce à la méthode XP et aux outils de refactoring pour en arriver là ! Si quelqu’un connaît un outil de propagation (ou au moins, donnant des indices sur un refactoring nécessaire) des changements de JSP et JSTL, qu’il l’écrive.

Think about NullObject

  Quand on parle de exception handling, les problèmes de NullPointerException ne sont jamais loin. Dans ce cas, le pattern NullObject est vraiment utile (bien que je ne m’en sois jamais servi). Avec du code bien organisé, le Java Null Proxy est un très bon choix. Autrement, associer à chaque classe une sous-classe singleton null-object peut aider, et pas seulement en supprimant tous les tests de nullité.

continuations on the web : managing back and next in Struts

Hier, j’ai lu avec beaucoup d’intérêt l’article de DeveloperWorks Use continuations to develop complex Web applications.

J’ai été illuminé par le concept des continuations et son utilisation pour stocker l’état d’une application web. Cependant, ces continuations soulèvent des questions importantes pour moi comme : comment pourrais-je implémenter facilement une application basée sur les continuations s’intégrant bien dans, par exemple, Struts.

Je réalise maintenant que toute mon illumination pour résoudre le problème « complexe » du précédent/suivant n’est qu’un jeu de l’esprit. En fait, la solution est triviale, quand on (en l’occurence moi), se souvient qu’une application web n’est jamais MVC, mais conversationnelle. Mais, pour m’en souvenir, la solution est simplement, pour un formulaire, de mettre dans la session de l’utilisateur, dans une clé nommée d’après le formulaire une valeur, qui sera détruite lors du traitement de ce formulaire. Si la clé n’est pas présente, aucun traitement de formulaire ne sera fait. Le principal avantage est que ce traitement peut être fait dans une paire d’actions abstraites, permettant un traitement facilité des formulaires, avec par exemple une AbsstractFormDisplayAction, et une AbstractFormReceiveAction. Le truc est de rendre ces classes non visibles, ou non impactantes, sur les sous-classes. Pour ça, la AbsstractFormDisplayAction doit passer la clé utilisée à la JSP, qui pourra la placer dans un champ bien connu du formulaire. Cela permettra à la AbstractFormReceiveAction de lire cette valeur du formulaire, et ainsi de vérifier si la clé existe dans la session. Cependant, quand plusieurs fenêtres du navigateur partagent la même session, les choses deviennent encore un peu plus complexes (pensez aux deadlocks). Heureusement sur le web les choses sont simples : la AbsstractFormDisplayAction va associer à la clé, si ça n’est pas encore fait, une List, et créer dans cette liste un ID. Cet ID sera également passé à la JSP, et inséré dans le formulaire avec un bon nom. Ainsi, la AbstractFormReceiveAction pourra vérifier dans la liste si cet ID est présent, et sinon …. Quoi ? Afin de rendre cette implémentation efficace, les actions de formulaires devraient avoir toutes un forward, par exemple « formNotSubmitted », que la AbstractFormReceiveAction pourrait utiliser.

Devrais-je désinstaller mes outils de documentation ?

Sur le Software documentation weblog,on peut lire

If you are a software developer and if you are writing documentation: read Bob McWhirter’s Developers Don’t Write Documentation and stop writing documentation.

Je trouve ça dur à avaler. En effet, le logiciel, du point de vue documentaire, se divise en deux groupes :

  1. Il y a un documentaliste dans l’équipe de développement, qui fournit une grosse valeur ajoutée en écrivant une documentation accessible et lisible.
  2. La documentation ne peut être écrite que par les développeurs ou les utilisateurs.

Le premier groupe peut être considéré comme chanceux. Mais, dans le second, pouvez-vous, en tant que « père » du logiciel, accepter que les utilisateurs décrivent son fonctionnement ? Personnellement, je n’y arrive pas. Donc j’ai toujours décidé qu’il vallait mieux leur fournir un brouillon. Si il y a un documentaliste souhaitant la corriger ou l’améliorer, tant mieux. Autrement, il y a au moins une documentation. Mais aucun développeur ne devrait pouvoir esquiver l’importante tâche qu’est l’écriture d’une documentation. Cette tâche a en fait plus d’un but. Bien sûr elle fournit à l’utilisateur des moyens de comprendre des logiciels parfois complexes, mais elle pousse aussi les développeurs à avoir de leur création une vue d’ensemble, afin de permettre aux débutants de mieux le comprendre. Et pour ça, cette étape est importante (même si elle ne vaut pas un essai du logiciel par un utilisateur de test).

Quand la chine s’est éveillée

Jean-Michel Billaut nous explique qu’il est temps de passer au chinois :

Un conseil, faites apprendre à vos enfants le chinois… En ce qui me concerne je vais peut-être m’y mettre… (je sais déjà dire merci… mais je ne sais pas encore l’écrire)…

Clairement, on est à deux pas d’une mutation fondamentale : le passage d’une domination américaine à une domination chinoise. Déja, tous nos objets physiques sont chinois. Notre distributeur de parfum aussi. Bientôt, grâce aux devises accumulées, le mode de pensée chinois va pouvoir avoir plus d’impact médiatique. Et, dans moins cinquante ans, à l’image des Etats-Unis isolationnistes d’avant la seconde guerre mondiale, le monde se réveillera, surpris, en constatant la dominationb chinoise. Heureusement, du fait d’une politique démographique plutôt spéciale, la Chine risque de s’effondrer sur elle-même, comme la France va le faire dans cinq ou dix ans.

sauvergarder del.icio.us

Comme beaucoup de monde, j’utilise {del.icio.us}. Et, comme beaucoup de monde, je me demande ce qui arrivera le jour où {del.icio.us} s’arrêtera Grâce à ce site, je peux au moins limiter les pertes en faisant des sauvegardes régulièes de cette manière. A part ça, blogger depuis un portable (PC, pas un gadget téléphonique), c’est vraiment tranquille. Je me vois bien gérer {BloNomic} comme ça.