![]() |
| Home RSS Directory F.A.Q Suggest A Feed Try Custom Feed Sonneries Portable |
Latest Flows from this sub-category: random selection from this sub-category: |
Le blog d'un architecte du logiciel. Tue, 20 Mar 2007 00:23:00 +0100 Comme moi, certainement n'aviez vous pas remarqué que depuis le 11 avril 2006, tout programme que vous pouvez écrire ou utiliser doit certainement tomber sous le coup du brevet du siècle : le brevet sur les listes chaînées attribué par l' USPTO . Oui, oui il s'agit bien du truc avec un ou deux pointeurs pour faire marche avant ou marche arrière et qui doit être à peu près aussi vieux que l'informatique. Sans commentaires, sur le c..tin qui l'a attribué. Mais là, on est pas loin du brevet sur l'instruction IF comme je l'évoquais il y a quelques temps. Comment ce fait-il que nous n'ayons pas encore notre prix Darwin pour les brevets informatiques? Merci à Grady Booch pour ce fou rire (jaune). Tue, 16 May 2006 21:46:00 +0200 Un billet comme je les aime de Christophe Thiry fait certainement la synthèse la plus pertinente qui soit sur les questions métaphysiques que se posent les développeurs lorsqu'il s'agit de choisir entre .Net et Java. Chose très amusante, au moment de lire son billet, quelques minutes plutôt, je venais de terminer la revue de code de ce qui est censé devenir le cadre de référence pour toutes les applications futures d’une très grande institution française. Il se trouve que c’est écrit en Java mais ça aurait aussi bien pu l’être en langage Q (langage quelconque). J'arrive encore une fois, comme trop souvent, à la même conclusion que Christophe: Quelque soit le tuyau utilisé, l’eau qui le traverse dégagera toujours la même odeur nauséabonde… Mon, 08 May 2006 19:09:00 +0200
Point de départ : comment fonctionnent les spammeurs ? Le fait que les billets spammés soient toujours les mêmes permet de déduire qu’ils scannent les urls et qu’une fois qu’ils en tiennent une, ils arrosent dessus quotidiennement. Il suffit donc de fournir pour chaque billet une URL de trackback jetable basée sur une date de péremption. Utilisable sans contrainte pour faire un trackback légitime, elle devient invalide peu de temps après. Elle est donc inutilisable par nos spammeurs. Le tout saupoudré d’encryptage afin qu’il leur soit impossible de constituer eux même une URL valide. J’ai donc mis tout cela en musique la semaine dernière. Maintenant j’ai des URLs de trackback qui ont de la forme suivante : http://archiblog.stratic.fr/blog/tb.php?id=177&chk=iwg2wp ( Et même pas peur, je peux sans crainte mettre un lien sur cette URL de trackback. Dans le quart d’heure qui suit sa publication, elle deviendra de toute façon inutilisable et retournera une erreur. En un peu moins de 7 jours, à elle seule, cette petite astuce a stoppé 1019 trackbacks de spam sur Archiblog pour un coût zéro aussi bien pour mon hébergeur que pour moi-même! Pendant cette période un seul trackback de spammeur est passé mais il a bien sûr été capturé par Spamplemousse. Et encore, il ne s’agissait pas d’un message de spam mais plutôt d’un sondage fait par un nouveau spammeur sur l’URL du billet car le corps du message de trackback était désespérément vide. Seule l’adresse IP de l’émetteur permettait de penser qu’il s’agissait d’une tentative de spam car elle était en liste noire. Devant le succès de l’opération et puisque je suis partageur, après avoir enlevé le compteur (qui comptait surtout mon autosatisfaction), j’ai donc décidé aujourd’hui d’en faire un petit plugin expérimental vite fait sur le gaz, nommé Spamtimeout que je vous invite à tester :
Une fois le plugin installé, l’utilitaire de configuration du plugin indique la marche à suivre pour l’activer et le personnaliser. Attention, il faut mettre les mains dans le cambouis et aller modifier les fichiers tb.php de Dotclear et post.php de votre thème pour en tirer parti. Ces manips relativement simples restent tout de même réservées à un public averti. Je qualifie ce plugin d’expérimental, car son seul but est de permettre au plus grand nombre de tester la solution. Si elle se révèle satisfaisante pour tous, l’idéal serait bien sûr à terme d’intégrer cette solution dans Spamplemousse ou même dans Dotclear car les plugins, entre celui qui fait le café et celui qui ajoute le sucre, ça commence à être un peu la jungle sous Dotclear. Spamtimeout ne se suffit pas à lui-même, il est complémentaire de Spamplemousse (ou de SpamClear). En effet, il ne protège pas nécessairement de la première tentative si elle est réalisée très peu de temps après le scan ou de celles faites manuellement (mais là c’est un plaisir, car on sait que le spammeur passe plus de temps pour faire son trackback que nous n’en passons à le modérer Voilà, avec ça, les spammeurs n’ont plus qu’à scanner chaque billet à chaque fois pour retrouver une URL valide. Ce que je ne pense pas qu’ils soient prêt à faire car là le rendement serait nettement moins bon. Mais, même dans ce cas, on pourrait alors toujours faire quelque chose en ajoutant par exemple un peu de CSS magique pour compliquer le jeu. Merci de me faire part de vos commentaires. Edit: Il semble que la fonction de découverte automatique des URLs de trackback soit fortement appréciée (quand elle fonctionne...). Je viens donc d'ajouter son support dans la version 0.6 et vous invite à la tester. Ca expose un peu plus mais au vu de la façon dont fonctionnent les spammeurs, ça devrait continuer à arrêter l'essentiel des flux (je croise les doigts). Tue, 28 Mar 2006 14:13:00 +0200 Il n'y a pas que moi qui ai ré-ouvert, les spammeurs aussi on également fait l’ouverture en même temps. Ils m’ont gratifié d’une bonne cinquantaine de billets doux dans les commentaires. J’ai donc dû sévir :
Vous aurez donc maintenant l’occasion de réviser un peu les mathématiques quand vous posterez un commentaire et ne devrez pas être surpris si il n’apparaît pas immédiatement. Tous les commentaires ou trackbacks comportant un mot clé considéré comme pouvant potentiellement faire partie d’un message de spam ou comportant un lien vers un site extérieur seront maintenant modérés à priori et non plus à posteriori. Fri, 24 Mar 2006 05:45:00 +0100 Hier j’ai découvert ce commentaire surprenant sur l’un de mes billets :
J’ai commencé par répondre à ce commentaire, mais la "gravité" du sujet évoqué par Bruno m’a amené à considérer de répondre sous la forme d’un billet à part entière. Ceci afin d’attirer l’attention du plus grand nombre sur les mesures à prendre pour empêcher la progression de la programmation orientée Aspect. Bruno, voici donc ma réponse :POA, c'est moche ce qui vous arrive. Je comprends très bien que le viol de votre code au plus profond de son intimité puisse vous faire craindre la mise en péril de son intégrité. Mais sachez que vous en êtes avant tout le principal responsable! De par votre attitude, à sans cesse le structurer et a en isoler chacune des fonctions en procédant à une encapsulation systématique vous avez rendu votre code aguichant sous tous ses aspects Egalement amateur de beau code, je comprends votre douleur et vos craintes. Malheureusement pour vous aider dans votre combat je ne peux que vous donner quelques conseils qui vous demanderons certainement beaucoup de courage et d’efforts pour les mettre en application. Afin que ce gang de violeurs qui se réclament du mouvement de la programmation Aspect ne puisse plus s’en prendre à votre code, il faut que vous cessiez de les provoquer ainsi en affichant de tels attraits. Pour les repousser, vous devez produire du code qui pour eux sera répulsif. La recette de l’écriture d’un tel code est relativement simple :
Je sais quelle peine cela peut vous causer de devoir écrire un tel code. Aussi, afin de faciliter votre démarche, je vous conseille d’aller faire un stage dans une SSII très réputée pour vous faire coacher par un développeur ou mieux encore par un architecte. Choisissez cette SSII la plus grosse possible. J’ai en effet constaté de par mon expérience que plus elles étaient grosses, plus les intervenants qu’elles proposaient à leurs clients avaient un talent inné pour produire un tel code. Je les en remercie d’ailleurs tous les jours car après leur passage ils laissent de véritables mines d’or. Quand j’arrive ensuite pour restructurer ces grands projets malades je suis alors accueilli en véritable messie. Voilà, j’espère que ces humbles conseils que je vous prodigues vous permettrons à vous et à beaucoup d’autres de gagner le combat que vous avez engagé contre la programmation orientée Aspect. Laurent Simon Attention, ce billet contient une forte dose d’humour. Sa lecture au premier degré peut provoquer des maladies graves. Fri, 24 Mar 2006 05:30:00 +0100 Un record bien involontaire, plus de 3 mois sans billet !
Je n’ai toujours pas fait les 100 000 choses que j’avais prévues dans le cadre de cette migration mais si j’attends encore ça risque d’être pour la saint glin-glin. C’est donc décidé, je ré-ouvre.
Voilà, c’est fait. Adieu PR 5 , adieu le statut de blog influent sur Technorati mais ça fait plaisir d’écrire à nouveau Mon, 28 Nov 2005 20:52:00 +0100 L'équipe du projet Struts se posait pas mal de questions sur le contenu de l'éventuelle version 2.x. Celle de WebWork avait un beau jouet mais aspirait à un peu plus d'audience pour celui-ci. Vu que l'atout de l'un était le problème de l'autre, il suffisait de réunir les deux pour résoudre les problèmes de chacun. Face à la déferlante JSF, voilà de quoi redonner des couleurs à Struts (qui en à sérieusement besoin). Source: Matt Raible. Mon, 21 Nov 2005 02:47:00 +0100 Il y a deux semaines c'était IBM, à présent Intel contribue également au projet Harmony. La future JVM libre d'Apache semble susciter un réel intérêt et être bien encadrée. Les classes de la librairie runtime arrivent petit à petit. La carrosserie prend forme. Bientôt, il faudra tout de même trouver un moteur (une VM) pour animer tout ça. Source: Dynamic Semantics Mon, 21 Nov 2005 02:17:00 +0100 A défaut de savoir quoi faire ou comment le faire, au départ il est toujours bon d'identifier les pièges. C'est d'autant plus vrai en matière de SOA ou l'on entend tout et n'importe quoi. L'article SOA antipatterns d'IBM est un bon point de départ pour balayer les grandes lignes et éviter de tomber dans les pièges véhiculés par pas mal d'idées reçues. Source: Dazed & Confused Mon, 21 Nov 2005 02:00:00 +0100 JoSQL, l'outil pour faire des requêtes en mémoire, s'enrichit de solutions prêtes à l'emploi. Il comprend maintenant plusieurs composants directement utilisables et plutôt sympa:
Quand je vous l'avais présenté, je cherchais surtout dans quel contexte il pouvait servir. Hé bien, il semble qu'il soit tout à fait adapté pour ce type de tâches. Sun, 13 Nov 2005 12:22:00 +0100 Récemment, dans le cadre de son programme AdSense, Google a décidé d'octroyer une prime de 1$ aux sites à l'origine du téléchargement de Firefox équipé de la Google Toolbar. Les petits malins auront rapidement fait le calcul et compris que ça pouvait rapporter beaucoup plus que le simple affichage de pubs AdWords. Encore faut-il savoir inciter les visiteurs à télécharger Firefox à partir d'un site (voir même à les forcer à le faire). Que ceux-là ce rassurent, il y a un kit prêt à l'emploi pour eux: Explorer Destroyer. Il s'agit d'un petit script Javascript prêt à l'emploi à insérer dans les pages HTML qui permet de recommander Firefox aux utilisateurs d'Internet Explorer pour la lecture du site. L'outil peut être configuré avec 3 niveaux de recommandation différents: A quand la VF ? Le plus amusant dans cette initiative c'est le marketing viral qui l'accompagne au travers du site Kill Bill's Browser: Vous y découvrirez 13 bonnes raisons totalement décalées de quitter Internet Explorer et d'adopter Firefox. Pour ma part j'aime bien la raison numéro 8 qui est toute gentille:
Source: Björn Ognibeni Edit Si j'ai placé ce billet dans la catégorie Sam fait rire, c'est parce que je trouve amusant aussi bien le site que le fait qu'il puisse exister. Par contre, forcer à utiliser Firefox c'est sans doute lui rendre un bien mauvais service (un comble pour un logiciel libre). Il semble que je ne soit pas le seul à avoir eu cette réaction. Destroy Explorer Destroyer, un site plagia du premier a immédiatement été créé pour expliquer pourquoi c'est une très mauvaise idée. Le tout avec avec toujours autant d'humour. Il semblerait même que ce genre d'initiative aille à l'encontre des conditions d'utilisation du service AddWords de Google. Tue, 01 Nov 2005 19:41:15 +0100 Comme tout le monde ou presque, dès la sortie de Google Reader, je l'ai tout de suite essayé. Comme la plupart j'ai été désorienté par l'interface qui m'a paru peu adaptée pour scruter rapidement le contenu un grand nombre de fils RSS. Une interface qui présente une liste d'au plus une dizaine de billets et où seul le titre apparaît, quand on est habitué à balayer du regard plusieurs dizaines de billets, ça semble plutôt relever du gadget. Cependant, je ne l'ai pas jeté immédiatement pour autant:
Après avoir essayé à peu près tous les agrégateurs en ligne et hors ligne, j'en étais toujours revenu au plugin Sage de Firefox. Non pas qu'il soit meilleur, loin de là, mais simplement parce que j'y étais habitué. Aussi n'ayant jamais trouvé de système de lecture des fils RSS pleinement satisfaisant de mon point de vue pour prendre rapidement connaissance des news de la blogosphère, je me suis mis à consulter les fils RSS à l'aide de Google Reader en espérant que je pourrais en tirer quelque chose. Tout en continuant bien sur à vérifier derrière qu'il ne m'avait rien fait louper émanant de mes blog préférés car ma confiance était au départ très limitée. Au fil du temps, la pertinence des tris à toujours été croissante pour aboutir à quelque chose de presque parfait. J'ai d'ailleurs récemment eu l'occasion de le mesurer. N'ayant pas eu le temps d'aller flâner sur le web ces deux dernières semaines, je me suis retrouvé avec plusieurs milliers de billets non lus. Avec tout autre agrégateur, j'aurais pris connaissance des plus récents qui retenaient mon attention puis j'aurais fait une manip du genre "mark all has read" pour le reste. Mais avec Google Reader (sur lequel ce genre de manip est impossible et inutile de toute façon), j'ai eu une excellente surprise. Tout ce qui était susceptible de retenir mon attention était regroupé sur les 50 premières entrées de la liste (avec un taux de réussite proche de 100% sur les 30 première et d'environ 80% sur les 20 suivantes). Au delà, les autres posts étaient sans intérêt (pour moi en tout cas) ou se contentaient de re-diriger vers les premiers. Pour vérifier jusqu'où allait son tri par pertinence j'ai poussé la curiosité à consulter pratiquement toute la liste en les déroulant un à un jusqu'au 2 000 ème. Ce qui demande une bonne dose de patience car la liste ne présente que dix billets à la fois. Hé bien, sur les 2950 billets restants, je n'en ai trouvé que trois qui auraient éventuellement pu retenir mon attention. LE rêve, en parcourant juste le début de la liste, j'avais déjà pris connaissance de l'essentiel. Ce qui reste un mystère pour moi, c'est ce que cache Google derrière sa notion de pertinence. C'est très, efficace mais mystérieux. Les seules choses dont je suis sûr, c'est que :
De toute façon peu importe comment il fait. Je ne retiens qu'une seule chose c'est qu'une fois qu'il est éduqué, il se révèle être bougrement efficace. Je crois que j'ai définitivement changé d'agrégateur. Vu que je passe moins de temps à consulter les fils, j'en même ajouté de nouveaux alors qu'avant je cherchais plutôt ce que j'aurais pu expurger. A côté de ça, c'est du bêta et ça se sent à l'usage. Il y a bien sûr quelques ratés mais sans conséquences gênantes. Par contre, la minuscule liste de billets qui m'avait très perturbé au premier abord, aujourd'hui je ne la perçoit plus du tout comme un handicap. Google Reader est radicalement différent de ce à quoi on est habitué. Il ne faut donc pas chercher des repéres connus car vu son mode de fonctionnement les besoins sont différents et par conséquent les outils le sont aussi. Sun, 30 Oct 2005 22:30:00 +0100 Inattendu, Oracle vient de sortir Oracle Express Edition (EX) de ses cartons. Une version entièrement gratuite et redistribuable de sa base de données 10g. Oracle EX est un re-packaging de l'existant. Amputée de quelques fonctions annexes, limitée à un processeur, 1Go en capacité mémoire et à 4Go en espace disque utilisé, il s'agit pourtant d'une base 10g à part entière. Une aubaine aussi bien pour les petits éditeurs que pour les PME dont les bases de données gèrent peu de volume mais qui sauront apprécier les performances, la richesse fonctionnelle et la robustesse de la base Oracle. Surtout aussi un bon moyen pour Oracle de ne pas se laisser déborder par la nouvelle version de MySQL ou par la sortie prochaine de SQL Server 2005 Express annoncée prochainement par Microsoft et auquel Oracle vient de griller la politesse. Je ne pense pas que la dénomination "Express" soit une pure coïncidence Oracle HTML DB est inclu en prime. Un tutorial très complet, constitué de démos en flash, permet une prise en main rapide pour l'utilisateur novice. Source: CRN Sun, 30 Oct 2005 18:02:00 +0100
Mon, 24 Oct 2005 04:25:31 +0200 Le nerf de la guerre quand on est indépendant c'est d'identifier la demande. En dehors d'un besoin clairement identifié, inutile d'aller frapper aux portes en espérant que vos compétences ou votre bonne tête feront qu'un prospect pensera à vous quand il aura un besoin. Un indépendant ne peut compter que sur son réseau de relations pour identifier les missions ou doit alors s'en remettre à d'autres sociétés qui feront le commercial pour lui. Dans ce dernier cas, il devient d'ailleurs souvent un sous-sous-sous-traitant et perd rapidement son indépendance (et pas mal de pepettes au passage). Aussi quand Hugues de Musset m'a laissé un commentaire pour me demander de relayer son offre, je suis allé voir ce qu'il vendait. Son offre, elle est simple. Il utilise un blog pour publier les besoins client qu'il a qualifiés et propose une mise en relation directe sans intermédiaires en prenant juste sa com au passage pour le service rendu. Exactement le type de service dont à besoin un indépendant. Car il faut bien reconnaître que si les indépendants sont généralement très bons dans leur domaine, ils sont aussi souvent nuls en commercial (je suis bien placé pour le savoir). C'est aussi une bonne piste pour ceux qui recherchent rapidement quelqu'un de compétent avec un profil très précis car les indépendants sont obligatoirement compétents. Dans le cas contraire, il ne le restent pas longtemps (indépendants). Au passage, j'ai une petite suggestion d'amélioration à formuler. Les numéros d'offres qui sont utilisés comme titre des billets. Sur le blog, ça ne pose pas de problème car l'intégralité du texte est visible. Par-contre, ça rend le fil RSS extrêmement difficile à exploiter dans les readers. Dans le titre, il serait beaucoup plus judicieux de mettre en avant la compétence recherchée. Les billets auraient d'ailleurs plus de visibilité au travers des moteurs de recherche qui privilégient les titres de plus haut niveau. Et voila, encore un fil RSS de plus dans mes signets. On ne sait jamais... Wed, 12 Oct 2005 21:48:00 +0200 IBM fait don d'une partie de ses outils RUP au projet Eclipse. Personnellement, je ne suis pas convaincu que soit un bon cadeau... Source: TheRegister Tue, 11 Oct 2005 20:39:26 +0200 IBM vient (enfin) de sortir sa propre implémentation du JDK 5.0 en version bêta. La VM de Sun à atteint un excellent niveau mais la compétition ça a toujours du bon. Alors, voila de quoi la relancer, d'autant plus que l'implémentation de cette nouvelle mouture, qui maintenant active la VM J9 par défaut, semble partager quelques concepts avec Mustang. Au menu, il semblerait donc que nous ayons :
Les performances de Mustang sont impressionnantes, où va se situer le niveau de performance de cette nouvelle VM ? Pour l'instant, seules les versions Linux et AIX sont disponibles. Il faudra attendre un peu pour la version Windows, certainement la plus attendue. Source: Code Performance Tue, 11 Oct 2005 13:39:19 +0200 Vincent Brabant nous gratifie d'un démo de l'utilisation de Derby depuis l'environnement NetBeans. Hormis la séquence de début qui traite du démarrage de la base de données, cette démo n'est pas spécifique à Derby. Cette faculté d'accéder et d'administrer une base de données depuis NetBeans est valable et identique pour n'importe quelle base de données accessible par JDBC. Tue, 04 Oct 2005 21:10:25 +0200 Object computing publie ce mois-ci un tutoriel sur la construction d'applications s'appuyant sur la plate forme NetBeans. Ce tutoriel assez concis donne une bonne vision des différentes briques et de la façon de les assembler. Aperçu sur: ClientJava Mon, 03 Oct 2005 21:19:00 +0200 Après nous avoir démontré la simplicité d'EJB3, Raghu Kodali récidive en comparant cette fois-ci les performances d'une application EJB 3.0 par rapport à la même implémentation en EJB 2.1. Ces tests sont réalisés avec une version "developer preview" de l'implémentation Oracle. Il faut donc prendre les résultats avec des pincettes mais ils sont déjà assez éloquents. Légèrement supérieures avec quelques utilisateurs, les performances d'EJB 3.0 s'établissent rapidement au double de celles d'EJB 2.1 à partir de quelques dizaines d'utilisateurs! Source: APPLICATION-SERVERS |
|
contact |