2003-11

2003-11-25

Debug Mozilla

Sur le système de fiches de bugs de Mozilla, j'interviens de temps en temps. Je vote pour certaines, j'en soumets, je donne des avis. Quand une évolution survient sur une des fiches qui m'intéressent, je suis prévenu par mail. C'est bien pratique pour en savoir où en est le bug.

J'ai par exemple voté pour le bug du tiret de césure des mots, « soft hyphen » en anglais, aussi connu sous le nom de l'entité « ­ ». Ce bug a été ouvert en 1999, et aucune correction n'a été encore apportée. Hier, un nouveau commentaire est apparu qui m'a fait changer mon approche du développement de Mozilla :

------- Additional Comments From MozillaUser@HamsterRepublic.com 2003-11-23 22:07 ------- Unfortunately this bug cannot be chaged from NEW to ASSIGNED right now, nor can a target milestone be set, because no developer is available to fix it. I am adding the "helpwanted" keyword. Hopefully someone with the knowledge and skill to implement this will volunteer someday soon.

Voilà, il n'y a personne parmi les développeurs pour corriger ce bug. Apparemment il y a un manque de codeurs chez Mozilla. On peut attendre encore longtemps. Si on veut que ça change, il faut des bonnes âmes pour mettre les mains dans le cambouis. J'ai donc extrapolé ces idées concernant une autre fiche de bug, que j'avais soumise début septembre. Ce bug concerne les espaces insécables.

Illustration de l'effet de l'espace insécableRésumé du bug : quand on envoie des espaces insécables dans un champs texte de formulaire, Mozilla les transforme en espaces sécables. C'est plutôt génant quand on veut poster des commentaires sur un site, un forum, ou alors quand on écrit des billets sur son blog à l'aide d'un formulaire. Les espaces insécables permettent d'éviter des désagréments comme un point d'exclamation ou un guillemet tout seul sur une ligne.

Et voilà, je l'ai donc fait, j'ai téléchargé les sources de Mozilla Firebird 0.7 pour mettre mon nez dedans et tenter de trouver ce bug, me disant que peu de gens aura la motivation de s'y mettre. Et je n'ai pas envie d'attendre des années comme pour le bug du ­.

La compilation fut laborieuse. J'aime bien d'habitude les projets où on télécharge un projet compatible avec Visual C++ : hop, un drag-and-drop du fichier projet, on appuie sur la touche F7, on attend la compilation et voilà, on a un exécutable. Bah pour Mozilla, c'est loin d'être aussi simple. J'ai écrit un petit fichier de logs relatant mon avancée dans la compilation. C'est plein de mauvaise foi, d'énervement et il n'y a pas de mise en forme (voire des fautes d'orthographe) mais ça peut être intéressant pour certains :)

Après quelques séances de débuggage, youpi ! Je trouve le bug. Mais je découvre aussi avec frayeur que le remplacement des espaces insécables par des espaces sécables est un comportement voulu par les développeurs de Mozilla ! De ce fait, je ne me retrouve pas dans une situation 100% technique, mais une situation un peu politique : ce comportement de Mozilla est-il bon ou mauvais ? Pour ma part je pense que c'est mauvais, et j'espère que les développeurs seront de mon avis. De plus quand on prend d'autre navigateurs (j'ai essayé Internet Explorer et Opera), ce comportement est inexistant.

Bon il y a aussi un autre truc, maintenant que l'on sait quel bout de code est responsable de ce comportement, y aura-t-il un développeur de Mozilla qui pensera à regarder la fiche ? J'ai certes mis les mains dans le cambouis, mais je ne suis pas un développeur officiel, j'ai juste fait ça comme ça ; je n'ai pas accès aux fichiers de référence du projet.

Vous pouvez lire la fiche de bug pour davantage de détails. Si vous avez un peu de temps et que vous êtes d'accord avec moi, je vous serais reconnaissant si vous votiez pour ce bug ! ;)

2003-11-24

Google Zeitgeist

Le Google Zeitgeist est une des rares pages valables en matière de statistiques sur le Web, étant donné que Google est un lieu de passage fréquent pour de nombreux internautes. Le graphique concernant l'usage des navigateurs Web (on dit web user agent officiellement :) ) est particulièrement intéressant.

Malheureusement ce graphique n'a pas été mis à jour depuis le mois de septembre. On approche la fin du mois de novembre, j'aimerais tout de même voir les statistiques du mois d'octobre :/ Je propose donc ici en exclusivité mon graphique Google Zeitgeist :

Google Zeitgeist version Darken :)

On peut rêver non ? ;)

 

2003-11-14

PngOptimizer 1.3

Chose promise, chose due. Après presque huit mois d'attente, voici la nouvelle version de PngOptimizer ^^

Je tiens à remercier Pascal Chevrel, qui m'a involontairement aidé à me motiver pour implémenter la gestion des PNG entrelacés, cela par l'intermédiaire d'une liste de discussion. Je remercie aussi mon pingouin en peluche qui trône sur mon moniteur et qui m'a soutenu pendant ces longues heures de programmation. Ce fut délicat à coder mais après de nombreux tests sur des tonnes de PNG tordus le code semble bien fonctionner :) Et j'ai enfin pu optimiser le logo d'OpenWeb qui est un PNG entrelacé ! ;)

J'ai un peu changé la stratégie de compression pour les images avec palette. Ne vous étonnez pas si certains PNG compressés avec l'ancienne version regagnent quelques octets. Cependant la nouvelle stratégie est globalement plus efficace une fois appliquée sur de nombreux fichiers (notamment quand il y a des dégradés).

Enjoy !

2003-11-11

dkstd 2.25

Et voilà, la nouvelle dkstd est disponible en téléchargement, la bibliothèque C++ qui me sert de base à tous mes projet. Voici les principales nouveautés :

  • Lecture et enregistrement des fichiers PNG entrelacés ;
  • Amélioration de la gestion des images avec 16 bits par composante ;
  • Gestion des chaines de caractères Unicode ;
  • Plus de dépendance à la zlib. J'ai réécrit le code de cette dernière en C++ et j'ai fusionné le tout à la dkstd. Cela permet une plus grande facilité d'emploi de la dkstd (une seule lib et c'est tout).

Comme je vous l'avais dit, maintenant que je gère les PNG entrelacés je vais faire une nouvelle version de PngOptimizer dans les jours à venir ^^

2003-11-10

Nouveau blog

C'est bien pratique les referers. Qu'est-ce donc, peuvent se demander ceux qui ne tiennent pas un web log ? C'est une indication concernant la provenance d'un visiteur sur votre site web. Par exemple là je vois une personne qui est venue à l'aide des liens de la page d'accueil du blog de Moe. De cette façon, je peux découvrir de nouveaux sites qui auraient éventuellement mis un lien vers le mien.

Récemment voici le site que j'ai découvert : Dying Culture tenu par Jean-Marc Fontaine, fraichement débarqué le 18 octobre. Ça parle informatique et musique (un peu comme moi, quoique là c'est plutôt rock alors qu'ici c'est psytrance ^^) Je te souhaite la bienvenue dans la blogosphère Jean-Marc :o)

2003-11-08

Finallement j'aime bien Microsoft

Bon ok, ça sent un peu la provoc, la réalité est que j'ai lu une nouvelle qui m'a fait plaisir en rapport avec la firme de Redmond. Cela concerne le hardware de la nouvelle génération de leur console de jeux X-Box.

La X-Box actuelle ressemble beaucoup à un PC qu'on aurait compacté dans une petite boite noire. Un processeur compatible x86, une carte graphique à base de GPU nVidia... rien de très excitant. La seule petite différence intéressante concerne la mémoire qui est partagée entre les différentes puces. Ce concept était utilisé sur Amiga et sur les Silicon Graphics, offrant de bonnes performances au système en évitant les copies mémoires entres les différents composants de la machine.

Pour la prochaine génération, Microsoft innove réellement, en se débarrassant du processeur x86 ! Ce sera un processeur made in IBM, sûrement de la gamme des PowerPC. Les PowerPC sont déjà utilisés sur des plateformes comme le Macintosh, la GameCube de Nintendo ou sur les générations récentes d'Amiga. Dans la foulée ATI est bien senti pour fournir la puce graphique.

Pour comprendre pourquoi cela me plait, voici un bref résumé du Dk :

  • Grand amateur de programmation en assembleur 680x0 pendant plusieurs années ;
  • Adoration par la suite du processeur PowerPC, mais regret de sa percée discrète ;
  • N'aimant pas le x86, mais l'utilisant par dépit ;
  • Abattu de voir le x86 si répandu et prospérer.

Petit à petit, des alternatives prennent du poids : logiciels libres, logiciels concurrents, matériel innovant... La micro-informatique serait-elle enfin en train de changer ? ^^