Kate, bugs forever

Kate (version 5.0.0 mai 2015, Kde framworks 5.9.0), qui comprend rien quand un fichier contient de trop longue ligne, monsieur m’ouvre le fichier qu’en lecture seule car son buffer est trop petit (4096). Il me propose débilement d’augmenter la limite temporairement, que c’est zentil. NON MAIS OÙ ÇA S’EST VU ÇA ? J’en ai utilisé des éditeurs de texte sur Windows, aucun ne m’a affiché ce genre de message, aucun, car c’est DÉBILE, bien sur que je vais l’augmenter trouduc, sur quelle planète les développeurs vivent ???

Ne parlons même pas de la LENTEUR de la frappe, un pauvre fichier json d’une seule ligne de moins de 8 Ko, la saisie de texte LAG (parce que je suis un ouf, j’édite sur la même et unique ligne de texte). CA LAG comme pas possible, je n’ai jamais vu ça sur Windows. Putain Kate sérieux, je n’ai jamais autant critiqué un logiciel de ma vie (cf tous les autres articles de mon blog, je devrais faire une catégorie Kate…). Je suis dans un fichier de 4 391 caractères composé d’une seule ligne, l’édition n’est pas fluide du tout, on sent le logiciel pensé pour fonctionner avec de courtes lignes.

Pour rappel, on parle quand même d’un bête éditeur de texte avec coloration syntaxique de base. Le genre d’application qui existe depuis la nuit des temps, qu’il en existe des tonnes en open source, et que cela nécessite pas une conception ni des algos ultra évolués. Putain de merde quand même, vivre ça en 2015, il y a que KDE pour faire ça.

KDE devrait virer tous les devs qui y ont contribuer, en voici la liste (c’est l’avantage du libre):

  • Christoph Cullmann, non de dieu, sacré mainteneur mon coquin, son rôle principal est de maintenir les bugs à jour, marque de fabrique du logiciel;
  • Anders Lund, spécialisé dans la conception de bugs complexes et innovants;
  • Joseph Wenninger, moins doué que le précédent, sa méthode consiste à glisser de simple usleep() dans le code, très pratique pour justifier un soudain gain énorme de performance pour les prochaines releases et prouver qu’on a travaillé dur;
  • Hamish Rodda, les bugs, c’est sa passion, actuellement au poste de designer de mauvaises expérience utilisateur, son pari a été gagné avec Kate.

Je pense que la palme d’or va pour Matt Newell, testeur, qui a validé que les bugs se comportaient comme prévu. Merci à toi, mec.

Pour rigoler, j’ai ouvert un autre fichier json, de 150 KB cette fois-ci. Outch. J’ai le retour à la ligne dynamique d’activé, quand on édite de grande ligne, c’est bien pratique. Déjà, la sélection rame à mort, car j’ai voulu sélectionner une ligne pour savoir combien de caractères par ligne il y avait… après avoir réussi à sélectionner une ligne, le nombre de caractères sélectionnés n’est pas affichés… ahahah, je ne savais pas que ça existait encore des éditeurs qui ne proposait pas ça, merci Kate de m’avoir faire rire.

Donc, il y a 110 caractères par lignes, la ligne unique du fichier est donc affichée sur plusieurs lignes, cela fait donc un peu plus de 1 300 lignes à afficher. Sauf que la barre de scroll ne tient pas du tout en compte de ce nombre de ligne affichée, j’ai donc une barre de scroll qui sert à RIEN, en scrollant, je vais à la fin de la ligne. La barre de scroll fonctionne par ligne réelle dans le fichier et non par ligne affichée… WOOT. Je disais quoi tout à l’heure ? Ah oui, que c’est un logiciel pensé pour fonctionner avec des lignes courtes… On parle quand même d’un éditeur de texte… La désactivation de la coloration syntaxique ne change évidemment rien au lag (au moins on sait que ça ne vient pas de là).

Lamentable, LAMENTABLE pour un logiciel BASIQUE: afficher et colorer des lignes ce n’est pas la fin du monde, la « techno » existe depuis 100 ans si je puis dire. LAMENTABLE également car c’est un logiciel clé de KDE, une honte.

En bonus, l’aspect modulaire de KDE fait que cette merde d’éditeur de texte est une librairie réutilisable par d’autres applications: KatePart. En particulier, c’est réutilisé par KDevelop. L’aspect modulaire est une bonne chose, sauf quand ce qui est réutilisé est de la merde en barre. Cela pourri tous les logiciels qui s’en servent.

Fuck Kate, Fuck KDE.

Publicités

Système de paquets

En faisant le tri, je découvre à la surprise générale que j’ai un dossier ~/.thumbnails/normal/ avec 11 200 fichiers pour 550 MB, à en faire crever Gwenview (qui peut donc rejoindre digikam). C’est là l’originalité de linux, on ne sait pas trop où est quoi, c’est le gros bordel avec tout dans le dossier home sous forme de fichiers cachés (berk). Cela aurait pu au moins être dans ~/.cache/thumbnails, merde! Même mieux, ~/.tmp/cache/thumbnails.

L’adoption d’un standard permet à n’importe quel administrateur (ou utilisateur d’ailleurs) de purger un dossier sans risque de perdre des données. Par exemple, le dossier ~/.tmp pourrait se vider sans problème, sans réfléchir. Encore faut-il que les développeurs sachent aller au delà de leurs complexes et cesser de penser qu’ils sont seuls au monde.

Du coup, pour connaitre quels sont les dossiers/fichiers qui prennent le plus de place, j’ai décidé d’installer KDirStat. Un magnifique logiciel qui scanne tout dossier pour ensuite afficher un beau graphique.

J’utilise l’équivalent windows au travail, un pur régal. Sur linux… ahahahaahah. Si sur windows j’avais pu utiliser exactement le même logiciel pour windows XP et windows 7, sur linux, il m’est impossible d’installer KDirStat.

Sur la page du paquet de ma distribution, il y a deux dépendances: kdelib3 et optipng. Si la seconde est facile à résoudre, la première est la plus drôle:

# pacman -S kdelibs3
erreur : impossible de trouver la cible : kdelibs3

Un commentaire récent m’indique que je ne suis pas le seul dans ce cas:

Comment by rajuk 2015-05-13 09:20
Fails to build, unable to satisfy kdelibs3 dependency.

Ouaip, magnifique système de dépendances. Ce magnifique système où un logiciel qui évolue empêche tous les autres logiciels qui n’ont pas été migré de fonctionner, ça c’est la classe.

C’est surtout le gros problème de linux, si il n’y a plus de mainteneur, le logiciel cesse d’exister.

Fuck linux ?

KDE: la merde est de retour

Cela faisait longtemps que je n’avais plus eu de couille avec les mises à jour. C’était trop beau pour durer. KDE est passé à la version 5.6 début janvier. Le temps que ça arrive dans ma distribution (Arch linux), je fais la mise à jour fin janvier, et c’est la catastrophe.

Tout d’abord, c’est devenu moche. Le theme Oxygen ne peut plus être utilisé. Ca c’est fait.

Seconde chose qui se remarque très vite, la perte des préférences. Konsole n’a plus la police que j’avais choisi, et je ne suis pas le seul à avoir remarqué cela. Autre changement notable pour Konsole, c’est qu’à présent les onglets ne se restaurent plus au redémarrage. Je ne sais pas si il y avait une option avant, mais en tout je ne trouve rien dans les options actuelles.

Ensuite, le classique PC qui rame, comme d’habitude, c’est surtout après avoir lancé Firefox, avec l’expression typique: « oh non ils ont encore fait les bourrins chez Mozilla ». Le gestionnaire des tâches me montre le réel coupable: baloo qui s’est réactivé. Pas de problème, j’en avais déjà parlé, j’ai simplement à relancer les mêmes commandes. Ceci est la routine, rien de dramatique, mais cela vaut la peine de le signaler car cela s’ajoute à la pile de problèmes et cela peut facilement être la goute qui fait déborder le vase.

Dans la même session, Dolphin qui plante, à chaque fois, chaque jour au moins une fois. Première fois de ma vie que je le vois planter. Un bon gros freeze sans raison, je ne faisais rien dedans, l’application était en arrière plan tranquille, puis je retourne dessus et plus rien… Fantastique.

Peu de temps après, la découverte que vagrant ne fonctionnait plus (il faisait parti de la mise à jour). Dans un projet sous vagrant, impossible de lancer la machine virtuelle. Une recherche m’a permis de résoudre ce problème, la machine virtuelle était bloquée dans le GRUB, cool.

Peu de temps après toujours, car on ne découvre pas tous les bugs d’un coup, ce serait trop facile, je constate que j’ai perdu la préférence du nombre de lignes scrollées avec la molette de la souris. C’est revenu à la valeur par défaut de trois, au lieu de plus de 10. Je n’aime pas scroller pendant des heures pour rien. Pas de problème, je retourne dans les préférences configurer cela… sauf que c’est déjà sur la bonne valeur, de 12 lignes (Mouse wheel scrolls by). Ce n’est donc plus pris en compte par Kate et Konsole, et surement d’autres logiciels. Encore une belle régression.

À ce moment là, j’ai vu une autre belle régression dans le panneau de configuration (System setting), les info-bulles scintillent lorsque l’on passe d’une icone à l’autre. Comme si il y avait un fondu, mais raté. J’en ai fait une vidéo tellement que c’était drôle, ce genre de bug en 2015 ? C’est possible ? LOL. Soyons gentil, on dira que c’est ma carte graphique qui suck, avec des drivers qui suck, alalala (mais non, c’est bien un bug).

On en arrive au crash du serveur X. Alors je ne sais pas trop si ce n’est pas kwin qui a plutôt fait de la merde au point de faire monter X à 100% du cpu et conduire au crash. Mais ça a crashé, première fois également que je vois ça. Fort heureusement, contrairement à Dolphin, le serveur X ne crash pas tous les jours (ouf, il crash très rarement heureusement).

Encore une régression dans Kate, quand on déplace un texte sélectionné, la sélection se positionne sur les caractères suivants au relachement du click. Au mieux on fait en sorte que la sélection disparait, mais on ne sélectionne pas du texte qui n’a rien avoir… Cela enchaine les fails pour Kate, cela me fait penser à mon très vieux billet relatif aux problèmes de conception. Cela doit donc toujours être la même équipe de bras cassés qui s’occupe de ce logiciel.

Puis il y a le bug ultra bloquant, xbindkeys ne fonctionnait plus. Et il ne fonctionne toujours pas d’ailleurs, au point que ça va bientôt être bloquant si je n’ai pas de solution. Pour résumer, Xbindkeys permet de lier une touche (ou combinaison de touches) à une commande. Cette même commande peut générer des touches, ainsi on peut lier une touche à une touche, ou une touche à une action. Dit autrement, cela fait gagner un temps monstrueux et c’est un confort non négligeable. Il est possible de faire la même chose sur Windows, mais je préfère la manière de faire de linux… du moins je préférai.

Après plusieurs tentative pour Xbindkeys, je découvre que le bug ne se produit que sur Kate et Kwrite, c’est con, mes macros concernent justement les éditeurs de texte (et donc ces deux logiciels). C’est donc un très bel enchainement de fails pour Kate: 1 bug bloquant plus 2 gênants.

Un dernier mot pour Konsole, il plante également par moment, en tuant donc tous les processus lancés dedans. Une autre grosse régression, il n’est plus possible de déplacer les onglets de session (dans Konsole toujours, oui oui, c’est bien une régression sévère… bon d’accord, une régression juste chiante). Je n’ai jamais autant adorer utiliser linux…

Si j’ai eu des bugs un peu dans tous les sens, je blame en particulier KDE qui sort une mise à jour sans tests poussés. Mais je me souviens à présent pourquoi cela faisait longtemps que je n’avais plus eu de bugs. Je n’installais jamais les mises à jour de KDE le jour de leur sorti, j’attendais toujours qu’ils fassent leur mise à jour de bugfix. Dit comme ça, Linux fait comme Windows, cela prend les utilisateurs pour des béta testeurs.

Es-ce le prix à payer pour être à jour ? Non clairement pas, je me paie ces bugs à cause des développeurs qui font de la merde. Sérieux, des fois je regarde leur code source, j’ai juste envie de vomir, le nom des variables suffit pour avoir peine pour eux, à se demander pourquoi à chaque nouvelle génération de développeurs tout est ré-écrit.

Déjà que c’est moche de base, si en plus c’est buggé. FUCK KDE. Les fautifs sont ceux qui sortent les logiciels buggés, ce n’est pas à cause de la distribution qui les fournis sans avoir débuggé la merde upstream (mais parfois la distribution ajoute des bugs en voulant fournir un beau bureau intégré, mais ce n’est pas le cas d’Arch linux dont le but est de modifier au minimum les logiciels).

Bref, j’écris ce billet en retard car il y a eu tellement de bugs que je le gardais de coté pour le remplir au fur est à mesure… mais j’ai tout simplement jeter l’éponge. Es-ce là la contre partie d’une distribution en rolling release ? La distribution fait son travail, j’ai des logiciels à jour, le problème est réellement des développeurs qui sortent des logiciels non terminés sous prétexte d’une migration progressive.

Pour terminer, une citation du forum de ma distribution car je ne suis pas le seul (et ni fou)

I am a litle sad to see that each time a new version of the desktop (any desktop…) is released, we have something bugy for a year or two before it become stable. As a consequence, we are left most of the time with beta software.

Je partage exactement le même sentiment.