Just my blogroll - BlogFlock2026-01-30T00:27:23.592ZBlogFlockIrreal, The Emacs Cat, Justin Barclay, BuzzMachine, Arialdo Martini, GamingOnLinux Latest Articles, Protesilaos Stavrou: News and Announcements, Philip KALUDERCIC, Karthinks, Xah Lee, Bowmansarrow, Emacs@ Dyerdwelling, Jeff Kreeftmeijer, MacAdie Web Blog, manuel uberti, Take on Rules, Bicycle For Your Mind, Wilfred Hughes::Blog, LWN.net, McSweeney’s, Rock Paper Shotgun Latest Articles Feed, Sacha ChuaProton Experimental updated to fix the EA app again on SteamOS / Linux - GamingOnLinux Latest Articleshttps://www.gamingonlinux.com/2026/01/proton-experimental-updated-to-fix-the-ea-app-again-on-steamos-linux/2026-01-29T21:51:54.000ZValve have put out a fresh Proton Experimental upgrade for SteamOS / Linux systems, which thankfully includes a fix for the EA app breaking again.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/194685898id28406gol.jpg" alt /></p><p>Read the full article on <a href="https://www.gamingonlinux.com/2026/01/proton-experimental-updated-to-fix-the-ea-app-again-on-steamos-linux/">GamingOnLinux</a>.</p>La semaine du 19 janvier au 25 javier 2026 - Sacha Chuahttps://sachachua.com/blog/2026/01/la-semaine-du-19-janvier-au-25-javier-2026/2026-01-29T19:56:00.000Z<div class="sticky-toc" id="org0397f86">
<div class="text-table-of-contents toc-id" role="doc-toc">
<ul>
<li><a href="https://sachachua.com/blog/feed/index.xml#entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-lundi-le-dix-neuf-janvier">Lundi, le dix-neuf janvier</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-mardi-le-vingt-janvier">Mardi, le vingt janvier</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-mercredi-le-vingt-et-un-janvier">Mercredi, le vingt-et-un janvier</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-jeudi-le-vingt-deux-janvier">Jeudi, le vingt-deux janvier</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-vendredi-le-vingt-trois-janvier">Vendredi, le vingt-trois janvier</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-samedi-le-vingt-quatre-janvier">Samedi, le vingt-quatre janvier</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-dimanche-le-vingt-cinq-janvier">Dimanche, le vingt-cinq janvier</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-prononciation">Prononciation</a></li>
</ul>
</div>
</div>
<div id="outline-container-entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-lundi-le-dix-neuf-janvier" class="outline-3">
<h3 id="entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-lundi-le-dix-neuf-janvier">Lundi, le dix-neuf janvier</h3>
<div class="outline-text-3" id="text-entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-lundi-le-dix-neuf-janvier">
<p>
Ma fille s'est levée juste à temps pour l'école.
Elle a dit qu'elle était fatiguée et n'a pas voulu y aller.
Je l'ai câlinée et j'ai fait la lessive.
Cette fois, j'ai mis un minuteur pour penser à suivre notre routine pendant la pause déjeuner.
J'ai revu mon journal avec l'aide de quelques nouvelles fonctions qui utilisent Spookfox pour communiquer avec Mozilla Firefox, envoyer mes brouillons à Google Gemini et afficher les résultats au format Org Mode dans Emacs.
J'ai aussi étudié les points de prononciation du rendez-vous précédent avec l'aide de la synthèse vocale et de la reconnaissance vocale en continu.
Petit à petit, je m'améliore.
</p>
<p>
Ma fille a manqué les cours de l'après-midi.
D'une part, je me suis inquiétée parce qu'elle pourrait développer de mauvaises habitudes.
D'autre part, au moins, elle est dans un endroit sûr au lieu de faire l'école buissonnière, de réprimer ses pensées pendant qu'elle est assise en classe, ou de faire des bêtises.
Certaines familles préfèrent l'école à temps partiel pour adapter le système à leurs besoins plutôt que l'inverse, ou même ne rien faire de formel du tout.
Je comprends qu'elle ait voulu quelque chose de différent.
C'est difficile de rester assise et d'écouter un cours qui se déroule si lentement.
Je ne sais pas si j'en serais capable, alors je ne peux pas la contraindre.
Je lui ai déjà demandé des choses difficiles, par exemple de porter un masque dans les espaces publics fermés.
</p>
<p>
Je pense que mon premier objectif est de l'élever pour qu'elle puisse explorer le monde par elle-même, y compris choisir ses propres objectifs, planifier et concrétiser ses idées, et évaluer les résultats.
En revanche, je veux la soutenir jusqu'à ce qu'elle y parvienne.
Si ce n'est pas une question de santé ou de sécurité, je veux la laisser décider autant que possible, particulièrement quand elle le veut vraiment.
C'est normal qu'elle ait envie de plus d'indépendance à l'adolescence.
La quête d'indépendance pourrait impliquer de rejeter les décisions ou les conseils des parents.
Nous n'en sommes pas encore là, donc je dois m'y préparer en resserrant les liens entre nous.
Quand elle se retrouve dans une situation qui serait peut-être trop difficile à gérer toute seule, elle saura au plus profond d'elle-même que nous sommes toujours là pour elle.
Elle est généralement raisonnable.
Mon but n'est pas de lui faire la leçon.
Ce n'est même pas de lui poser des questions pour qu'elle réfléchisse, ce qui pourrait être perçu comme un interrogatoire.
Mes sous-objectifs consistent peut-être à lui assurer une base solide (la nourriture, les câlins et ainsi de suite).
Je peux aussi partager ce que j'apprends dans ma propre vie en discutant avec elle si elle est curieuse.
Si elle n'est ni curieuse ni prête, je peux lui laisser des notes.
</p>
<p>
Bon, je l'ai emmenée à son cours de gymnastique, et nous avons joué à Pokémon Go dans un nouveau quartier.
Il faisait très froid.
Mon vélo cargo n'a pas bien fonctionné sur le chemin du retour.
Au début, mon écran refusait de se connecter.
Puis il s'est connecté, mais je n'ai pas pu changer de vitesse.
Heureusement, j'étais bloquée sur une vitesse moyenne et les pistes étaient gérables.
Débrancher et rebrancher l'écran a finalement résolu le problème.
</p>
<p>
Mon mari a trouvé une boîte de rouleaux de printemps faits maison au congélateur.
Il les a préparés avec notre fille.
</p>
<p>
Je commence un brouillon en français :
</p>
</div>
</div>
<div id="outline-container-entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-mardi-le-vingt-janvier" class="outline-3">
<h3 id="entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-mardi-le-vingt-janvier">Mardi, le vingt janvier</h3>
<div class="outline-text-3" id="text-entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-mardi-le-vingt-janvier">
<p>
J'ai évalué quelques modèles et serveurs pour la reconnaissance vocale. J'ai trouvé que le serveur Speaches avec le modèle faster-whisper-base est plus rapide que ma configuration précédente. J'ai aussi essayé le mode continu de Speaches, mais les résultats sont mauvais. Peut-être que mon ordinateur n'a pas assez de puissance pour ça, ou peut-être que j'ai juste besoin de le configurer correctement.
</p>
<p>
Pendant la pause déjeuner, ma fille a joué à Minecraft Education. Elle a appris un peu de Python. Pendant qu'elle jouait, j'ai continué mon jeu de Pokémon. J'ai terminé la Forêt de Jade et j'ai vaincu le champion d'arène d'Argenta, qui était facile à battre avec mon Carapuce.
</p>
<p>
J'ai discuté des distorsions cognitives et des perspectives différentes avec ma thérapeute. J'ai aussi discuté des limites, que je trouve un peu difficiles à gérer avec ma fille. Mes limites avec d'autres personnes sont peut-être trop rigides, et il faut que j'apprenne à demander de l'aide. Mes limites avec ma fille sont peut-être trop perméables, et il faut que j'apprenne à négocier ou parfois faire de moi une priorité.
</p>
<p>
Pour le souper, ma fille a préparé du Kraft Dinner aux saucisses. Elle a trouvé qu'elle préférait la marque Annie plutôt que la marque KD.
</p>
<p>
La météo a annoncé de la neige demain. Nous avons décidé qu'il valait mieux faire les courses aujourd'hui avant les intempéries de demain parce que la neige rendra la marche difficile.
</p>
<p>
J'ai réessayé les exercices d'écoute et de parole sur Google Translate. Étonnamment, j'ai réussi. Peut-être que je peux m'entraîner avec ça chaque jour. C'est gratuit.
</p>
<p>
À l'heure du coucher, ma fille et moi avons lu à tour de rôle. J'ai été impressionnée par sa lecture. Elle peut lire de manière expressive et sans problème.
</p>
</div>
</div>
<div id="outline-container-entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-mercredi-le-vingt-et-un-janvier" class="outline-3">
<h3 id="entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-mercredi-le-vingt-et-un-janvier">Mercredi, le vingt-et-un janvier</h3>
<div class="outline-text-3" id="text-entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-mercredi-le-vingt-et-un-janvier">
<p>
L'école virtuelle avait une remplaçante aujourd'hui, donc ma fille n'a pas voulu participer à cause des problèmes techniques et à cause des bêtises de ses camarades. Cette fois, elle nous a vraiment demandé si elle pouvait sécher, ce qui est… un progrès, je suppose? Je me souviens quand il y a un remplaçant, le rythme est souvent trop lent et ma fille pense que c'est une perte de temps. Bon, j'ai essayé de considérer l'école comme un des outils pour l'apprentissage et en ce moment comme une expérience de l'autodétermination. Elle s'est assise sur mes genoux pendant qu'elle travaillait sur ses devoirs, ce qui est probablement plus qu'elle aurait accompli si elle était assise en classe de mauvaise humeur.
</p>
<p>
J'ai mis à jour mon logiciel pour renouveler les livres que nous avons empruntés à la bibliothèque. Je n'ai pas pu réécrire certaines fonctions parce que je n'ai pas de livres qui attendaient à la bibliothèque. Cette fonction est en attente. Pour le moment, mon logiciel peut encore afficher un rapport des livres qui doivent être rendus.
</p>
<p>
Malgré la neige, j'ai emmené ma fille à la patinoire pour patiner avec ses amies. Sa nouvelle nourrice est venue au Canada depuis peu et n'a pas ses propres patins, donc j'aidais les enfants avec leurs patins et leurs casques, même si personne ne savait comment attacher la grille du casque. Cette amie a 5 ans et c'était sa première fois à la patinoire, donc je voulais être très très prudente. J'ai même demandé à l'homme qui jouait au hockey de l'autre côté, mais il ne savait pas non plus. Après une brève consultation avec la mère de son amie, j'ai attaché son casque mais j'ai laissé la grille pendre. Je l'ai aidée à tenir un support et je la guidais pendant que ma fille et son autre amie jouaient ensemble. Heureusement, j'ai apporté du chocolat chaud et beaucoup de chauffe-mains, parce que ses amies et leur nourrice avaient froid. Nous les avons accompagnées près de chez elles parce que ma poussette était très utile pour apporter leurs patins, casques, et sacs. Ma fille et son amie discutaient en route, mais après s'être quittées, elle a dit qu'elle était surstimulée. C'est possible que les intérêts de ma fille et de cette amie aient divergé. Ma fille espère trouver une amie qui aime parler de Pokemon, Star Wars, Minecraft, ou KPop Demon Hunters au lieu de se vanter de ses affaires ou de leurs autres amies, et qui préfère aussi une conversation calme au lieu de bavarder sans cesse. C'est la vie, on passe à autre chose.
</p>
<p>
Après avoir poussé la poussette dans tant de neige, j'étais très fatiguée. Ma fille a dit qu'elle voulait une journée tranquille demain, et j'ai totalement approuvé.
</p>
<p>
Avant de faire son pain, mon mari a préchauffé le four en faisant des biscuits au chocolat. C'était une très bonne idée.
</p>
</div>
</div>
<div id="outline-container-entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-jeudi-le-vingt-deux-janvier" class="outline-3">
<h3 id="entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-jeudi-le-vingt-deux-janvier">Jeudi, le vingt-deux janvier</h3>
<div class="outline-text-3" id="text-entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-jeudi-le-vingt-deux-janvier">
<p>
J'étais encore fatiguée quand je me suis levée à cause de l'effort hier. À cause de mon manque d'énergie, il faut choisir soigneusement mes tâches.
</p>
<ul class="org-ul">
<li>Je dois rendre les livres cet après-midi parce que la météo annonce qu'il fera très froid demain.</li>
<li>Ma fille est allée à l'école en ligne sans petit-déjeuner, donc je dois préparer sa collation pour qu'elle puisse manger sur le pouce pendant la récré.</li>
<li>J'entraîne une bénévole pour l'infolettre de Bike Brigade, donc je dois organiser ses éléments dans le brouillon pour qu'elle puisse voir le processus.</li>
</ul>
<p>
J'ai rendu les livres en retard et j'ai emprunté beaucoup de livres pour ma fille pour les prochains jours à la maison. J'ai aussi joué un peu à Pokémon Go en chemin. Mon mari a joué à Pokémon Émeraude sur sa Game Boy Advance à l'extérieur grâce à ses boutons physiques, qui pouvaient être utilisés malgré les gants. Il était emmitouflé dans des couvertures et profitait du soleil.
</p>
<p>
J'ai mis à jour des données pour mon client. Je ne veux pas travailler aujourd'hui, donc j'ai laissé de côté les autres tâches.
</p>
<p>
Au lieu de travailler, j'ai revu mon journal en français et créé une fonction pour sauter à la prochaine correction de l'IA. Pour le moment, j'affiche le commentaire en bas de la fenêtre. Je voudrais l'afficher près du curseur (peut-être via un popup) et souligner toutes les corrections pour revoir plus facilement.
</p>
<p>
Nous avons joué à Pokémon Go en faisant les courses. Nous avons suivi une route qui commence près de la maison, et nous avons attrapé beaucoup de nouveaux Pokémon. Nous sommes allés dans un parc plus loin. Nous avons vaincu trois arènes ! Ça signifie que nous avons pu laisser nos Pokémon là-bas jusqu'à ce que nos Pokémon soient vaincus ou qu'ils ne manquent de motivation. Ça nous fera gagner des PokéCoins, ce qui nous permettra d'augmenter nos inventaires plus tard. Ma fille avait suffisamment d'énergie pour marcher plus, donc après le retour de mon mari, ma fille et moi sommes allées au parc à proximité pour activer davantage de PokéStops et collecter plus d'objets. Comme il va faire très froid ces prochains jours, si elle veut jouer à l'extérieur aujourd'hui, je suis contente de l'accompagner.
</p>
<p>
Pour le souper, j'ai préparé une tourte au poulet avec de la pâte brisée que j'avais préparée hier soir. Ma fille m'a aidée à couper les ingrédients. Elle a aussi préparé sa collation pour l'école demain. Mon mari a préparé une salade romaine. On s'est régalés. Malheureusement, ma fille a laissé tomber son petit bol fait à la main et il s'est cassé. C'est la vie. Heureusement, elle avait fait beaucoup de petits bols grâce à son intérêt pour la poterie.
</p>
</div>
</div>
<div id="outline-container-entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-vendredi-le-vingt-trois-janvier" class="outline-3">
<h3 id="entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-vendredi-le-vingt-trois-janvier">Vendredi, le vingt-trois janvier</h3>
<div class="outline-text-3" id="text-entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-vendredi-le-vingt-trois-janvier">
<p>
J'ai réussi à donner envie à ma fille de se lever avec un pain au chocolat pour le petit-déjeuner, donc elle a eu du temps avant l'école.
</p>
<p>
J'ai copié la mauvaise clé de la diffusion en direct, donc j'ai été un peu en retard pour mon événement. Ce n'était pas grave. En tout cas, c'était gratuit. J'ai modifié ma fonction pour la reconnaissance vocale pour qu'elle insère le résultat au point que j'avais sélectionné. C'est même possible d'insérer à plusieurs points si je veux. J'ai aussi créé une fonction pour mettre les enregistrements en file d'attente pour la reconnaissance vocale et insérer au fur et à mesure les résultats.
</p>
<p>
Le coordinateur du cours de patinage m'a appelé pour dire que le cours de dimanche est annulé à cause du temps très froid.
</p>
<p>
Ma fille était enrhumée et malade. J'ai une petite inquiétude parce que son amie qui était venue chez nous commençait à éternuer à l'intérieur, mais c'était trop tard pour changer le plan. J'avais pensé que nos masques avaient peut-être suffi. J'étais un peu enrhumée, donc je vais faire un test rapide de COVID demain parce qu'elle déteste ça. C'est le bon moment pour hiberner. On doit persévérer.
</p>
</div>
</div>
<div id="outline-container-entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-samedi-le-vingt-quatre-janvier" class="outline-3">
<h3 id="entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-samedi-le-vingt-quatre-janvier">Samedi, le vingt-quatre janvier</h3>
<div class="outline-text-3" id="text-entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-samedi-le-vingt-quatre-janvier">
<p>
Ma fille a continué à se sentir malade, avec un mal de gorge et des éternuements. J'ai préparé de la bouillie de riz et elle l'a mangée. Elle a regardé Le Retour de Mary Poppins. J'ai effectué un test COVID, qui s'est avéré négatif. Il faut beaucoup de repos et de câlins. J'ai fait chauffer de l'eau au citron et au miel. Il faisait moins quinze degrés, très froid.
</p>
<p>
J'ai modifié mon logiciel pour transformer l'infolettre de Bike Brigade pour qu'il puisse traiter les émojis dans les textes. J'ai aussi mis à jour mon logiciel de recherche de livres sur le site de la bibliothèque.
</p>
<p>
Pour le souper, j'ai encore préparé de la bouillie de riz parce que j'aime ça quand je suis malade.
</p>
<p>
Une réflexion sur les limites :
</p>
<p>
Mes limites avec ma fille sont peut-être trop perméables. Voici quelques points de friction occasionnels.
</p>
<ul class="org-ul">
<li>Surstimulation à cause du chant ou du bavardage</li>
<li>Temps ou énergie, par exemple si elle veut passer du temps avec moi et que je suis préoccupée ou fatiguée</li>
<li>Mentalement, à cause des interruptions ou des demandes, ou aussi si je fais de ses problèmes les miens</li>
<li>Émotionnellement, par exemple si elle est en colère et veut me faire mal</li>
<li>Physiquement, par exemple si elle se blottit contre moi, ce qui m'empêche de taper sur l'ordinateur ou de bien dormir; ou si elle est en colère et me pousse</li>
</ul>
<p>
Quelles seraient les meilleures limites ?
</p>
<ul class="org-ul">
<li>Avant de me sentir surstimulée, je peux lui demander d'être un peu plus tranquille.</li>
<li>Pour le temps, je peux mettre un minuteur.</li>
<li>Mentalement, la plupart de mes tâches peuvent être mises de côté. Elle veut passer du temps avec moi, c'est génial et je sais que ce temps passe rapidement. Quant à ses problèmes… Il est difficile pour la plupart des parents de voir que leurs enfants sont en difficulté. Mais si j'essaie de résoudre ses problèmes à sa place (par exemple, son ennui à l'école), en fait ça revient à dire qu'elle ne peut pas les résoudre toute seule. Le moment idéal pour apprendre à résoudre des problèmes est celui où les problèmes sont petits.</li>
<li>Émotionnellement ou physiquement : si elle est en colère, il n'y a pas grand-chose que je puisse faire. Elle peut se calmer dans sa chambre ou bien je peux me calmer dans ma chambre. Il est important que ma fille apprenne qu'elle doit gérer ses propres émotions.</li>
</ul>
<p>
Le fait de fixer de meilleures limites nous aidera parce que j'aurai plus d'énergie et je serai plus heureuse, et elle sera plus compétente dans la vie et dans les interactions.
</p>
<p>
Mais c'est un peu difficile pour moi parce que je pense souvent pouvoir m'adapter, et le temps file. Elle grandira bientôt. Je doute aussi parfois de connaître la bonne voie.
</p>
<p>
J'ai mis en pratique le maintien de mes limites. Elle a fini par se fatiguer en regardant la télévision, donc elle a voulu jouer à un jeu de société avec moi. Mais je n'ai pas voulu jouer aux jeux qu'elle proposait parce qu'ils demandaient trop de concentration. De son côté, elle n'a pas voulu jouer aux jeux que je proposais parce qu'ils étaient trop simples. J'ai aussi voulu finir de modifier mon logiciel pour l'infolettre. J'ai mis un minuteur pour une demi-heure et je suis allée au sous-sol pour y travailler. Elle m'a demandé un câlin. J'ai dit que je n'étais pas libre mais que je pourrais lui faire un câlin après avoir fini mon travail. Elle est remontée à l'étage et s'est amusée. Comme promis, après avoir fini, je lui ai fait un câlin pendant qu'elle regardait la télévision. J'ai proposé de jouer avec elle, mais à ce moment-là, elle n'a pas voulu jouer. C'est la vie. Nous avons regardé la télévision ensemble.
</p>
<p>
Concernant mes limites avec les autres, je pense qu'en ce moment, je voudrais devenir plus prudente au lieu de faire confiance aux autres. C'est vrai que c'est facile de ressentir ça quand on est malade. Si j'avais eu une machine à remonter le temps, je n'aurais pas invité son amie. Les moments plus optimistes me manquent, mais on en est là. Peut-être qu'un jour, se voir en vrai sera plus facile, mais pour l'instant, il faudra se contenter d'être en ligne ou à l'extérieur.
</p>
</div>
</div>
<div id="outline-container-entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-dimanche-le-vingt-cinq-janvier" class="outline-3">
<h3 id="entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-dimanche-le-vingt-cinq-janvier">Dimanche, le vingt-cinq janvier</h3>
<div class="outline-text-3" id="text-entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-dimanche-le-vingt-cinq-janvier">
<p>
Nous continuons d'être malades, mais je pense que ma fille va mieux. Mon mari et moi portons des masques dans les pièces communes chez nous pour réduire les risques. Nous y sommes habitués. La fois où mon mari a eu le COVID, ma fille et moi avons réussi à l'éviter.
</p>
<p>
J'ai créé des fonctions pour corriger la grammaire en français sous Emacs avec flyspell combiné à gptel (pour le modèle d'IA openai/gpt-oss-120b sur groq.com) ou à Spookfox (pour l'interface web gratuite de Google Gemini). Je pense que les résultats de Gemini sont meilleurs que ceux d'OpenAI/gpt-oss-120b, mais l'utilisation d'OpenAI/gpt-oss-120b présente aussi un avantage, car je n'ai pas besoin d'appuyer sur une touche une fois le résultat prêt. Comme j'apprends le français, je ne veux pas qu'Emacs réécrive mon texte automatiquement. Je veux souligner les erreurs, afficher les explications et les corriger moi-même.
</p>
<p>
À cause du froid extrême et de l'énorme quantité de neige, le cours de patinage de ma fille a été annulé, donc elle est restée une vraie pantouflarde toute la journée. Malgré la neige, je suis sortie pour déneiger. Il valait mieux le faire quand la neige était légère. J'ai déneigé nos allées, la terrasse, le porche, les marches et les trottoirs même jusqu'à la rue d'à côté parce que des voisins ne déneigent pas souvent bien les leurs. Chaque fois que je finissais le travail, il tombait davantage de neige, donc je recommençais. Deux heures ! La neige continuait à tomber. Je tournais toujours en rond. On dirait que rien n'a été déneigé du tout. Nous manquons d'espace pour entasser la neige dans la cour avant. Heureusement, la cour arrière a plus d'espace, donc je peux transporter la neige avec une luge jusqu'au jardin arrière si c'est nécessaire. En tout cas, c'est un bon exercice. Une fois que je suis rentrée, mon mari est sorti et a aussi déneigé.
</p>
<p>
Ma sœur qui habite aux Pays-Bas m'a appelée parce que Donjons et Dragons intéressait
l'une de ses filles et elle se demande si ma fille veut y jouer avec elles et avec notre autre sœur qui était souvent la meneuse de jeu quand nous étions plus jeunes. Je pense que c'est une bonne occasion de créer des liens entre les cousines. Nous allons organiser une partie. Ma sœur a aussi apprécié le discours du Premier ministre du Canada, Mark Carney, à Davos. Elle pense que c'est un bon modèle pour sa fille qui subit du harcèlement à l'école.
</p>
</div>
</div>
<div id="outline-container-entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-prononciation" class="outline-3">
<h3 id="entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-prononciation">Prononciation</h3>
<div class="outline-text-3" id="text-entr-es-de-journal-la-semaine-du-19-janvier-au-25-javier-2026-prononciation">
<p>
Extrait de <a href="https://sachachua.com/blog/2026/01/la-semaine-du-12-janvier-au-18-janvier/">La semaine du 12 janvier au 18 janvier</a>:
</p>
<ul class="org-ul">
<li>… et elle a du mal à se débrouiller. (day broo yay)</li>
<li>Peut-être que je ne pose pas la bonne question (kes tion) quand je me demande ce qu'un parent responsable fait.</li>
<li>… ce qui est étonnamment utile pour me souvenir de ce que je viens de penser. (pehn say)</li>
<li>J'ai aussi travaillé sur l'outil (loo teel) de visualisation et la gestion du routage audio.</li>
<li>J'ai publié un article (ar tee kleuh) avec quelques captures d'écran sur mon blog.</li>
<li>Elle m'a distribué de l'eau chaude, des chaussettes pelucheuses pour moi et des gouttes pour ses yeux. (says yeuh)</li>
<li>… si l'énoncé était très court, l'horodatage initial est peut-être manquant (man kahn) ou inexact (ein ex act)</li>
<li>Il faudra peut-être que j'analyse les silences (see lehns) dans le fichier audio pour déterminer un horodatage initial raisonnable.</li>
<li>Je ne consulte pas souvent mes courriels professionnels, donc j'ai failli (faie yee) la rater.</li>
<li>Ils ont besoin du plan de salle (sal) pour des événements.</li>
<li>… nous avons déneigé des trottoirs (trawh twoirs) et des coins des rues dans notre voisinage</li>
</ul>
</div>
</div>
<div><a href="https://sachachua.com/blog/2026/01/la-semaine-du-19-janvier-au-25-javier-2026/index.org">View org source for this post</a></div>
<p>You can <a href="mailto:sacha@sachachua.com?subject=Comment%20on%20https%3A%2F%2Fsachachua.com%2Fblog%2F2026%2F01%2Fla-semaine-du-19-janvier-au-25-javier-2026%2F&body=Name%20you%20want%20to%20be%20credited%20by%20(if%20any)%3A%20%0AMessage%3A%20%0ACan%20I%20share%20your%20comment%20so%20other%20people%20can%20learn%20from%20it%3F%20Yes%2FNo%0A">e-mail me at sacha@sachachua.com</a>.</p>The original FINAL FANTASY VII is getting a new refreshed edition - GamingOnLinux Latest Articleshttps://www.gamingonlinux.com/2026/01/the-original-final-fantasy-vii-is-getting-a-new-refreshed-edition/2026-01-29T18:54:22.000ZSquare Enix just announced that the original FINAL FANTASY VII is being refreshed, with existing owners granted a free copy of the new one.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/287718732id28405gol.jpg" alt /></p><p>Read the full article on <a href="https://www.gamingonlinux.com/2026/01/the-original-final-fantasy-vii-is-getting-a-new-refreshed-edition/">GamingOnLinux</a>.</p>HUNTDOWN: OVERTIME looks like a glorious follow-up to HUNTDOWN from 2021 - GamingOnLinux Latest Articleshttps://www.gamingonlinux.com/2026/01/huntdown-overtime-looks-like-a-glorious-follow-up-to-huntdown-from-2021/2026-01-29T18:45:51.000ZEasy Trigger Games and Coffee Stain Publishing just revealed HUNTDOWN: OVERTIME, a prequel to the original popular action-packed HUNTDOWN from 2021.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/180948501id28404gol.jpg" alt /></p><p>Read the full article on <a href="https://www.gamingonlinux.com/2026/01/huntdown-overtime-looks-like-a-glorious-follow-up-to-huntdown-from-2021/">GamingOnLinux</a>.</p>Tinder Hasn’t Worked, So I’m Putting Myself on Zillow - McSweeney’shttps://www.mcsweeneys.net/articles/tinder-hasnt-worked-so-im-putting-myself-on-zillow2026-01-29T17:30:00.000Z<p>After a decade on dating apps, I’ve decided to enter a different market. This is why I’m listing myself on Zillow until I find a good match—which, to my understanding, will be about forty-eight hours.</p> <p>I realize that my late-’80s construction might not land me in the “trending” section right away, but I asked my friend Shelly—who hosts occasional RE/<span class="caps">MAX</span> open houses now that she’s accepted that her remaining doTerra stock will never sell—to vouch for me as “having a lot of character.” And let’s be real, even if I did have the personality of a McMansion, in this economy, lots of people would still put on brave smiles and call me “aspirational.”</p> <p>Shelly was concerned for me at first: “Aren’t you worried about getting messages with intrusive questions?” But she met her husband at a Mumford & Sons concert in 2012, so she wasn’t around when we were fighting for our lives on the browser version of OkCupid. I had to explain to her that I’d already gotten every “Are those original?” and carpet-versus-drapes question via DM back when I was still on Match.com. Whatever people want to know, I can handle it.</p> <p>More than anything, I’m looking forward to finally getting recognition for having good bones. I’ve maintained a steady intake of Vitamin D since the “Got Milk” days, and in my thirties, I’ve even learned how to use weight machines correctly. But do any of the gym-selfie finance bros think to swipe right to ask about that? Of course not. They’re all looking for a twenty-four-year-old with a super-low square footage and the same smooth beige walls. I’ve got texture, baby.</p> <p>This new-platform move has brought with it relational questions I wasn’t asking myself in my twenties, like “Am I open to couples?” And my answer is yes, if I feel like they’ve got what it takes to take good care of me. Hell, I could even see myself being occupied by groups. I’ll be upfront about what I’m not zoned for, but otherwise? Tell me what you want to do inside of me, I’m listening.</p> <p>Most of me is just thrilled at the thought of being fought over. For once in my life, I can let people come to me with pitches about why they think they’d be perfect for me, rather than messaging with matches who didn’t even bother to read my profile. I’m too old for “How was your weekend?” over and over again. I want a “How soon can I come check it out?” type of proactivity.</p> <p>My only problems now will be keeping my showing schedule straight and deciding who gets to see my secret rooms.</p> <p>Sure, I’ll do some basic manicuring to increase my curb appeal—maybe spray a nice scent—but that’s about it. I’m open to a bit of remodeling, but that needs to be on someone else’s budget. I’m putting myself up as-is to see whose interest it piques, and frankly, I’m not worried. Do you see how many of these listings get snatched up in a day with only one or two subpar photos?</p> <p>All I know is, I’m never again going to accept an offer below asking.</p>Whopping new Crimson Desert video sharpens suspicion that it's a really shonky Zelda: Tears of the Kingdom - Rock Paper Shotgun Latest Articles Feedhttps://www.rockpapershotgun.com/whopping-new-crimson-desert-video-sharpens-suspicion-that-its-a-really-shonky-zelda-tears-of-the-kingdom2026-01-29T17:14:11.000Z<img src="https://assetsio.gnwcdn.com/crimsondesert_hbNO2NC.jpg?width=690&quality=85&format=jpg&auto=webp" /> <p>When I first played <a href="https://www.rockpapershotgun.com/games/crimson-desert">Crimson Desert</a> I had trouble working out what it wanted to be – Spider-Man? The Witcher? <a href="https://www.rockpapershotgun.com/games/dynasty-warriors">Dynasty Warriors</a>? Dragon’s Dogma? Jedi Academy? The first of three new talkthrough videos from developers Pearl Abyss has helped concentrate the game in my mind. This is a grittier medieval fantasy take on The Legend Of Zelda: Tears Of The Kingdom, isn’t it! Those airborne ruins are a dead giveaway. All it’s missing is the elegance and feeling of completeness. OK, it doesn’t have a magic vehicle editor, either. That I know about. Without further ado, here’s the video.
</p> <p><a href="https://www.rockpapershotgun.com/whopping-new-crimson-desert-video-sharpens-suspicion-that-its-a-really-shonky-zelda-tears-of-the-kingdom">Read more</a></p>VHS-veiled Huntdown: Overtime, a retro gangland roguelite run and gunner, arrives in early access this year - Rock Paper Shotgun Latest Articles Feedhttps://www.rockpapershotgun.com/vhs-veiled-huntdown-overtime-a-retro-gangland-roguelite-run-and-gunner-arrives-in-early-access-this-year2026-01-29T16:53:13.000Z<img src="https://assetsio.gnwcdn.com/huntdown-overtime-early-access-this-year-01.jpg?width=690&quality=85&format=jpg&auto=webp" /> <p>Break out your blocky cybernetic killing apparatus and the sort of shotgun Arnold Schwarzenegger might have wielded on the big screen back in the days of big hair and cocaine. Huntdown: Overtime, a prequel to side-scrolling shoot-em-up Huntdown has been announced and is set to arrive in early access this year.</p>
<p><a href="https://www.rockpapershotgun.com/vhs-veiled-huntdown-overtime-a-retro-gangland-roguelite-run-and-gunner-arrives-in-early-access-this-year">Read more</a></p>Stardew Valley dev makes it clear Haunted Chocolatier is progressing well - GamingOnLinux Latest Articleshttps://www.gamingonlinux.com/2026/01/stardew-valley-dev-makes-it-clear-haunted-chocolatier-is-progressing-well/2026-01-29T16:25:32.000ZHaunted Chocolatier will eventually be the next game from Stardew Valley creator "ConcernedApe" (Eric Barone), and the good news is that it's still coming.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/1659598870id28403gol.png" alt /></p><p>Read the full article on <a href="https://www.gamingonlinux.com/2026/01/stardew-valley-dev-makes-it-clear-haunted-chocolatier-is-progressing-well/">GamingOnLinux</a>.</p>Using Silero voice activity detection to automatically queue multiple transcriptions with natrys/whisper.el - Sacha Chuahttps://sachachua.com/blog/2026/01/using-silero-voice-activity-detection-to-automatically-queue-multiple-transcriptions-with-natrys-whisper-el/2026-01-29T16:24:46.000Z<p>
I can <a href="https://sachachua.com/blog/2026/01/queue-multiple-transcriptions-with-whisper-el-speech-recognition/">queue multiple transcriptions with whisper.el</a> so that they get processed sequentially with backup audio. It catches up when I pause to think. Now I want to use <a href="https://pytorch.org/hub/snakers4_silero-vad_vad/">Silero voice activity detection</a> to do that kind of segmentation for me automatically.
</p>
<p>
First, I need a Python server that can print out events when it notices the start or stop of a speech segment. If I print out the timestamps, I might be able to cross-reference it someday with interestingthings. For now, even just paying attention to the end of a segment is enough for what I want to do.
</p>
<details class="code-details" style="padding: 1em;
border-radius: 15px;
font-size: 0.9em;
box-shadow: 0.05em 0.1em 5px 0.01em #00000057;">
<summary><strong>Python script for printing out events</strong></summary>
<div class="org-src-container">
<pre class="src src-python"><code><span class="org-keyword">import</span> sounddevice <span class="org-keyword">as</span> sd
<span class="org-keyword">import</span> numpy <span class="org-keyword">as</span> np
<span class="org-keyword">import</span> torch
<span class="org-keyword">import</span> sys
<span class="org-keyword">from</span> datetime <span class="org-keyword">import</span> datetime, timedelta
<span class="org-variable-name">SAMPLING_RATE</span> <span class="org-operator">=</span> 16000
<span class="org-variable-name">CHUNK_SIZE</span> <span class="org-operator">=</span> 512
<span class="org-variable-name">model</span>, <span class="org-variable-name">utils</span> <span class="org-operator">=</span> torch.hub.load(repo_or_dir<span class="org-operator">=</span><span class="org-string">'snakers4/silero-vad'</span>,
model<span class="org-operator">=</span><span class="org-string">'silero_vad'</span>,
force_reload<span class="org-operator">=</span><span class="org-constant">False</span>)
(<span class="org-variable-name">get_speech_timestamps</span>, <span class="org-variable-name">save_audio</span>, <span class="org-variable-name">read_audio</span>, <span class="org-variable-name">VADIterator</span>, <span class="org-variable-name">collect_chunks</span>) <span class="org-operator">=</span> utils
<span class="org-variable-name">vad_iterator</span> <span class="org-operator">=</span> VADIterator(model, threshold<span class="org-operator">=</span>0.5, min_silence_duration_ms<span class="org-operator">=</span>1000)
<span class="org-variable-name">stream_start_time</span> <span class="org-operator">=</span> <span class="org-constant">None</span>
<span class="org-keyword">def</span> <span class="org-function-name">format_iso_with_offset</span>(offset_seconds):
<span class="org-keyword">if</span> stream_start_time <span class="org-keyword">is</span> <span class="org-constant">None</span>:
<span class="org-keyword">return</span> <span class="org-string">"PENDING"</span>
<span class="org-variable-name">event_time</span> <span class="org-operator">=</span> stream_start_time <span class="org-operator">+</span> timedelta(seconds<span class="org-operator">=</span>offset_seconds)
<span class="org-keyword">return</span> event_time.astimezone().isoformat(timespec<span class="org-operator">=</span><span class="org-string">'milliseconds'</span>)
<span class="org-keyword">def</span> <span class="org-function-name">audio_callback</span>(indata, frames, time, status):
<span class="org-keyword">global</span> stream_start_time
<span class="org-keyword">if</span> status:
<span class="org-builtin">print</span>(status, file<span class="org-operator">=</span>sys.stderr)
<span class="org-keyword">if</span> stream_start_time <span class="org-keyword">is</span> <span class="org-constant">None</span>:
<span class="org-variable-name">stream_start_time</span> <span class="org-operator">=</span> datetime.now()
<span class="org-variable-name">tensor_input</span> <span class="org-operator">=</span> torch.from_numpy(indata.copy()).flatten()
<span class="org-variable-name">speech_dict</span> <span class="org-operator">=</span> vad_iterator(tensor_input, return_seconds<span class="org-operator">=</span><span class="org-constant">True</span>)
<span class="org-keyword">if</span> speech_dict:
<span class="org-keyword">if</span> <span class="org-string">"start"</span> <span class="org-keyword">in</span> speech_dict:
<span class="org-builtin">print</span>(f<span class="org-string">"START </span>{format_iso_with_offset(speech_dict['start'])}<span class="org-string">"</span>, flush<span class="org-operator">=</span><span class="org-constant">True</span>)
<span class="org-keyword">if</span> <span class="org-string">"end"</span> <span class="org-keyword">in</span> speech_dict:
<span class="org-builtin">print</span>(f<span class="org-string">"END </span>{format_iso_with_offset(speech_dict['end'])}<span class="org-string">"</span>, flush<span class="org-operator">=</span><span class="org-constant">True</span>)
<span class="org-keyword">try</span>:
<span class="org-keyword">with</span> sd.InputStream(samplerate<span class="org-operator">=</span>SAMPLING_RATE,
channels<span class="org-operator">=</span>1,
callback<span class="org-operator">=</span>audio_callback,
blocksize<span class="org-operator">=</span>CHUNK_SIZE):
<span class="org-keyword">while</span> <span class="org-constant">True</span>:
<span class="org-keyword">pass</span>
<span class="org-keyword">except</span> <span class="org-type">KeyboardInterrupt</span>:
<span class="org-builtin">print</span>(<span class="org-string">"</span><span class="org-constant">\n</span><span class="org-string">Stopping..."</span>)
</code></pre>
</div>
</details>
<p>
Then I can start this process from Emacs:
</p>
<div class="org-src-container">
<pre class="src src-emacs-lisp"><code>(<span class="org-keyword">defvar</span> <span class="org-variable-name">my-vad-events-process</span> nil)
(<span class="org-keyword">defvar</span> <span class="org-variable-name">my-vad-events-dir</span> <span class="org-string">"~/proj/speech/"</span>)
(<span class="org-keyword">defvar</span> <span class="org-variable-name">my-vad-events-command</span> <span class="org-highlight-quoted-quote">`</span>(,(expand-file-name <span class="org-string">".venv/bin/python"</span> my-vad-events-dir)
<span class="org-string">"vad-events.py"</span>))
(<span class="org-keyword">defun</span> <span class="org-function-name">my-vad-events-filter</span> (proc string)
(<span class="org-keyword">when</span> (<span class="org-keyword">and</span> (string-match <span class="org-string">"^END"</span> string)
(process-live-p whisper--recording-process))
(message <span class="org-string">"Noticed speech turn..."</span>)
(my-whisper-continue)))
(<span class="org-keyword">defun</span> <span class="org-function-name">my-vad-events-ensure</span> ()
<span class="org-doc">"Start the process if it's not already running."</span>
(<span class="org-keyword">interactive</span>)
(<span class="org-keyword">unless</span> (process-live-p my-vad-events-process)
(<span class="org-keyword">let</span> ((default-directory my-vad-events-dir)
(process-environment
(cons
(format
<span class="org-string">"PULSE_PROP=node.description='</span><span class="org-string"><span class="org-constant">%s</span></span><span class="org-string">' media.name='</span><span class="org-string"><span class="org-constant">%s</span></span><span class="org-string">' node.name='</span><span class="org-string"><span class="org-constant">%s</span></span><span class="org-string">'"</span>
<span class="org-string">"vad"</span> <span class="org-string">"vad"</span> <span class="org-string">"vad"</span>)
process-environment)))
(<span class="org-keyword">setq</span> my-vad-events-process
(make-process
<span class="org-builtin">:name</span> <span class="org-string">"vad-events"</span>
<span class="org-builtin">:command</span> my-vad-events-command
<span class="org-builtin">:buffer</span> (get-buffer-create <span class="org-string">"*vad-events*"</span>)
<span class="org-builtin">:stderr</span> (get-buffer-create <span class="org-string">"*vad-events-err*"</span>)
<span class="org-builtin">:filter</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">my-vad-events-filter</span>)))))
</code></pre>
</div>
<p>
Because I added Pulse properties to the process environment, I can easily use <a href="https://sachachua.com/blog/2026/01/visualizing-and-managing-pipewire-audio-graphs-from-emacs/">epwgraph</a> to rewire the input so that it gets the input from my VirtualMicSink instead of the default system audio device. (Someday I'll figure out how to specify that as the input automatically.)
</p>
<p>
Now I can press my shortcut for <code>my-whisper-continue</code> to start the process. As I keep talking, it will continue to record. When I pause for more than a second between sentences, then it will send that chunk to the server for transcription without me having to press another button, while still listening for more speech.
</p>
<p>
How is this different from the streaming approach that many real-time speech recognition services offer? I think this gives me a bit more visibility into and control of the process. For my personal use, I don't need to have everything processed as quickly as possible, and I'm not trying to replicate live captions. I just want to be able to look back over the last five minutes to try to remember what I was talking about. I usually have a lot of quiet time as I think through my next steps, and it's fine to have it catch up then. I also like that I can save time-stamped audio files for later processing, divided according to the speech segments. Those might be a little bit easier to work with when I get around to compositing them into a video.
</p>
<div class="note">This is part of my <a href="https://sachachua.com/dotemacs#writing-and-editing-speech-recognition-using-silero-voice-activity-detection-to-automatically-queue-multiple-transcriptions-with-natrys-whisper-el">Emacs configuration.</a></div><div><a href="https://sachachua.com/blog/2026/01/using-silero-voice-activity-detection-to-automatically-queue-multiple-transcriptions-with-natrys-whisper-el/index.org">View org source for this post</a></div>
<p>You can <a href="mailto:sacha@sachachua.com?subject=Comment%20on%20https%3A%2F%2Fsachachua.com%2Fblog%2F2026%2F01%2Fusing-silero-voice-activity-detection-to-automatically-queue-multiple-transcriptions-with-natrys-whisper-el%2F&body=Name%20you%20want%20to%20be%20credited%20by%20(if%20any)%3A%20%0AMessage%3A%20%0ACan%20I%20share%20your%20comment%20so%20other%20people%20can%20learn%20from%20it%3F%20Yes%2FNo%0A">e-mail me at sacha@sachachua.com</a>.</p>Time to climb a weird mountain in Cairn, the windy backpacking odyssey from the creators of Haven and Furi - Rock Paper Shotgun Latest Articles Feedhttps://www.rockpapershotgun.com/time-to-climb-a-weird-mountain-in-cairn-the-windy-backpacking-odyssey-from-the-creators-of-haven-and-furi2026-01-29T16:20:27.000Z<img src="https://assetsio.gnwcdn.com/Cairn_olCgPpZ.jpg?width=690&quality=85&format=jpg&auto=webp" /> <p>
One of the nicer Industry Trends of the past few years has been the rise and rise and rise of climbing sims. It turns out climbing is a source of many emotions, from the melancholy wonder of <a href="https://www.rockpapershotgun.com/games/jusant">Jusant</a> through the savage loneliness of <a href="https://www.rockpapershotgun.com/games/lorns-lure">Lorn's Lure</a> to the slapstick camaraderie of <a href="https://www.rockpapershotgun.com/games/peak">Peak</a> and the agony of <a href="https://www.rockpapershotgun.com/the-creator-of-a-game-about-eternal-punishment-and-frustration-is-tired-of-playtesting-it">various Sisyphus sims</a>. Also <a href="https://www.rockpapershotgun.com/games/celeste">Celeste</a>. And I guess we should mention <a href="https://www.rockpapershotgun.com/games/getting-over-it">Getting Over It</a> here? See, it's an absolute avalanche.
</p>
<p>
Cairn is on the somber side. Created by The Game Bakers, it's about a woman with bandaged legs and a scuttling robo buddy. She's trying to reach the top of a mysterious mountain, with a selection of routes to choose from and a backpack inventory to manage. I get the sense that there's more up there than goats, snow and the tents of fellow climbers. We will find out shortly, for Cairn is <a href="https://store.steampowered.com/app/1588550/Cairn/">on sale now on Steam</a>.
</p> <p><a href="https://www.rockpapershotgun.com/time-to-climb-a-weird-mountain-in-cairn-the-windy-backpacking-odyssey-from-the-creators-of-haven-and-furi">Read more</a></p>Turtle Beach Vulcan II TKL gaming keyboard review - Rock Paper Shotgun Latest Articles Feedhttps://www.rockpapershotgun.com/turtle-beach-vulcan-ii-tkl-gaming-keyboard-review2026-01-29T16:11:15.000Z<img src="https://assetsio.gnwcdn.com/Turtle-Beach-Vulcan-II-TKL-Quick-Kits.jpg?width=690&quality=85&format=jpg&auto=webp" /> <p><em>Hello you. Welcome to <a href="https://www.rockpapershotgun.com/topics/quick-kits">Quick Kits</a>, a new series of PC hardware reviews for people who just want to know, with minimal preamble and probably zero bar charts, what a piece of gear is like to use. I’ll still be testing everything as if it were getting a full-length writeup, but shrink-raying the wordy parts should help us bring you more hardware advice, more often, and across a wider range of component and peripheral types.</em></p>
<p><em>I’ve got just the thing to get us started with, too: a three-month-old keyboard. You’re welcome.</em></p>
<p><a href="https://www.rockpapershotgun.com/turtle-beach-vulcan-ii-tkl-gaming-keyboard-review">Read more</a></p>A proposed governance structure for openSUSE - LWN.nethttps://lwn.net/Articles/1056593/2026-01-29T15:44:17.000Z<a href="https://en.opensuse.org/User:Jeff_mahoney">Jeff Mahoney</a>, who
holds a vice-president position at SUSE, has posted <a
href="https://lwn.net/ml/all/570f67b7-bd58-41cb-8027-3eec220752b5@suse.com">a detailed
proposal</a> for improving the governance of the openSUSE project.
<p>
<blockquote class="bq">
It's meant to be a way to move from governance by volume or
persistence toward governance by legitimacy, transparency, and
process - so that disagreements can be resolved fairly and the
project can keep moving forward. Introducing structure and
predictability means it easier for newcomers to the project to
participate without needing to understand decades of accumulated
history. It potentially could provide a clearer roadmap for
developers to find a place to contribute.
</blockquote>
<p>
The stated purpose is to start a discussion; this is openSUSE, so he is
likely to succeed.[$] Sub-schedulers for sched_ext - LWN.nethttps://lwn.net/Articles/1056014/2026-01-29T15:36:23.000ZThe <a href="https://lwn.net/Articles/922405/">extensible scheduler class</a> (sched_ext)
allows the installation of a custom CPU scheduler built as a set of BPF
programs. Its merging for the 6.12 kernel release moved the kernel away
from the "one scheduler fits all" approach that had been taken until then;
now any system can have its own scheduler optimized for its workloads.
Within any given machine, though, it's still "one scheduler fits all"; only
one scheduler can be loaded for the system as a whole. The <a
href="https://lwn.net/ml/all/20260121231140.832332-1-tj@kernel.org">sched_ext
sub-scheduler patch series</a> from Tejun Heo aims to change that situation
by allowing multiple CPU schedulers to run on a single system.Yarrrrrgh, cool, so the cabin boy's now well and truly been let out onto the poop deck - Rock Paper Shotgun Latest Articles Feedhttps://www.rockpapershotgun.com/yarrrrrgh-cool-so-the-cabin-boys-now-well-and-truly-been-let-out-onto-the-poop-deck2026-01-29T15:34:56.000Z<img src="https://assetsio.gnwcdn.com/assassins-creed-black-flag-remake-finally-acknowledged-ubisoft-01.jpg?width=690&quality=85&format=jpg&auto=webp" /> <p>After years worth of all of <a href="https://www.rockpapershotgun.com/ubisoft-might-be-remaking-their-swashbuckling-pirateventure-assassins-creed-iv-black-flag">that</a>, and <a href="https://www.rockpapershotgun.com/rumoured-assassins-creed-black-flag-remake-seemingly-teased-by-actor-whos-pretty-chill-about-loose-lips-sinking-ships">this</a>, and <a href="https://www.rockpapershotgun.com/the-assassins-creed-4-black-flag-remake-will-release-in-march-2026-according-to-the-latest-whispers">that</a>, and <a href="https://www.rockpapershotgun.com/assassins-creed-black-flag-resynced-rated-by-pegi-as-the-siren-song-of-remake-sea-shanties-grows-deafening">the other thing</a>, they've just randomly decided now's the time to acknowledge it. Via a Tweeter reply containing that GTA: San Andreas meme no less. I may be a weathered old sailor with cannon fuses tied into my beard and more trips up the rigging than I can count to my name, but I didn't foresee this being how Ubisoft finally acknowledged that Assassin's Creed 4: Black Flag remake.</p>
<p><a href="https://www.rockpapershotgun.com/yarrrrrgh-cool-so-the-cabin-boys-now-well-and-truly-been-let-out-onto-the-poop-deck">Read more</a></p>Return Of The Prodigal Son - Irrealhttps://irreal.org/blog/?p=135752026-01-29T15:29:40.000Z<p>
Well, not really prodigal, but the return—nonetheless—of a son assumed lost. Michał Sapka has a blog post about his <a href="https://michal.sapka.pl/weblog/2026/rte-return-to-emacs/">return to Emacs</a>. A while ago, Sapka left Emacs for Vim and the shell. He liked them but realized that Emacs <i>really is</i> different.
</p>
<p>
The way it’s different is telling. Although you can do anything in Vim and shell, Emacs is different. As Sapka puts it,
</p>
<blockquote>
<p>
It’s not that nothing stops you from connecting Mastodon.el, Magit and Mu4e, it’s that it’s natural.
</p>
</blockquote>
<p>
Because all of Emacs is exposed to the user, it’s easy to modify it to fit your workflow and string together disparate applications in ways that their authors never intended. Sapka makes the same point that Irreal and others have made: it’s not that Emacs has an extension language, it’s that Emacs’ source code is modifiable on the fly from within the application itself at run time. It’s a whole different thing.
</p>
<p>
Sapka admits that there are problems but says that they are solvable. Depending on your work environment, solving them may be more or less difficult but they remain solvable.
</p>
<p>
In any event, Sapka has returned to Emacs because, in the end, nothing else provides the same power and flexibility. He ends his post by noting that he’s—sort of—combined the power of Emacs and Vim by adopting Evil mode.</p>
Stardew Valley creator breaks silence to shoot down myths about Haunted Chocolatier, including that 2030 release rumour - Rock Paper Shotgun Latest Articles Feedhttps://www.rockpapershotgun.com/stardew-valley-creator-breaks-silence-to-shoot-down-myths-about-haunted-chocolatier-including-that-2030-release-rumour2026-01-29T15:08:50.000Z<img src="https://assetsio.gnwcdn.com/hauntedchocolatier.png?width=690&quality=85&format=jpg&auto=webp" /> <p>
<a href="https://www.rockpapershotgun.com/games/stardew-valley">Stardew Valley</a> creator Eric "ConcernedApe" Barone has emerged from the giant Easter egg in which he makes games to “debunk a few myths and false assumptions” about <a href="https://www.rockpapershotgun.com/games/haunted-chocolatier">Haunted Chocolatier</a>, his forthcoming sticky-fingered life sim. The good news is that he’s been “very productive” lately, though he admits that he “shouldn’t have announced the game so early”, which suggests we’ve a ways to go yet before the first proper Haunted Chocolatier trailer or info blowout.
</p>
<p><a href="https://www.rockpapershotgun.com/stardew-valley-creator-breaks-silence-to-shoot-down-myths-about-haunted-chocolatier-including-that-2030-release-rumour">Read more</a></p>Yakuza fans are demanding Sega recast a Kiwami 3 actor, and Dark Ties may make the situation worse - Rock Paper Shotgun Latest Articles Feedhttps://www.rockpapershotgun.com/yakuza-fans-are-demanding-sega-recast-a-kiwami-3-actor-and-dark-ties-may-make-the-situation-worse2026-01-29T15:00:00.000Z<img src="https://assetsio.gnwcdn.com/yakuza-kiwami-3-and-dark-ties-goh-hamazaki-01.jpg?width=690&quality=85&format=jpg&auto=webp" /> <p>If you spend much time reading Yakuza fans’ online discussions, you will see that all is not well ahead of the release of <a href="https://www.rockpapershotgun.com/games/yakuza-kiwami-3-and-dark-ties">Yakuza Kiwami 3 & Dark Ties</a> on February 11th. Fans are campaigning for publisher Sega and developer Ryu Ga Gotoku Studio to recast one of the actors in the upcoming remake.</p>
<p><a href="https://www.rockpapershotgun.com/yakuza-fans-are-demanding-sega-recast-a-kiwami-3-actor-and-dark-ties-may-make-the-situation-worse">Read more</a></p>Security updates for Thursday - LWN.nethttps://lwn.net/Articles/1056544/2026-01-29T14:33:18.000ZSecurity updates have been issued by <b>AlmaLinux</b> (java-25-openjdk, openssl, and python3.9), <b>Debian</b> (gimp, libmatio, pyasn1, and python-django), <b>Fedora</b> (perl-HarfBuzz-Shaper, python-tinycss2, and weasyprint), <b>Mageia</b> (glib2.0), <b>Oracle</b> (curl, fence-agents, gcc-toolset-15-binutils, glibc, grafana, java-1.8.0-openjdk, kernel, mariadb, osbuild-composer, perl, php:8.2, python-urllib3, python3.11, python3.11-urllib3, python3.12, and python3.12-urllib3), <b>SUSE</b> (alloy, avahi, bind, buildah, busybox, container-suseconnect, coredns, gdk-pixbuf, gimp, go1.24, go1.24-openssl, go1.25, helm, kernel, kubernetes, libheif, libpcap, libpng16, openjpeg2, openssl-1_0_0, openssl-1_1, openssl-3, php8, python-jaraco.context, python-marshmallow, python-pyasn1, python-urllib3, python-virtualenv, python311, python313, rabbitmq-server, xen, zli, and zot-registry), and <b>Ubuntu</b> (containerd, containerd-app and wlc).The Native Linux app for NVIDIA GeForce NOW is now in Beta - GamingOnLinux Latest Articleshttps://www.gamingonlinux.com/2026/01/the-native-linux-app-for-nvidia-geforce-now-is-now-in-beta/2026-01-29T14:23:05.000ZNVIDIA have today released the Beta for their new Native Linux app for GeForce NOW, available as a Flatpak so it should run across most x86-64 systems.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/741290845id28358gol.jpg" alt /></p><p>Read the full article on <a href="https://www.gamingonlinux.com/2026/01/the-native-linux-app-for-nvidia-geforce-now-is-now-in-beta/">GamingOnLinux</a>.</p>Four FINAL FANTASY games have arrived on GOG in the Preservation Program - GamingOnLinux Latest Articleshttps://www.gamingonlinux.com/2026/01/four-final-fantasy-games-have-arrived-on-gog-in-the-preservation-program/2026-01-29T12:11:07.000ZGOG announced today that their library has expanded again, with four FINAL FANTASY games now available on the DRM-free store.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/1943715222id28402gol.jpg" alt /></p><p>Read the full article on <a href="https://www.gamingonlinux.com/2026/01/four-final-fantasy-games-have-arrived-on-gog-in-the-preservation-program/">GamingOnLinux</a>.</p>