Coronaversaire

Au moment où j'écris ces lignes, nous sommes le 17 mars 2024, et à 12h00 j'ai raté le quatrième anniversaire du « confinement » déclaré en France en raison de la Grande Pandémie. Ce n'est que grâce à l'article de David Madore que je m'en suis rendue compte, et rien que ça, ça mérite une exploration de pourquoi.

Après cette première partie exploratoire, je vais réagir à un aspect de son article qui m'a marquée, à savoir l'abandon de plans dans la panique.

La fin de la Grande Pandémie (pour moi)

Contrairement à David Madore, je n'ai pas de routine de rétrospective.

Les rétrospectives évoquent surtout pour moi l'extraction de leçons du passé, et c'est un processus que je fais en continu, donc je me retrouve plutôt à sec au Nouvel An et aux anniversaires, il n'y a plus grand-chose à apprendre.

Cependant les rétrospectives peuvent également l'occasion de prendre conscience de tout le chemin que j'ai parcouru, et j'oublie souvent cet aspect.

La récupération de l'espace mental occupé par la Grande Pandémie est justement une très bonne illustration de ce que je perds à cause de mes difficultés à rétrospecter.

Loin de l'actualité, loin du cœur

Ça fait depuis longtemps que coronavirus et pandémie ont quitté mon espace mental, je suppose un peu comme tout le monde, et je n'ai pas du tout remarqué comment ça s'est fait, et ça m'intéresse suffisamment pour essayer de l'explorer a posteriori.

Dans son article, David Madore évoque surtout la volonté de « tourner la page », et ça me semble beaucoup trop délibéré pour ce qui m'est arrivé. Je n'ai pas choisi de ne plus y penser, j'ai surtout subi un environnement qui ne m'oblige plus à y penser.

J'aime beaucoup sa proposition facétieuse de placer la fin de la pandémie au 24 février 2022 à 3h00 UTC parce que les esprits humains sont trop limités pour penser à deux drames en même temps.

Je l'aime bien dans l'absolu, je trouve que c'est un très joli trait d'esprit, mais j'aime aussi beaucoup sa cohérence avec mon vécu : je crois que j'ai toujours été moins inquiétée par le virus et la maladie que par les réactions de mes congénères à la situation.

Indifférence volontaire

Je croyais que j'en trouverais des traces plus claires dans mes écrits passés, du coup je vais faire la suite plutôt de mémoire, et je ne sais pas trop à quel point je réinterprète le passé différemment de mon vécu de l'époque.

Dans l'ensemble, je ne me suis pas beaucoup inquiétée du virus ou de la maladie elles-mêmes. J'ai évoqué dans mon premier billet de coronaversaire « la rigolade des trucs graves sur lesquels je n'ai aucun pouvoir et qui ne me concernent pas vraiment » (qui suinte de mots comme « coronannuler », « coronaversaire », ou « Grande Pandémie »), et quand c'est devenu clair que j'étais concernée le sentiment d'impuissance était toujours aussi fort.

Je me souviens qu'en 2010 j'avais déjà assimilé l'importance de distinguer ce qu'on peut changer de ce qu'on ne peut pas changer (probablement après avoir croisé la Prière de la Sérénité).

J'imagine que c'est ce qui a créé un terrain fertile dans mon esprit pour le stoïcisme, que j'ai assimilé courant 2019.

Résultat, en 2020 j'étais prête à subir relativement sereinement une catastrophe sur laquelle je n'ai aucune prise.

Je gardais évidemment une certaine prudence, j'ai probablement pratiqué mon lot de rituels complètement inutiles qui avaient l'air d'être de bonnes idées sur le moment, mais j'étais en paix avec le fait que mon infection ou non, voire ma mort ou non, seraient largement gouvernés par le hasard.

L'enfer, c'est les autres

Autant j'étais prête à rejoindre les sombres statistiques de la Grande Pandémie, autant j'ai été prise complètement au dépourvu par les réactions des autres humains à cet évènement.

Quelque part, ça a contribué peut-être autant qu'un stoïcisme internalisé à ce que la biologie ne m'inquiète pas : les impacts sociaux étaient à mes yeux beaucoup plus graves et inquiétants.

Et je n'arrivais pas à ranger la connerie humaine dans mon immédiate proximité dans les choses sur lesquelles je suis complètement impuissante.

Résultat, j'ai relativement rapidement arrêté de penser à comment me protéger personnellement du virus et de la maladie, j'ai dirigé toute mon attention à comment me protéger personnellement des dynamiques de groupe, avec l'impression que ce serait plus que suffisant pour couvrir à mon goût les aspects biologiques de la situation.

C'est ce qu'on peut voir en creux dans toutes mes publications passées, de mon craquage à mon acceptation et à la rétrospective.

Je rejoins David Madore sur le cruel manque de leçons rétrospectives à l'échelle collective, et j'accueillerais volontiers des réponses sur le pourquoi du comment, mais à l'échelle personnelle toutes les leçons ont déjà été tirées, même si j'ai beaucoup de mal à l'exprimer sans dire que les gens sont juste cons.

Les plans et la panique

Dans son article, David Madore rappelle que la France avait des plans soigneusement préparés pour faire face à une pandémie respiratoire, et a choisi de ne pas les suivre.

Je suis complètement d'accord que c'est un échec monumental dans la gouvernance, voire dans la Politique, et qu'il serait bénéfique de comprendre comment c'est arriver et d'envisager comment empêcher que ça se reproduise.

Il me semble que c'est une leçon qu'il faut retenir bien au-delà de l'échelle gouvernementale. À tous les niveaux d'organisation humaine, jusqu'à l'échelle personnelle, il y a des choses à préparer précisément parce que c'est facile à faire quand on a l'esprit libre et serein, pour pouvoir les appliquer quand tout tourne mal.

Je ne sais pas trop d'où vient le paragraphe précédent, mais je l'ai assimilé au point d'en faire une partie de mon esprit que je ne peux plus séparer du reste. Je n'arrive même pas à évaluer si c'est une opinion personnelle sujette à débat, un élément philosophique qui découle d'une échelle de valeurs, ou une simple déformation professionnelle.

Je sais juste que ça faisait déjà partie de moi au début des années 2010s, et ma mémoire est trop floue pour conclure sur ce que je pensais avant.

Je me souviens avoir discuté avec quelqu'un qui avait connu une période dans la rue, et qui gardait une angoisse d'y retourner au point d'avoir besoin de plans pour tous les accidents de la vie envisageables. Je suis loin d'être dans le même état, mais j'ai quand même une certaine conscience de la fragilité de beaucoup de choses que je tiens pour acquises.

Tout ça pour dire que les situations d'urgence sont précisément celles que l'esprit humain est le moins capable de gérer à l'improviste, pour lesquelles on a le plus à gagner en ayant des plans et des exercices quand tout va bien.

Pour parler plus concrètement, les exercices d'évacuation incendie sont là pour que le chemin vers la sortie soit automatique, et réalisable même lorsqu'une grande partie des facultés intellectuelles supérieurs sont anéanties par la peur et la panique.

J'ai vécu les exercices d'évitement du permis moto, d'autodéfense, de manipulation d'extincteur, et de premiers secours dans la même optique, comme ce que j'imagine des entraînements militaires : se faire « rentrer dans le corps » des gestes pour qu'ils puissent être exécutés même quand mon esprit est occupé par autre chose ou roulé en boule dans un coin.

En reprenant la rétrospective de toute cette Grande Pandémie, à mon échelle individuelle, je suis plutôt satisfaite de ce que j'ai pu faire dans les conditions de l'époque. C'était loin d'être parfait, hein, j'ai progressé au fur et à mesure, et il reste des progrès à faire, mais dans l'ensemble, ça va.

Je garde l'impression de pouvoir garder la tête froide dans une plus large gamme de situations que les gens qui m'entourent et de pouvoir l'utiliser pour améliorer mes plans avec des ajustements extemporanés pour la situation en cours.

Je crois que je ne me suis pas encore débarrassée de l'idée qu'avoir un poste avec des responsabilités devrait impliquer la capacité de faire face à des imprévus graves, éventuellement au moyen de plans pour y faire face sans avoir toutes ses capacités mentales.

J'ai cependant un cynisme croissant, et accéléré par la Grande Pandémie, sur le fait que beaucoup trop de postes avec des responsabilités sont accaparés par des gens qui ne cherchent que leur gain personnel et l'ivresse du pouvoir, à tous les niveaux de pouvoir et de responsabilités.

Publié le 17 mars 2024

Tags : Autoexploration Évènement

iens en vrac et à l'unité

Vous avez peut-être suivi mes billets de liens en vrac, sinon il suffit de savoir que je partage de temps en temps dans ces billets des liens vers des choses qui m'ont tellement plu que je veux les repartager. Une sorte de linklog, quoi.

Dans ce billet je vais décrire comment ces billets étaient construits et les changements que j'ai récemment déployés dans cette construction. Ce qui me permet d'annoncer la publication de nouveaux flux Atom, pour ceux qui voudraient suivre des étapes plus en amont de ces billets :

Mes sources

Historiquement, les liens les plus intéressants que j'ai rencontrés sont partagés sur canal IRC #gcu, que je hante avec bonheur depuis des années, et le reste vient d'abonnements RSS à des agrégateurs comme Slashdot et (beaucoup plus récemment) Lobsters.

C'est sur ce canal qu'iMil a partagé son utilisation de Twitter comme un gigantesque agrégateur de recommandations de liens, et c'est effectivement surtout dans cette optique que j'ai utilisé Twitter pendant des années, jusqu'à l'extinction des interfaces à mon goût.

Par un concours de circonstances fort opportun, la fin de mon passage sur Twitter correspond presque à la mise en place du canal #gcufeed, sur lequel un bot poste toutes les entrées des flux d'un jeu d'agrégateurs et de sites recommandés par les membres de #gcu : Hacker News, Phoronix, Ars Technica, OpenBSD journal, etc.

L'ancien système

Le fond du problème, c'est que les moments où je rencontre des liens vers des pages potentiellement intéressantes coïncident rarement avec les moments où j'ai le temps de lire des pages vraiment intéressantes.

Donc au début, le fonctionnement typique était de voir passer un lien dont le titre ou la description semble intéressant, l'ouvrir dans un onglet de mon navigateur préféré ou d'un autre, partir faire autre chose, l'oublier, et le perdre au redémarrage du navigateur ou de la machine.

Pour les liens tirés de flux RSS, j'avais tendance à garder en non-lus les liens à voir plus tard, ce qui les confond avec les liens non-lus parce qu'ils viennent d'arriver, et qui finissent souvent perdus quand le lien en question finit par sortir du flux avant que je le lise.

Pour palier ces pertes, et pour les fois où je rencontre des liens sur un ordinateur qui va bientôt redémarrer ou sur lesquels je ne vais pas les lire, j'ai commencé à recopier dans des fichiers textes des liens avec un petit morceau de contexte.

En pratique, mes ~/notes.txt sont des bazars innommables, ne sont pas synchronisés entre les différentes machines que j'utilise, et au lieu d'oublier les liens dans des onglets inactifs je les oublie dans des portions de fichiers qui ne sont pas affichées.

J'avais depuis un moment l'intuition que je ne suis pas assez sélective avec mes sauvegardes de liens. Ou dit autrement, que je garde pour plus tard plus de liens que je n'en suis capable de lire, et que ça pourrait s'accumuler indéfiniment si je ne réduisais pas le débit entrant.

D'un autre côté, un diablotin me chuchotait à l'oreille qu'en réalité ce n'est pas un problème de sélectivité, mais de rangement. Ou dit autrement, que j'aurais le temps de tout lire si j'avais une to-read list propre sous les yeux.

Et comme en plus l'un n'empêche pas l'autre, il faudrait faire des mesures de débits entrant et sortant pour s'attaquer au bon problème.

Enfin, j'ai eu le malheur de compter combien j'avais de liens stockés dans différents fichiers de texte temporaire, et dépasser deux mille avant d'avoir fait le tour de tous ces fichiers m'a donné le coup de pied aux fesses nécessaires pour développer un système plus propre.

Le gestionnaire de iens

Fin 2023 j'ai donc pris mon courage à deux mains et mon éditeur de texte préféré dans l'autre, et j'ai développé à l'arrache une bête appli' CRUD autour d'une base de données associant à chaque lien des notes pré-lecture, une description post-lecture, et des tags.

Je n'ai pas de screenshot sous la main, mais c'est une bête ligne de commande, qui interprète les lignes commençant par une parenthèse comme du code Scheme à interpréter immédiatement, et les autres lignes comme des notes copiées-collées dont il faut extraire un lien.

Les commandes permettent de consulter la base de données, modifier la configuration ou les entrées, et générer des flux Atom basés sur des sélecteurs SQL.

Il n'y a aucune protection contre l'injection SQL, puisque de toute façon la ligne de commande donne accès directement aux primitives sqlite du langage, et l'utilisateur en ligne de commande a le pouvoir absolu sur la base de données. Ce programme n'interagit pas avec le grand méchant internet, il se contente de générer des fichiers qui sont censés être servis ensuite statiquement.

Bilan à court terme

Une fois n'est pas coutume, je vais donner mon avis après une relativement courte période d'utilisation : ce gestionnaire est en production depuis le 1ᵉʳ janvier 2024, soit presque deux mois.

Si j'ai pu très facilement remplacer mon fichier texte bordélique par cette appli', j'ai eu plus de mal à me contraindre à faire passer dans l'appli' les liens dont je commence la lecture immédiatement après les avoir découverts. Je soupçonne qu'une partie de cette « consommation sur place » ait été négligée dans mes considérations passées.

En tout cas, le confort des liens bien rangés est indéniable, et rien que pour ça je suis contente d'avoir passé un peu plus de vingt-et-une heures à développer cette appli'.

Je ne crois pas que le temps soit une bonne métrique pour juger du bénéfice de ce programme, puisque le but est de ne plus perdre de liens, et donc de passer plus de temps à les lire.

Et ce n'est pas non plus une super métrique pour juger du coût, puisqu'il y a une partie de fun, ou au moins de satisfaction intellectuelle à avoir appris quelque chose de nouveau, dans le fait de repousser mes limites en Scheme et en SQL.

Et je me demande vraiment ce que va donner le versant « flux » de cette application, et surtout dans le succès que ces flux vont rencontrer auprès de vous.

Statistiques

Assez tourné autour du pot, un des buts de cette appli' était ouvertement de faire des statistiques sur mon rapport avec les liens, il est temps de regarder ça de plus près, même si j'aurais aimé plus de données avant d'essayer de conclure.

J'ai commencé avec un backlog de 36 liens, composés des dix liens d'En vrac 10 et de vingt-six liens que j'avais mis de côté pendant le mois de décembre 2023.

Au cours du mois de janvier 2024, j'ai ajouté 64 liens, et j'en ai lus 46, Soit environ un débit moyen de 2 /j à l'entrée et 1.5 /j à la sortie. En février j'en ai ajouté 71 et lu 68, ce qui est plus équilibré autour de 2 /j.

Je m'attendais à ce que le débit entrant soit plus gros, probablement parce que je me souviens plus facilement des jours fastes que des jours vides. Et inversement, je m'attendais à ce le débit sortant soit plus petit, probablement parce que j'ai plus l'intuition du nombre de séances lecture que des articles individuels.

Cela dit, les statistiques journalières peignent une image un peu plus nuancée :

Graphe en barres du nombre total de liens chaque jour

J'ai essayé de lisser tout ça (avec une convolution gaussienne) sur ±2 jours et ±7 jours, mais je ne suis pas sûre que ce soit tellement plus parlant :

Graphe en courbes du nombre lissé de liens ajoutés ou lus

Pendant la première moitié de janvier et pendant le mois de février, les débits entrant et sortant sont à peu près équilibrés, mais pas tout à fait aux mêmes valeurs, et toute la croissance est concentrée dans la deuxième moitié de janvier.

Je n'ai pas tellement d'explication à ces phénomènes, et c'est pour ça qu'il me faudrait un intervalle d'observation plus long pour conclure des choses intéressantes.

D'un point de vue purement subjectif, j'ai pu remarquer que mon humeur, ou quelque chose comme ça, influence mon jugement a priori d'un lien, et module ainsi le débit entrant.

J'ai aussi remarqué qu'avoir la pile à lire devant soi, avec une commande qui me donne directement sa taille, met une sorte de pression à ne pas la laisser croitre indéfiniment. J'ai du mal à évaluer dans quelle mesure je suis sensible à cette pression.

Je n'ai pas l'impression de décider quoi que ce soit en fonction de cette taille, mais je ne serais pas surprise qu'elle joue un rôle dans l'« humeur » qui influence mon choix de garder un article pour plus tard ou le laisser de côté définitivement.

Et il y a quelques séances de lecture que j'attribue directement à l'existence de cette appli' comme un pense-bête que j'ai une pile de trucs à lire.

La gestion des tags

Une autre révélation de cette appli' est que j'ai de gros progrès à faire dans l'attribution de tags à mes liens.

Comme en plus ces tags se retrouvent dans les flux Atom que j'annonce aujourd'hui, je ressens une espèce de devoir à taguer correctement, et je dois reconnaître que ce n'est pas encore le cas.

Donc soyez prévenus que ces « catégories » dans le flux vont être amenées à évoluer dans les temps qui viennent, même si je ne sais pas encore comment (toutes vos suggestions sont les bienvenues).

Au moment où j'écris ces lignes, j'ai trois sortes de tags :

Le but de ces tags à la fois de pouvoir retrouver un lien en se souvenant vaguement de ses caractéristiques (par exemple le tag reference pour une référence à reconsulter plus tard, éventuellement couplé avec un tag de thème), et de pouvoir filtrer les trucs qui vous intéressent (par exemple en se limitant à my-interest:5 pour les trucs qui m'intéressent le plus, ou en virant prog-lang si la programmation n'est pas votre truc).

Sauf que la mise en œuvre est très « organique », pour ne pas dire « bordélique » :

D'ailleurs pour l'instant tous mes liens pointent sur des ressources en anglais, d'où l'utilisation naturelle de tags en anglais, mais je mets quand même une description en français, comme pour mes liens en vrac.

Conclusion

Maintenant que vous savez comment je fais mes saucisses, vous allez peut-être être dégoûtés au point de ne plus jamais faire confiance à des liens que je pourrais faire tourner.

Si ce n'est pas le cas, vous êtes bienvenus dans ces nouveaux flux que je propose, pour rappel :

Encore une fois, tout ça est un premier jet assez expérimental, je vais probablement changer des trucs pour mon confort personnel, mais si vous avez des suggestions, aussi bien pour mon organisation que pour la vôtre, n'hésitez pas à m'en faire part.

En plus de ces petits réglages, je finirai peut-être par donner d'autres formes d'accès à ces liens, par exemple par ActivityPub (à l'exemple de inks) ou par AT.

Si vous avez lu jusqu'ici, vous avez droit à l'explication du L qui manque au début de certaines occurrences du mot « lien » : c'est le L de loser. Mais n'allez pas embêter @tedu, ce n'est pas de sa faute si je suis comme ça.

Puissent ces liens vous être aussi utiles qu'à moi.

Publié le 29 février 2024

Tags : Site

En vrac 10

Nouvelle année, nouvelle fournée de liens en vracs \o/

Publié le 4 février 2024

Tags : En vrac

Amazfit Bip S Lite

Dans ce billet, je vais vous parler du nouveau jouet qui hante mon poignet : la montre Amazfit Bip S Lite, qui semble déjà trop ancienne pour avoir une page officielle, mais dont voici la photo ci-dessous.

Photo de la montre à mon poignet

Comme d'habitude, le texte de ce weblog est rédigé sans aucune d'outil prétentieusement appelé « intelligence artificielle », et sans aucun lien commercial avec les différentes entités évoquées, en dehors évidemment de l'achat desdits objets avec mes propres deniers. Je ne me laisse pas si facilement trainer dans le XXIᵉ siècle !

Dans les épisodes précédents

Pour ceux qui n'ont pas suivi l'historique (et que ça intéresse, sinon passez directement à la section suivante), il y a un turnover assez peu satisfaisant sur mon électronique de poignet.

J'ai commencé par une Pebble Time Round qui me plaisait énormément, au point d'en acheter une deuxième unité, mais Pebble a mis la clé sous la porte, et ces deux unités ont expiré après un peu plus de deux ans de bons et loyaux service chacune.

Pebble a placé la barre tellement haut, que la suite n'a été qu'un enchaînement de déceptions.

D'abord Garmin Vívomove Style, dont je salue le côté fitness et son endurance : même si mon utilisation est occasionnelle, c'est le seul jouet de poignet qui fonctionne encore plus de trois ans après sa mise en service. Et c'est à peu près tout ce que j'arrive à en dire de complètement positif : sur toutes les fonctionnalités qui comptent à mes yeux, il y avait une ombre au tableau qui suffisait à ruiner mon expérience.

Je suis ensuite passée à une Fossil Hybrid HR, qui s'est révélé être un net progrès par rapport à la montre de Garmin, simplement évitant leurs bourdes. J'ai découvert que je vis assez bien sans suivi de fitness, donc la régression sur ce point ne me touche pas tellement (d'autant plus que je mets la Garmin sur l'autre poignet quand il me faut du suivi).

Et puis un peu après son deuxième anniversaire, cette montre a commencé son agonie pendant ma première expérience de via ferrata, avoir montré des signes de faiblesse pendant plusieurs mois. Après quelques semaines de caprices croissants à chaque chargement, je n'ai finalement plus réussi à faire entrer de l'énergie dans sa batterie, et c'était la fin.

À la recherche d'un nouveau jouet

Même si ma montre Fossil était loin d'être aussi satisfaisante que mes Pebble, j'ai hésité à en racheter une, parce que les alternatives à mon goût ne sont pas légion.

Ma principale motivation pour chercher plus intensément était le manque de durabilité. J'en ai marre de changer d'appeil tous les deux ans, je voudrais quelque chose d'un peu plus BIFL. D'un autre côté, je ne me rends pas bien compte si Fossil a vraiment un problème de durabilité, ou si je me suis juste laissée influencer par la modération toxique du subreddit correspondant.

La recommandation de l'Amazift Bip S Lite dont il est question ici vient du subreddit Pebble, dont l'activité ma agréablement surprise, et où j'ai naïvement posé la question

Le gros avantage de la Bip S Lite par rapport à toutes les possibilités que j'ai envisagées chez Fossil ou Garmin, c'est son prix, 40 €. Donc mon achat a plus été « pour voir » qu'un investissement mûrement réfléchi.

Et j'en suis assez contente pour avoir arrêté de chercher, ce qui est plus que j'en attendais. Je suis loin d'être aussi enthousiaste qu'envers mes Pebble, mais c'est un compromis tout à fait compétitif avec ma Fossil, et nettement au-dessus de ma Garmin.

Bilan après six mois

Comme d'habitude, je publie mon avis après plusieurs mois d'utilisation, histoire de se faire une idée de ses avantages et de ses inconvénients une fois intégrée à mon quotidien.

Une des choses que j'aimais beaucoup dans mes Pebbles et qui me manquait avec Fossil et Garmin, c'est le contrôle sur mes données personnelles. J'ai vu passer GadgetBridge pendant mon utilisation de ma montre Fossil, mais je n'avais jamais essayé, en partie par flemme et en partie à cause de la régression des fonctionnalités. Pour cette montre je n'ai utilisé l'application officielle que pendant quelques minutes, pour établir les clés de chiffrement, et toute mon utilisation réelle s'est faite avec GagetBirdge.

Ma liste de critères n'a pas beaucoup changé que je l'ai établie en août 2018 juste après l'expiration de ma première Pebble, j'ai juste fait le deuil des envois de SMS parce que ça n'a plus l'air exister et j'ai moins peur de sortir mon smartphone actuel, et j'ai enlevé le suivi de paramètres biologiques maintenant que ma curiosité sur ces paramètres a été rassasiée. En dehors de ça, je vais suivre ce plan habituel, par ordre décroissant d'importance à mes yeux.

Donner l'heure avec style

En vrai je ne suis pas si regardante sur le style, je suis toujours aussi épouvantablement mauvaise en esthétique, mais ça compte quand même un peu.

Je m'attendais à une régression sur ce point, et l'expérience me l'a confirmé : cette montre est moins jolie et plus « geek » que toutes celles que j'ai utilisées jusqu'à présent.

Je me souviens qu'un collègue avait pris ma Pebble pour une smartwatch puis s'en est excusé, en croyant que les aiguilles affichées à l'écran étaient des vraies. Mes montres Fossil et Garmin allaient encore plus loin, avec d'authentiques aiguilles.

À l'inverse, la Bip S Lite est une authentique smartwatch, rectangulaire, avec un écran ouvertement LCD. Et en plastique très cheap, en plus.

Finalement je le vis assez bien, la fonction est plus importante à mes yeux que l'apparence.

En revanche, une considération adjacente au style est l'encombrement de l'objet, et je suis toujours autant repoussée par les montres immenses. J'ai pu voir en vrai une Withing ScanWatch bleue, que je trouve esthétiquement magnifique mais beaucoup trop grande et lourde pour mon goût.

Le boitier en plastique a beau avoir l'air cheap, j'imagine qu'il participe à une légèreté fort appréciable, avec des dimensions tout à fait à mon goût.

Pour se faire une idée, j'ai trouvé une taille plus ou moins officielle de 35.3×42×11.4 mm, et un poids de 30 g, mais j'ai du mal à voir exactement à quoi ça correspond. Ça participe plus d'une impression, liées à la forme et à l'occupation de l'espace, c'est plus compliqué que de simples mesures.

En tout cas, pour ce qui est du ressenti, cette montre est aussi bonne que les modèles passés.

Enfin, pour finir la section « donner l'heure », cette montre est le dernière modèle d'Amazfit qui utilise un écran transflexif, qui présente l'immense avantage de n'émettre aucune lumière tant que je ne lui demande pas, par opposition aux écrans AMOLED qui sont beaucoup à la mode.

Comme pour une montre hybride, dont les aiguilles donnent l'heure passivement, c'est pour moi indispensable qu'une montre se fasse oublier, et je ne veux pas qu'elle me jette de la lumière dans la figure sans demande explicite de ma part.

Autant dire que ça limite sévèrement les possibilités de montre connectée à mon goût…

Réveiller par des vibrations discrètes

Quand j'ai établi ma liste de critères c'était très haut dans ma liste, mais ça fait depuis plusieurs années que je n'en ai pas eu besoin, parce que la configuration actuelle de ma vie ne m'oblige plus à me réveiller avant la personne avec qui je partage mon lit.

Je garde ce critère très haut dans ma liste, pour le jour où ça changera, mais en attendant je n'ai pas vraiment pu l'éprouver au quotidien.

Pendant les quelques fois où je l'ai essayées, cette montre m'a donné entière satisfaction.

Il n'y a pas de fonction réveil qui s'adapte aux cycles de sommeil, mais comme je n'ai jamais encore pu vivre avec cette fonction en état de marche, ça ne me manque pas vraiment.

Avertir de l'oubli de l'ordiphone

Je n'ai pas trouvé cette fonction, à mon grand désespoir. Ce n'est pas pire que la montre Fossil que j'avais juste avant, qui ne l'a pas non plus, mais ça me manque quand même. Surtout avec mon téléphone dont l'interface bluetooth se met de temps en temps en carafe, et il peut se passer des heures de notifications ratées avant que je m'en rende compte.

Au moins, il n'y a à ce niveau pas de régression par rapport à Fossil, et les manquements de Garmin ont été évités : il n'y a pas d'instabilité manifeste de la connexion blutooth, les notifications sont accumulées en attendant le retour de la connexion, et la perte de connexion est affichée à l'écran.

Cette fonction est peut-être un peu moins critique maintenant que mon téléphone tient dans ma poche, mais le fait de l'avoir plus souvent sur moi rend plus probable le fait de l'oublier pendant les rares fois où il n'y est pas. Ça m'est déjà arrivé.

Je me demande s'il n'y aurait pas un truc à essayer sur le téléphone, pour ce que soit lui qui s'agite quand je m'éloigne.

Avertir des notifications pertinentes

C'est à ce niveau qu'une « vraie » smartwatch l'emporte largement sur les montres hybrides. J'ai un vrai écran rectangulaire pour afficher du texte, et il le fait très bien.

Il y a juste un tout petit défaut, contre lequel je peste assez souvent. J'ai choisi de « verrouiller » l'écran tactile, c'est-à-dire que la montre n'est pas censée réagir par l'écran tactile tant que je ne l'active pas (ainsi que le rétro-éclairage) en appuyant sur le bouton, pour éviter les interactions inopinées. Le problème c'est qu'il n'est pas si désactivé que ça, parce que j'ai un avertissement sur tout l'écran qui me dit que l'écran tactile est verrouillé, et qui cache tout ce qu'il peut y avoir en dessous.

Je rencontre donc souvent le scénario où je reçois une notification, j'en suis informée par une vibration de la montre, j'essaye de mettre l'écran en vue, ce faisant j'interagis inopinément avec l'écran tactile, et je ne peux pas voir ma notification.

L'alternative, c'est ne pas verrouiller l'écran, et avoir l'interaction inopinée qui fait des trucs indéterminés, ce n'est pas tellement mieux…

En dehors de ce détail mineur, ça marche très bien.

Présenter un résumé des notifications

Là aussi, ce n'est pas une surprise pour une « vraie » smartwatch, j'avais ajouté ce critère alors que j'étais plutôt portée sur les montres hybrides.

D'un autre côté, Garmin a démontré que même avec un écran qui fait tout le cadran on peut se vautrer sur ce point, donc le bon point d'Amazfit n'est pas démérité.

Avoir une interface à mon goût

Je vais peut-être remonter la priorité de ce critère, qui n'est apparu qu'en réaction à Garmin et la révolution que m'inspirent les écrans tactiles.

Bon, le Bip S Lite est aussi basé sur un écran tactile, et c'est une régression par rapport à Fossil, mais cette montre est suffisamment humble pour ne pas trop en demander à un écran tactile : il n'y a que des défilements et quelques gros boutons, et j'ai pu m'en sortir sans aucun misclick ou autre mauvaise interprétation de mes intentions.

Préserver la vie privée et l'hackabilité

C'est un nouveau critère, et c'est largement psychologique, mais l'impression de contrôle sur l'électronique qui m'entoure est très importante pour moi, même si c'est juste une impression.

J'aime beaucoup le principe de GadgetBridge, et je crois que je suis prête à lui pardonner beaucoup de rugosité d'interface et de fonctionnalités manquantes juste pour son côté open-source et communautaire.

Ces jours-ci j'ai moins de tentation de hackabilité au niveau de l'appareil lui-même qu'à l'époque de mes Pebble, je ne sais pas trop si c'est la vieillesse ou la résignation.

La PineTime m'avait l'air très tentante pour ce côté, mais j'ai peur que l'écran soit insupportable comme les AMOLED modernes.

Tenir longtemps sur batterie

Ce n'est pas un critère tellement pertinent pour moi, mais beaucoup de monde sur le subreddit Pebble a l'air d'y accorder pas mal d'importance. J'enlève toujours ma montre avant d'aller sous la douche, et si cette occasion quotidienne de chargement suffit, ça me va.

Je crois me souvenir que mes Pebbles n'avaient pas une autonomie si impressionnante, je crois dans les trois ou quatre jours, mais c'est parce que les Pebble Time Round sont les plus petites, y compris en batterie, ce qui se voit sur la charge en un bon quart d'heure.

Ma montre Fossil tenait plus d'une dizaine de jours au début, et encore environ une semaine sur la fin. Par contraste, la Garmin, que j'utilise ces jours-ci au plus une heure par jour, doit être rechargé tous les cinq ou six jours.

La Bip S Lite est effectivement impressionnante à ce niveau : elle tient plus d'un mois, et je ne l'ai à ce jour rechargée que cinq fois (le 31 août, le 2 octobre, le 6 novembre, le 8 décembre, et le 11 janvier).

Verdict

En résumé, il s'agit donc une smartwatch basique, vendue comme du bas de gamme, mais qui du coup n'essaye pas de faire plus que ce que je veux.

Ça fait depuis la fin de Pebble que je me demande si mon poignet ne serait pas mieux avec une montre stupide, voire complètement mécanique.

Aujourd'hui, la seule chose qui me fait préférer de l'électronique à mon poignet est la peur de rater une notification. C'est vraiment un pager dont j'ai besoin plus que d'une montre, et si je trouvais un moyen de ne rater aucune notification de mon téléphone de poche sans qu'il fasse de bruit, je crois que je reviendrais au quartz.

En attendant, j'enchaine les pis-aller, et cette montre s'en tire plutôt bien pour un pis-aller. J'en tire à peu près autant de satisfaction que de ma Fossil Hybrid HR pour un cinquième du prix, et nettement plus de satisfaction que de ma Garmin Vívomove Style. Si la durabilité est autant au rendez-vous que les commentaires du subreddit Pebble laissent penser, je risque de la garder longtemps et d'en être encore plus satisfaite.

Publié le 27 janvier 2024

Tags : Jouets

Évolution des commentaires

Les vents du changement en 2023 ne soufflent pas seulement sur mon interface graphique, ils menacent aussi le présent site. J'ai quelques petites idées derrière la tête, qui risquent d'avoir un impact sur l'utilisation du présent site, principalement au niveau des commentaires.

Et comme j'ai utilisation très particulière du système de commentaires, je voudrais d'abord vous sonder, chez lecteurs, pour recueillir votre avis sur la situation actuelle et les changements que j'envisage.

Qu'on soit bien clairs : je reste la dictatrice bienveillante sur cet espace, je fais bien ce que je veux, et j'ai la ferme intention de faire ce que je veux, je vais juste choisir ce que je veux après avoir lu vos éventuelles impressions.

Disons que c'est une dictature consultative, quoi.

Modération a priori

Le principal changement que j'envisage de faire est de passer le système actuel de modération a posteriori en modération a priori.

C'est-à-dire que concrètement, au lieu de voir directement votre commentaire publié là où il faut, vous serez redirigé sur un message de mise en attente, un peu comme celui après avoir posté un message de contact, et il n'apparaîtra qu'après intervention personnelle de ma part.

Est-ce que ce serait supportable pour vous ? Ou est-ce que le délai de mise en ligne ajouterait une friction désagréable au point de réduire vos envois de commentaires ?

Il y a beaucoup de discussions autour des implications légales de ces deux processus, mais je vais supposer que mon site est suffisamment petit et que je suis suffisamment de bonne foi pour ne pas avoir trop de problèmes à ce niveau-là.

Ma motivation est bêtement au niveau de l'organisation de mon infrastructure : aujourd'hui c'est un système monolithique qui génère les pages que vous voyez et qui peut changer l'état de ce qui est affiché, et j'aimerais mieux séparer les rôles de lecture et d'écriture. Vous seriez donc face à des pages statiques, et les changements n'auraient plus lieu que depuis mon ordinateur personnel.

Je ne sais pas exactement à quelle échéance ce changement peut avoir lieu, parce qu'il y a encore un petit problème technique que je n'ai pas résolu. Il y a caché quelque part dans les tréfonds de ce site un billet d'eulogie, programmé pour être publié dans trois à six mois, dont je repousse régulièrement la date, et que vous ne devriez donc voir que s'il m'arrive un imprévu très grave (même s'il a déjà été brièvement été publié à deux reprises). J'ai rencontré trop de sites « fantômes », en se demandant ce qui est arrivé à son auteur, et je ne veux pas que le mien en fasse partie.

Ce billet-eulogie invite les gens qui auraient des informations sur ce qui me serait arrivé de les partager en commentaires, mais ça ne peut évidemment pas se faire s'il y a besoin de moi pour les publier. Et laisser cette possibilité, même pour un seul billet caché, implique une infrastructure capable de régénérer le site automagiquement, ce qui anéantit tous les progrès que j'aimerais faire.

Je ne sais pas encore comment m'occuper de ce cas, mais si vous parvenez à me dissuader de changer le système de modération, la question s'évaporera d'elle-même.

Pré-remplissage du formulaire de commentaire

Aujourd'hui, le formulaire de commentaire en bas de la page contient une case à cocher pour enregistrer pseudonyme, adresse mail, site web, et format de commentaire, pour que ces informations soient reportées sur toutes les pages visités ensuite (dans le même navigateur). Utilisez-vous cette fonctionnalité ? Est-elle importante pour vous ?

C'est la fonctionnalité que j'utilise moi-même le plus, et si elle venait à disparaître il faudrait que j'utilise mes privilèges d'hôtesse de ces lieux pour me reconstruire un équivalent.

Aujourd'hui ces informations sont stockées dans votre navigateur sous forme d'un « cookie », sur lequel je suis complètement transparente. Ce système n'est pas complètement satisfaisant pour diverses raisons, mais il a le mérite de bien fonctionner sur une très large gamme de navigateurs.

Si je veux découpler les rôles de lecture et d'écriture de ce site, j'aimerais en plus abêtir au maximum le rôle de lecture, c'est-à-dire renvoyer toujours les mêmes pages statiques, et donc virer ce système de cookies.

La méthode la plus brutale serait de virer complètement le pré-remplissage : s'il n'y a personne (en dehors de moi) qui s'en sert, par exemple parce que le navigateur pré-remplit très bien tout seul (je n'ai jamais essayé, ça existe peut-être) ou parce que vous préférez donner à chaque fois une valeur délibérée à tous les champs, autant alléger le site.

Si je ne me suis pas trompée en interrogeant mes logs, pendant les quatre dernières années que cette fonctionnalité n'a été utilisée que par un spammeur et moi, ce qui me ferait pencher vers sa suppression ; mais d'une part il n'est pas du tout exclu que je me sois trompée, et d'autre part peut-être que ce billet va donner envie de l'utiliser à l'avenir.

Pour préserver la même fonctionnalité sans intelligence côté serveur, il me semble qu'il faut avoir recours à du JavaScript. Ce serait d'ailleurs plus propre techniquement, puisque ces informations ne feraient plus l'aller-retour entre le client et le serveur, le pré-remplissage serait plus auditable par les utilisateurs (sous réserve que le JavaScript soit bien écrit), tout restant très utilisable quand le JavaScript est bloqué.

Malheureusement, le JavaScript a été un outil pour tellement d'abus qu'il est rejeté en bloc par pas mal de gens dont je suis philosophiquement proche (en gros, le smolweb), et j'aimerais bien signaler cette appartenance philosophique en me passant de JavaScript sur ce site.

Une solution intermédiaire pourrait être d'avoir une page dédiée au formulaire de commentaire, qui concentrerait toute l'intelligence (qu'elle soit côté client ou serveur) en préservant la pureté du reste du site.

Séparation des commentaires et des billets

L'autre gros changement que je considère est de déplacer les commentaires dans une page dédiée, un peu à la façon dont s'est fait chez David Madore.

Je suis encore très partagée face à cette idée, parce que le déplacement des commentaires existants va casser tout plein de liens. Choisir entre des liens morts, mettre un lien à cliquer sur l'ancre passée, et utiliser JavaScript pour faire une redirection qui tient compte du fragment, ça me donne l'impression de choisir entre Charybde, Scylla, et saborder tout de suite son propre bateau pour gagner du temps en arrivant au même résultat.

La tentation existe pour des raisons que j'ai du mal à expliquer proprement, et en vue de modifications plus lointaines qui me semblent un peu trop ambitieuses pour mon goût (ce qui me rend réticente à publier les paragraphes ci-dessous, des fois qu'ils soient pris comme une promesse).

En gros, l'idée est de séparer le contenu long et autonome dont je suis l'auteur des réactions courtes et collaboratives. Si cette séparation n'est pas du tout dans l'esprit « fin des 00s » qu'un blog bien comme il faut est censé porter, elle prend beaucoup plus de sens en dehors du web. Et puis il faut voir les choses en face : le web du début des années 2020s est plutôt pauvre en esprit « fin des 00s ».

Je pense par exemple à déployer ce blog dans le geminispace, voire aussi dans le gopherspace, où les commentaires sont traditionnellement faits différemment, et surtout loin de la page commentée.

Je pense aussi à regarder du côté d'ActivityPub, je ne sais pas encore très bien selon quelles modalités, mais il me semble que le fédivers pourrait être un vecteur assez pertinent de commentaires de weblog.

D'un autre côté, est-ce je me prends la tête pour rien ? Est-ce qu'il y a encore des gens qui lisent les commentaires en 2023, alors qu'il est établi depuis longtemps que s'y trouve la lie de l'humanité ? Et quand bien même d'aucuns liraient encore les commentaires, le font-ils vraiment sous la page et non pas dans leur lecteur de flux ? Y a-t-il vraiment des gens tièdes au point de lire des commentaires sous un billet mais pas dans une page dédiée accessible depuis un clic sous ce billet ?

Votre avis compte !

Il n'aura probablement pas échappé à votre sagacité que le nombre de commentaires sur ce site ne fait que s'effondrer année après année. Si je suis plutôt épargnée par la fameuse décharge de dopamine des réseaux sociaux, les commentaires de ce site restent efficaces pour me toucher émotionnellement. Je n'arrive pas à espérer inverser cette tendance décroissante, et même pas l'endiguer, mais je m'en voudrais de l'accélérer.

C'est pour ça que je vous demande, chers lecteurs, et surtout chers utilisateurs du système de commentaires, de me faire parvenir par quelque moyen que vous voulez, vos avis sur ces évolutions. Vous pouvez vous aider du weblog de David Madore et d'un bloqueur de cookies pour vous donner une idée de ce que ça peut donner.

Et si d'aventure un administrateur de weblog passait par ici, sa perspective sur son système par rapport au mien me serait aussi très précieuse.

À votre bon cœur, et joyeuses fêtes de solstice d'hiver ☺

Publié le 10 décembre 2023

Tags : Appel au public Site

99 frames

Il y a quelques jours, ma 99ᵉ entrée dans 52frames a été publiée, et il me semble qu'il en temps d'en dresser un bilan.

D'accord, les bilans c'est quelque chose qui se fait traditionnellement plutôt dans les comptes ronds, comme la centième entrée ou le deuxième anniversaire, alors que finalement être au bord de l'ajout d'un chiffre ça pourrait être tout aussi significatif.

Il est de fait qu'une partie de la motivation pour faire ce billet vient de vouloir publier un billet en novembre pour éviter un trou disgracieux dans mes archives, et avant cette limite je n'ai trouvé le temps ni de finir un de mes autres billets sur le feu ni prendre de l'avance sur le centième cliché.

Cela dit, le gros la motivation pour coucher ces lignes maintenant vient de l'espèce de crise de foi que je traverse dans ma relation avec 52frames, et dont j'aimerais garder une trace.

Je n'ai jamais eu une relation très claire avec le loisir photographique, et ça fait depuis si longtemps que je n'ai plus les souvenirs très clairs sur sa nature à différentes périodes.

Je me souviens clairement que j'ai acheté mon premier appareil photo numérique pour des raisons purement utilitaires, comme j'utilise le capteur photo minable intégré au smartphone aujourd'hui. J'avais donc opté pour un compact Sony bas de gamme, probablement vers 2006 parce que je plaisantais sur le rootkit de la même marque.

J'ai commencé à imaginer des possibilités de photographie en tant que loisir artistique un peu avant d'acheter mon premier reflex en 2011.

J'ai rapidement été conquise par le côté technique du loisir, mais je n'arrive pas à me défaire de l'idée que le côté artistique reste abyssalement mauvais.

En tout état de cause, j'ai relativement peu pratiqué, avec 3708 déclenchements pendant le dixième anniversaire de ce reflex. J'avais ouvert le photoblog sur ce site dans l'espoir de pratiquer plus, mais c'était un échec retentissant, avec douze entrées en cinq ans.

Je voulais pratiquer pour progresser, parce que je me considérais (et je me considère encore) comme débutante. J'avais identifié deux obstacles majeurs :

D'une part, la photo m'enthousiasme moins que la plupart des autres choses que je peux faire chez moi, donc je ne sors pas naturellement pour la pratiquer (j'ai d'ailleurs le même problème avec la moto, et j'ai plusieurs fois imaginé faire les deux dans la même sortie mais ça ne s'est encore jamais produit).

D'autre part, je manque cruellement d'inspiration. Il m'arrive de remarquer des prises de vues intéressantes « par hasard », mais je les remarque longtemps après l'occasion de faire la photo, donc même avec un appareil photo dans les mains je ne pourrais rien faire. Et pour construire des photos intéressantes, je suis submergée par les possibilités et incapable de faire un choix.

C'est en pensant à ce dernier point tout en voyant 52frames chez Balise que je me suis inscrite sur 52frames début 2022.

Le principe de 52frames est qu'ils donnent un thème chaque semaine, et il faut poser une seule photo, prise la semaine en question, sur le thème en question, avec éventuellement un défi supplémentaire si le thème est trop facile ou trop vaste.

En se limitant à une seule photo par semaine, l'investissement en temps n'est pas colossal, et la régularité est plus valorisée que la performance ponctuelle, donc ça avait l'air parfait pour ma vie de pas-si-passionnée qui veut progresser.

Et dans l'ensemble, ça a plutôt bien marché : au moment où j'écris ces lignes, la série tient toujours, nous sommes bien dans la centième semaine depuis mon inscription, et j'ai l'impression d'avoir progressé sur plus axes techniques.

L'expérience de ce loisir a même longtemps été très positive, en juin dernier je parlais encore de progresser « techniquement comme hédonistiquement », dans la photographie amateur. Ça ne fait que depuis plusieurs semaines, ou peut-être quelques mois, que je continue la série plus par devoir que par plaisir. Coïncidemment, ça fait depuis à peu près la même période que ma vie est beaucoup plus chargée et tous mes autres loisirs ont pris aussi un coup.

J'en suis cependant au stade où je me demande vraiment combien de temps persister dans un loisir qui n'apporte plus l'étincelle de joie.

Pour ne rien arranger, quand je regarde l'évolution de mes entrées de photoblog, je n'ai pas l'impression que la progression technique se traduise par une progression artistique.

Je sais que c'est un peu nul de conditionner sa pratique d'un loisir à l'évaluation des pairs, à plus forte raison quand cette évaluation est artistique ; mais en même temps je peux plus facilement serrer les dents le temps d'un passage à vide si j'ai l'impression de progresser vers un objectif qui me tente.

Dit autrement, si mes photos ne suscitent pas d'étincelle de joie chez quelqu'un d'autre, si l'intérêt technique s'est usé chez moi, et si ma vie est trop chargée pour tous les loisirs que je veux faire, est-ce qu'il ne vaudrait pas mieux regarder les choses en face et laisser tomber ce loisir ?

Publié le 30 novembre 2023

Tags : Création Évènement Humeur

Ricing

En 2023 les vents du changement soufflent en tempête sur l'utilisation de mes outils informatiques. Dans ce billet je parlerai de l'environnement graphique devant lequel je passe mon temps professionnel comme personnel. Et pour mettre en perspective les changements récents, je vais retracer toute mon histoire (du moins ce dont je me souviens).

Ce billet va donc être intégralement constitué de geekeries (d'où son tag Geek), et mon éventuel lectorat qui n'est pas versé dans la technique informatique (par exemple sans avoir la moindre idée de ce que peut être un « environnement graphique ») peut se passer de la lecture du reste de billet.

Mais comme j'ai encore choisi un titre à la con pour ce billet, il faut bien que je commence par l'expliquer.

Le ricing est visiblement un terme emprunté au tuning de voitures, où il désigne les modifications purement esthétiques. Il est largement utilisé sur le subreddit r/unixporn pour désigner l'amélioration esthétique d'un environnement graphique dans les systèmes d'exploitations unixoïdes.

Et quelque part, c'est ce que j'ai fait, sauf qu'avec mon sens très « particulier » de l'esthétique, les arguments pratiques sont beaucoup plus faciles à défendre (ou au moins expliquer).

Donc ne vous attendez pas à trouver des captures d'écran aussi élaborées que sur r/unixporn, ou même aussi esthétiques, à moins que votre esthétique soit autant portée sur le minimalisme et l'efficacité que la mienne. Il y en aura quand même un peu plus loin dans ce billet.

Mes débuts sous Linux

En des temps (littéralement) immémoriaux, c'est-à-dire vers 2001 à 2003, j'ai découvert Linux, le système graphique X11, et donc les gestionnaires de fenêtres (window managers). Je crois que c'était bien avant l'émergence du concept d'environnement de bureau (desktop environment).

J'ai essayé moult gestionnaires de fenêtres, au point de ne plus avoir les idées très claires sur mes goûts de l'époque. J'ai probablement commencé par le truc par défaut, mais je n'ai aucune idée de ce que c'était. J'ai de vagues souvenirs d'avoir utilisé Blackbox, XFCE, WindowMaker pendant cette période d'instabilité.

Je crois que me souvenir que le premier gestionnaire de fenêtres sur lequel je me suis arrêtée était Enlightenment, en version 16. Je me souviens avoir attendu le fameux « E17 » qui était sur le point de sortir dans vraiment pas longtemps (en réalité fin 2012, autant dire que j'aurais attendu très longtemps).

Je me souviens que j'étais émerveillée par la quantité de fonctionnalités flashy d'Enlightenment. C'est dommage que je ne ressente plus du tout ce genre d'enthousiasme et que je doive me contenter d'un émerveillement technologique beaucoup plus terne, mais c'est la vie.

Je ne me souviens plus du tout combien de temps je suis restée sur Enlightenment. Au bout d'un moment j'en ai eu marre d'attendre E17 et je me suis lassée des trucs flashy. J'ai peur que ce soit une réinterprétation de l'histoire avec des concepts que j'ai développés plus tard, mais j'ai envie de croire que c'est à cette occasion que j'ai compris que les trucs flashy perdent vite leur caractère impressionnant, et que les trucs plus sobres et efficaces se prêtent mieux à l'assimilation. Ou alors c'est peut-être tout simplement que PWM m'a apporté une killer feature (c'est-à-dire une fonctionnalité tellement importante que ne pas l'avoir devient irrémédiablement rédhibitoire) que je vais vous détailler plus loin.

Je ne mets pas de lien vers PWM, parce que j'ai l'impression qu'il a été complètement rayé d'internet. On en retrouve une trace sur la page wikipédia d'Ion dont il est le prédécesseur par le même auteur.

La stabilisation sous PWM

La particularité de PWM, qui est sa killer feature à mes yeux, est d'offrir un niveau d'organisation en dessous des fenêtres, au moyen d'onglets.

Ce sera peut-être plus clair en voyant une des captures d'écran ci-dessous, mais dans l'idée, une fenêtre peut être partagée entre plusieurs « clients » dans le même rectangle, comme les onglets des navigateurs modernes.

Donc le même rectangle peut être déplacé ou redimensionné ou envoyé vers un autre bureau, et tous les clients qui le composent sont déplacés ou redimensionnés ou envoyés en même temps.

Je crois que c'était autour de 2003 ou 2004 ou vers cette époque que j'ai basculé dans PWM, et j'y suis restée encore longtemps après sa fin de vie. Je me souviens être restée sur le PWM original, sans aller voir les réécritures qu'étaient PWM 2.0 et PWM 3.0, basées sur Ion 2 ou Ion 3, parce que ces nouvelles moutures me semblaient déjà inutilement complexes et fragiles.

Je me souviens avoir vu passer Ion relativement tôt (je suis presque sûre que c'était avant Ion 2), et avoir conclu que je n'étais pas du tout prête à laisser le contrôle de la taille et du placement des fenêtres à un gestionnaire de fenêtre. J'étais donc déjà exposée au concept de tiling window manager, avant même d'en connaître le nom, et je l'avais rejeté après lui avoir donné une chance honnête.

La transition indolore vers PekWM

Ce n'est pas de gaité de cœur que je me suis accrochée à PWM 1, je n'ai juste pas pu trouver d'alternative supportable. J'étais suffisamment néophyte quand je suis passée PWM pour que ma façon de penser l'informatique (au moins dans un contexte Unix) se structure autour de la hiérarchie bureau, fenêtre, client, fenêtre de screen ou tmux. Et j'y ai passé suffisamment de temps pour ne plus pouvoir m'organiser sereinement avec moins de niveaux hiérarchiques.

Il y avait bien Fluxbox, mais je n'ai jamais pu supporter la redondance d'avoir à la fois une barre de titre et des onglets, et je crois que les raccourcis clavier manquaient de fonctions que j'utilisais au quotidien.

Je ne sais pas trop comment j'ai raté PekWM pendant tout ce temps, et je ne me souviens plus du tout comment je l'ai découvert, ni même si c'est moi qui l'ai découvert.

Je me souviens juste que j'ai résisté un moment parce que ça me faisait gravement ch*er de refaire une configuration à partir de rien, sans avoir la garantie que toutes les fonctions dont j'ai besoin seront disponibles. J'imagine que j'ai été échaudée par trop de tentatives de passer à Fluxbox.

Je ne suis passée à PekWM que grâce aux efforts de _FrnchFrgg_, que je ne remercierai jamais assez, parce qu'il a pris sur lui de fabriquer une configuration clé-en-main, que j'avais juste à recopier chez moi, pour me retrouver avec un PekWM parfaitement équivalent au PWM précédent.

Je n'ai aucun souvenir de quand ce passage s'est passé, comme je n'en retrouve aucune trace j'imagine que ça date d'avant ma dernière grosse pertes de données, en juin 2008.

Et début 2023, j'étais encore sous PekWM, avec la même configuration. De quoi amortir les efforts qui ont été investis dans sa mise au point !

Dans l'intervalle, j'ai eu le temps de voir l'auteur disparaitre, me lamenter que PekWM suivait le même chemin que PWM, le retour de l'auteur, et le retour des doutes sur la vivacité du projet.

Les petites évolutions du bureau historique

Maintenant que j'ai bien raconté l'histoire, il est temps de sortir les screenshots !

Capture d'écran de 2008

Voici ci-contre la plus ancienne capture d'écran que j'ai pu retrouver, fin juin 2008, qui était censée illustrer un problème de lenteur de DNS : le ping de gauche commence immédiatement, alors que celui de droite fait d'abord la résolution DNS, qui a visiblement pris environ 44 secondes.

On retrouve les éléments perpétuels de mon travail sur écran : des terminaux de taille fixe, alignés dans le coin supérieur gauche, et la taille qui à droite et en dessous laissée plus ou moins vide.

J'ai pendant très très longtemps utilisé rxvt-unicode en fausse semi-transparence (c'est-à-dire qu'il n'est pas vraiment transparent, il reprend juste le fond d'écran, donc une fenêtre derrière le terminal serait quand même masquée complètement), avec un fond d'écran en image de synthèse, attrapée sur DeviantArt (qui a bien changé depuis).

J'ai aussi utilisé pendant longtemps une horloge et un top empruntés à WindowMaker, qu'on peut voir déjà sur cette capture.

Capture d'écran de mai 2009

Près d'un an plus tard (fin mai 2009), j'ai fait sur ma machine professionnelle la capture d'écran ci-contre, qui doit être assez représentative de mon quotidien. J'ai entretemps remplacé mon bash par un zsh (ça c'était en janvier 2009), avec une configuration que j'utilise encore aujourd'hui, et la police bitmap 7×14 historique par un DejaVu Sans Mono que j'utilisais encore en janvier 2023.

Cette capture est une bonne illustration du système hiérarchique dont je parlais. On ne voit pas les autres bureaux, mais il y avait typiquement un bureau rempli par un navigateur, parfois un bureau avec gimp ou d'autres visualisations, et le bureau de terminaux que l'on voit sur cette capture.

Les fenêtres principales, de 80×56 caractères, correspondent à des machines, ici Spartacus à gauche et Sigil à droite.

On voit sur la fenêtre de gauche quatre onglets, qui correspondent à quatre terminaux différents. Chaque terminal contient une session de screen ou de tmux (je ne sais plus exactement quand j'ai fait cette bascule), et le nom de la session se trouve dans le titre, après le préfixe qui rappelle la machine.

Vu le titre, j'avais probablement pris cette capture d'écran pour illustrer la mauvaise gestion UTF-8 d'elinks, qui motivait mon utilisation habituelle de w3m (ou peut-être pas si habituelle vu ce que j'en disais six mois plus tard).

Capture d'écran de fin 2009

Capture d'écran de fin 2021

Cette capture d'écran de mai 2009 est plutôt représentative de mon interface jusque début 2023, il y a eu moins d'évolutions dans cette période qu'entre 2008 et 2009. Vous pouvez voir ci-contre la capture d'écran que j'ai dû présenter pour rentrer sur #gcu fin 2009, avec un deuxième écran que j'ai obtenu entretemps et un conky dans la zone libre ; et une autre capture de fin 2021, juste après mon passage à PekWM 0.2.0, alors sans conky ni fond d'écran.

Les vents du changement se lèvent

Si j'ai gardé à peu de choses près le même environnement informatique pendant plus de 15 ans, pourquoi changer en 2023 ?

L'insatisfaction est en fait montée progressivement. Les terminaux rangés comme sur ces captures d'écran, ça marche très bien, il n'y a aucun problème. Les bureaux avec une seule fenêtre, que ce soit un navigateur ou un logiciel de dessin ou une machine virtuelle ou autre chose, peu importe, il n'y a pas grand-chose à gérer, et ça marche très bien aussi. Et le reste est tellement mineur qu'on peut le négliger… Sauf qu'à force de négliger, l'insatisfaction s'accumule.

Ce qui a mis le feu aux poudres, c'est (encore une fois) Firefox. Depuis un bon bout de temps, mais encore une fois j'ai complètement oublié à partir de quand (je crois avant 2016), je me suis mise à utiliser différents profils Firefox pour différentes activités. L'idée était avant tout d'isoler les cookies de session (pour plus de sécurité) et les historiques (pour plus de facilité de recherches documentaires), et puis j'ai commencé à utiliser une session auto-destructive pour le reste, le tout encapsulé dans un petit script.

Au fil du temps, je me suis retrouvée régulièrement avec plus d'une dizaine de sessions en même temps. Avec une fenêtre pour contenir le terminal dans lequel s'exécute le script, et au moins une fenêtre de Firefox, ça commence à faire beaucoup de fenêtres.

Et ce qui empire la situation, c'est que ce sont des fenêtres (relativement) éphémères. Les fenêtres de terminaux placés aux petits ognons à chaque redémarrage de la machine, c'est assez rare pour ne pas me déranger, alors que ranger manuellement chaque nouvelle fenêtre de navigateur et chaque nouveau terminal de chaque nouveau profil, c'est rapidement saoulant.

L'idée qu'un tiling window manager serait plus approprié, pour automatiser cette gestion de fenêtres, a commencé à faire son chemin.

Comme je l'avais écrit plus haut, après mon essai d'Ion j'étais convaincue que ce type d'environnement n'est pas pour moi, parce que je n'aime pas du tout qu'une machine croie mieux savoir que moi ce dont j'ai besoin et se trompe. Or je veux que mes terminaux principaux soient toujours au même endroit et toujours avec la même taille de 80×56 caractères, et ça c'est un peu antithétique du tiling.

Alors je suis peut-être obstinée pour de mauvaises raisons. Ma motivation principale, c'est le nombre d'applications en mode texte qui supportent très mal le redimensionnement (surtout dans un screen lui-même dans un ssh), mais objectivement on peut supposer que ce problème se pose moins en 2023 qu'en 2004. Il reste cependant que la plupart des affichages non-curses encaissent assez mal les redimensionnements, et que j'ai tendance à mémoriser l'endroit où j'ai vu l'information que je cherche, donc je suis particulièrement sensible aux changements de mise en page. Peut-être que je m'adoucirai dans les années qui viennent, mais maintenir en l'état le système existant qui marche bien pour moi était une condition sine qua non au changement de gestionnaire de fenêtres.

Essais de tiling

Capture d'écran mon bureau sous i3

J'ai déjà oublié pourquoi j'ai commencé par i3, je crois que c'est juste parce que j'en avais entendu du bien sur #gcu. La capture d'écran ci-contre est la première configuration stable avec laquelle j'ai essayé de vivre.

J'ai été un peu contrariée de ne pas pouvoir dimensionner comme je veux mes terminaux, mais pas vraiment surprise. J'ai compté sur la sauvegarde d'agencement pour faire une seule fois l'effort de tout bien placer à mon goût.

C'était de ce point de vue plutôt une réussite, même si ça impose une taille fixe d'écran (ça tombe bien, ces jours-ci je n'ai que des 1920×1080). On peut voir sur la capture d'écran mes deux terminaux 80×56, avec le w3m dans l'espace restant à droite, et le dessous géré dynamiquement comme la tradition tiling le prescrit. J'avais aussi une variante avec trois terminaux de taille fixe et une petite colonne à droite, mais j'ai beaucoup aimé avoir le w3m sur le bureau principal au lieu de le garder dans un bureau dédié à moitié vide.

En revanche j'ai rapidement été contrariée par l'arborescence cachée dans cet agencement. Elle est trop bien cachée pour que mon intuition s'y fasse, mais pas assez bien cachée pour ne pas causer de surprises désagréables. i3 m'a aussi démontré que je suis complètement incapable d'utiliser une navigation directionnelle au clavier, pour le même genre de raisons : mon intuition ne s'y fait juste pas, et si je ne peux pas prédire quel sera l'effet de l'appui sur un raccourci, je ne peux pas l'assimiler.

Je crois qu'à la fin ce sont les bugs dans le système d'onglets et la fragilité de l'agencement dès que je tape le mauvais raccourci clavier qui m'ont fait aller voir ailleurs.

Capture d'écran mon bureau sous Xmonad

Je suis ensuite passée à Xmonad (capture d'écran ci-contre), parce qu'Awesome ne m'inspirait pas plus que ça et je n'ai pas trouvé facilement comment faire mieux qu'i3 pour mes terminaux fixes.

C'est assez pénible de devoir écrire une configuration en Haskell quand on ne connaît rien à ce langage, et c'est assez frustrant de devoir installer 1.5 Go de compilateur et bibliothèques pour juste un gestionnaire de fenêtres « minimaliste », mais j'ai été très contente du résultat.

Le système LayoutN permet d'avoir exactement les fenêtres que je veux fixées au pixel près, et le reste géré suivant un paradigme de tiling approprié. Le rangement des fenêtres dans une bête liste linéaire, sans arbre binaire ni directions dans le plan, convient parfaitement à mon modèle mental, et la configuration du bureau revient juste à choisir l'agencement à l'écran de cette liste linéaire.

Capture d'écran mon bureau sous dwm

Pendant toute cette exploration de tiling window managers, dwm est resté dans un coin de ma tête, jusqu'à le mettre en production avec le résultat ci-contre.

D'un côté, je suis très fan en général de suckless, je suis beaucoup plus à l'aise en C qu'en Haskell, et l'outillage C est déjà tellement partout qu'il a un coût marginal nul, contrairement à l'outillage Haskell que je n'ai que pour Xmonad. Et puis son j'étais curieuse de découvrir son système de tags si particulier.

De l'autre côté, j'ai l'impression de trahir l'esprit de dwm en lui ajoutant un si grand nombre de patchs, et il a fallu mettre pas mal d'efforts (au demeurant très intéressants) dans la compréhension du code original pour arriver à ce que je voulais. Et pendant tout ce temps, j'avais toujours un doute sur sa performance sur mes machines poussives, après avoir eu une très mauvaise expérience avec herbestluftwm qui était inutilisablement lent sur Tsuiraku en utilisant tout son CPU.

Finalement, comme la dernière capture d'écran le montre, je n'utilise plus que dwm ces jours-ci, et j'en suis super-contente. Je regrette un peu de n'utiliser les tags que comme des bureaux, et de ne finalement pas vraiment utiliser du vrai tiling, mais peut-être qu'au fil du temps je m'y ferai.

Je crois que je préfère quand même la gestion des moniteurs de Xmonad, mais elle demande des bureaux plutôt que des tags, je vais d'abord essayer de voir si j'arrive à faire quelque chose avec les tags de dwm. Et en attendant, le système très rigide de dwm me semble tout à fait supportable avec les deux primitives que je lui ai ajoutées.

J'ai mollement fait le tour des barres d'état, mais sans pousser plus loin que celui qui avec le gestionnaire de fenêtres (i3status avec i3, xmobar avec Xmonad, et slstatus avec dwm). Une fois bien installée dans dwm, j'ai pu décider qu'un slstatus à peine modifié me convient amplement.

Nouveau terminal

Quand les vents du changement soufflent, ils soufflent largement : je n'ai pas changé seulement de gestionnaire de fenêtres. J'ai aussi changé d'émulateur de terminal.

Je n'ai pas vraiment de grief contre rxvt-unicode, que j'ai dû utiliser pendant pas loin de vingt ans. Je le trouve un peu surdimensionné, voir presque bloaté pour mon utilisation, mais ce n'est au point que mes systèmes même limités en souffrent.

J'utilisais depuis quelques années st sur mon poste professionnel, surtout parce que j'aime bien l'esprit Suckless, mais c'est un acte de foi de croire quand ils disent que les autres émulateurs sont inutilement complexes. Au fil du temps j'ai beaucoup apprécié le raccourci pour inverser le contraste dans le patch solarized-both, mais pas au point d'en faire une killer feature.

En revanche, une killer feature de rxvt-unicode est la possibilité d'obtenir le code d'un caractère Unicode affiché, et la possibilité d'entrer un caractère Unicode connaissant son code (je n'y vois qu'une seule fonctionnalité dans deux sens différents), et j'ai du mal à la retrouver chez la concurrence.

Heureusement que st est hackable, je crois même que je suis directement responsable de l'existence du patch ISO-14755 qui fait la moitié de cette fonctionnalité, l'autre moitié étant assurée par un script python visible dans le terminal de gauche de ma capture d'écran i3.

Avant d'arriver sur st, j'ai quand même fait le tour des émulateurs de terminal prétendument rapides et modernes, comme Alacritty et Kitty, mais le caractère des développeurs principaux (qui n'aiment pas forcément ma façon d'utiliser leur soft) m'ont dissuadée d'y passer trop temps, surtout après avoir constaté que je n'ai pas besoin de plus de performance que st.

Nouvelle police de caractères

Tant qu'à tout remettre en question, pourquoi ne pas s'attaquer aussi au contenu de mes terminaux ?

Je ne me souviens plus exactement ce qui m'avait poussée à passer de 7×14 à DejaVu Sans Mono, probablement la couverture unicode, ou peut-être l'esthétique, mais après plus de quinze ans à voir DejaVu tous les jours je ne sais plus l'évaluer par rapport à 7×14. Ou peut-être juste la hype de DejaVu à l'époque ?

En tout cas je n'avais pas grand-chose à reprocher à DejaVu, en dehors des points (.) qui ressemblent beaucoup trop aux virgules (,). Cette confusion a été la motivation majeure pour me laisser porter par les vents du changement dans ce domaine.

En réalité, l'idée me tournait plus ou moins dans la tête depuis que j'ai entendu parler de la police Atkinson. Je ne sais pas trop où se situe DejaVu au niveau de l'hyper-lisibilité, mais comme j'arrive au moment dans ma vie où la vue baisse, il est temps de s'en occuper.

J'ai du coup découvert pléthore de polices spécialement marquetées envers les programmeurs, et à force de tomber sur des prétentions de lisibilité à consonance commerciale, j'ai complètement perdu foi dans ce critère.

En revanche, au cours de mes différentes recherches et essais, j'ai découvert que DejaVu Sans Mono est plutôt atypique en termes de densité verticale, et que c'est pour une killer feature dans mes terminaux.

Mes terminaux ont historiquement une cellule de 7×15 pixels, et la composition de mon bureau en dépend suffisamment pour que je ne veuille pas la remettre en question pour l'instant. Ça correspond au paramètre pixelsize=11 dans Xfont, et ça fait des minuscules de 7 pixels de haut et des jambages de 3 pixels au-dessus et en dessous.

Toutes les autres polices que j'ai essayées ont une hauteur d'x de 6 pixels ou moins s'ils rentrent dans une case de 15 pixels de haut, et réclament 16 ou 17 pixels de haut si je veux une hauteur d'x de 7 pixels. Et ça, visuellement je ne peux juste pas, ça fait des lettres trop petites pour lire confortablement, et je ne vois pas du tout l'intérêt d'un interligne aussi grand (je trouve que ça rend les séparations de paragraphes beaucoup moins claires, mais c'est peut-être juste une question d'habitude).

Heureusement, st a un paramètre chscale, qui permet de rogner sur la taille réclamée par Xfont, mais ça ne permet que des ajustements mineurs, parce que ça ne retire que des lignes du bas de la cellule. Et même avec un patch plus violent pour couper des deux côtés, la ponctuation n'a pas l'air d'aimer (ou mon patch était trop violent ou bogué), donc c'est manifestement vraiment le design de la police qui est comme ça, avec une relativement petite hauteur d'x.

Voici ce que donnent mes finalistes dans st : de gauche à droite, Deja Vu Sans Mono, Iosevka Fixed, Iosevka Fixed Curly Extended, et Source Code Pro.

Capture d'écran de st avec quatre polices différentes :
DejaVu Sans Mono, Iosevka, Iosevka Extended, et Source Code Pro

Iosevka a été la seule police de mes essais pour laquelle ma première impression était meilleure que mon habitude avec DejaVu, quoique pas de beaucoup. Sur les lettres générales j'ai une très très légère préférence pour Iosevka, mais c'est surtout sur la ponctuation que ma préférence est nette.

Je reste pour l'instant sur la version Extended, pour rester avec une densité horizontale dont j'ai l'habitude, et pour ne pas casser les emojis empruntés à une autre police (qui ont l'air d'être carrés sur deux cellules de large), mais je suis impressionnée par la lisibilité de la version non-Extended dans sa cellule de 6×16 (dont la dernière ligne est rognée). Je ferai peut-être des essais plus longs un de ces jours.

Les points fixes

Les vents du changement ont aussi soufflé sur quelques autres éléments de mon quotidien informatique, mais qui ont mieux tenu le coup.

Je reste sur le vim historique, son système modal reste trop profondément ancré dans ma façon de penser, il n'y aurait que neovim comme remplaçant potentiel mais j'utilise trop peu de plugins ou de fonctionnalités avancées pour y voir une différence majeure.

J'aime bien la palette de couleurs Solarized, j'avais déjà cherché des alternatives pour mon site, mais son niveau de contraste et ses tons me conviennent bien, au point de m'en servir aussi pour configurer mes nouveaux gestionnaires de fenêtres.

J'ai essayé de remplacer le shell POSIX par Chicken Scheme pour les p'tits scripts à la c*n, mais quand il y a plus spawn que de logique autant rester dans le shell POSIX. Je crois que son créneau serait plutôt au niveau de Python, mais je fais juste trop rarement des scripts de ce niveau de complexité.

J'aimerais beaucoup remplacer Firefox pour ma navigation avec javascript, parce que Tsuiraku est vraiment au bout de son CPU pour ça, mais je crois que c'est peine perdue. J'ai quand même un NetSurf qui traine sur mon disque dur, mais je crains qu'il n'y ait juste pas assez de sites qui en demandent trop pour w3m sans avoir besoin d'un Firefox complet.

J'ai aussi cherché des alternatives à w3m, notamment autour de la mouvance SmolWeb, mais aucun n'avait une interface aussi pratique (pour moi) que w3m.

J'aimerais bien aussi une alternative à feh qui m'affiche les SVG, pour l'instant je n'ai que display d'ImageMagick qui n'est pas confortable du tout, mais je cherche encore.

Mes autres outils du quotidien sont tmux, fdm, mutt, irssi, newsboat, mupdf, mplayer, et pass, mais tous ceux-là n'ont même pas été remis en question. Peut-être devrais-je le faire ?

Publié le 30 octobre 2023

Tags : Geek Goûts

Mélange de cartes

Pour des raisons qui feront peut-être l'objet d'un prochain billet de weblog, j'ai commencé à réfléchir à comment bien mélanger un paquet de cartes, de préférence de la façon la moins chiante possible.

Et ensuite tout s'est enchaîné…

L'énoncé

Il y a moult articles sur le grand 'ternet sur comment mélanger, et des résultats sur le fait que sept ou six tours suffisent, mais je n'ai pas pu me débarrasser d'un certain doute sur mon exécution.

Surtout que le but de base n'était pas juste d'ajouter un peu d'entropie dans un système déjà chaotique, mais d'initialiser un jeu de cartes trié (parce qu'il est neuf ou qu'il sort d'un jeu qui le trie).

Comme je continue de considérer mes machines comme une extension de mon corps, et que l'informatique a de l'entropie de qualité largement supérieure à ce qui est utile pour un jeu de cartes, j'ai déjà intuitivement reformulé le problème du mélange en ces termes :

Comment appliquer une permutation stockée dans un ordinateur à un tas de cartes dans mes mains, de la façon la moins chiante possible ?

Je suppose résolu le problème de la génération aléatoire d'une permutation dans le domaine informatique, pas la peine de venir me parler de Fisher-Yates, la nouveauté est vraiment son application dans le monde physique.

On notera qu'à ce stade, le problème n'est pas complètement bien défini, parce que la notion de chiantise est vague : il y a une composante temporelle, parce que je n'ai pas envie d'y passer des heures, mais il y a aussi une composante cognitive, car j'aurais peut-être moins de patience pour une technique plus rapide mais plus monotone.

Donc je vais essayer différentes techniques pour essayer de raffiner la notion de chiantise et la raccrocher à des réalités plus objectives et mesurables.

L'accès direct

L'idée la plus évidente est de reproduire les opérations sur une structure informatique. Le paquet de carte devant moi est une liste de cartes qu'il est facile de manipuler séquentiellement. Je peux donc prendre chaque carte, et la placer dans un tableau qui représente le tas final.

Concrètement, j'ai fait un tableau rectangulaire de dix colonnes et suffisamment de lignes (j'ai expérimenté avec des jeux de 54 et de 78 cartes), et pour chaque carte de ma pile, je regarde le rang de destination et je la pose à sa place. Une fois toutes les cartes placées, je les reprends dans l'ordre du tableau.

Informatiquement, c'est une opération linéaire dans le nombre de cartes, mais le placement d'une carte dans le tableau n'est pas tout à fait en temps constant.

Et surtout, le coût linéaire en espace physique est particulièrement problématique, parce qu'on n'a pas toujours une surface de table suffisante, et s'il faut le faire par terre ou sur un lit, l'inconfort augmente la chiantise de l'opération.

Donc c'est un premier jet, qui permet de vérifier que j'arrive bien à réaliser une permutation informatique, mais je suis sûre qu'il y a mieux.

Modéliser les manipulations physiques

Je repense souvent au tri de crêpes comme exemple de l'importance de bien modéliser le monde matériel, et comment des opérations bien choisies peuvent faire tomber les résultats théoriques les plus solides (c'est un tri en temps linéaire).

Et puis en première approximation, mon paquet de cartes est une pile de crêpes brûlées : j'ai bien accès à l'opération de retourner d'un coup tout une section du paquet, en temps constant. Malheureusement, il n'y a pas de façon de trouver une carte donnée, autre que compter la section, ce qui est en temps linéaire.

Donc retour à la case départ : j'ai mon paquet de cartes dans la main, qu'est-ce qu'une opération ?

Je peux prendre une carte du dessus du paquet, et la poser au-dessus d'une une pile qui est sur la table.

Je peux même prendre plusieurs cartes du dessus du paquet, et ce n'est pas équivalent à plusieurs fois l'opération précédente, parce que le transfert en groupe ne change pas l'ordre alors que l'empilement l'inverse. Si le groupe est assez petit (genre quatre cartes), c'est pratiquement le même coût que déplacer une seule carte. J'imagine que pour les gros groupes, il faudra prévoir un coût affine en la taille du groupe.

Je pourrais aussi prendre une ou plusieurs cartes du dessous du paquet, même si c'est une manipulation un peu plus pénible. Je pourrais aussi les mettre en dessous d'une pile existante, mais c'est une manipulation encore plus pénible.

Je ne me suis pas (encore) donné la peine d'inventer une notation pour ces différentes opérations.

Le tri par inversions

Devant la constatation que déplacer plusieurs cartes d'un coup n'est pas équivalent à déplacer plusieurs fois une seule carte, je me suis dit qu'il devrait y avoir quelque chose à faire avec ça.

Si on se limite à une seule pile d'arrivée, et qu'on inverse son ordre, le résultat est équivalent à inverser l'ordre de tous les groupes que j'ai déplacés ensemble.

Et j'ai presque été surprise de trouver de la recherche active sur ce sujet, sous le mot-clé « Sorting by Reversals » et l'abréviation MIN-SBR, qui a manifestement de l'importance en bioinformatique pour faire de la phylogénie.

J'ai passé un temps fort peu raisonnable à essayer de comprendre ces algorithmes avant de me décourager, parce qu'il faut non seulement trouver une séquence d'inversions qui génère la permutation voulue, mais ensuite trouver une façon confortable de la présenter pour manipulations physiques.

Et pour couronner le tout, le nombre d'inversions a l'air linéaire en le nombre de cartes, mais la longueur des inversions n'est pas du tout prise en compte, et je soupçonne un résultat final en chiantise quadratique.

Je revisiterai peut-être le sujet un de ces jours, mais je ne suis pour l'instant pas allée plus loin que ça.

Le tri par base

À un moment dans mes manipulations à base d'inversions, je me suis dit que les tables ne sont généralement pas encombrées au point qu'il n'y ait pas la place pour deux piles de cartes. À partir de là je ne me souviens plus trop comment j'ai pensé au tri par base, peut-être simplement parce qu'avec les crêpes, c'est l'autre exemple typique qui surpasse l'habituel n log n.

Pour l'expliquer sans prérequis, disons que le paquet de cartes dans ma main n'est pas trié, et que la permutation que je veux appliquer soit le résultat du tri. Je peux alors, à quelques inversions du paquet complet près, séparer le paquet dans ma main en une pile de cartes de rang pair et une pile de carte de rang impair, puis poser la pile paire sur la pile impaire, puis recommencer avec le deuxième bit du rang, puis le troisième, etc.

Si je ne déplace les cartes qu'une par une, avec une inversion complète à la fin, chaque tour est un tri stable suivant un seul bit, et en log n tours j'ai trié mon paquet.

Et si je commence avec un paquet trié et que j'applique la permutation inverse, j'ai bien fait le mélange que je voulais, et le tout en n log n déplacements d'une seule carte (du paquet en main vers une des deux piles sur la table).

Ce système se généralise facilement à plus que deux piles sur la table, en décomposant le rang suivant ses chiffres dans une écriture en base autant que piles.

Et à la limite, avec autant de piles qu'il y a de cartes, on retrouve ma première idée.

Le tri fusion

Je ne sais pas ce changement de modèle est utile informatiquement, mais une autre perspective peut être utile pour les explications. Elle m'a aidée à ne pas m'embrouiller avec les inversions et à analyser chaque étape pour debug mon script.

Dans chaque tour, je distribue les cartes du paquet dans ma main sur une des deux piles, avant de mettre les piles l'une sur l'autre. Si je regarde ça en remontant le temps, c'est couper le paquet en deux et sélectionner chaque carte d'une ou de l'autre moitié pour la rassembler dans un paquet final, et c'est exactement le tri fusion.

Donc je pourrais prendre la permutation voulue, lui appliquer un tri fusion en enregistrant de quelle pile vient chaque élément, et ensuite remonter le temps avec mon paquet de cartes.

C'est l'idée que j'ai appliquée pour le premier jet de scripts python dégueulasse qui m'a servi de production.

Pour être honnête, je n'ai pas les idées super-claires sur les différentes inversions et réciproques, j'ai juste essayé les possibilités en force brute jusqu'à ce que ça marche.

Un gros inconvénient de la base en tri par base, c'est que le principe du tri stable à chaque tour impose de ne déplacer les cartes qu'une par une, et j'espérais que l'intuition supplémentaire du tri fusion permettrait d'utiliser l'opération de déplacer plusieurs cartes d'un coup.

J'ai malheureusement pas pu arriver jusque-là, alors j'ai simplement nettoyé le script pour en faire une version plus simple avec un tri par base.

Conclusion

Les scripts ci-dessus m'ont bien servi pour les mélanges de 54 et 78 cartes dont j'ai eu besoin, mais je ne suis toujours pas satisfaite de la limitation aux déplacements d'une seule carte.

Et ce n'est pas qu'une question de satisfaction intellectuelle, il y a un vrai niveau de chiantise plus élevé dans le faire passer une par une quatre cartes d'une pile à une autre, je voudrais vraiment compter les quatre cartes puis les transporter en bloc.

J'utilise surtout la version à trois piles, qui permet de mélanger ou trier ces paquets en quatre tours, et ça me prend un peu plus de trois minutes plutôt confortables.

Utiliser quatre piles permet de se limiter à trois tours pour un paquet de 54 cartes, mais j'ai plus de mal à garder les yeux sur la sortie du script (il faudra que je réessaye avec des tas beaucoup plus éloignés) et le temps de retrouver des yeux où j'en suis fait perdre plus de temps que j'en gagne en économisant un tour (j'ai un chrono à 3:18, alors qu'avec trois piles j'avais 3:06).

Il faudrait cinq piles pour appliquer une permutation à un jeu de tarot en trois tours, et descendre à deux tours réclamerait huit ou neuf piles, je crois que ça commence à être un encombrement déraisonnable. À l'inverse, je n'ai pas l'impression que le gain de place en n'utilisant que deux piles justifie l'explosion du nombre de tours.

Publié le 30 septembre 2023

Tags : Réflexion

En vrac 9

Je n'ai plus trop d'inspiration sur quoi mettre ici, mais est-ce réellement intéressant ? C'est juste une fournée de plus de liens en vrac :

Publié le 9 septembre 2023

Tags : En vrac

L'oiseau bleu s'envole

J'ai arrêté d'utiliser Twitter, et ça a l'air parti pour être définitif. C'est donc le bon moment pour examiner l'impact que ça a eu dans ma vie, après avoir rappelé les épisodes précédents pour qui prendraient la série en route.

Le début et la fin

Je ne me souviens plus exactement quand j'ai créé mon compte Twitter, et le site ne donne pas plus de précisions que mai 2014.

Je ne me souviens plus exactement comment j'ai utilisé Twitter au début. Est-ce que j'ai vraiment donné une chance à l'interface web, ou est-ce que la possibilité de s'en servir par bitlbee a été déterminante dès mon inscription ?

Le fait est que mon log twitter dans bitlbee commence le 22 mai 2014, et le backlog automatique à la connexion ne remontait qu'au 21 mai vers 19h.

Mon utilisation de Twitter a donc pratiquement toujours été au travers de mon irssi branché sur bitlbee, c'est-à-dire en mode texte. Ça fait depuis très longtemps que je suis plus à l'aise dans les terminaux, quitte à ponctuellement sortir des outils graphiques lorsque c'est utile.

Capture d'écran de Twitter dans irssi par bitlbee

Voyez ci-contre une capture d'écran de mon quotidien dans Twitter pendant 9 ans : des messages qui défilent comme dans un canal IRC, avec un backlog que je peux rattraper de la même façon ; des liens vers des images ou des vidéos signalées par pic.twitter.com, et j'ai un raccourci clavier pour l'afficher dans feh ou mplayer après l'avoir sélectionné ; et des liens vers des articles que je peux ouvrir dans un w3m (après sélection) au moyen d'un autre raccourci clavier.

Je savais bien que l'entreprise Twitter n'y trouve pas son compte, mais ce n'est pas mon problème : ils proposent un service comme il est, et je l'utilise comme ça. Tant que je peux.

À un moment le Grand Chef de Twitter a décidé d'obliger ses vassaux utilisateurs à passer par l'interface web. Par acquit de conscience j'y ai refait un tour, pour confirmer la conclusion que ce serait sans moi.

Quelques mois plus tard, ça a été au tour de bitlbee de se faire révoquer ; j'ai eu un sursis supplémentaire grâce à une nouvelle clé, mais ça n'a fait que retarder l'inévitable.

Et c'est ainsi que je me suis retrouvée avec dans mon cœur un trou en forme de petit oiseau bleu.

Du partage de liens

Si je garde peu de souvenirs de mes débuts sur Twitter, j'ai un souvenir très clair de ce qui m'a poussée à y aller : l'enthousiasme d'iMil qui le décrivait comme un agrégateur RSS mais avec la sagesse collective qui en sélectionne le meilleur.

Et au cours de ces neuf années, ce n'est pratiquement que comme ça que je m'en suis servie. J'ai détaillé cette utilisation dans Internet et moi, au fil du temps, et tout ce que j'y ai écrit il y a cinq ans est encore d'actualité.

Twitter n'a jamais vraiment été un réseau social pour moi, comme Facebook avait pu l'être avant que je l'abandonne. S'il y a bien des gens que je sui(vai)s en raison du lien affectif entre eux et moi, Twitter ne m'a jamais apporté une quantité significative de nouvelles d'eux, j'en tirais surtout des informations intéressantes plus générales qu'ils partage(ai)nt.

En même temps, je n'ai jamais abandonné mon agrégateur RSS « idiot » (qui est un newsboat avec un thème très proche de mon irssi et de mon mutt), donc mon intérêt pour Twitter était surtout un complément. Les RSS que je suis pour les trucs que je cherche, et Twitter pour les trucs intéressants qu'il ne me viendrait pas à l'idée de chercher.

Dit autrement, Twitter s'est révélé être la moins mauvaise réponse à la question que je posais dans Vulgarisation et édification (à savoir, où trouver de quoi continuer mon édification personnelle maintenant que ma culture scientifique dépasse la grande majorité de la vulgarisation grand public ?)

L'appel aux copains

Je ne suis pas sûre que ce soit complètement une coïncidence, mais il se trouve qu'alors que j'étais en grave crise de manque de Twitter, iMil a eu l'idée de lancer #gcufeed, un canal IRC où un bot agrège des flux.

Ce bot est certes aussi idiot que mon newsboat, mais sa gestion collaborative permet quand même d'avoir un minimum de brassage d'informations. Par exemple, j'ai découvert Lobsters grâce à semarie et je suis encore émerveillée par le rapport intérêt/bruit que j'y trouve.

Et surtout, dans les journées plus chargées, je peux complètement zaper #gcufeed en sachant que j'aurai le best-of (d'après les copains) sur #gcu.

Cela dit, ça reste à mes yeux un pis-aller, parce que les liens que je trouve sur #gcu (ou #gcufeed) me semblent beaucoup plus étroits que ceux que je voyais sur Twitter. Je ne m'attends par exemple pas à y voir l'équivalent d'un Denis Colombi, d'un Projet Arcadie, ou d'un Kamil Galeev.

Et puis j'ai l'impression d'y perdre aussi en visibilité sur le zeitgeist d'une certaine partie du monde. Je ne vis pas si mal que ça d'être larguée dans les discussions de café au boulot sur l'actualité, mais si ça ne me coûte pas trop cher je préfèrerais ne pas l'être.

Que faire ?

Je suis quand même dans une nouvelle normalité, #gcufeed a paré au plus urgent, mais je continue de regarder comment je pourrais améliorer mon sort.

Il semble être de coutume de parler de Mastodon à chaque fois qu'il est question de trouver un remplacement à (une utilisation de) Twitter. Je n'y crois pas trop pour mon cas, justement à cause de la pauvreté du versant « social » de mon utilisation.

Mais c'est pire que ça, parce que j'ai plusieurs fois envisagé Mastodon, à différentes époques, et j'ai toujours fini mes recherches par un retentissant « non », de l'application misérable à auto-héberger à la modération douteuse, en passant par l'ergonomie de l'application web et par le prosélytisme lourd des fanboys.

Le plus convainquant était cependant un article que je suis très triste de ne pas retrouver, dont un point fort était que Mastodon est profondément vicié par la logique « Silicon Valley » reprise telle-quelle des modèles du capitalisme de surveillance, qui se manifeste par exemple par l'utilisation de la croissance comme une métrique pertinente.

J'ai aussi un certain scepticisme précautionneux envers l'ensemble du fédivers, mais sans rien de rationnel pour le justifier, c'est juste une intuition du fond des tripes qui trouve que y a un truc par là qui pue un peu.

Cela dit, je reconnais une certaine tentation à me confronter à ce fédivers, par curiosité aussi bien que pour remplacer cette intuition a priori par quelque chose plus solide.

Je penche de plus en plus vers l'idée de m'installer un honk, et je garde un œil sur azorius pour peut-être l'essayer lorsqu'il sera stabilisé, des fois que ce soit un meilleur modèle que le microblogging pour remplir mes attentes.

Je crois que depuis tout ce temps, les principales choses qui m'arrêtent, sont d'une part que je ne sais pas où trouver des sources potentiellement intéressantes pour commencer (j'avais commencé Twitter avec les gens que je connais, et ensuite suivi de proche en proche, mais là j'ai l'impression de n'avoir aucun lien existant avec des fédiverseurs actifs, si vous en êtes n'hésitez pas à me faire parvenir votre adresse), et d'autre part que ça a l'air parti pour être une tannée pour avoir quelque chose d'utilisable avec une interface façon irssi plutôt qu'avec une interface façon Chrome.

Et en vrai, j'oscille entre le pôle actif décrit dans les paragraphes ci-dessus et un pôle plus résigné qui a envie d'envoyer tout ça se faire f*utre, oublier tout le fédivers et #gcufeed et les flux à plusieurs articles par jour, et utiliser le temps ainsi libéré pour repartir de zéro sur la question de Vulgarisation et édification.

Mais un sage isolé vaut-il vraiment mieux qu'un rouage idiot de la machine collective qui ferait avancer l'Humanité dans le bon sens ?

Publié le 31 août 2023

Tags : Évènement Social Vision atypique

Autour de cette page

 

Derniers commentaires

Tags

Archives

Site-level navigation and features

 

Instinctive.eu

Contact

Sections

Validation

Copyright © 2008-2024 Natacha Kerensikova

Butterfly images are copyright © 2008 Shoofly