You are not logged in [login] | [register]
RSS MAD is both an RSS feed archive and online feed reader.
You can browse our categories, search for a feed, or if you already have a URL, use our online feed reader.
Simply start browsing the site, and if you find some feeds you like, register to view them on your own personalized page!
you are here: home » blogs (technical) » development news
Searching 183733 articles in 8938 feeds.
Do you like RSS MAD? Why not spread the news and tell a friend about it - it's as easy as filling out this form!
added: Fri, 16th December 2005 | 1058 views | 0x in favourites
feed url: http://stratic.online.fr/blog/rss.php
Le blog d''un architecte du logiciel ( Java, J2EE )
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).
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…
Récemment, j’ai dû sévir pour tenter d’éradiquer le spam sur ce blog en ajoutant les plugins Captcha et Spamplemousse à Dotclear. Le captcha interdisant aux robots de poster dans les commentaires, il ne me restait alors dans la file de modération uniquement des trackbacks. Ce qui, au départ, me semblait raisonnable. J’ai très vite déchanté. Ces derniers temps, le spam par les trackbacks est en vogue chez nos amis spammeurs et je me suis vite retrouvé avec pas loin d’une centaine de trackbacks à modérer par jour. Autant dire mission impossible. Le captcha côté serveur étant réellement efficace, il ne me restait donc plus qu’à trouver une solution tout aussi efficace pour les trackbacks. Après une petite recherche sur le net, je n’en ai trouvé aucune qui soit réellement satisfaisante de mon point de vue. Soit pas suffisamment fiables, trop lourdes pour l’hébergement ou trop contraignantes pour celui qui allait faire le trackback, bref échec total, aucune ne me convenait. Il ne me restait plus qu’à trouver moi-même une solution simple, légère et transparente.
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 ( chk=iwg2wp est la fameuse date de péremption encryptée),
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).
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.
Hier j’ai découvert ce commentaire surprenant sur l’un de mes billets :
Mr Simon, ayant la plus haute estime pour vos compétences, je souhaiterais avoir votre opinion sur un sujet grave:
Au terme de plusieurs années de développements, je vois avec effroi l'apparition du métier à tisser dans notre noble corporation. J'ai été de tous les combats, ainsi j'ai structuré puis encapsulé afin de chasser l'impie de mes programmes.
Mais cette fois-ci la coupe est pleine: j'apprends avec stupeur que l'on veut injecter des greffons sur mon code, sans m'en avertir. Mon code va donc être utilisé, détourné de son objectif initial, dénaturé par de multiples et invisibles GoTos!
J'appelle donc à la révolte! Unissons-nous programmeurs de tous les pays! Contraquons contre cette soi-disant programmation orientée Aspect juste bonne à nous transformer en petites mains!
Bruno
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
. Si vous vouliez porter l’affaire en justice, je pense qu’au regard de votre attitude provocante les violeurs/voleurs dont vous parlez seraient relaxés.
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.
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
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.
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
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
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.
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:
Mozilla has never made a talking paperclip
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.
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.
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
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...
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
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
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.
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
» more
» more
Is RSS MAD missing something? Tell us about new feeds here.