03 avril 2010

L'effet tondeuse

Ce week-end pascal est consacré à une longue réflexion pleine de conséquences. Dans ces cas là, j'ai une astuce : la tondeuse.

En plus d'entretenir le jardin, cet instrument possède un pilotage simple qui libère l'activité neuronale. Il m'arrive donc couramment d'avoir recours à cet ustensile - de jardinage a priori - pour réfléchir activement ou prendre des décisions.
J'ai trouvé une explication théorique à cette pratique : d'après cet article, le développement neuronal du jeune enfant est favorisé par le quatre-pattes et par les mouvements saccadés qu'il impose à la boîte crânienne. Ma théorie est donc qu'on peut extrapoler ce résultat à l'âge adulte, les vibrations d'un engin à moteur favorisant ainsi le bon fonctionnement de la matière grise et la résolution de problèmes qui paraissaient hors de portée.

Je propose donc qu'on équipe tous les bureaux d'études de grands espaces verts, en plus ça sera plus joli.

01 avril 2010

sorry Mr McFish

Vous avez été nombreux à colporter mon poisson d'avril 2010, ce qui a amené plus de 450 visiteurs à douter un court instant de la véracité de ma fausse page 01Net. Le pot aux roses était assez évident et je n'ai pas pris le temps de masquer un peu mieux l'URL pour laisser planer un peu le doute.


Une petite victoire tout de même, car parmi quelques collègues moins "geeks" que les habitués de ce blog, plusieurs se sont bien fait prendre au piège. Sans parler d'un client particulièrement réceptif qui a tellement plongé que personne n'a osé lui dire qu'il s'agissait d'un fake. Il faut tout de même qu'on lui dise la vérité, sans quoi la prochaine réponse à appel d'offre risque d'être comique.

De mon côté je me suis bien marré de voir l'inventivité des habitués de la bloggosphère, entre xebia qui nous invente des lunettes de réalité augmentée qui ajoutent des post-its partout, le touilleur qui se croit revenu en 1999 à l'aire des dot_com, et Google qui nous sort des librairies délirantes MAIS fonctionnelles - le poisson d'avril qui pourrait cacher une vraie bonne idée ? Je ne sais pas si quelqu'un a essayé Google Street View avec des lunettes 3D pour voir si ça marchait vraiment, mais on se demande si c'est un vrai pur gag ou une idée délirante qui deviendra notre quotidien dans 5 ans...

Quand au traducteur Français / Chien sur android, figurez vous que ça existe en vrai (mais pas sur android) - certes, pour les gogos fortunés qui n'ont plus que leur caniche comme amis.

Google Buzz, c'est fini

Suite à l'action du gouvernement français pour sauver la langue française d'anglicisme honteux, Google se voit contraint de changer le nom de sa fonctionnalité Google Buzz dans la version française de gMail.


Reste à savoir si Google Ramdam connaîtra un meilleur accueil que son prédécesseur...

31 mars 2010

MavenShell : à tester d'urgence

Avec la finalisation de Maven 3, Sonatype commence à sortir des outils autour de ce nouveau coeur, enfin extensible à souhait. MavenShell est un de ceux-ci, conçu pour les fans de la ligne de commande, mais qui veulent aussi un outil pointu et rapide.

Le secret de MvnShell c'est tout simplement qu'il conserve en cache les POM et la configuration des plugins déjà exécutés dans le shell. En pratique, une fois le premier build passé il permet de gagner un peu de temps sur les builds successifs.

Bien sûr, si la majorité du temps passé sur un build concerne le passage des tests ça ne va pas changer grand chose, mais c'est toujours ça de pris.

Autre bonus de ce shell, via l'intégration de JNA, il permet d'avoir une console colorée, agréable pour éplucher plus efficacement le log du build. Il faut dire qu'un log peut parfois être particulièrement inexploitable, avec un mix des divers plugins impliqués et de la sortie console des tests. Le log Maven3 dans le shell fait ainsi ressortir chaque plugin avec son exécution et le module maven considéré, ça aide bien.

Pas de quoi faire une révolution tout ça, mais tout de même un exemple de ce que va permettre Maven 3 : de nouveaux outils, de nouvelles extensions. Je pense au support dans les IDE bien sûr, mais aussi à l'intégration continue (plutôt que les hacks actuels pour scruter le build Maven2), à la manipulation des méta-données dans le repository, pouquoi pas aussi aux outils de Q&A, à une meilleure exploitation du parallélisme, etc.

Vous me direz, tout ça c'est pour les projets Maven3. Et bien détrompez-vous, je fais mes tests avec un projet qui utilise "officiellement" Maven 2 et je n'ai pour l'instant rencontré aucun problème de compatibilité, que ce soit avec ce shell ou avec la dernière mouture de m2eclipse.

Alors, c'est vrai, Maven 3 ce n'est pas encore pour tout de suite, mais ce n'est plus de la science fiction.

Excellent article sur Spring, l'innovation et la standardisation

Je viens de lire cet excellent article qui compare le chemin parcouru par Spring et JBoss au travers de la normalisation de leurs technologies par le Java Community Process (JCP).

L'article sait garder un bon niveau de neutralité et expose très clairement ses arguments. Spring a toujours joué les pieds dans le plat et la critique - justifié dans de nombreux cas - alors que la ligne prise par JBoss a toujours été claire vers la normalisation d'Hibenate et de Seam par le JCP.

Si les deux protagonistes n'ont de toute façon pas toujours été très fair-play, il en sort :

  • un Seam 3 basé sur les normes de JavaEE6, et une image de JBoss comme moteur sur ce sujet;
  • un Hibernate, déjà standard de fait, sorti renforcé par la norme JPA (il y a encore des gens qui ne veulent pas entendre parler d'Hibernate, amusez vous bien les gars ...);
  • un Spring 3 qui déçoit pour son peu de contenu (pour ceux qui n'ont que faire d'OSGi en tout cas);
  • une norme @Inject qui a le mérite d'exister mais qui fait un peu court. Spring implémente bien cette norme mais elle ne suffit pas à bâtir une application;
  • une image déplorable de Spring sur son intervention tardive et polémique dans le JCP. Autant la critique du modèle EJB était argumentée, autant la participation de SpringSource à la JSR JavaEE6 aurait pu être bien plus constructive. C'est bien de taper dans la fourmilière mais au bout d'un moment il faut aussi savoir reconstruire;

    Sur l'adoption tardive des technologies par Spring je suis plus réservé. Les dates indiquées semblent montrer un retard à l'allumage de ~3 ans, je ne les met pas en doute, mais ces technologies nécessitent un temps d'appropriation et de maturation. Si Spring s'était jeté sur JSF 1.0 dès sa conception on aurait jamais eu SpringMVC. Le rôle que c'est donné Spring de ce point de vue est de proposer un regard critique et argumenté sur la mise en oeuvre de ces standards, je ne suis pas choqué que ça nécessite un peu de recul.