<?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet href="/log/atom.xsl" type="text/xsl"?><feed xmlns="http://www.w3.org/2005/Atom"> <id>https://si3t.ch/log/</id> <title>prx's log. geek de 17 ans ou un daron de 48, allez savoir.</title> <link rel="self" type="application/atom+xml" href="https://si3t.ch/log/atom.xml" /> <author> <name>prx</name> <email>prx@si3t.ch</email> </author> <updated>2024-11-16T20:12:22Z</updated> <entry> <title type="text">Utopiales 2024 - notes</title> <id>https://si3t.ch/log/2024-11-16-notes-utopiales-2024.txt</id> <updated>2024-11-16T20:11:51Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-11-16-notes-utopiales-2024.txt" /> <content type="text"><![CDATA[ Voici quelques notes en vrac comme je sais si mal les faire à propos des Utopiales 2024. Il y aura des noms de personnes qui m'ont inspiré, des ouvrages à lire, et du blabla. Peut-être que la prochaine fois j'organiserai tout ça un peu mieux, mais j'imagine que des gens font ça déjà beaucoup mieux que moi. En complément, il y a la chaîne Youtube avec quelques tables rondes à écouter: => https://www.youtube.com/@ideasinscience Les premiers jours furent plus pessimistes que d'habitude. C'était peut-être (sans doute) lié à mon état d'esprit un peu dépressif du moment et l'état du monde franchement pas terrible. J'ai eu le sentiment d'assister à des Dystopiales, malgré des conférences sur la réponse à apporter à l'arrivée de l'extrême droite aux portes du pouvoir. C'était d'autant plus vrai à écouter Nicolas Martin déchaîné, joussif à écouter et galvanisant malgré la noirceur de l'avenir possible. => https://www.youtube.com/watch?v=PqYjpWQuLEg Cléo Collomb aussi pertinente qu'intelligente, toute en mesure, très inspirante. Et lorsqu'Audrey Pleynet lui fait echo, c'est un régal! À plusieurs reprise, les gouvernements en place ont été pointés du doigt comme les sources de nos malheurs quotidiens (coucou Manu!). Ça fait du bien d'entendre des gens intelligents :) J'y ai découvert l'idée de Fiction Panier d'Ursula Le Guin. => https://www.terrestres.org/2018/10/14/la-theorie-de-la-fiction-panier/ Fiction panier Lisez ce texte, c'est court, très bien écrit. Il faut juste avoir vu le début de 2001 l'Odyssée de l'espace pour vraiment en profiter ;) Cela résonne tout à fait avec l'idée que je me fais du solarpunk, dont j'ai plus que jamais besoin. À ce propos, Alain Damasio parle de biopunk, avec l'idée d'être très orienté vers le vivant. Je regrette de ne pas avoir entendu mention du solarpunk pendant ces 4 jours, mais on m'a fait très plaisir en me complimentant sur ma veste XD. Ça fait partie des choses que j'adore aux Utopiales, la gentillesse, la simplicité, le respect, la proximité avec les gens. Une sorte d'expérience de société qui me conviendrait bien. Et encore, je ne vous évoque même pas la salle Zen : aucun bruit, des gens dorment allongés sur le sol, d'autres dessinent, les autres lisent... En plein coeur d'un festival avec des centaines de gens! J'ai craqué, on m'a laissé seul à la librairie, sans aucune surveillance. J'ai donc tout un tas de livres de Becky Chambers que j'aurais pu découvrir autrement. Ça me fait réalser que j'adore tout un tas d'autrices : Robin Hobb, Becky Chambers, Ursula Le Guin, Ada Palmer, Claire North, Fiona McIntosh... Pendant une table ronde sur la traduction et la Langue des Signes (LSF), ils ont évoqué le mot italien pour science-fiction : La fantascience. J'adore :) La rencontre avec Alain Damasio m'a retourné, j'avais enfin mes Utopiales et cet élan qui me donne envie d'avancer. J'ai vibré pendant 1h à l'écouter, c'était magique. Quelques extraits et citations approximatives : > On arrête de se battre contre, on se bat pour. > L'harmonie, c'est entrer en résonnace avec une oeuvre, avec les autres, sans altérer les individus ni gommer les différences. C'est tout tout sauf la fusion. > On crève de ne pas vouloir se composer avec ce qui n'est pas nous. > Les phonèmes sont comme les couleurs de Kandinsky. Le chromatisme des mots. Oh, j'allais oublier, il y avait une chasse au trésor dans le café de la cité. La veille du premier jour, mon ami m'a envoyé l'affiche annonçant cette chasse en photo au moment où j'allais me coucher. Très vite, on a reconnu du morse. Un indice dans l'imprimé indiquait que c'était à l'envers. Je me suis empressé de le traduire, en inversant . et _. Le message disait de suivre la file... Dès le premier jour, on a suivi les indices, avec les énigmes diffusées sur l'écran télé, dans la bibliothèque, sur la playlist Spotify... On aurait presque pu gagner si on n'était pas parti voir les tables rondes. Peu importe, c'était vraiment amusant et sympa de parler avec les gens qui cherchaient en même temps, même si la chasse était fermée ensuite. De belles rencontres! La dessinatrice qui était exposée et autrice de l'affiche de sUtopiales cette année a dû s'absenter, la vie n'est pas toujours tendre. Elle a quand même pris la peine de se filmer pour envoyer un message, qui a été diffusé. C'était émouvant, poignant. Roland Lehoucq a pris la relève avec une conférence sur la possibilité physique d'avoir des monstres aussi gros que Godzilla. Tout ce que j'adore dans ce qu'il fait :) À cette occasion, il a cité la phrase suivante qui m'a fait bien rire: > Les mathématiques, c'est cette branche de la physique pour laquelle les expériences ne coutent pas très cher. Sinon, à la tour LU, j'ai découvert des tables rondes de physique un peu + pointues, juste après avoir écouté Nathalie Besson sur le stand à côté de la scène Shayol qui parle du projet d'avoir des interféromètrs qui suivent la Terre sur son orbite pour détecter ondes gravitationnelles. Observer l'univers avec des ondes gravitationnelles plutôt que des photons qui mettent des centaintes voire des milliers d'années à sortir d'une étoile. Passionnant. Ce sont des projet sur 60 ans, la Terre est un vaisseau générationnel pour les scientifiques. Cela fait echo à l'unde des tables rondes des premiers jours d'ailleurs. Réfléchir à long terme, ce que ne font pas nos élus qui ne veulent qu'être... Réélus. Il y a aussi eu la conférence avec Michèle Leduc qui parle physique quantique. Une femme à qui on laisserait la place asisse dans le tram, mais qui est bien différente en réalité des apparences. Bluffante et si drôle! Les jeunes filles ont des modèles auxquels s'identifier pour voir émerger de belles vocations scientifiques. Je suis retourné aux Utopiales avec élèves le lundi. La conférence de physique de Roland Lehoucq était bien sérieuse et trop peu interactive. D'habitude, il fait du lien avec des oeuvres de SF... Là, c'était un VRAI cours de physique, difficile à tenir pour mes élèves de 3e. Mais j'ai eu le privilège et le plaisir de discuter avec lui quelques minutes ensuite, à propos de neutrinos qui nous permettraient d'observer l'univers à l'instar des photos, mais en mieux puisqu'ils n'interagissent pas avec la matière. Cela ressemblait à l'indée du projet expliqué par Nathalie Besson, c'est génial, ça fait rêver!!! Tout ce qui reste à découvrir... Tout ce potentiel humain... Tous ces rêves possibles... Vivement l'an prochain! Mars express revu pour la 2e fois, j'y ai compris encore d enouvelles choses, ce film est absolument génial avec une double fin. --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=notes-utopiales-2024 Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">De retour après les Utopiales</title> <id>https://si3t.ch/log/2024-11-13-de-retour-utopiales.txt</id> <updated>2024-11-13T14:12:11Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-11-13-de-retour-utopiales.txt" /> <content type="text"><![CDATA[ Le premier jeudi des Utopiales, mon accès à internet a été coupé. => https://www.utopiales.org/ Utopiales ## Panne réparée En fait, SFR, qui gère les lignes, a changé l'armoire. Ils ont débranché tout le monde, sans prévenir personne. Les enfoirés. Je suis client chez Free, j'ai donc du attendre qu'un technicien vienne me rebrancher :s C'est donc enfin résolu après 2 longues semaines! Ce qui m'aura le + manqué? * Mes sauvegardes, c'est toujours un peu stressant de ne pas pouvoir avoir une copie de mes cours * Mon compte XMPP pour échanger avec ma famille. * Mes mails * Publier des notes C'est pénible, mais ce n'est pas si grave, et ça fait partie du "jeu" de l'auto-hébergement. Heureusement, Vinishor m'accorde gentiement un backup mail pour récupérer mes messages. Ma VM chez openbsd.amsterdam fait de même. => https://vinishor.xyz/fr/ vinishor => https://openbsd.amsterdam/ Normalement, je devrai recevoir les mails qui m'ont été envoyés prochainement. J'espère vraiment ne pas en avoir perdu. Sinon, je devrai me résoudre, je préfère ça que de vendre mes données à un autre fournisseur. Ce qui m'inquiète, c'est que le roulement des signatures DNS avait lieu à cette période, du coup ça a mis le bazar puisque tous les serveurs autoritaires n'ont pas reçu les zones avec les nouvelles signatures en même temps. ## Les Utopiales J'ai plein de trucs à raconter sur les Utopiales. J'en ferai un article plus tard je pense, le temps de mettre de l'ordre dans mes notes manuscrites :) --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=de-retour-utopiales Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Plus d'email, si3t.ch down</title> <id>https://si3t.ch/log/2024-11-04-plus-d-email-si3tch-down.txt</id> <updated>2024-11-04T20:27:57Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-11-04-plus-d-email-si3tch-down.txt" /> <content type="text"><![CDATA[ Billet qui, peut-être, sera lu sur mirror.si3t.ch... Depuis jeudi dernier, premier jour des Utopiales, je n'ai plus d'accès à internet. Enfin si, je me débrouille avec le partage de connexion de mon smartphone, même si c'est plutôt lent et pénible. Quoi qu'il en soit, si3t.ch (ainsi que puffy.cafe), domaines que j'héberge, ne sont pas accessibles. Je m'aperçois à nouveau que même en ayant prévu des miroirs, à savoir mirror.si3t.ch ou le dépôt sur sourcehut, je commence à ressentir le manque. Manque d'accès à mes mails. J'ai des choses à dire à certaines personnes (coucou M!), des tas de choses, et je dois patienter que Free rétablisse mon accès à internet. J'ai aussi plusieurs choses à publier concernant des réflexions et choses vues aux Utopiales (encore!)... Ça me démange, besoin de partager ce que j'ai appris pour en faire quelque chose d'utile... Mais ça doit attendre apparemment. C'est sans doute une nécessité : j'ai du travail par dessus la tête avec toutes les réunions et évaluations à cette reprise. Allez, patience, et au boulot! --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=plus-d-email-si3tch-down Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">La vie d'après</title> <id>https://si3t.ch/log/2024-10-30-la-vie-apres.txt</id> <updated>2024-10-30T19:07:36Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-10-30-la-vie-apres.txt" /> <content type="text"><![CDATA[ Depuis tout petit, j'ai anticipé ce que serait ma vie future. À la fois de l'angoisse et des envies, il FALLAIT que ce soit bien clair. Les plans s'imbriquaient les uns aux autres, sinon, Morphée ne venait pas. Aussi je sais depuis très longtemps quels sont mes objectifs dans la vie : * De découvrir et comprendre le monde (science bitch !) ✔ * Rencontrer une femme aussi belle qu'inspirante ✔ * De devenir père ✔ * D'avoir ma maison, refuge dans ce monde ✔ * Jouer de la musique ✔ * Tenter de faire la différence par l'exemple, pas par la leçon ✔ Autant dire que je suis un homme comblé. À 35 ans, j'ai tout ce que je peux désirer. Certes, être père n'est pas de tout repos. Les angoisses et, tant qu'à faire, les terreurs s'accumulent. Entre l'aîné qui manque de s'étouffer avec une pièce de 2€, la petite qui a un caractère explosif, leur mère épuisée par le travail, les trajets en voiture où je lutte contre le sommeil... Sans parler du climat, de la politique, des cons... Dernièrement, j'ai comme l'impression qu'une partie de moi a disparu. non. Pas disparu, morte. La somme de l'impuissance devant l'avenir qui me dépasse ? La bascule d'un homme comblé? La crise de la quarantaine avant l'heure? Quoi qu'il en soit, en discutant avec mon entourage, je réalise que je n'anticipe plus le futur. Je ne me visualise pas vieux. Je n'imagine pas ma vie avec de l'arthrose, des cheveux blancs (en +), les mains qui tremblent et les bras faibles. Je n'arrive pas à me voir après 40 ans. C'est un peu morbide, mais une part de moi est convaincue que je vais mourir bientôt. Oh, pas d'appitoiement s'il vous plaît, je suis comblé, alors... Je reste conscient que mes enfants ont besoin de moi, et je veux être là pour eux. Je me retiens de réfléchir à l'avenir et d'anticiper les catastrophes climatiques qu'ils devront vivre. Ils auront besoin d'aide. Malgré tout ce qui pourrait me retenir à ce monde semble s'étioler de plus en plus. Déprime? Peut-être. Besoin d'un psy? Sans doute. En attendant, au détour des liens recueillis par f6k (huld.re), j'ai découvert une liste d'objectifs que se donne Devine Lu Linvega. => http://huld.re/kiwi/liens.html => https://wiki.xxiivv.com/site/goals.html Ça fait du bien à lire, étrangement. Peut-être que ce qu'il me manque, ce qui me fait me sentir étrange, c'est ce manque d'anticipation du futur. Je dois réfléchir à mes objectifs de vie. Sérieusement. --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=la-vie-apres Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">souvenir d'école</title> <id>https://si3t.ch/log/2024-09-30-souvenir-d-ecole.txt</id> <updated>2024-09-30T20:51:25Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-09-30-souvenir-d-ecole.txt" /> <content type="text"><![CDATA[ Je me rappelle un truc qui m'est arrivé étant gamin. Tout fier de moi, je venais de tailler tout en finesse mon crayon de bois. Tellement bien taillé que la mine scintillait, la pointe la plus aiguisée jamais vue. Alors que je range mon taille crayon, ce crayon m'échappe des mains et roule sur la table. Horreur! Il va tomber dans un battement de coeur, et tous mes efforts pour obtenir cette magnifique pointe seront réduits à néant. En un réflexe inattendu, je tente de le ratrapper maladroitement. C'est alors que mon poignet bloque ce crayon contre mon corps, la pointe dans mon poignet, le bas du crayon parfaitement perpendiculaire contre mon corps, enserré. Je lève alors le bras, le crayon pendouille, planté dans mon poignet, tout juste entre les veines. J'ai eu chaud... --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=souvenir-d-ecole Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Obligée de répondre</title> <id>https://si3t.ch/log/2024-09-28-questions-de-m-oblige-de-repondre.txt</id> <updated>2024-09-28T09:38:30Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-09-28-questions-de-m-oblige-de-repondre.txt" /> <content type="text"><![CDATA[ > J'aimerais trop pouvoir faire comme toi et répondre quand j'ai envie sans me sentir mal. Quand je vois un message je suis dans l'obligation d'y répondre vite sinon j'ai l'impression de faire attendre la personne ou juste de m'en foutre de se qu'elle a écrit. > Si tu savais tout le bazar dans ma tête quand je dois te répondre, tout est calculé. Ah c'est une exercice au départ, mais c'est finalement très reposant de ne pas répondre dans l'urgence. C'est justement ce qui est bien avec le mail : il n'y a pas d'obligation de répondre de suite. Ce n'est pas une messagerie instantanée, il y a XMPP pour ça. Tu peux prendre le temps de réfléchir à ta réponse. Choisir avec soin les mots à écrire. Rédiger un brouillon, puis y revenir un peu plus tard afin d'ajuster si nécessaire. Tu peux même vérifier l'orthographe, et comme le dit Eric Emmanuel Schmitt : > L'orthographe, c'est comme la propreté, une question de respect de l'autre. C'est justement tout l'inverse de se moquer de ce qu'a écrit l'autre personne : c'est y accorder d'autant plus d'importance. À l'ancienne, comme avec les lettres. C'est old school, mais j'aime de + en +. L'instantanéité, c'est bâcler, et c'est souvent source de conneries que l'on regrette ensuite. Les réseau sociaux en sont un parfait exemple : les gens ont de + en + de mal à se retenir de commenter toutes les publications. Peu importe si ce qu'ils ont à dire est intéressant, il faut qu'ils ramènent leur fraise. Et je comprends pour quoi, les réseaux sont bien pensés pour activer les mécanismes de récompense instantanée, comme un petit shot de sucre quand tu as une jolie notif qui apparaît ou un badge débloqué, ou que sais-je... Je suis un gros ringard :) En tout cas, en classe, c'est l'horreur : dès que quelqu'un prend la parole, tous les autres y vont de leur petit commentaire. pénible. Tu noteras que prendre le temps de rédiger, c'est justement ce que je n'ai pas vraiment fait pour cette réponse. Mais j'y ai quand même pensé avant, dans la voiture, sous la douche, avant de dormir... Je peux comprendre qu'on souhaite se vider la tête en posant le + rapidement possible par écrit ce qui te taraude. Oh, le mail, c'est aussi vraiment cool, parce que tu peux chiffrer avec un petit peu d'effort. C'est ce que fait protonmail, mais c'est possible avec d'autres clients email: https://gnupg.org/. --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=questions-de-m-oblige-de-repondre Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">En vrac, sites pour écrire et bidouilles</title> <id>https://si3t.ch/log/2024-09-21-en-vrac.txt</id> <updated>2024-09-21T14:02:41Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-09-21-en-vrac.txt" /> <content type="text"><![CDATA[ ## Recherche d'une plateforme d'écriture J'ai voulu recenser les différentes "plateformes" pour écrire sans prise de tête, avec si possible un accent mis sur le texte brut, et dans l'idéal le support du protocole gemini. => https://prose.sh/ Très (trop?) complet, mais qui fait envie! Chouette d'avoir les articles récents mis en avant. C'est du markdown, et on gère tout via ssh. => https://bearblog.dev/ Propre, avec page de découverte des autres blogs et un système de mise en avant selon la popularité. Semble prévu pour durer, c'est itnéressant. => https://mataroa.blog/ Un peu dans la même veine que les précédents. => https://rawtext.club/ Semble en cours de réparation, mais permettait de publier via http/gemini/gopher. => https://smol.pub/ Dans la même veine que le précédent, on y trouve aussi une page qui présente les articles récents. Malheureusement, l'édition se fait en ligne... C'est un gros malus pour moi :/ Merci à hsoucy de m'avoir envoyé une clé d'activation, ma demande d'accès était restée sans réponse. => https://midnight.pub/ Du même auteur, m15o, on peut signaler midnight pub où les messages sont des bribes de discussions entendues dans un bar. => https://pollux.casa/ => https://avoir.unbon.cafe/ Ces deux derniers proposent un upload en sftp, et un service gemini/http. C'est clairement vers l'un des 2 que je me tournerai si j'avai besoin. => https://cosmic.voyage/join.html L'idée est de publier des transmissions venues d'ailleurs. Là, le texte brut est vraiment mis en avant. J'aime beaucoup le concept. => https://tilde.team/ Il y a aussi les tilde, mais il faut avouer que ça ne paraît pas toujours très bien administré. En tout cas, pas comme je le voudrais, cela me questionne sur la sécurité de mes données que je laisserai dessus. Mais bon, c'est excellent pour tester! => https://srht.site/ Une gestion de site avec git. Le service de sourcehut est de qualité et simple, je ne regrette pas de m'y être inscrit. => https://void.si3t.ch/ Sans inscription, la publication se fait en envoyant un mail. Vous l'aurez deviné, les autres services ne me convenaient pas, j'ai eu besoin de faire un truc qui correspondait à ce que j'aurais aimé trouver :) ## Auto-hébergement J'ai réactivé mon vpn pour mon ordinateur portable. Actuellement, il est disponible sur la table de routage 2. ``` rdomain 2 wgkey xxxxxx...= \ wgpeer XXXXX...== \ wgendpoint 46.23.90.144 4545 \ wgaip 0.0.0.0/0 \ wgaip ::0/0 inet 10.0.0.2/24 inet6 fd54:49bc:c233:fde:cafe::2/64 up !route -T2 add -inet default 10.0.0.1 !route -T2 add -inet6 default fd54:49bc:c233:fde:cafe::1 ``` Ainsi, je passe par le vpn avec cette commande: ``` route -T2 exec firefox # par exemple ``` La nouveauté aura été de configurer unbound sur le serveur afin qu'il propose la résolution de domaine aux clients du vpn. Plus besoin d'un DNS public. => https://marcocetica.com/posts/wireguard_openbsd/ J'ai aussi installé radicale pour avoir un calendrier partagé avec ma compagne, ça évite de poser des rendez-vous avec les parents le même jour. => https://radicale.org ## Réflexion comme ça... Les enfants deviennent vite plus intelligents que leurs parents, tout simplement parce qu'ils évoluent dans le monde de demain et qu'ils le comprennent mieux, ils en sont les architectes, mais aussi parce qu'ils ont observé l'expérience de leurs aînés qui vient s'ajouter à la leur. ## Envies J'ai du retard sur certains Pixar, que d'habitude j'aime beaucoup. J'ai hâve de voir Vice Versa 2, j'avais tellement adoré le premier! En ce moment, je récupère les films et animations que j'aimerais un jour montrer à mes enfants. --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=en-vrac Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Les questions de M : est-ce que les hommes et les femmes tombent amoureux de la même manière?</title> <id>https://si3t.ch/log/2024-09-18-questions-de-m-h-f-amoureux.txt</id> <updated>2024-09-18T08:47:34Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-09-18-questions-de-m-h-f-amoureux.txt" /> <content type="text"><![CDATA[ > Est ce que tu pense que les hommes et les femmes tombent amoureux de la même manière ? Tu vois toute la phase où tu tombe amoureuse, tu te fais des scénarios le soir dans ton lit, tu rougis au moindre messages ambigü, les lettres d'amour écrites. BREF, tu es très niaise. Je me base pas sur moi pour ce comportement, je suis un bonhomme moi ! Je fais pas ça… À mon avis, que tu sois homme, femme, ou autre, n'a absoluement rien à voir avec la façon de tomber amoureux. Ça dépend des gens, tout simplement. Mais il doi y avoir au moins 2 attitudes qui ne trompent pas : l'envie de sourire à l'évocation de l'être aimé, et le besoin d'être auprès de cette personne. Mais oui, les scénarios, les papillons dans le ventre, les longues envolées lyriques passionnées, toussa toussa... > Mais dans l'imaginaire collectif et dans la réalité aussi, les filles sont comme ca, en tout cas les jeunes demoiselles. (Ouais, j'ai écris demoiselles, tu vas faire quoi hein ?) > Les damoiseaux font ça aussi ? Mais bien sûr qu'ils font ça! Ils se masturbent aussi, et ça c'est que les demoiseaux, parce que les demoiselles sont pures et innocentes évidemment XD Dans l'imaginaire collectif, les hommes, jeunes ou pas, sont très souvent décrits comme de parfaits imbéciles dès lors qu'ils rencontrent une jolie nana aussi... > Si on élargit un peu beaucoup, ça serait la différence de romantisme entre les 2 sexes. Mais trop paaaaas! 1 contre exemple suffit à montrer qu'une théorie est fausse, n'est-ce pas? Bah je t'en donne 2 : mon meilleur ami et mon voisin. Ce sont 2 hommes que j'ai vu déprimer par chagrin d'amour. Pendant des mois. Il y a aussi des femmes hermétiques aux pétales de roses, aux rendez-vous galants... Encore une fois, rien à voire avec le genre. > Pourquoi seules les femmes ont des bouquets de fleurs ? Les hommes en ont seulement le jour de leurs morts, je trouves ça d'une tristesse accablante. C'est beau les fleurs mais peut être pas assez masculins pour la société. J'ai un amour particulier pour les fleurs et leurs significations. Mais ça, c'est une autre histoire. Ouais, c'est nul. moi j'aime bien les fleurs. Une fois mon fils m'en a offert, c'était vraiment chouette. Tiens, mon meilleur ami dont je te parlais juste avant, il m'offre des fleurs des fois, et j'aime bien. Mais j'imagine que dans l'imaginaire colectif, les fleurs, ça fait "tapette". Alors à la place d'offir des fleurs, on n'offre rien du tout aux hommes. ÇA, c'est grave! À la rigueur, si ça vous met mal à l'aise de m'offrir des fleurs, vous pouvez toujours apporter du saucisson, du fromage ou une bonne bière hein, c'est appréciable aussi. Mais ça dure moins longtemps que les fleurs ^^ --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=questions-de-m-h-f-amoureux Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">How to play Dwarf Fortress on OpenBSD?</title> <id>https://si3t.ch/log/2024-09-18-how-to-play-dwarffortress-on-openbsd.txt</id> <updated>2024-09-18T15:48:00Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-09-18-how-to-play-dwarffortress-on-openbsd.txt" /> <content type="text"><![CDATA[ Sort of... ## TL;DR Run a linux distro under vmd, then "ssh -Y" to if and play dwarf fortress. ## What is Dwarf Fortress ? It's an incredible game where you control a dwarves outpost. The world is randomly generated and incredibly deep. => https://www.bay12games.com/dwarves/features.html Well, you already knew this ;) ## How to install Debian in vmd? Since that's what I know the best, I choosed to run Debian with vmd. => https://www.debian.org/ ``` sysctl net.inet.ip.forwarding=1 rcctl enable vmd rcctl start vmd vmctl create -s 20G debian.qcow2 vmctl start -c -m 1G -L -i 1 -r debian.iso -d debian.qcow2 debian ``` Before loading the installer, you must setup a few things to get the console. Press TAB, then enter: ``` /install.amd/vmlinuz vga=off initrd=/install.amd/initrd.gz --- quiet console=ttyS0,115200n8 ``` A few things may be set in your /etc/pf.conf. Here is mine, it use my local unwind for DNS resolution: ``` set skip on lo antispoof for egress block ### Required to install debian with network access pass on tap0 match out on egress from tap0:network to any nat-to (egress) pass in proto { tcp udp } from tap0:network to any port domain \ rdr-to localhost port domain ### pass in proto icmp pass in proto icmp6 pass out ``` ## How to install Dwarf Fortress? On your debian fresh, install, add a few things: ``` apt install libsdl2-2.0-0 libsdl2-image-2.0-0 libsdl2-ttf-2.0-0 libgtk2.0-0 libopenal1 libsndfile1 libncursesw5 apt install xserver-xorg apt install openssh-server ``` Now you may log on your VM using ssh : ``` ssh dwarf@100.64.1.3 ``` Check your ip with "ip a" on the console if necessary. Then, get dwarf fortress: ``` wget https://www.bay12games.com/dwarves/df_50_13_linux.tar.bz2 tar xjvf df*.tar.bz2 ``` ## Run Dwarf Fortress Use ssh "-Y" flag: ``` ssh -Y dwarf@100.64.1.3 "./run_df" ``` I won't lie, it's kinda slow. But it works \o/. => https://0x0.st/X3_l.png ## Conclusion Actually Dwarf Fortress isn't really running on OpenBSD, but I find this trick handy if one day I miss a software ony running on Linux. --- Comments? => mailto:bla@bla.si3t.ch?subject=how-to-play-dwarffortress-on-openbsd => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Message to the void</title> <id>https://si3t.ch/log/2024-09-17-message-to-the-void.txt</id> <updated>2024-09-17T08:35:34Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-09-17-message-to-the-void.txt" /> <content type="text"><![CDATA[ Aujourd'hui, j'ai ouvert un espace de publication par email : => https://void.si3t.ch => gemini://void.si3t.ch Il n'y a pas gopher, geomyidae ne supporte pas les vhosts. L'idée est d'offrir un espace où chacun peut s'exprimer de façon anonyme. Un peu comme lancer une bouteille à la mer. La publication se fait en écrivant à une adresse mail dédiée. Ça me permet de ne pas avoir à me soucier d'un captcha. Mon antispam fera bien les choses, en tout cas mieux que ce que je pourrais coder. Comme on me l'a fait remarqué, c'est un peu comme un pastebin par mail. => https://codemadness.org/mailservice.html Ce n'est pas tout à fait vrai : j'y vois plutôt un espace d'échange à la midnight.pub mais anonyme. Je l'espère bienveillant et salutaire pour ceux qui en ont gros sur le coeur. Si on veut lire les messages comme s'il s'agissait d'un journal, j'ai prévu un flux ATOM. On peut s'y abonner ou le consulter directement dans le navigateur. Vous l'aurez remarqué, c'est très minimaliste. Il faudrait peut-être améliorer le atom.xsl pour une apparence plus agréable dans le navigateur. ## Comment ça marche? C'est tout simple, je me suis servi de ce qui existe déjà, à savoir un fichier ".forward" et d'un script à base de mblaze pour extraire le corps des messages et les mettre dans un dossier après leur avoir donné un nom unique. J'ai hésité à mettre le sujet comme titre dans les liens vers les messages, mais finalement, je préfère laisser chacun choisir de préciser ou non un sujet. Une tâche cron vérifie régulièrement si de nouveaux messages sont présents et régénère les pages html, gmi et le flux atom. Si vous êtes curieux, voici le dépôt: => https://git.sr.ht/~prx/m2void --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=message-to-the-void Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Les questions de M : comment ça va?</title> <id>https://si3t.ch/log/2024-09-16-questions-de-m-comment-ca-va.txt</id> <updated>2024-09-16T08:27:10Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-09-16-questions-de-m-comment-ca-va.txt" /> <content type="text"><![CDATA[ > Quand tu commences généralement une conversation, avec quelqu'un tu poses la banale question "ça va ?" Existe-il plus hypocrite comme question ?Souvent elle est posé juste par politesse et personne va vraiment dire "non ça va pas" Tu imagines si personne n'avait de filtre et que tout le monde répondait de la manière la plus franche possible ? > Donc, comment ça va toi ? Cette question m'avait déjà frappé en particulier lors de mes premiers jours à l'usine. C'est typiquement un truc "d'adultes" ce "ça va?", je ne l'avais jamais rencontré avant, en tout cas à ce point. Est-ce que parce qu'on s'en fout des autres quand on est plus jeune? En tout cas, il fallait bien des sous pour payer les études, alors préparer des commandes dans la centrale du super U du coin aura été ma première vraie expérience de l'intérim, premier job d'été. C'était vraiment pas agréable : on était chronométré pour préparer nos commandes, il fallait toujours aller + vite, et la reconnaissance vocale fonctionnait très mal. Tu parlais jamais à personne, tout seul sur ton chariot, mais les gens te demandaient quand même "ça va?". Des gens dont tu ignores le prénoms, que tu ne verras plus jamais dans ta vie. C'est là que l'automatisme apparaît, tu réponds "ça va". Ensuite, préparer des palettes dans une autre usine, empiler des cartons de viande d'animaux morts dans un frigo? C'était physique, il fallait s'organiser, et bizarrement de la mémoire. Entouré de types qui faisaient ça depuis 25 ans, tu découvres la tranquillité d'esprit. Là aussi, le "ça va" est courant, mais il y a un esprit plus familial. Sur la rampe, t'as toujours avec les mêmes, alors tu discutes un peu, forcément. Tu rencontres des gens, et le "ça va" devient alors vraiment sincère. Finalement, en tant que prof, il y a cette injonction à être "une grande famille". Je déteste. Mes collègues ne sont pas mes amis. Certains le deviennent. Rarement. Pourtant, certains voudraient aller boire des coups toutes les semaines (j'exagère). Cependant, cela ne m'empêche pas à les apprécier. Même ceux dont le caractère m'irritait autrefois. Je parie que c'est la vieillesse qui fait ça : tu apprends à aimer les gens, à trouver que leurs défauts sont juste un peu de sel dans le quotidien. Tant que ça ne dépasse pas certaines limites bien sûr. À force de connaître les gens, les "ça va" deviennent de plus en plus sincères. Françoise, Caroline, Elisa, Sylvie, Barbara, qui prennent vraiment le temps de te regarder dans les yeux et demander "comment ça va?", c'est une bouffée de gentillesse. Stéphane, Mathieu, Alexandre, Armelle, qui ne poseront pas cette question mais qui sont attentifs aux petits détails et auront dans la journée un geste sympathique, comme une main tendue. Ce qui paraissait de l'hypocrisie dans ma tendre jeunesse apparaît aujourd'hui davantage comme un don de gentillesse. Nous savons tous qu'on n'a pas le temps de discuter de toute façon, il faut filer bosser. Nous savons tous que ce n'est pas l'endroit où l'on veut se livrer. On sait. Plus qu'une question, c'est un voeu : je te souhaite d'aller bien. Combien de fois on répond "ça va", tout en voyant le film des soucis derrière ses pupilles. Ça va, car il faut que ça aille. C'est ainsi. Ou parce qu'on reste dans son rôle d'acteur. On n'est vraiment soi que lorsqu'on est seul. Et encore... On pourrait se dire que ce serait courageux de répondre "non, ça ne va pas", puis d'expliquer pourquoi ou simplement affirmer ne pas vouloir en parler. Sauf que c'est aussi très égoïste. Partager son mal être, c'est en prêter un petit bout aux autres, qui vont porter un peu de cette tristesse/colère/inquiétude. Par pudeur ou par solidarité, on garde ça pour soi. On le garde pour les moments plus appropriés et plus intimes. Alors, le plus courageux, c'est de garder un grand sourire et alléger le quotidien de son entourage. Il parait en plus que sourire nous fait fabriquer de la sérotonine, qui est rien d'autre que la molécule du bonheur. The show must go on. --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=questions-de-m-comment-ca-va Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Encrypt all incoming emails with gpg</title> <id>https://si3t.ch/log/2024-09-15-Encrypt-all-incoming-emails-with-gpg.txt</id> <updated>2024-09-15T14:40:43Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-09-15-Encrypt-all-incoming-emails-with-gpg.txt" /> <content type="text"><![CDATA[ EDIT: I updated the script to keep headers intact: => /code/encrypt-all-incoming-mails/ If for some reasons you don't want to keep your emails unencrypted on your server => https://dataswamp.org/~solene/2024-09-12-email-selfhost-to-protonmail.html You may encrypt all of them as long as your public key is available: => https://dataswamp.org/~solene/2024-08-14-automatic-emails-gpg-encryption-at-rest.html As far as I'm concerned, I don't keep my emails on my server, I mainly use one computer, so I download (rsync) my Maildir and run mutt on it. So I wrote a little script to encrypt all my incoming emails without requiring dovecot. However, the whole email is encrypted, headers are unreadable. That's fine, mutt know how to open them, they're just not sorted. Actually, I decrypt them after downloading the messages and before opening mutt. First, set up a .forward file on your server home: ``` echo "|/usr/local/bin/encrypt-mail.sh -r you@domain.tld" > ~/.forward chmod 600 ~/.forward ``` The encrypt-mail.sh file is: ``` #!/bin/sh # encrypt incoming mail # # "Initial setup:\n" # "echo "|/usr/local/bin/encrypt-mail.sh -r you@domain.tld" > ~/.forward\n" # "chmod 600 ~/.forward\n" usage() { printf "usage: $0 [-r email@domain.tld] [-h]\n" printf " -h: show this help\n" printf " -r: set recipient email, default to user@hostname\n" printf "---\n" exit 1 } # default user email recipient="$(whoami)@$(hostname)" while getopts 'r:h' c do case $c in h) usage ;; r) recipient="${OPTARG}" ;; esac done # check if Maildir/new is here d="$HOME/Maildir/new" test ! -d "${d}" && mkdir -p "${d}" # create a path to a new email # format: # gettimeofday().uniqu-id.gethostname() timeofday="$(date +%s)" uniq_id="$$" myhostname="$(hostname | sed -e 's;/;\\057;' -e 's;:;\\072;g')" new_mail_filename="$HOME/Maildir/new/${timeofday}.${uniq_id}.${myhostname}" # encrypt gpg --output "${new_mail_filename}" --encrypt --armor --recipient "${recipient}" ``` One may want a better setup to keep different IMAP clients synchronised. Someone told me Solène had a better idea 👼. --- Comments? => mailto:bla@bla.si3t.ch?subject=Encrypt-all-incoming-emails-with-gpg Instructions: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Les premières choses à faire sur un serveur OpenBSD</title> <id>https://si3t.ch/log/2024-09-12-premieres-choses-a-faire-serveur-openbsd.txt</id> <updated>2024-09-12T09:23:06Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-09-12-premieres-choses-a-faire-serveur-openbsd.txt" /> <content type="text"><![CDATA[ J'ai récemment loué une machine virtuelle chez vultr pour quelques heures afin de tester des trucs, et je me suis aperçu qu'il y avait tout de même des petites étapes importantes que je serai amené à reproduire si je dois repartir de zéro. Voici donc ma "check list" minimale après l'installation d'OpenBSD. ## user et doas Je crée un utilisateur "normal" et j'édite doas.conf ``` #/etc/doas.conf permit persist user ``` Ensuite, je change le mot de passe root avec un truc que j'oublierai vite: ``` # su - # jot -rcs '' $l 32 126 # passwd ``` ## aliases J'ajoute mon mail dans /etc/mail/aliases ``` root: me@stuff.tld # newaliases ``` ## SSH et root Vultr donne par défaut un accès root via ssh. C'est pas très malin, alors on édite /etc/ssh/sshd.conf: ``` PermitRootLogin no ``` Pour protéger l'accès à ssh, on installe sshguard: ``` # pkg_add sshguard # rcctl enable sshguard # rcctl start sshguard ``` ## pf.conf On modifie la configuration du parefeu pour: * utiliser sshguard * limiter le bruteforce sur le port ssh * pouvoir utiliser des listes noires d'IP (https://si3t.ch/evils/) On bloque tout par défaut, on bloque les listes noires, on autorise le ping et on prévoit l'ouvertur d'autres ports plus tard en décommentant les lignes avec "tcp_pass" et "udp_pass". ``` touch /var/prx-brutes.txt touch /var/pf-badhost.txt ``` ``` #/etc/pf.conf ifaces = "{ egress }" # maybe useful later #tcp_pass = "{ www https }" # change me #udp_pass = "{ domain }" # change me table <bruteforce> persist table <sshguard> persist table <prx> persist file "/var/prx-brutes.txt" table <pf-badhost> persist file "/var/pf-badhost.txt" set skip on { lo } set limit table-entries 409600 antispoof for $ifaces block block quick from <bruteforce> label "BRUTES" block quick from <sshguard> label "SSHGUARD" block quick from <prx> label "PRX" block quick from <pf-badhost> label "PFBADHOST" # allow ping pass on $ifaces inet6 proto ipv6-icmp all #icmp6-type echoreq pass on $ifaces inet proto icmp all # icmp-type echoreq pass in on $ifaces proto tcp to port ssh modulate state \ (source-track rule, \ max-src-conn 8, max-src-conn-rate 15/5, \ overload <bruteforce> flush global) #pass in on $ifaces proto tcp to port $tcp_pass modulate state #pass in on $ifaces proto udp to port $udp_pass pass out on $ifaces proto { tcp udp } ``` Bien sûr, on recharge pf: ``` # pfctl -f /etc/pf.conf ``` Maintenant, on prévoit la mise à jour des listes noires chaque jour: ``` # /etc/daily.local ftp -o- https://si3t.ch/pub/evils/prx-brutes.txt.gz | \ gzcat > /var/prx-brutes.txt && \ pfctl -t prx -T replace -f /var/prx-brutes.txt ftp -o- https://si3t.ch/pub/evils/pf-badhost.txt.gz | \ gzcat > /var/pf-badhost.txt && \ pfctl -t pf-badhost -T replace -f /var/pf-badhost.txt ``` Pour aller plus loin avec le parefeu, j'installe aussi iblock avec une version modifiée pour ne pas avoir besoin d'inetd : => https://tildegit.org/prx/iblock/src/branch/icanserve --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=premieres-choses-a-faire-serveur-openbsd Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">First things to do after installing OpenBSD on a server</title> <id>https://si3t.ch/log/2024-09-12-first-things-to-do-on-openbsd-server.txt</id> <updated>2024-09-12T09:37:08Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-09-12-first-things-to-do-on-openbsd-server.txt" /> <content type="text"><![CDATA[ ## regular user and doas ``` # adduser cat << EOF >> /etc/doas.conf permit persist user EOF ``` Change root password with random chars produced by jot: ``` # su - # jot -rcs '' $l 32 126 # passwd ``` ## aliases J'ajoute mon mail dans /etc/mail/aliases Add yourself to root alias, then run "newaliases": ``` /etc/mail/aliases: root: me@stuff.tld ``` ## SSH ``` # /etc/ssh/sshd_config PermitRootLogin no ``` Install sshguard ``` # pkg_add sshguard # rcctl enable sshguard # rcctl start sshguard ``` ## pf.conf * will use sshguard * reduce bruteforce on ssh * Use blacklists from https://si3t.ch/evils/ * prepare future work with lines to edit/uncomment ``` touch /var/prx-brutes.txt touch /var/pf-badhost.txt ``` ``` #/etc/pf.conf ifaces = "{ egress }" # maybe useful later #tcp_pass = "{ www https }" # change me #udp_pass = "{ domain }" # change me table <bruteforce> persist table <sshguard> persist table <prx> persist file "/var/prx-brutes.txt" table <pf-badhost> persist file "/var/pf-badhost.txt" set skip on { lo } set limit table-entries 409600 antispoof for $ifaces block block quick from <bruteforce> label "BRUTES" block quick from <sshguard> label "SSHGUARD" block quick from <prx> label "PRX" block quick from <pf-badhost> label "PFBADHOST" # allow ping pass on $ifaces inet6 proto ipv6-icmp all #icmp6-type echoreq pass on $ifaces inet proto icmp all # icmp-type echoreq pass in on $ifaces proto tcp to port ssh modulate state \ (source-track rule, \ max-src-conn 8, max-src-conn-rate 15/5, \ overload <bruteforce> flush global) #pass in on $ifaces proto tcp to port $tcp_pass modulate state #pass in on $ifaces proto udp to port $udp_pass pass out on $ifaces proto { tcp udp } ``` Reload pf: ``` # pfctl -f /etc/pf.conf ``` Prepare blacklist updates: ``` # /etc/daily.local ftp -o- https://si3t.ch/pub/evils/prx-brutes.txt.gz | \ gzcat > /var/prx-brutes.txt && \ pfctl -t prx -T replace -f /var/prx-brutes.txt ftp -o- https://si3t.ch/pub/evils/pf-badhost.txt.gz | \ gzcat > /var/pf-badhost.txt && \ pfctl -t pf-badhost -T replace -f /var/pf-badhost.txt ``` To go further, I also install iblock with a modified version not requiring inetd: => https://tildegit.org/prx/iblock/src/branch/icanserve --- Comments? => mailto:bla@bla.si3t.ch?subject=first-things-to-do-on-openbsd-server How to: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Quel jeu de rôle pour des collégiens ?</title> <id>https://si3t.ch/log/2024-09-08-quel-je-de-role-pour-collegiens.txt</id> <updated>2024-09-08T13:47:23Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-09-08-quel-je-de-role-pour-collegiens.txt" /> <content type="text"><![CDATA[ Cette année, je souhaite tenter de proposer un "club jeu de rôle" pour mes collégiens. Je suis dans un collège "captif", c'est à dire que tous les élèves prennent le car (ou presque). Cela signifie qu'ils sont de 8h à 17h au collège, et au bout d'un moment, tourner en rond dans la cour, on s'ennuie et on fait des conneries. Alors un club, ça permet d'alléger les AED, et autant faire quelque chose d'intelligent de son temps. Le "souci" avec les collégiens, c'est qu'ils sont très différents. Entre les petits 6e et les 3e qui me dépassent, les centres d'intérêts ne sont pas le même. C'est vrai aussi entre les garçons et les filles : je ne voudrais pas réserver le jeu de rôle à des garçons en manque de virilité qui veulent juste pourfendre du dragon et laisser les demoiselles de côté parce que les "codes sociaux" ont tendance à réserver ce genre d'activités aux garçons. Je voudrais donc du jeu de rôle inclusif. Je voudrais aussi qu'ils puissent poursuivre le jeu de leur côté, donc si je peux éviter l'achat de matériel trop onéreux, ils pourraient l'utiliser à la maison. Après avoir demandé des conseils sur Mastodon, j'ai sélectionné quelques jeux: ## Cairn => https://lecrapal.itch.io/cairn-fr Ce jeu a l'avantage d'être à prix libre. Il reprend les règles habituelles des jeux de rôles type D&D, mais en simplifie la plupart. Il reste très complet. Petits bémols, il nécessite l'achat de dés spécifiques (D10, D20...) mais ce n'est pas un gros problème. Il ne comporte pas de campagne préconçues, tout est à inventer, ce n'est donc pas un jeu que je peux donner clés en main à mes élèves : je devrait être le maître du jeu, du moins au début. ## Sodalitas => https://jdrcool.itch.io/sodalitas Mon gros coup de coeur. Les règles sont très simples. Seul 2D6 sont Nécessaires. Pas de points de vie, pas de points d'armure, tout se passe avec des points de stress. L'accent est porté sur la liberté de création et l'imagination. Chose intéressante, on ne gagne pas de XP, mais on ajoute des pièces à notre guilde pour profiter des avantages. Cela laisse imaginer plusieurs joueurs qui jouent pour la même guilde, mais pas forcément en même temps. L'esprit d'équipe est valorisé, ça me plaît. Le jeu est peu onéreux. On peut juste contacter l'auteur pour lui demander le jeu si on est "éducateur", c'est ce que j'ai fait et il m'a répondu dans les 24h :) En plus, il m'a aussi envoyé toutes les fiches de campagnes déjà toutes prêtes. Je peux donc très vite jouer avec mes élèves, et surtout les laisser aussi créer leur propre parties en autonomie. C'est d'autant plus vrai qu'il y a déjà des personnages préconçus. Du coup, j'ai acheté le jeu quand même :) Les règles sont écrites au féminin :) ## Donjons et chenapans => https://gusandco.net/wp-content/uploads/2022/04/donjons_et_chenapans-1.pdf À la base, c'est pour les plus petits. Cependant, le système de jeu est tellement simple qu'on peut très bien imaginer l'utiliser pour des collégiens en guise de porte d'entrée vers le jeu de rôle. On commence par dessiner son personnage. On définit 3 caractéristiques. Et c'est parti! ## Trouilleville => https://makaka-editions.com/produit/trouilleville/ 25€, oui, je sais, on s'éloigne de la gratuité là... Mais! On peut tout à fait apprendre les règles puis se passer du livre. J'ai joué à ce jeu avec mon fils de 5 ans. Le design est mignon, mais des collégiens pourront tout à fait s'imaginer en monstres répugnants. Car c'est là l'intérêt de Trouilleville : vous incarnez un monstre, squelette, sorcière, vampire, golem... L'avantage du livre est là aussi de proposer des campagnes et des idées pour le MJ. Les règles sont toutes simples mais suffisamment complètes pour apporter une richesse très intéressante à l'évolution du personnage et à l'entraide. Les jets de dés sont tous simples. On peut attaquer ou faire peur aux monstres. Pour cause, on peut faire des jets de force (combat, résistance,...), d'esprit (agilité, arme de jet, magie) ou de frayeur. Puisque vous êtes des montres, vous pouvez tout à fait vous débarrasser de vos ennemis en leur fichant la trouille, ce qui est parfois + facile que de les combattre. Simple, riche, je recommande vivement!!! ## Come rain come shine => https://penflower-ink.itch.io/come-rain-come-shine Un jeu de rôle solarpunk! Donc forcément, déjà, je l'aime. Ici, les règles sont aussi écrites pour des joueuses. Ça n'a l'air de rien, mais ça m'a plu. On sort des carcans habituels dans le thème. C'est reposant, non violent. Pour faire court : une communauté doit s'entraider pour survivre et prospérer en harmonie avec la nature. C'est beau, bienveillant. Pas de MJ, tout le monde joue ensemble : c'est bien pour lancer des groupes d'élèves dans l'aventure. J'ai hâte de l'essayer :) ## Le vôtre Vous en connaissez peut-être d'autres? Vous avez des conseils à me donner? Je suis preneur :) --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=quel-je-de-role-pour-collegiens Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Nouvelles du moment</title> <id>https://si3t.ch/log/2024-09-05-nouvelles-du-moment.txt</id> <updated>2024-09-05T20:27:26Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-09-05-nouvelles-du-moment.txt" /> <content type="text"><![CDATA[ ## Déconnexion J'ai très peu écrit de l'été. Pas envie, pas le temps, mieux à faire... Ce qui est étrange, c'est que moins je passais de temps devant un ordinateur, moins j'en avais envie ni besoin. Avec la reprise à fond du travail, l'envie d'écrire revient un peu. C'est peut-être l'envie de procrastiner ^^. ## Boulot C'est la première année où je ne stresse (presque) pas pour la rentrée. Je suis tout fier de moi. Ma recette? Du sport, et du travail tout au long de l'été. Je me sens du coup prêt à affronter, et souffre un peu moins du sentiment d'imposteur : j'ai un tas d'outils prêts. Par conséquent, même s'il y a 1000 trucs auxquels je dois penser, c'est pour l'instant stimulant. Imprimer les listes des classes, en faire un tableau pour le suivi des apprentissages, compter le nombre d'élèves dans chaque groupe pour faire le bon nombre de copies, faire les copies et ne pas oublier ce qui est en A3, en A4 ou recto-verso, relire les dossiers GEVASCO des élèves dont je suis prof principal, faire noter la date et l'heure de la réunion de rentrée, transmettre à la vie sco les documents récoltés, préparer le matériel, répondre aux demandes car un ordi ne marche pas ou l'imprimante n'apparaît plus, vérifier quel prof est disponible pour la sortie organisée par la documentaliste, relancer le chef d'établissement pour qu'il fasse l'import de la base élève, ... Rien à voir, j'ai décidé de reformater mon disque dur de sauvegarde où je stocke mes films favoris en NTFS. C'est le seul format "portable" qui permet aussi d'avoir des fichiers de + de 4G ce qui est fréquent avec la HD désormais. Par défaut c'est monté en read-only sous openbsd en utilisant la commande mount. Il faut utiliser "ntfs-3g /dev/sda3i /mnt". Il me reste à remplir ma collection, il y a tant d'ouvrages que j'aimerais montrer à mes enfants. ## Culture ? On a vu Fleabag pendant l'été. On est très décus. Ma chérie était en colère, c'est très anti-féministe malgré les apparences. Là, on regarde Six Feet Under. C'est pour l'instant excellent. J'adore quand on prend le temps de détailler des personnages complexes. Le Comte de Monte Cristo m'a beaucoup plu au cinéma. J'adore Niney. Le casting contient du monde qu'on reverra, c'est sûr. Une actrice ressemble à Ana de Armas, un autre est un mélange de Mike dans Stranger Things et de Paul Atréides dans Dune : ça doit être les standards de beauté du moment. On a vu Acide aussi. Il pleut de l'acide sulfurique. C'est prenant, poignant. Dur. Très très bien! On m'a offert La Route, BD de Manu Larcenet. C'est "pire" que le film. Excellent, mais glaçant. Sur les bons conseils de Solène, j'ai acheté la trilogie de Mars de Kim Stanley Robinson. Là aussi, les personnages sont riches, et la science pour la fiction tient la route. J'ai tous les soirs hâte de reprendre la lecture. ## si3t.ch Coté site, j'ai réimplémenté la génération d'une table des matières pour les pages trop longues, ça me semblait plutôt utile pour la doc auto-hébergement. ## Projets Je reprends actuellement la documentation pour la vistualisation avec OpenBSD. En parallèle, j'ai réservé un nom de domaine pour un petit projet d'hébergement. On verra si ça aboutit. Sinon, j'ai presque terminé mon toboggan d'intérieur pour passer de l'étage au rez-de-chaussée. Ensuite, il faudra agrandir la bibliothèque, il y a trop de livres :) Cet été, on m'a proposé de travailler en tant qu'auto-entrepreneur pour faire de la tech UNIX. C'est très flatteur. J'ai refusé cependant : je n'ai pas le courage pour l'instant de me lancer dans la paperasse, et je veux garder du temps pour mes jeunes enfants, tant pis si j'ai moins de sous. Mais ça fait réfléchir pour l'avenir, si un jour prof devient insupportable. Merci! ## Pensées Une idée comme ça : le propre de l'homme n'est pas le rire, mais l'art, la création : musique, cinéma, scénarios, poésie, graphisme... C'est l'imaginaire. Les plaisirs d'été : se laver à l'eau froide, regarder le potager s'épanouir, croquer des mûres cueillies pendant la promenade, manger dehors, se promener sans regarder l'heure qu'il est. À force de discuter écologie et inégalités sociales, je m'énerve de voir de bonnes idées jetées à la poubelle parce qu'elle ne sont pas parfaites. Pourtant, on entend des trucs qui commencent par > "Idéalement, il faudrait..." Oui, ça serait idéal de redistribuer les richesses, de réfléchir à notre environnement, de prendre soin des autrs et de notre habitat. Idéal. Oui, je suis un idéaliste. Vous me le jetez au visage comme si c'était un défaut. Je veux en être fier. Fier d'être idéaliste, car l'idéal, c'est ce vers quoi je rêve que l'on se rapproche. Choisir l'inaction quand la solution n'est pas parfaite, c'est faire le choix de ne pas se rapprocher de l'idéal. Même avec des petits pas, on avance. L'inertie conduit à la mort. Il faut s'adapter pour survivre. Je ne veux pas d'un monde où la gentillesse et l'idéalisme sont vus comme des signes de faiblesse. --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=nouvelles-du-moment Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Introduire les thèmes de physique-chimie avec des films</title> <id>https://si3t.ch/log/2024-08-20-Introduction-themes-physique-chimie-films.txt</id> <updated>2024-08-20T20:46:34Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-08-20-Introduction-themes-physique-chimie-films.txt" /> <content type="text"><![CDATA[ Cette année, j'aimerais introduire les nouveaux chapites de physique-chimie avec des extraits de films. Puisque nous allons participer aux Utopiales avec mes classes de 3e, je privilégie la SF :) => https://www.utopiales.org/ Utopiales 4 thèmes principaux sont à couvrir: * La matière (chimie) * Les mouvements * Les signaux * L'énergie. Pour ce dernier, une grosse partie porte sur l'électricité. ## La matière (chimie) Pour introduire la notion d'acide quoi de mieux que le "sang" qui s'achappe de l'Alien lorsque le facehugger est étudié ? => https://0x0.st/XJgL.mkv En alternative, la bande annonce du film plus récent ACIDE permet de présenter cette notion. En plus, c'est un film français qui m'a très agréablement surpris: => https://0x0.st/XJg_.mkv Comme vous le voyez, il me manque des choses pour la chimie. Ça ne se limite pas à l'acide... J'ai bien pensé à Breaking Bad, mais aucun extrait concernant la chimie en particulier ne me vient à l'esprit. Et je m'adresse à des collégiens, donc attention au message passé, même si J'ADORE Breaking Bad. ## Les mouvements Pour les mouvements et tout particulièrement la notion de point de vue et relativité, les exemples ne manquent pas. On dispose de 2 scènes qui se déroulent dans l'espace : un vaisseau en aborde un autre. Le premier est calme et reposant, c'est dans 2011 l'odyssée de l'espace. => https://0x0.st/XJgp.webm Le second me fascine davantage, mais c'est sans aucun doute lié à l'excellent bande son. Je parle bien sûr d'Interstellar: => https://0x0.st/XJgW.webm Ensuite, on peut illustrer la seconde loi de Newton, le principe d'action/réaction avec Wall-e qui vide son extincteur: => https://0x0.st/XJg4.mkv Ça m'amuse de remarquer qu'on retrouve exactement le même principe dans Gravity: => https://0x0.st/XJgy.mkv Finalement, on retrouve une belle fusion des précedents thèmes avec Seul sur Mars : la relativité de mouvement et la 2e loi de Newton dans une scène où Matt Damon m'émeut à coup sûr. => https://0x0.st/XJgx.mkv ## Les signaux On commence doucement avec Premier Contact, si on veut parler d'anthropomorphisme et pourquoi pas de la plaque dans la sonde Pioneer: => https://0x0.st/XJgY.mkv Mais pour vraiment s'éclater, Contact en 2 parties permet d'aborder la notion de fréquence, de ce qui est signe d'intelligence, et travailler sur les stéréotypes portés par les acteurs de l'époque. Une femme ne peut pas être intelligente ET canon, donc on lui met de slunettes et on lui attache les cheveux :) => https://0x0.st/XJg6.webm => https://0x0.st/XJgI.webm ## L'énergie Bien évidemment, Matrix propose une présentation de source d'énergie un peu dérangeante : les humains commes des piles. C'est à mon avis un rare exemple de forme d'énergie chimique ^^ => https://0x0.st/XJgR.mkv Plus "tout publics", on a retour vers le futur avec un réacteur à base de plutonium : => https://0x0.st/XJgk.mkv Et puis finalement, un excellent recycleur de peaux de bananes: => https://0x0.st/XJgU.mkv ## À vous! J'imagine que je n'ai pas pensé à toutes les possibilités. N'hésitez pas à me faire part de vos suggestions ;) ps : merci JB pour toutes les bonnes idées ;) ## Les extraits? Si les extraits ne sont plus disponibles via les liens ci-dessus, demandez-moi par mail ;) --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=Introduction-themes-physique-chimie-films Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">fuzzy find in your terminal history</title> <id>https://si3t.ch/log/2024-08-13-fuzzy-find-terminal-history.txt</id> <updated>2024-08-13T11:55:44Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-08-13-fuzzy-find-terminal-history.txt" /> <content type="text"><![CDATA[ Yeah, I know, Ctrl-R, right? But it only show the very last match, and I feel sometimes confused when I look for long commands. That's why I wrote this litle alias to add in your shell config (''~/.aliases''): ``` alias hf='fc -l 1 | cut -f2- | pick | ${SHELL:-"/bin/sh"}' ``` Now, when I enter ''hf'', I see all commands recorded in history. That's what ''fc -l 1'' do : showing all comands from the first. Then, ''cut'' remove the first field, to only see the command. ''pick'' let me choose the command to re-run, and it's finally piped to a new shell. Of course, you may replace pick by similar tools such as: => https://pedantic.software/git/choice => https://github.com/jhawthorn/fzy => https://github.com/junegunn/fzf Now I wrote this, I can read in the pick manpage this : ``` Select a command from the history to execute: $ eval $(fc -ln 1 | pick) ``` Seems like I should have read it before :) So, now, it's : alias hf='eval $(fc -ln 1 | pick)' --- Comment? => mailto:bla@bla.si3t.ch?subject=fuzzy-find-terminal-history See instructions: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">L'arrivée des capybaras</title> <id>https://si3t.ch/log/2024-08-05-arrivée-capybaras.txt</id> <updated>2024-08-05T07:10:33Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-08-05-arrivée-capybaras.txt" /> <content type="text"><![CDATA[ Une fois n'est pas coutume, je voudrais vous parler d'un livre. Un livre jeunesse, eh oui, pourquoi pas? Il s'agit de "L'arrivée des capybaras" : => https://www.babelio.com/livres/Soderguit-Larrivee-des-capybaras/1216367 Sur le modèle du prix des incorruptibles, nous nous sommes amusés à emprunter des livres à la médiathèque. Chaque membre de la famille devait en choisir 2. Tous les jours, nous avons lu un livre ensemble, pour finalement "voter" : on a posé des jetons sur les livres que nous avions préférés. Le livre avec le plus de jetons sera acheté. Bref, j'ai eu un gros coup de coeur pour "L'arrivée des capybaras". L'histoire est simple. Nous voyons un poulailler, les poules décrivent leur vie paisible et bien rangée. Le dessin est sombre, et on distingue clairement que les hommes mangent les poules et leurs oeufs, les grillages sont partout. Un jour, des capybaras arrivent au poulailler. Ils ne sont pas pareils, ils vont prendre notre nourriture et notre espace de vie. Ils mangeront donc à part, et resteront à l'écart. Interdiction pour les jeunes poussins de jouer avec les jeunes capybaras. Et là, fierté du papa que je suis, mon fils s'est vite exclamé : > Mais c'est pas juste, la terre elle est pour tout le monde! On y découvre ensuite, à l'arrivée de vilains chasseurs, une belle leçon d'humanité, et une fin ouverte comme je les aime. N'hésitez pas à y jeter un oeil! --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=arrivée-capybaras Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">statistiques en bas de page</title> <id>https://si3t.ch/log/2024-08-04-stats-bas-de-page.txt</id> <updated>2024-08-04T14:40:52Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-08-04-stats-bas-de-page.txt" /> <content type="text"><![CDATA[ L'été est chargé. Je ne trouve pas le temps de tout faire, et moins je suis devant l'écran de mon ordinateur, moin j'en trouve l'envie. J'ai toutefois fait un caprice l'autre jour : j'ai ajouté quelques éléments concernant l'état du serveur en bas de page. Cela appelle un bout de javascript qui affiche le contenu d'un fichier texte. ``` <script> getText("/pub/serverstats.txt"); async function getText(file) { let myObject = await fetch(file); let myText = await myObject.text(); document.getElementById("stats").innerHTML = myText; } </script> ``` Ce fichier texte est généré par un script, appelé via une tâche cron. Ça me semblait plus sûr ainsi que de développer un truc en php ou un cgi qu'il aurait fallu sécuriser et vérifier. ``` stats=/var/www/htdocs/si3t.ch/pub/serverstats.txt cat << EOF > $stats $(date +%H:%M) - $(sysctl -n vm.loadavg) - $(sysctl -n hw.sensors.km0.temp0) EOF ``` Pour l'instant, ça affiche l'heure locale, la charge et la température. Peut-être un jour sera affichée l'état de la batterie, si j'investis dans un serveur solaire. --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=stats-bas-de-page Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">traces, 4</title> <id>https://si3t.ch/log/2024-07-08-traces-4.txt</id> <updated>2024-07-08T15:34:37Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-07-08-traces-4.txt" /> <content type="text"><![CDATA[ ## Perso Vendredi dernier, j'ai terminé de corriger plus de 115 copies. J'en aurais pleuré de soulagement dans la voiture au retour : ça y était, j'étais vraiment en vacances. Avec la fin d'année scolaire, une forme de vide s'installe. Avec, vient l'angoisse et la culpabilité. Chaque minute devrait être optimisée. Tu DOIS travailler, ce n'est pas normal si tu ne travailles pas. En plus, tu as plein de projets et d'idées à mettre en place. Je suis en "vacances" et je stresse. Symptôme que je connais bien... Il y a eu du surmenage, qui a carburé à l'alcool. Pas bon ça. Pour me débarasser de cette culbabilité, j'ai décidé de me tenir éloigné des écrans. Mon téléphone reste dans un coin : il n'est plus dans ma poche. Mon ordinateur est allumé une fois par jour, avec 1 seul objectif que j'ai choisi avant. À la place, je m'occupe de la maison : Tondre la pelouse et la mettre autour des choux et salades qui aiment la fraîcheur. Les haricots peinent à lever, et se font dévorer par les escargots et limaces tant les chaleurs tardent à s'installer cette année. J'aurai raté mon potager cette année, mais tant pis. Je bricole et range mon "atelier", cette pièce en bazar attenant la maison. Je scie avec la scie japonaise qu'on m'a conseillée, c'est génial, je perce et visse. Pas d'électricité, ça défoule, c'est propre. Je prends le temps de réfléchir et voir des idées prendre forme, concrètement, ça fait du bien. Pendant cet été, j'espère réaliser enfin le toboggan promis à mes enfants. J'ai repris un peu le sport. Je tiens ainsi mon calendrier à jour : j'ajoute un "s" à chaque fois que j'ai fait un peu de sport. Je peine à progresser, mais j'ai l'impression que ça arrive : hier, j'ai réussi à courir 13 km. Je reste trop gros à mon goût, mais j'en suis le seul responsable : la bière ça ne pardonne pas :). Là aussi, je veille à être plus sobre, même si les incitations sont nombreuses en vacances. ## JO Mon fils a trouvé malin de mettre la pièce offerte par la france à chaque élèves pour les JO (c'est quoi cette idée de merde d'ailleurs???). Il a failli s'étouffer, j'ai vraiment cru le perdre. Morale : révisez vos gestes de premiers secours. Ça a sauvé mon fils. Reste à m'en remettre et me contenir de me lever la nuit pour aller lui faire un câlin, il m'a fichu la trouille ce coquin! Dans le lowtech journal, il parlent de sport écologique. J'ai bien aimé plusieurs remarques : => https://www.lowtechjournal.fr/ Notamment toute la pollution que ça va générer : fabriquer les infrastructures, déplacer les athlètes en avion... ## Informatique J'ai recompilé rover, il suffisait de modifier un tout petit peu le Makefile pour trouver la librairie manquante. J'adore ce gestionnaire de fichiers, il a tout ce dont j'ai besoin, est facile à configurer (pas besoin de xdg-open), et évite d'être surchargé de trucs inutiles comme nnn et consorts. => https://github.com/lecram/rover => https://github.com/lecram/rover/issues/42 Il faudrait en faire un port pour OpenBSD. La dernière fois, il n'avais suscité aucun intérêt :/ ## Liens Une petite vidéo vue en formation "santé mentale". Ça vaut son détour : => https://www.youtube.com/watch?v=_DakEvdZWLk Tout le monde s'en fout Une musique de 7 minutes, parfait pour une mini session de HIIT : => https://invidious.fdn.fr/watch?v=r5ua6H5zyt8 --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=traces-4 Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Pour les racistes</title> <id>https://si3t.ch/log/2024-06-30-pour-les-racistes.txt</id> <updated>2024-06-30T13:29:54Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-06-30-pour-les-racistes.txt" /> <content type="text"><![CDATA[ Ce matin, je vais au bureau de vote avec mes enfants. Il y a de l'attente, c'est un peu long. J'ai envie de me dire que c'est tant mieux. Mon fils s'impatiente et s'agite un peu. Sont affichés les écrans avec chaque candidat à côté du numéro qui lui est attribué, on a des machines dans ma commune. Pointant du doigt l'un d'entre eux, il me demande: > Dis papa, tu vas choisir celui-là? > Tu sais, les gens ne disent pas trop pour qui ils votent. Il insiste en pointant le numéro d'à côté : > Tu vas voter pour lui? > Ah non mon chéri, celui-là, c'est pour les racistes. 👼 --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=pour-les-racistes Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">modifications mineures du CSS</title> <id>https://si3t.ch/log/2024-06-22-modifications-mineures.txt</id> <updated>2024-06-22T15:23:20Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-06-22-modifications-mineures.txt" /> <content type="text"><![CDATA[ J'ai récemment appris qu'il était préférable d'utiliser "em" plutôt que "rem" dans les unités CSS pour supporter les vieux navigateurs. Par la même occasion, j'ai réintroduit le CSS entre balises "<style>" plutôt qu'un appel à une feuille externe, le contenu du css étant plus petit que la taille du paquet envoyé pour la requête. Enfin, j'ai modifié le code de mon convertisseur gmi2html pour : * Ne plus insérer les images, mais seulement laisser les liens. C'est un choix un peu extrême, mais ça permet de ne pas imposer le chargement d'une image lourde si quelqu'un a une connexion lente. J'ai d'ailleurs appris par la même occasion que le lazy load pouvait être utilisé pour surveiller les habitudes de navigation de quelqu'un. Ça paraît logique quand on y pense. * J'ai viré les ancres à côté des titres pour avoir un lien vers cette section. À la place, c'est le titre lui-même qui constitue cette ancre. C'est plus joli que de rajouter des "§" partout. => https://git.sr.ht/~prx/si3t.ch/tree/master/item/tools/gmi2html.awk --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=modifications-mineures Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">traces, 3</title> <id>https://si3t.ch/log/2024-06-19-traces-3.txt</id> <updated>2024-06-19T09:28:29Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-06-19-traces-3.txt" /> <content type="text"><![CDATA[ ## En ce moment... On arrive à la période pleine d'appréhension de fin d'année... Des élèves connus depuis 4 ans vont quitter mon établissement, et c'est toujours un peu compliqué de gérer l'émotion. Que je suis mauvais pour dire au revoir. Quand on aime, il faut laisser partir comme on dit. Vous allez me manquez! (pas tous XD) ## lowtech / écologie C'est ma chère petite maman qui m'a envoyé cet article, à propos des puits aériens. Ça ressemble à des pièges à humidité, c'est très ingénieux. => https://www.neozone.org/innovation/le-puits-aerien-un-capteur-atmospherique-et-une-methode-ancestrale-pour-produire-de-leau-potable/ En gros, l'inerthie thermique de la pierre permet de refroidir la vapeur d'eau ambiante et de liquéfier un peu d'eau. ## citation > Faites attention, quand une démocratie est malade, le fascisme vient à son chevet mais ce n'est pas pour prendre de ses nouvelles. -- Albert CAMUS ## À méditer J'ai adoré l'article de ploum, tant et si bien que je l'ai imprimé et affiché dans ma salle de classe, pour les curieux ou ceux qui s'ennuient. Il y explique ce qu'est la compensation carbone, les labels "verts", avec sarcasme et ironie sur fond de publicité malsaine. C'est très bien écrit! => https://ploum.net/2024-06-17-compensation-carbone.html Sinon, j'ai eu droit à une question d'un élève qui préparait un travail de franiçais : "peut-on expliquer l'amour? (scientifiquement parlant)". ## Informatique Mon x250 est fissuré, c'est la coque au niveau de la charniere, juste à côté de l'alimentation. Ça doit être quand mon sac à dos est tombé. Et puis l'écran est abimé, un petit point qui mine de rien, est fatiguant après plusieurs heures. Pas un pixel mort, c'est une sorte de rayure profonde. Et il y a des traces des touches (nonon, pas de la saleté). 1 seul port usb fonctionnel, ennuyeux... Il n'y a pas de webcam, embêtant pour les visios et formations à distance, de plus en plus fréquentes puisqu'on reçoit ces formations sur notre temps libre. De plus, le cable d'alimentation est très court, il me faut très souvent une rallonge. La coque est toute griffée, avec des restes de colle... Bref... Je cède à la tentation et j'achète un x270 sur a suggestion de Solène. En plus, la batterie de rechange que j'avais achetée pour mon x250 est compatible \o/ La commande est passée sur Backmarket. Ils m'ont d'abord envoyé un x280, dont je ne veux surtout pas car il faut un adaptateur pour le cable réseau. Après l'avoir retourné, j'ai finalement reçu un x270, mais avec un peu moins de RAM que prévu. Ce n'est pas un souci pour moi, mais j'attends un geste commercial. Voici donc venu le temps de l'installation propre : * Etape 1 : vérifier les specs * Etape 2 : mise à jour du bios => https://si3t.ch/log/archives/2023-12-07-bios-lenovo-update.txt On charge le BIOS update Bootable CD: => https://pcsupport.lenovo.com/fr/fr/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x270/downloads/driver-list/component?name=BIOS&id=5AC6A815-321D-440E-8833-B07A93E0428C Ensuite, on le met sur une clé sur laquelle on va booter: ``` geteltorito -o biosup.img r0iur44w.iso dd if=biosup.img of=/dev/rds3c bs=1m ``` * Etape 3 : install d'OpenBSD. Mon nouvel ordinateur s'appelera "ix". Choisir le nom de machine c'est ce qui aura été le plus compliqué. => https://si3t.ch/misc/logiciel-libre/openbsd/postinst/ * Etape 4 : transfert des données d'un PC à l'autre : ``` rcctl -f start sshd # edit pf to open ssh rsync prx@192.168.1.xx:/home/prx/ /home/prx/ ``` * Etape 5 : remplacement de pâte thermique (il pourrait y penser les revendeurs quand même...). Avant, 65°C minimum, maintenant 48°C Ça tourne vraiment tout seul. Quel bonheur, l'écran a une meilleure résolution, c'est très reposant. --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=traces-3 Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Les rues sont vides</title> <id>https://si3t.ch/log/2024-06-10-les-rues-sont-vides.txt</id> <updated>2024-06-10T08:45:11Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-06-10-les-rues-sont-vides.txt" /> <content type="text"><![CDATA[ Regardez bien petits et grands, regardez bien, toutes les personnes que vous rencontrez, avec qui vous parlez, avec qui vous riez, regardez bien et comprenez, hier, plus d'une sur 3 a choisi la haine. Bien plus en réalité, car vous connaissez l'adage: qui ne dit rien consent. Cette majorité silencieuse sera responsable des corps au fond de la mer, celle-là même dans laquelle vous vous baignez avec insouciance. Vous n'avez décidément rien compris. À quoi serviront vos frontières lorsque leur terres ne seront plus vivables? À quoi serviront vos costards lorsqu'une marée humaine déferlera pour fuir leurs températures extrêmes? À quoi serviront votre haine quand ce sera votre à votre tour de fuir vers des climats plus frais? Alors que jamais le climat n'a été aussi inquiétant. Les alternatives ne manquaient pas... Parti Pirate, Equinoxe, Ecologistes de tous poils... Mais vous avez préféré les alliés de Poutine, dont le soutient au parti de Marine Le Pen n'est plus à prouver. Vous avez préféré la guerre en Ukraine. Il doit bien rigoler celui-là de voir le bazar en Europe. => https://www.lemonde.fr/les-decodeurs/article/2022/04/20/quels-sont-les-liens-de-marine-le-pen-avec-la-russie-de-vladimir-poutine_6122903_4355770.html "Jamais plus de 20%"... => https://invidious.fdn.fr/watch?v=CuZB9hOQ0DQ Pourtant, les rues sont vides. Bande d'hypocrites. --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=les-rues-sont-vides Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">traces, 2</title> <id>https://si3t.ch/log/2024-06-08-traces-2.txt</id> <updated>2024-06-08T15:08:16Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-06-08-traces-2.txt" /> <content type="text"><![CDATA[ ## Écologie J'aimerais modifier mon régime pour quelque chose de + végétarien, à la fois dans un souci écologique mais avec aussi une finalité sur la bonne santé. Mais mes enfants aiment et ont besoin de viande. Je cherche des recettes simples, c'est à dire rapides, qui conviendraient aussi à mes petits loups. Je dis ça, j'imagine que les besoins enfant ne sont pas tout à fait identiques, je devrais demander à un diététicien. Difficile de faire le tri entre le prosélytisme et le vrai. J'ai vu passer un siphon récupérateur d'eau pour un évier de cuisine: => https://waterpowered.eu/collections/reco-water L'idée serait d'avoir un bidon en-dessous pour récupérer l'eau et arroser le jardin. Actuellement, je met une petite bassine que je vide dans mes arrosoirs à l'extérieur. Cependant : * J'en fous partout quand je transvase. * La bassine est trop petite, il faut la vider très souvent, et sa forme n'est pas très adaptée à mon évier. * Je dois sortir dehors. En pleine canicule, c'est pas terrible alors que je veux garder la maison fraîche. Maintenant, ça semble un peu overkill... J'hésite En passant, un petit article qui pose la question d'avoir des enfants en 2024? => https://vaghetti.dev/posts/children/ En ce qui me concerne, j'ai aussi l'espoir fou de les préparer à rendre le monde meilleur. ## Bricolage J'avais creusé un petit bac à sable pour les enfants. Ce sont mes premiers parpaing smontés tout seul, j'en suis un peu fier :) Cependant, il y a tout un tas de saletés qui tombent dedans, notamment les feuilles des arbres. Les cloportes adorent! Pour éviter que cela ne devienne en plus une litière pour tous le schats du quartier, je l'avais recouvert de morceaux de palettes récupérés. J'ai trouvé finalement des bouts de terrasse en bois, vendus chez brico dépot à pas cher. Les rainures sont plus fines, il y aura moins de feuilles. J'ai découpé les bouts de palettes pour renforcer le tout et pouvoir marcher dessus. ## Zététique? Au détour d'une conversation, quelqu'un habituellement sceptique m'évoque le teatree, comme quoi c'est vraiment bien. Apparemment, c'est une huile essentielle. Et après un tout petit peu de recherche, il n'y a aucune valeur thérapeutique prouvée. Ça pourrait soigner l'acnée ET le pied d'athlète (sorte de mycose). Je ne résiste pas à rappeler 2 trucs : * Si c'est un remède "universel" qui soigne plusieurs trucs à priori pas du tout en rapport (quel est le lien entre l'acnée et un champignon???), ça doit poser question. * Ce n'est pas parce que c'est naturel que c'est bon. La nature est cruelle et pleine de poisons. C'est un sophisme qui porte un nom : l'appel à la nature. => https://fr.wikipedia.org/wiki/Appel_%C3%A0_la_nature => https://www.drugs.com/npp/tea-tree-oil.html => https://www.nccih.nih.gov/health/tea-tree-oil Plus grave, le teatree serait un poison si ingéré. Ça signifie que des gens ont du poison chez eux, tranquille, sans même le savoir. Vous me direz, l'éthanol dans ma bière est un poison aussi. Finalement, mon interlocutrice s'est rendue compte qu'elle en prenait parce que ses parents en prennent, sans avoir vérifié ou remis en cause l'utilité de cette huile essentielle. Ça me fait me demander, combien de choses je tiens moi aussi pour acquises sans y avoir réfléchi? En passant, les médecines alternatives peuvent faire du mal. Le wiki suivant en recense quelques unes, c'est édifiant : => https://www.psiram.com/fr/index.php/Accueil --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=traces-2 Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">traces-1</title> <id>https://si3t.ch/log/2024-05-31-traces-1.txt</id> <updated>2024-05-31T10:39:52Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-05-31-traces-1.txt" /> <content type="text"><![CDATA[ ## Edito > Rhooo regadez-le comment il se la pète! "Edito"! Carrément, le gars il a laché la rampe... ... Tout ça pour dire que j'étais mal à l'aise avec les "vagues de notes", sans trop savoir dire pourquoi. Je préfère parler de traces, commes celles que l'on dessine dans le sable, des lettres éphémères du bout des doigts. Elles n'auront bientôt plus d'importance. ## Perso Semaine de merde. Nuit de samedi à dimanche, ma fille est malade. Elle n'y peut rien la petite paupiette, mais quand on a de la fièvre, on cauchemarde, alors je me lève plusieurs fois. Je termine le week-end un peu crevé, mais ça va le faire. Lundi, début de rhume. Normal, à force de me lever la nuit soit pour les enfants, soit parce que je fais des angoisses et n'arrive plus à retrouver le sommeil, je suis plus fragile. Ou c'est que je prends de l'âge. Bref, c'est qu'un rhume, osef. Mardi, petit accident. Stationné pour accroché la ceinture de mon fils à la sortie de l'école, une voiture me frôle et accroche ma portière. Que de la tôle froissée, personne de blessé. Pas grave. C'est l'occasion de faire mon premier constat de toute ma vie avec le gentils monsieur de 83 ans tout désolé. Certains en ont profité pour me dire "voilà pourquoi il ne faut pas laisser les vieux conduire". ok, je suis énervé un peu moi aussi, un peu plus et c'est mon fils qu'il dégommait. Mais la vérité n'est pas si simple, ils sont libres de leurs déplacements, de pouvoir aller se nourir... En tout cas, le pauvre homme vivait seul, il m'a reçu chez lui et fait confiance. Un chic type qui je l'avoue, m'a fait un peu de peine avec les photos de sa défunte épouse sur le buffet. Nuit de mardi à mercredi horrible : fièvre à mon tour, et une douleur intense au niveau de l'oreille et des courbatures. Mercredi matin, il faut aller bosser quand même : j'ai des élèves qui passent leur examen dans 1 mois, impossible de les laisser tomber. J'enfile un masque FFP2 qui restait précieusement dans son emballage plastique au creux de ma boîte à gants, et c'est parti. Matinée laborieuse, mais mes élèves sont des amours. Ils semblent surpris de me voir avec le masque, cela doit évoquer de mauvais souvenirs. Mais les habitudes reviennent vite. Il n'y a qu'une matinée à tenir, je leur fait peut-être un peu pitié. Ça va le faire. L'après-midi et la nuit suivante, c'est la décadence. J'ai l'impression que mon corps mobilise toute son énergie pour se débarasser de ce rhume : courbatures, articulations qui démangent, mal de tête, nez qui coule, mal de ventre, mal de dos, et une toux qui m'oblige parfois à m'asseoir. Je n'ai plus mal à l'oreille, mais mes bronches me brûlent avec une douleur qui métait encore inconnue. Je suis épuisé. Jeudi, je file au boulot, mais les vertiges au volant me font renoncer : je déclare forfait. Par chance, mon médecin a un créneau l'après-midi. J'y file en me doutant du diagnostic : un état grippal, paracétamol et repos. Décidément, les mâles, c'est des petits fragiles, ils pensent mourir dès qu'ils ont un truc. > Allongez-vous, respirer fort avec la bouche... Est-ce que vous acceptez que je fasse un test? Oui, je sais, ce n'est pas très agréable, mais on commence à être habitué. Voilà, dans 15 minutes je pourrai vous dire si c'est la grippe de saison, on en a de plus en plus en ce moment dans le coin. Je vous enverrai le résultat par message, d'accord? ... 5 minutes plus tard ... > Ah non tiens, c'est le COVID! Et c'est déjà révélé, c'est signe que vous êtes bourrés d'antigènes. Il y en a dans le bassin nantais, mais pas encore par ici, vous êtes mon premier depuis des mois! Oh, joie! Aujourd'hui vendredi. J'ai 35 ans, je suis vacciné, plutôt sportif et me sens malgré tout aussi bien qu'après m'être fait roulé dessus par un camion. On ne va plus en réanimation pour la COVID, c'est ce n'est pas une partie de plaisir. Faîtes attention à vous. Les masques, le lavage des mains, ça marche. Ne laissez personne faire comme si ça donnait l'air con. ## Informatique Je songe à ouvrir un blog plus perso, plus anonyme aussi, pour parler de trucs un peu plus sensibles. Mais bon, l'anonymat... je ne sais pas trop, c'est bien aussi d'assumer des opinions et des faiblesses. Ça me donne en tout cas l'occasion de faire une petite liste de sites pour héberger du contenu "smolweb": => https://smol.pub/ => https://midnight.pub/ => https://rawtext.club/ => https://pages.casa/ => https://sdf.org/ => https://smolweb.org/ Sinon, duckduckgo était down l'autre jour. L'occasion de tester => https://nogoo.me/ ou bien une instance listée là : => searx.space ## Culture Une élève m'a fait découvrir les odyssées. Un podcast: => https://www.radiofrance.fr/franceinter/podcasts/les-odyssees C'est censé être pour enfants. Perso, j'apprends plein de trucs, c'est un régal de l'écouter en allant au travail. Merci E! Je suis censé vous apprendre des trucs, mais c'est vous chers élèves qui m'éduquez un peu chaque jour. À ce titre, merci M de m'avoir appris le mot "paronyme", une forme d'humour à la Perceval qui m'amuse beaucoup mais dont j'ignorais l'intitulé. ## Code J'ai envie de bidouiller le code de httpd pour virer le css hardcodé et proposer plutôt une option pour préciser une feuille de style CSS à utiliser. ## Écologie À l'écoute de => https://www.youtube.com/watch?v=9_AStu-0KhY j'ai eu envie de retravailler ma page "écologie populaire", si vous voulez m'envoyer de nouvelles idées, je suis preneur. => https://si3t.ch/misc/ecologie-populaire/ J'en ai profité pour estimer mon empreinte carbone: => https://nosgestesclimat.fr/ Le test est très bien fait, et suggère des solutions ensuite, et de sélectionner lesquelles nous semblent acceptables pour avoir un nouveau calcul de l'impact. C'est très encourageant, on a pour une fois le circuit de la récompense immédiate qui est sollicité. Je vous invite à faire le test :) J'en suis à 4,1 tonnes EqCO₂/par an! Sans surprise, c'est ma voiture qui est le plus catastrophique! Mais tant que l'éducation nationale ne voudra pas me muter près de chez moi, je n'ai pas trop le choix... Le train met plus de temps à me conduire au travail, et je dois de toute façon emmener et aller chercher mes enfants à l'école. Quand ma clio rendra l'âme, je passerai à l'électrique, ça améliorera aussi le bilan. Ensuite, ma consommation de viande reste trop importante. Pourtant je m'en passe bien, et mange volontiers végétarien. Cependant, pour l'instant, on garde un peu de viande dans nos repas car les petits enfants en ont besoin, même si on privilégie la volaille et les abats. On pourrait diminuer un peu plus quand même. Ce qui me fait rire, c'est que le 3e point sur lequel je pourrais progresser, c'est la boisson! 5% de mon empreinte. Il faut diminuer la consommation d'alcool : c'est déjà en cours. Ensuite, remplacer le café par la chicorée : j'en ai justement racheté cette semaine. Je tiens le bon bout! :) --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=traces-1 Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">En bref: CSS, sport et santé</title> <id>https://si3t.ch/log/2024-05-22-bref-css-sport.txt</id> <updated>2024-05-22T20:35:57Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-05-22-bref-css-sport.txt" /> <content type="text"><![CDATA[ Bon, j'ai craqué, j'ai remis du CSS sur mon site. Heureusement, il y a w3m, lynx ou le mode lecture (ctrl-alt-R) si ça ne plaît pas. C'est complètement piqué à causal.agency. Ce sont les couleurs qui à mon avis correspondent assez bien à l'intérieur d'un sietch : du sable, du jaune, du marron, avec quelques notes de vert pour l'espoir de voir la nature s'épanouir et du bleu pour l'immensité du ciel. Sinon, 2 résolutions : * Je me remets sérieusement au sport. Le + dur, c'est toujours la régularité... * Je réduis l'alcool. Ça m'aidera pour le sport, et ça ne peut pas faire de mal à la santé. Pour ça, je tiens un calendrier où je note chaque jour sans alcool et chaque jour avec du sport. Merci Solène pour l'idée, c'est très motivant ;) --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=bref-css-sport Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Vagues de notes - 3</title> <id>https://si3t.ch/log/2024-05-16-vagues-3.txt</id> <updated>2024-05-16T12:01:00Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-05-16-vagues-3.txt" /> <content type="text"><![CDATA[ Et c'est reparti pour un tour! ## Pas de solarpunk sans lowtech :) Je me suis abonné au lowtech journal sur les conseils d'un ami. Il y aun peu de philo, de l'économie, mais aussi des descriptions de bricolages et montages. On sent que c'est fait par passion mais avec des petits moyens (quelques coquilles). En tout cas, je me régale et l'attend avec impatience. J'y ai même trouvé quelques montages et articles pour agrémenter mes cours. Ce qui est sûr, c'est que je laisserai quelques numéros en fond de classe. => https://www.lowtechjournal.fr/ Dans le numéro précédent, ils étudiaient simplement divers paramètres pour améliorer un four solaire. Je compte m'atteler à la construction du modèle suivant maintenant que j'ai ENFIN trouvé une vitre (ça aura été le + difficile :)) => https://web.archive.org/web/20220629185951/http://four-solaire.iguane.org/ En parlant de bricolages, j'ai presque terminé ma pompe manuelle. J'ai perdu le bouchon, il faut vraiment que je fasse du tri... => https://wiki.lowtechlab.org/wiki/Pompe_manuelle_(verticale) ## Potager Il a enfin cessé de pleuvoir quelques jours. Ça fait du bien de remettre les mains dans la terre. Mon potager est prêt. Moins ambitieux que les années précédentes, je n'arrive pas à trouver suffisamment de temps. Et j'étais en retard sur les semis. Il faut que je sois + vigilant cette année sur l'aération du sol et essaie de mettre plusieurs cultures à se suivre. Dans le lowtech magazine, ils évoquaient le Plectranthus Barbatus. J'en ai trouvé un plan, il pousse bien. Je ne suis pas sûr de remplacer réellement le papier toilette avec, mais en attendant, c'est une plante toute douce qui vient agrémenter ma haie coupe-vent pour le potager. En parlant de haie, j'avais mis de la menthe devant le muret, le long de la rue. Elle s'est bien développée. Très bien même. C'est plus joli que les mauvaises herbes, et ça sent bon quand on marche dessus. En parlant de mauvaises herbes, mon voisin laisse tout en friche à tel point que ça déborde chez moi. J'aime bien la nature, mais les ronces, c'est pas trop mon truc. Du coup, après avoir bien taillé le long de ma cloture, j'ai repiqué quelques pieds de menthe qui, peut-être (je l'espère), vont se propager de son côté et ralentir les ronces petit à petit. ## Réflexions... Quand c'est hors-ligne, c'est mieux. Les livres pour enfant montrent toujours l'hiver avec de la neige. Les livres pour enfants ne sont pas à jour : la neige appartient au passé. Dans 50 ans, il y aura peut-être des légendes qui naîtront sur cette substance étrange, froide et blanche. ## Informatique Je redécouvre la palette de couleurs de June: => https://causal.agency/scheme.png J'aime beaucoup, elle est très reposante pour les yeux. Je vois une vraie différence, c'est moins éblouissant, comme si j'étais devant les pages d'un livre. En plus, c'est chaleureux. Ça ressemble un peu à gruvbox, mais en plus foncé. Voici les couleurs utilisées (pour xterm): ``` *background: #14130e *foreground: #b7a980 *color0: #161510 *color1: #a32810 *color2: #727a18 *color3: #a37720 *color4: #3d6266 *color5: #7a4955 *color6: #557a55 *color7: #998d6b *color8: #4c4635 *color9: #cc3214 *color10: #8e991e *color11: #cc9528 *color12: #4c7b7f *color13: #995b6b *color14: #6b996b *color15: #ccbc8e ``` ## Vu sur le web Pourquoi écrire un blog? Je traduis tès librement et sans détails, l'article d'origine est bien mieux: => https://chavanniclass.wordpress.com/2024/05/16/why-blog/ * Pour se faire une réputation d'auteur (ça peut en intéresser certains...) * Pour laisser un héritage, en particulier pour ceux qu'on aime * Pour parler des choses qu'on aime * Pour y voir plus clair, organiser ses idées * Pour parler de sujets tabous et participer à leur déstigmatisation * Pour échanger et profiter de la compagnie de personnes autour du monde. "Se faire des relations". Une forme de société numérique choisie. * Pour entretenir sa créativité * Pour se sentir apprécié (ou pas?) * Pour avoir un impact. Ce dernier point est plus vrai qu'on ne l'imagine. Il m'est arrivé de lire par hasard des billets ui m'ont fait un bien fou. Je pense notamment à June ou encore à f6k. => https://causal.agency/ => http://huld.re/ ^^ (cherchez bien :)) J'y ajouterai : Pour faire comme on a envie. :) --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=vagues-3 Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">fossil is great to self-host</title> <id>https://si3t.ch/log/2024-05-13-fossil-great-self-host.txt</id> <updated>2024-05-13T12:51:38Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-05-13-fossil-great-self-host.txt" /> <content type="text"><![CDATA[ Today, I'd like to talk about fossil: => https://fossil-scm.org/ It is solene, you probably already know her, who proposed to use it to host a forum for a french community about OpenBSD. => https://dataswamp.org/~solene/ => https://fr.forum.puffy.cafe/wiki?name=Index Indeed, fossil is well known as an alternative to git or hg. And a good one if you ever tried. You can host your projects and publish source code quite easily. But it's more than that. It offers: * a forum engine * a wiki engine, and btw a sort-of website content manager * a real-time chat All this while staying very light and thus, self-hosting friendly. It even serve gzipped content by default! Backups are easy, just lcone the repository or copy/rsync/scp/whatever the ".fossil" file. Upgrades are painless, just upgrade the binary. There are already good instructions to set it up: => https://fossil-scm.org/home/doc/trunk/www/server/openbsd/fastcgi.md As you could read, fossil is very selfhosting friendly. I found quite clever the use of a template to fill the mfs. One may add a new "/etc/newsyslog.conf" entry to avoid evergrowing error log file. ``` /var/www/logs/fossil.log 644 5 300 * Z ``` I wonder if it is worth adding a part about fossil on https://si3t.ch/ah/en/09-services/ ? What do you think about fossil? --- This was written for the mailing-list about self-hosting with OpenBSD. => mailto:ah@bla.si3t.ch If you want to subscribe, write to ah+subscribe@bla.si3t.ch ]]> </content> </entry> <entry> <title type="text">Host with OpenBSD: mailing-list</title> <id>https://si3t.ch/log/2024-05-10-ah-mailing-list.txt</id> <updated>2024-05-10T14:10:37Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-05-10-ah-mailing-list.txt" /> <content type="text"><![CDATA[ I just created a mailing list to discuss (self-) hosting experiences or questions with OpenBSD. If you're interested, subscribe at: ah+subscribe@bla.si3t.ch As Usual, mlmmj is great for mailing lists. Maybe I should setup a browsable archive one day. Anyway, welcome if you want :) ]]> </content> </entry> <entry> <title type="text">Garder les modules prosody à jour</title> <id>https://si3t.ch/log/2024-05-07-xmpp-prosody-up-to-date-modules.txt</id> <updated>2024-05-07T09:07:56Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-05-07-xmpp-prosody-up-to-date-modules.txt" /> <content type="text"><![CDATA[ Après avoir mis à jour votre serveur prosody, peut-être avez-vous oublié de vérifier que les modules étaient eux-aussi bien à jour. C'est mon cas. De toute façon, les modules devraient être mis à jour dès que possible, ne serait-ce que pour corriger de potentielles failles de sécurité. Voici comment j'ai résolu ce souci avec OpenBSD. Tout d'abord, dans /etc/prosody/prosody.cfg.lua, on va préciser l'URL du dépôt des modules: ``` plugin_server = "https://modules.prosody.im/rocks/" ``` Ensuite, dans /etc/daily.local, on ajoute une commande qui va vérifier et alerter si de nouvelles versions sont disponibles en allant regarder l'URL ci-dessus. ``` next_part "Prosody modules" /usr/local/sbin/prosodyctl list --outdated ``` Cela retourne pour moi : Pour mettre à jour un module, il suffit de l'installer: ``` prosodyctl install conversejs ``` Documentation officielle: => https://prosody.im/doc/installing_modules --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=xmpp-prosody-up-to-date-modules Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Vagues de notes - 2</title> <id>https://si3t.ch/log/2024-05-06-vagues-2.txt</id> <updated>2024-05-06T10:45:27Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-05-06-vagues-2.txt" /> <content type="text"><![CDATA[ ## Edito (lol) Je n'ai pas eu très envie d'écrire dernièrement. Besoin de rester silencieux? Consommateur plutôt que producteur? Sans doute aussi un peu de paresse. Toutefois, je continue d'ouvrir un fichier contenant des notes en début de session. Il s'agit d'un script "notd" comme "notes of the day" ouvert dans tmux : ``` tmux new-window -d -n "notd" notd ``` Le script en question ajoute la date à la fin si elle n'est pas déjà présente, puis ouvre vi à la fin. Ça ressemble désormais à ça : ``` #!/bin/sh # notd : notes of the day. # open a new YYYY-MM-dd.txt in $NOTESDIR with $EDITOR # Author: prx <prx@si3t.ch> NOTESDIR=~/work/notes dotd="$(date +%Y-%m-%d)" f="${NOTESDIR}/notd.txt" test -d ${NOTESDIR} || mkdir -p ${NOTESDIR} #test -f "${f}" || printf "# %s - Notes du jour\n\n" "${dotd}" > "${f}" if [ -z "$(grep $dotd $f)" ]; then printf "\n\n# %s \n\n" "${dotd}" >> "${f}" fi ${EDITOR} + "${f}" ``` Bref, je vais publier aujourd'hui une partie de ces notes, il est temps ^^. C'est donc un billet en vrac, que je vais appeler "vagues de notes". ## Pop culture geek Mon fils de 5 ans n'échappe pas aux influences publicitaires des t-shirts de ses camarades, des effets de modes en tout genre. Après "Pat patrouille", il parle de plus en plus de Sonic, de Mario, Pokemon... Il me fait rire à vouloir en savoir plus sur ces personnages, comme s'il s'agissait d'une histoire à raconter. Ceci dit, ça me donne trop envie de lui montrer les jeux et faire du retrogaming avec lui. C'est encore un peu tôt, mais j'ai hâte! Ma retrostation est prête! ## Retrogaming J'ai eu le malheur de tomber sur un article qui parle de romhack. => https://www.romhacking.net/ Le site ci-dessus est une source inestimable de trésors. Il s'agit de modifications apportées à des roms de jeux déjà existants. Parfois des traductions, des modifications du gameplay voire des ajouts ou encore de tous nouveaux jeux! Je suis donc en ce moment en train de jouer à Ash Gray => https://visualboyadvance.org/gba-roms/pokemon-ash-gray/ => https://www.emulatorhacks.com/2021/05/Pokemon-AshGray-Walkthrough.html?m=1 Cela me donne encore plus envie de montrer les épisodes télé à mon fils (patience...) ## Informatique Une liste de blogs à découvrir, il y en a pour la vie! => https://indieblog.page/all ## Livres Des élèves m'ont offert pour mon anniversaire la belle version de Dune (les fous). Je vais pouvoir laisser mes anciens de poches en libre accès au fond de ma salle de cours, et me racher les autres tomes en version collector (pas le choix hein :) ) J'ai lu Les Culottés de Pénélope Bagieux, et acheté les Strates. À faire lire aux jeunes filles, et pas que. Non seulement elle est géniale dans La Bonne Auberge, mais elle trouve le ton juste pour parler de sujets profonds en finesse et avec humour. ## Citations => Ce sont toujours les gentils qui sont malheureux. => https://www.michalzelazny.com/thoughts-9/ > Life is the art of choice. We make choices every day, every moment. We choose what we eat for breakfast, how we spend our time, whom we give our energy to. Well, it’s easy to make the wrong choices and I make a lot of them. > Allez prendre vos leçons dans la nature, c'est là qu'est notre futur. Leonard de Vinci > Nous avons trop souvent tendance à confondre l'aube avec le crépuscule. Ploum --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes) : => mailto:bla@bla.si3t.ch?subject=vagues-2 Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Quoi de neuf ? 1</title> <id>https://si3t.ch/log/2024-04-06-koidneuf-1.txt</id> <updated>2024-04-06T14:47:21Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-04-06-koidneuf-1.txt" /> <content type="text"><![CDATA[ Que s'est-il passé depuis le 3 avril? (un peu avant en vrai, je ne sais plus trop) ## code On commence avec un bout de code pour obtenir un nombre aléatoire entre 0 et 60 avec awk, parce que j'aime bien awk: ``` awk 'BEGIN { printf("%d\n",rand()*60) }' < /dev/null ``` Mais il y a mieux, la commande jot qui peut donner un nombre aléatoire entre "start" et "end": ``` jot -r 1 start end ``` Je crois que j'ai eu besoin de chercher ça pour écrire un script qui patientait un nombre aléatoire de secondes. Sinon, j'ai ajouté des liens vers la racine de mon site en bas de chaque page, pour les versions http/gemini et gopher. Merci le Makefile. => https://git.sr.ht/~prx/si3t.ch/tree/master/item/Makefile Je me suis aperçu que le liens derrière le logo en haut de page n'était pas assez pratique en pestant lorsque certains blogs n'en proposaient pas lorsque je fouillais sur blogroll.org: => https://blogroll.org/ ## solarpunk Ce mouvement, décidément, me fait du bien. C'est ma chérie qui m'en a fait la remarque : "dis donc, t'es à fond là-dedans dernièrement". Et pour cause, je couve ce qu'on appelle une "éco anxiété" sur laquelle je ne m'étenderai pas ici, ce n'est pas tellement mon style. Au contraire, je préfère garder tout ça bien enfoui car lorsque j'y réfléchis un peu j'en suffoquerai. (oui, je sais, il faudrait probablement que je consulte un psy, et pas que pour ça d'ailleurs). Forcément, le solarpunk ne peut que m'apaiser. Comme Péhä, j'ai recopié le manifeste au format txt pour la postérité: => https://fuchu-shuku.pages.casa/misc/un_manifeste_pour_le_solarpunk.txt => /misc/notes/solarpunk/ En fouillant aléatoirement sur l'Internet sur le sujet, je suis tombé sur des plans de géonefs: => https://earthship.com/ => https://fr.wikipedia.org/wiki/G%C3%A9onef Ça donne tellement envie. J'imagine déjà une sorte de maison de hobbit dans le jardin. J'aurais bien fait ma maison ainsi, malheureusement ça ne doit pas être accepté quand on dépose permis de construire... J'ai fait imprimer ce logo derrière une veste, j'attends de voir si des gens vont le remarquer et venir discuter: => https://si3t.ch/misc/notes/solarpunk/solarpunk-logo.png ## auto-hébergement Je suis passé de rspamd à spamassassin avec opensmtpd-filter-spamassassin. Pour la signature dkim, j'utilise alors opensmtpd-filter-dkimsign. Ça me plaît davantage. UNIX style, un outil par tâche. Je n'ai plus envie de redis non plus, retour aux vieux trucs lents mais qui marchent. Et ça fait du bien de remettre les mains dans le cambouis, pour se rafraîchir la mémoire et mettre à jour le tuto auto-hébergement. Et puis, on ne sait jamais: => https://www.lemagit.fr/actualites/366575532/SGBD-Redis-seloigne-lui-aussi-de-lopen-source J'ai droit à un 10/10 sur mail-tester (#jmelapète) => https://www.mail-tester.com/test-2uyw49gu5 Sinon, OpenBSD a publié sa version 7.5. La mise à jour s'est faîte sans soucis. ``` sysupgrade pkg_add -u sysclean # + verification des fichiers et sysclean |xargs rm ``` J'adore la nouvelle apparence de l'auto index d'httpd. C'est en voulant proposer un patche pour un affichage plus pratique que j'ai découvert que c'était prévu pour la 7.5. Par contre, ce n'est toujours pas très pratique sur petit écran comme celui d'un smartphone. Il faudrait que je tente des modifications pour améliorer ça. ## Boulot J'ai fait ma demande de mutation. Après les multiples plantages du serveur et des barèmes franchement pas clairs et des onglets à fouiller pour pouvoir valider. Clairement, tout est fait pour que ça soit difficile. J'ai peu d'espoir vu le nombre de postes fermés à nouveau à la rentrée prochaine. Mais je suis tellement fatigué de devoir me taper 1h de route aller, 1h de route retour, soit 2h sup' dans ma journée. ## Ça fait du bien J'ai entendu une phrase du style: > À partir du moment où t'as des enfants, tu t'en fous. C'était à propos d'une mauvaise journée, ou des merdes de la vie quotidienne : quand t'as des enfants, y a finalement plus important et mieux qui t'attend à la maison avec eux. C'est vrai. --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes): => mailto:bla@bla.si3t.ch?subject=koidneuf-1 Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Mon fils m'a envoyé un courrier</title> <id>https://si3t.ch/log/2024-03-24-mon-fils-m-a-envoye-un-courrier.txt</id> <updated>2024-03-24T15:11:31Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-03-24-mon-fils-m-a-envoye-un-courrier.txt" /> <content type="text"><![CDATA[ Cher Papa, J'espère que ce courrier te trouvera en pleine forme, et surtout que cette chauve-souris trouvera le chemin de la maison contrairement à la dernière. Ce sont mes premiers dressages et j'apprends encore de mes échecs. Je pourrai y consacrer davantage de temps à la prochaine saison des pluies. Pour l'instant, il est plus urgent de réparer le piège à nuages pour ne pas manquer d'eau, les grandes chaleurs approchent et les réservoirs ne seront jamais assez remplis. J'ai creusé une nouvelle cuve derrière la maison, à l'intérieur cette fois. À quelques mètres de profondeur à flanc de colline, nous serons au frais et ne risquons plus les inondations lorsque la période des orages surviendra. Ta petite fille a trouvé un vieil alternateur sur une twingo abandonnée. Elle commence déjà à bricoler une éolienne verticale. Elle dit vouloir préparer un système fermé à combustion d'hydrogène pour nous éclairer même en l'absence de vent. Comme tu vois, elle ne manque pas d'idée, je suppose qu'elle a fouillé dans tes vieilles notes de cours. Je reste prudent, je crains qu'à ce rythme, toute cette lumière attire des siluriens. Je profite de ces lignes pour t'envoyer des nouvelles de ma petite soeur. Elle est radieuse, la vie en ville lui réussit. Tu la connais, elle déborde d'énergie et participe sans relâche à l'aménagement de la banlieue. Là-bas, les inégalités restent fortes, pourtant tout le monde semble se rendre service. Les immeubles récents ont été abaissés, les toits aplanis. Reste à y monter suffisamment de terre pour les végétaliser. Les premiers essais de jardins sont épatants, les légumes et arbres donnent au sommet des bâtiments des allures de coiffures punk. C'est à leur floraison que c'est magnifique, mais surtout, cela permet de rendre la température supportable à la saison des brûlures. Elle m'a parlé d'une résine spéciale dont ils enduisent les murs : la photosynthésine. Exposée à la lumière, elle génère de l'électricité. Cette énergie permettrait de briser les molécules de CO₂ en deux pour réduire sa concentration. Encore une fois, les plantes nous servent de modèle. En attendant, ta fille peint les murs en blanc pour augmenter l'albédo, et répand des spores de mousse pour végétaliser les murs et les toits. Ce sont d'excellents pièges à carbone. Elle m'a parlé de certaines espèces d'algues qui recouvrent des bâtiments de ville voisine, je suppose qu'elle ne résistera pas à tenter cette alternative. Quant à toi, te décideras-tu enfin à nous rejoindre? Tu sais bien que la maison est trop humide, elle baigne dans les eaux de la Loire les deux tiers de l'année, le salpêtre gagne les murs et cette humidité nuit à ta santé. Laisse les souvenirs sur place et vient en vivre de nouveaux avec tes petits enfants. Je peux te creuser une bibliothèque. Je t'aiderai à y déplacer tous tes livres. De plus, le four solaire fonctionne bien, nous pourrons nous débrouiller pour y chauffer de la céramique et faire cuire les crêpes que tu aimes tant. Ton fils qui pense à toi. N --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes cachée): => mailto:bla@bla.si3t.ch?subject=mon-fils-m-a-envoye-un-courrier Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">sloweb partie 3 : lecture</title> <id>https://si3t.ch/log/2024-03-21-sloweb-part-3-whatsinthebox.txt</id> <updated>2024-03-21T12:32:06Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-03-21-sloweb-part-3-whatsinthebox.txt" /> <content type="text"><![CDATA[ Afin de consulter les pages enregistrées, regarder les images récupérées ou visonner les vidéos téléchargées par yt-dlp, j'appelle le script "whatsinthebox". Petite référence à un film et au fait que toutes les ressources sont stockées dans le dossier ~/sloweb/box par défaut. Ce script va tout simplement afficher les fichiers les uns après les autres, et proposer pour chacun de le conserver ou de le supprimer (choix par défaut). ``` OLDIFS=$IFS IFS=' ' for f in $(find "${SLOWEB_BOX}" -type f -maxdepth 1); do "${SLOWEB_OPENER}" "${f}" ans="" printf "%s\n" "${f}" printf "[d]elete, [k]eep? or [e]xit [d] > " read ans case "${ans}" in k|K) printf "Keep ${f}\n" ;; e|E) exit ;; *) #d|D|n|N) printf "Delete ${f}, next!\n" rm -f "${f}" rm -rf "${f}-data" ;; esac done IFS=$OLDIFS ``` On voit qu'il appelle "SLOWEB_OPENER" pour ouvrir un fichier. Par défaut, il s'agit d'olab, un autre script à modifier qui effectue une action selon l'extension du fichier. Par défaut, il appelle xdg-open: ``` #!/bin/sh # olab : open like a boss # Usage: # ./olab.sh /path/to/file # get extension + lower extension ext="$(echo .${1#*.} | tr '[:upper:]' '[:lower:]')" case "${ext}" in *.htm|*.html|*.xhtml) #fmt="w3m %s" fmt="surf %s" ;; *.pdf|*.xps|*.cbz|*.epub) fmt="mupdf %s" ;; *.jpg|*.jpeg|*.png|*.gif|*.tiff|*.svg) fmt="nsxiv %s" ;; *.odt|*.odt|*.ods|*.od*|*.docx|*.doc|*.xls|*.xlsx|*.ppt*) fmt="libreoffice %s" ;; *.mp4|*.avi|*.mpg|*.ogv|*.webm|*.mkv) fmt="mpv %s" ;; *.ogg|*.flac|*.wav|*.mp3|*.opus) fmt="mpv %s" ;; *.[1-9]) fmt="man -l %s" ;; *.c|*.h|*.sh|*.lua|*.py|*.ml|*[Mm]akefile|*.md|*.tex) fmt="st -e $EDITOR %s" ;; *.txt|*.gmi|*.gemtext) which bat && fmt="bat %s" || fmt="less %s" ;; *) fmt="xdg-open %s" ;; esac printf "$fmt" "\"$1\"" | ${SHELL:-"/bin/sh"} exit ``` En passant, on remarquera que pour les fichiers gmi, la coloration est obtenue avec "bat" s'il est présent. À l'usage, je me dis qu'utiliser un navigateur de fichier comme noice serait tout aussi pratique, mais retire la possibilité de supprimer par défaut. => https://git.2f30.org/noice/log.html --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes cachée): => mailto:bla@bla.si3t.ch?subject=sloweb-part-3-whatsinthebox Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">sloweb partie 2 : les flux</title> <id>https://si3t.ch/log/2024-03-14-sloweb-part-2-feeds.txt</id> <updated>2024-03-14T12:29:58Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-03-14-sloweb-part-2-feeds.txt" /> <content type="text"><![CDATA[ Pour la lecture des flux, sloweb s'appuie sur des outils déjà existants. Quel que soit la méthode choisie, l'objectif est de récupérer les nouveaux articles à lire sur la machine et les garder en cache. La plupart des lecteurs de flux fonctionnent ainsi : on les ouvre, ils récupères les nouveautés. Cependant, je n'ai pas toujours prévu de lire mes flux quand j'allume l'ordinateur. De plus, pour éviter d'être distrait, je préfère rester dans un contexte de texte brut. Enfin, il y a la question des phlogs et gemlogs, des protocoles peu souvent supportés par les lecteurs de flux. (oui ploum, je sais, il y a offpunk ;)) ## Quels outils? J'ai tout d'abord utilisé rss2email, qui envoie les articles par mail. => https://github.com/rss2email/rss2email Cependant, je lui ai trouvé 2 défauts: * La gestion des abonnements est un peu pénible, surtout si je charge mon serveur de faire tourner rss2email. * Les articles étant des mails, je suis trop tenté d'ouvrir mon application de messagerie pour vérifier s'il y a de nouveaux articles. C'est de ma faute, mais je retombe dans les travers du "plus, encore, maintenant!". À la place, je lui préfère sfeed et son interface éventuelle qui rappelle newsboat: => https://codemadness.org/sfeed.html => https://codemadness.org/sfeed_curses-ui.html sfeed est justement très modulaire, et s'entoure de plusieurs petits outils faciles à articuler entre eux. On peut d'ailleurs très bien faire de sfeed un équivalent de rss2email si on le souhaite, tout est expliqué dans le readme. Sur mon ordinateur, sfeed m'apporte les avantages suivants : * Récupération des flux avec curl, ou une autre commande. Ça supporte ainsi aussi le protocole gopher, donc les phlogs. Il ne devrait pas être trop difficile d'y ajouter les gemlogs, mais j'ai écrit un script dédié pour ça. * Il garde en mémoire les articles déjà lus dans sfeed-curses. On peu les lire ou ouvrir dans le navigateur. Le lien de l'article est affiché, je peux l'utiliser pour l'envoyer à d'autres outils (voir Exemple). * Il permet de filtrer les flux et d'effectuer des remplacements du type youtube > invidious, ou encore retirer des liens publicitaires... On peut même choisir de télécharger les vidéos des abonnements youtubes avec yt-dlp. * La mutliplicité des outils pour lire me plaît : dmenu, mail, texte, ... Il reste limité à un affichage en mode texte, parfois gênant pour des articles contenant des images (xkcd, APOD) que j'aimerais pouvoir voir même hors-ligne. Pour cela, le script sloweb_forlater est là. ## Un exemple avec APOD Si vous ne connaissez pas, sachez que la NASA publie chaque jour une photo d'astronomie avec des commentaires d'astronomes profesionnels. => https://apod.nasa.gov/apod/ Ça n'a d'intérêt que si on a l'image sous la main. Lorsqu'une nouvelle entrée apparaît dans le flux, je passe l'URL à forlater: ``` forlater https://apod.nasa.gov/apod/ap240314.html ``` Ce script est très court. Il va faire en sorte que la commande sloweb_forlater soit exécutée la prochaine fois que sloweb tourne, avec l'aide de sloweb_cmd déjà présenté dans l'article précédent. ``` sloweb_cmd "cd \"${SLOWEB_BOX}\"; sloweb_forlater \"$1\"" ``` La commande sloweb_forlater sera alors exécutée dans le dossier ~/sloweb/box pour enregistrer la page apod ainsi que l'image. ## sloweb_forlater sloweb_forlater est un des outils dont je suis le plus content car il permet d'avoir une version locale d'une page web/gemini/gopher. Dans le cas d'une page web, je sais que wget sait déjà aspirer un site. Cependant, les liens vers le ressources ne sont pas réécris. Autement dit, si la page appelle un script vers googleapis, ou encore si elle demande le chargement d'une image avec un lien du type "https://bla/blop/blup.jpg", alors impossible de charger l'image si on est hors-ligne. sloweb_forlater se charge donc de réécrire les liens vers les images. Ces liens sont des liens locaux du type "./chemin_vers_limage.jpg". Pour télécharger les ressources, je vais appel à "sloweb_anyget", qui n'est qu'un "wrapper" afin d'appeler la bonne commande de téléchargement selon si le protocole esthttp, gopher ou gemini. À la même occasion, si le lien est une vidéo youtube, alors yt-dlp va la télécharger. Ainsi, je peux lire les pages et médias gardés dans la "box" sans avoir besoin d'un accès à internet. Cela fera appel au script sloweb_whatsinthebox, mais c'est pour un futur article ;) --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes cachée): => mailto:bla@bla.si3t.ch?subject=sloweb-part-2-feeds Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">sloweb partie 1 : run_cmds</title> <id>https://si3t.ch/log/2024-03-13-sloweb-part-1-run-cmds.txt</id> <updated>2024-03-13T13:42:23Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-03-13-sloweb-part-1-run-cmds.txt" /> <content type="text"><![CDATA[ C'est parti pour détailler tout ce que me permet de faire sloweb actuellement: => https://git.sr.ht/~prx/sloweb ## sloweb_online Tout d'abord, sloweb vérifie que l'on a bien un accès en ligne, et appelle pour cela le script sloweb_online. Si tout va bien, ce dernier retourne 0, sinon il retourne une erreur. On peut lire au tout début de ce script quelques lignes communes à tous les scripts sloweb_*. Cela concerne la configuration : ``` # configuration # if SLOWEB_DIR not set as ENV VARS, set default test -z "${SLOWEB_DIR}" && SLOWEB_DIR=~/sloweb config="${SLOWEB_DIR}/slowebrc" if [ ! -f "${config}" ]; then printf "%s" "Configuration not found, copy slowebrc.example to ${config}" exit 1 fi # import config . "${config}" ``` On peut voir qu'à moins qu'une variable d'environnement soit déjà définie, on va aller chercher le fichier ~/sloweb/slowebrc comme configuration. Utiliser une variable d'environnement facilite la possibilité de changer la structure des répertoires utilisés par sloweb sans se prendre la tête. Dans le fichier ~/.profile, on pourra écrire: ``` export SLOWEB_DIR=/var/sloweb/or/else ``` On retiendra donc que par défaut, la configuration de sloweb a lieu dans ~/sloweb/slowebrc. Un exemple est fourni, il est commenté pour expliquer à quoi servent chaque partie. On trouve notamment dans ce fichier la partie relative à sloweb_online: ``` # sloweb_online # connectivity check, multiple domains in case one of them is down SLOWEB_ONLINE_DOMAINS="openbsd.org wikipedia.org www.nasa.gov" SLOWEB_ONLINE_PORT=443 ``` Voici une liste de domaines qu'on va chercher à atteindre via le port 443. Si le premier échoue, alors on essaie le suivant : après tout, un site peut bien être en panne alors que vous êtes pourtant connecté. Dès qu'un accès a réussi, alors sloweb_s'arrête et retourne 0. Ça tient finalement en quelques lignes: ``` # check if currently connected connected=0 for d in ${SLOWEB_ONLINE_DOMAINS}; do # uncomment to use ping instead of netcat # ping -c1 -w2 "$d" >/dev/null 2>&1 nc -zw1 "${d}" $SLOWEB_ONLINE_PORT >/dev/null 2>&1 if [ $? -eq 0 ]; then connected=1 break fi done if [ $connected -eq 0 ]; then _err "It seems you cannot reach the Internet" exit 1 fi exit 0 ``` Vous aurez noté l'utilisation de netcat. Il est présent par défaut sous OpenBSD. Certains préféreront décommenter l'appel à "ping" à la place. J'ai cependant lu à ce propos que certains fournisseurs bloquent le ping, pas tant le serveur que le point d'accès : pensez WiFi public, ce qui donnerait l'impression d'être hors ligne, alors que le port 443 protocole TCP utilisé pour les "accès https" est bien ouvert. J'avoue, je n'ai pas trop d'avis là-dessus, je n'ai jamais été confronté à ça. Pour finir, vous aurez remarqué la fonction "_err", qu'on retrouvera dans d'autres scripts. J'aurais pu l'écrire dans le fichier de configuration, mais je craignais de rentre les choses trop confuses en mélangeant fonctions et configuration. ## sloweb_run_cmds le script sloweb_run_cmds va exécuter toutes les commandes présentes dans des fichiers, eux-même stockés dans le dossier SLOWEB_CMDS (~/sloweb/cmds par défaut). ``` find "${SLOWEB_CMDS}" -type f | while read -r cmd; do ${SHELL:-"/bin/sh"} -e "${cmd}" if [ $? -ne 0 ]; then _err "'$(cat ${cmd})' in ${cmd} failed" else _log "'$(cat ${cmd})' successfully executed" rm -f "${cmd}" fi done ``` "find" permet de lister tous les fichiers du dossier cité ci-dessus puis d'en exécuter le contenu comme un script. On passe ce fichier au shell par défaut et on informe l'utilisateur si tout s'est bien déroulé. Dans ce cas, on supprime le fichier. On laisse le fichier présent pour que l'utilisateur puisse éventuellement corriger la commande. On pourrait laisser l'utilisateur créer des fichiers dans ce dossier, mais autant l'aider avec un script qui va créer des fichiers uniques pour les commandes qu'il voudra exécuter lors de son retour en ligne. C'est ce que fait sloweb_cmd. ## sloweb_cmd Ce script se charge de créer un fichier dont le nom est unique pour ne pas écraser un éventuel fichie déjà existant. Pour cela, la commande "mktemp" est parfaite. ``` # use mktemp for unique file, and a timestamp to keep order cmd_file=$(mktemp "${SLOWEB_DIR}/cmds/$(date +%s).XXXXXXXX") printf "%s\n" "$*" >> "${cmd_file}" ``` Le "printf" permet de conserver tous les caractères qui seraient sinon interprétés. ## Le mot de la fin J'ai commencé par une partie un peu technique de sloweb. Le prochain coup, je présenterai la partie sur les abonnements aux flux RSS/ATOM, qui utilise des outils déjà existants. --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes cachée): => mailto:bla@bla.si3t.ch?subject=sloweb-part-1-run-cmds Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">sloweb -- Le web sans s'essouffler</title> <id>https://si3t.ch/log/2024-03-12-sloweb-le-web-sans-s-essoufler.txt</id> <updated>2024-03-12T20:47:27Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-03-12-sloweb-le-web-sans-s-essoufler.txt" /> <content type="text"><![CDATA[ Voilà quelques semaines, voire quelques mois que je tente de limiter le temps passé (perdu) devant mon écran. Vous savez, dès qu'une petite difficulté se présente, qu'il faut réfléchir un petit peu, ou que on a un petit peu avancé dans le boulot : hop, une petite pause sur 9gag ou mastodon histoire de voir ce qu'il y a de nouveau. Rien de tel pour manquer de concentration et perdre du temps. Le pire, c'est que ce comportement devient préoccupant lorsque j'en arrive à vérifier à la moindre seconde "libre" aussi sur mon smartphone s'il y a de nouveaux mails, de nouveaux posts sur le fediverse, un nouvel article dans la liste des flux suivis. Vous avez dit aliénation? Je laisse donc mon smartphone en dehors de ma poche lorsque j'en ai pas BESOIN. Fedilab est désinstallé, et le raccourci vers mon client mail effacé. J'ai étendu ce nettoyage sur mon ordinateur : je l'allume pour effectuer une tâche prévue à l'avance, avec une fenêtre en plein écran. Fini les multiples onglets, les notifications, le client de messagerie instantanée ouvert à côté du client mail avec un client mastodon sous les yeux et ... Pour ceux qui ont suivi son aventure, j'ai 2 ans de retard sur Ploum: => gemini://ploum.net/3-janvier-2022-quest-ce-quune-deconnexion/ => https://ploum.net/3-janvier-2022-quest-ce-quune-deconnexion/index.html J'ai suivi son exemple et écrit un "do-the-internet.sh" à ma sauce. Le résultat, c'est "sloweb" : on prend le temps de respirer, on y va doucement. Avant qu'il ne m'écrive agacé par mes divagations, notez que la plupart des choses que fait sloweb se retrouvent aussi dans offpunk de ploum: => https://sr.ht/~lioploum/offpunk/ Cependant, j'avais besoin de m'approprier la démarche, de me faire mon petit outil afin de bien cerner mes besoins, mais aussi mes défauts dans mon utilisation d'internet. Voilà quelques semaines que je l'utilise, je peux désormais détailler ses différents aspects dans une série de petits articles. En effet, sloweb ne se limite pas à la navigation, mais va intervenir dans de nombreux aspects de mes accès en ligne. Pour les plus pressés et plus curieux, voici le code source : sloweb: tools to stay offline/offtime => https://sr.ht/~prx/sloweb/ ## À l'allumage de mon ordinateur Lorsque ma session s'ouvre, sloweb se charge de : * Récupérer les nouveaux articles des flux RSS/ATOM auxquels je suis abonnés. * Télécharger les nouveaux articles des capsules gemini (gemlogs) suivis. * Télécharger mes mails * Vérifier et récupérer les changements éventuels de sites qui n'auraient pas de flux. * Enregistrer dans un fichier ma timeline mastodon. * Afficher le nombre de nouveaux mails et la météo à venir. ## Lorsque je ferme ma session/éteins mon ordinateur Dans ce cas, sloweb se charge "d'envoyer" mon activité en ligne, c'est à dire: * Envoyer les mails rédigés, en attente * Exécuter une liste de commandes. Ces derniers peuvent être l'envoi de status mastodon, des réponses à des posts, booster un message, télécharger une page web et les médias associés pour lecture ultérieure, ... * Sauvegarder mes documents * Uploader mon site web/capsule/gopherhole ## Entre les deux sloweb me permet de garder en stock les commandes qui seraient à exécuter lors de mon retour en ligne. Quelques scripts sont alors utile pour prévoir le téléchargement d'une vidéo youtube ou bien une page web avec ses images. D'autres se chargent de garder les toots/twtxt à envoyer. Enfin, un autre script me permet de lire les documents gardés dans la bibliothèque. Tous les trucs "à lire + tard" : flux rss, vidéos récupérés, ... ## Pour finir J'ai pour l'instant l'impression que ça fonctionne. Je prends plus le temps de lire, je découvre de nouvelles choses. Je redécouvre aussi les petits bonheurs simples : discuter avec mon entourage, profiter du spectacle à ma fenêtre, ou simplement m'asseoir et profiter du temps qui coule. --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes cachée): => mailto:bla@bla.si3t.ch?subject=sloweb-le-web-sans-s-essoufler Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Moi, je pollue. Et toi? Autocollants...</title> <id>https://si3t.ch/log/2024-03-06-moi-je-pollue.txt</id> <updated>2024-03-06T15:53:58Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-03-06-moi-je-pollue.txt" /> <content type="text"><![CDATA[ Père de 2 enfants. Climatoanxieux. Excédé par toutes ces voitures qui prennent toute la place sur la route. La plupart avec 1 seule personne dedans... Sans doute influencé par mes lectures d'Alain Damasio. J'ai envie de faire + que râler. Alors juste comme ça, j'ai joué avec inkscape pour imaginer un sticker à coller inocemment derrière les SUV et autrs 4x4 au cours d'une promenade : => https://si3t.ch/pub/img/ecolo/suv.svg => http://si3t.ch/pub/img/ecolo/suv.svg => gemini://si3t.ch/pub/img/ecolo/suv.svg => gopher://si3t.ch/9/pub/img/ecolo/suv.svg Et juste comme ça, je me demandais, de façon tout à fait hypothétique, où faire imprimer des stickers en grande quantité? Si vous avez envie de jouer vous aussi avec inkscape, ou des réponses à ces interrogations conditionnelles, vous savez où me trouver ;) --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes cachée): => mailto:bla@bla.si3t.ch?subject=moi-je-pollue Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Comment j'ai perdu un ami</title> <id>https://si3t.ch/log/2024-03-06-comment-j-ai-perdu-un-ami.txt</id> <updated>2024-03-06T09:43:22Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-03-06-comment-j-ai-perdu-un-ami.txt" /> <content type="text"><![CDATA[ Voici le récit de comment j'ai perdu mon meilleur ami. Tout commence le jour où nos avis divergent sur une oeuvre majeure. Lui passionné de cinéma, moi du roman original. Impossible de se mettre d'accord, ses souvenirs de l'oeuvre initiale sont remplacés par les images du film tandis que je n'arrive pas à me défaire de mon admiration pour le livre. Et puis avouons-le, on s'amuse bien à se chicaner. En parallèle, il se trouve que quelqu'un d'adorable m'a trouvé le texte original au format numérique. Je pensais en faire un générateur de mots de passe, mais soudain, le diable me susurre à l'oreille. Comme on dit, pas besoin d'ennemis avec des amis pareils. Je commence par activer le mode débogage de mon téléphone. Avec le câble USB, ça marche mal, mais en WiFi, c'est nickel: ``` adb pair 192.168.1.40:xxxxx adb connect 192.168.1.40:zzzzz ``` Quelques tests suivent, je trouve alors comment envoyer un SMS: ``` #!/bin/sh tel="+33xxxxxxxxxxx" msg="$(printf "%s" "$*" | sed -e 's/\x27/’/g')" adb shell service call isms 5 i32 1 s16 "com.android.mms.service" s16 "null" s16 "$tel" s16 "null" s16 "'${msg}'" s16 "null" s16 "null" i32 1 i32 0 ``` Le message est entre single quotes. Obligé, sinon il faut échapper tous les espaces. De même, je remplace le single quote par une apostrophe avec sed, ça évite de mettre le bazar dans le paramètre de la commande utilisée. Tout est prêt, reste à envoyer le contenu du livre, ligne après ligne. Cependant, les trop longs messages ne partent pas, il y a une limite à la taille d'un SMS, et je n'ai pas trouvé comment en faire un MMS. Alors, on appelle ''fold'' pour limiter une ligne à 70 caractères. On pourrait plus, mais à condition de n'utiliser que des caractères ASCII. ``` fold -s -w 70 book.txt > book-folded.txt ``` J'envoie maintenant les lignes une à unes: ``` #!/bin/sh -e book=~/book/book-folded.txt tel="+33xxxxxxxxx" # warning : lines must be 70 char max long while [ $(awk 'END {print NR}' $book) -ne 0 ]; do # get the line and replace quotes with apostrophes l="$(sed -n '1p' $book | sed -e 's/\x27/’/g')" # wait as many seconds as there are chars / 4 n=$(($(printf "%s" "${l}" | awk '{print length($0)}') / 4)) # send sms printf "%s [%s]\n" "$l" "$n" adb shell service call isms 5 i32 1 s16 "com.android.mms.service" s16 "null" s16 "$tel" s16 "null" s16 "'${l}'" s16 "null" s16 "null" i32 1 i32 0 # delete line sed -i '1d' $book sleep $n done ``` En supprimant les lignes au fur et à mesure, on peut arrêter et reprendre quand on veut. Il y a des limites contre les spams, et c'est très bien comme ça. Il vaut donc mieux garder le délai entre chaque message. J'ai dans le script considéré qu'il faut 0.25s pour écrire un caractère. Ne faîtes pas ça chez vous :) --- Une réaction? Envoyez votre commentaire par mail (votre adresse mail sera retirée des entêtes cachée): => mailto:bla@bla.si3t.ch?subject=comment-j-ai-perdu-un-ami Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Dune partie 2, le garçon pas content qui voulait se venger</title> <id>https://si3t.ch/log/2024-03-01-dune-partie-2.txt</id> <updated>2024-03-01T09:06:46Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-03-01-dune-partie-2.txt" /> <content type="text"><![CDATA[ Hier soir, j'ai vu Dune partie 2 au cinéma. Il faut d'abord que je précise, je suis un très grand fan de l'oeuvre de Frank Herbert. Cet univers m'a (trans)formé, et je le relis toujours avec émotion pour y redécouvrir de nouvelles strates. Le premier film m'avait bouleversé tant l'univers y était dessiné avec finesse, la musique sublime enveloppait parfaitement le récit. On y ressentait une tension suffocante pour les protagonistes. Les multiples factions et les enjeux de pouvoirs selon les objectifs propres à chacun étaient dosés avec subtilité. Bref, j'ai adoré le premier volet. Je trépignais d'impatience de découvrir le second, les insupportables publicités des gros complexes cinés ont mis mes nerfs à rude épreuve. ^^ Mais j'étais en compagnie de ma moitié qui ne connaît pas du tout Dune. Dans mes commentaires à suivre, elle fait office de spectatrice neutre XD. Si vous aussi êtes un(e) fidèle de Frank Herbert, vous risquez comme moi de sortir de la salle déçus et en colère. Pour faire court : ce film est inspiré de Dune, mais CE N'EST PAS Dune. Je suis fâché que les personnes qui ne connaissent pas Dune puissent penser que c'est ÇA, Dune. Tellement agacé que je dois l'écrire. Voilà pourquoi. ## Avant tout... Certains craignent peut-être en lisant la suite que je divulgâche le film. Rassurez-vous, puisqu'il n'y a pas grand chose à dire sur le fond. Dune partie 2 est plein de vide. C'est justement ce qui me dérange le plus : tout ce qui manque. Je comprends très bien qu'on ne puisse pas tout raconter. C'est évident qu'il est nécessaire de choisir de taire certains éléments, d'autant plus vrai pour une oeuvre aussi conséquente et complexe que Dune : le spectateur ne peut pas tout comprendre, le film serait trop long... Cependant, cela doit permettre de développer et d'approfondir d'autres aspects. Dans Dune partie 2, ce n'est pas le cas : on a retiré des éléments qui, pour moi, sont absolument essentiels à l'histoire de Dune. Le résultat manque d'intérêt. Cela va sans dire, si vous voulez garder la surprise complète, ne lisez pas la suite. ## Le rythme ne va pas C'est la première réaction de ma chérie : le rythme est mal dosé. En effet, la temporalité est très mal gérée. C'est ennuyeux, on passe d'une scène à l'autre sans grands liens entre elles. Les dialogues sont pauvres. Il y a de la bagarre de temps en temps pour réveiller le spectateur, mais pas de fond. D'un seul coup, on voit réapparaître comme de par hasard des personnages pratiques pour faire avancer le film. La gestion du temps est ratée. Tellement ratée qu'à la fin du film, Jessica n'a toujours pas accouché. Cela veut dire qu'en moins de 9 mois, Paul a gagné la confiance de tout le peuple Fremen et organisé sa revanche. C'est idiot. Tout ceci manque de ciment, il n'y a pas d'enjeu. ## Quel est l'enjeu ? Dit autrement, pourquoi cette histoire vaut la peine d'être racontée. Dans Dune partie 2, il est seulement fait mention du désir de vengeance de Paul. C'est ça pour vous Dune? Un jeune garçon qui veut se venger??? On aperçoit les manigances Bene Gesserit. Le nombre de scènes avec l'empereur doit s'élever à 2 ou 3. Il n'y est pas décrit les visions de Paul, ou alors ça se résume à un vilain cauchemar parce qu'il a pris un peu trop d'épice, mode geule-deub'. À ce titre, l'agonie de l'épice est très décevante : sans avoir lu le livre, on ne comprend pas ce qui se passe. Le dialogue avec la multitude est absent. Le conflit intérieur qui le torture est mal mentionné : des gens vont avoir faim, c'est tout. Le Jihad, la peur de perdre Chani, tout ça n'y est pas. Tout l'économie autour de l'épice : absent. L'enjeu écologique : absent Les jeux de pouvoirs entre les factions : absent. Et la prescience ??? Ce questionnement philosophique sur le sens de la vie lorsque l'on voit l'avenir : absent. On ne comprend même pas très bien pourquoi Paul choisit de boire l'Eau de vie. Le courage de Paul face au suicide, le choix d'accepter le moins mauvais des avenirs malgré l'horreur qu'il représente : absent Reste un Paul presque capricieux qui veut juste se venger. ## Absentéisme Voici la 3e erreur trop dérangeante pour moi : l'absence de personnages riches, complexes et essentiels à l'histoire de Dune. Et encore une fois, leur absence ne permet même pas de développer davantage les autres personnages, parfois même au contraire. Tout d'abord, Jessica. Interprétée avec génie dans le premier volet, Rebecca Ferguson m'avait bouleversé tant dans son rôle de concubine, amoureuse et compagne. Elle incarnait une mère vibrante, qui augurait un excellent 2e volet où elle veille à préserver tout ce qui reste de "son Duc" : Paul. Cependant, très vite elle disparaît pour devenir à la place une encapuchonnée qui manigance dans le dos de son fils et stimuler l'adoration religieuse. Pourquoi fait-elle ça??? Encore une fois, l'enjeu n'est pas clair. Cette disparition vient avec l'absence totale d'Alia. Alia, la petite soeur de Paul, la future abomination. Alia ne naît jamais dans le film. À la place, elle dialogue avec Paul au travers de sa mère. Ça ne dérange pas Paul d'ailleurs. Alia ne tuera donc jamais le baron. Alia, enfant sage comme la multitude des vies qu'elle contient, ne prendra donc jamais la parole pour enrichir les dialogues entre les femmes Fremen. Dernier absent : l'enfant de Paul et Chani, dont la mort prématurée est un élément déclencheur indispensable aux choix de Paul vers le chemin du Jihad. Voilà 3 femmes mises de côté. ## La place des femmes J'ai comme l'impression que les femmes ont été mises de côté. On a évoqué Jessica et Alia. Irulan n'est jamais mentionnée. Oh, elle est interprétée, mais je ne me souviens pas d'avoir seulement entendu son nom. Chani reste une amourette d'adolescent. Elle est la seule à garder la tête sur les épaules alors que le fanatisme entoure Paul, pourtant, elle ne reste que la nana de Paul. On piétine tellement son personnage qu'au lieu de souligner l'importance qu'elle a pour Paul lors de son agonie, la seule chose qu'elle peut faire c'est verser une larme sur ses lèvres. Et encore, c'est seulement parce qu'il y a une légende avec son nom secret Sihaya. Bravo les féministes! Chani est celle qui forme Paul. Chani est celle qui voit le monde tel qu'il est. Chani est le personnage le plus courageux de Dune. Chani se suffit à elle-même sans avoir besoin de Paul : c'est Paul qui a besoin de Chani. Ils forment un duo magnifique. Plus largement, l'importance des femmes dans le monde de Dune est occultée. Ce sont les femmes qui portent l'eau : ce n'est pas montré. La femme de Jamis et par extension sa famille deviennent la responsabilité du jeune Paul, on ne tue pas sans conséquences. Cependant, ce personnage aussi est effacé, alors qu'il permettait d'enrichir la description de la société Fremen. ## La société Fremen Très peu décrite, l'organisation de Fremen n'est pas détaillée. L'adaptation des hommes dans un milieu hostile et leur ingéniosité pour s'insérer dans une logique écologique est absente. D'accord, ça aurait peut-être été trop long de détailler cette partie. Mais à la place, on y évoque très rapidement le rêve d'un Paradis Vert, et surtout on insiste bien sur le fanatisme religieux des Fremen. Stilgar en devient comique et les Fremens ridicules. Fremens qui sont censés être inquiétants. Les enjeux entre pouvoir religieux et intérêts politiques sont pourtant passionnants dans l'oeuvre d'origine, et pourrait résonner avec l'actualité. Comble du ridicule, lorsque Paul rallie les Fremen à sa cause et endosse son rôle de messie, il lui suffit de décrire les pensées d'1 Fremen présent pour que l'assemblée constituée de milliers de personnes l'accepte comme omniscient. Pas de tension ici. Heureusement, une reprise du thème musical réussie juste avant. ## En vrac * L'intelligence du plan de bataille est bâclée. On n'y décrit pas du tout l'utilisation des atomiques pour détruire la barrière rocheuse alors qu'une tempête prédite par Paul fait rage et entrave les défenses de l'empereur. À la place, Paul est tout guilleret et sourit, ALORS QU'IL EST CENSÉ ÊTRE DÉVASTÉ PAR LE CHAGRIN D'AVOIR PERDU SON FILS. (pardon) * Paul entre en guerre contre les maisons du Landsraad. N'importe quoi. Preuve qu'on n'a pas du tout détaillé les enjeux de pouvoir. * On ne parle pas de la Guilde qui craint la destruction de l'épice, à qui les Fremen paient un lourd tribut pour rester cachés. ## Du positif quand même Reste quelques choses très bien réussies à mon avis : * La direction artistique, notamment pour les Harkonnens, est exceptionnelle. Les choix des couleurs, des costumes, bravo! Heureusement, car Feyd-Rautha aurait lui aussi gagné à être approfondi : là, c'est juste un méchant qui coupe. * Les moissonneuses d'épices sont vraiment cool. * Le rendu à l'image lorsque les Fremen chevauchent les vers. * Les fremens qui sortent du sable en courant, bravo. * L'eau de vie tient dans un erlenmeyer. Mais ce qu'il y a de plus réussi, ce sont les livres de Frank Herbert. LISEZ-LES! ## Pour finir Appelez-moi romantique, ces quelques lignes m'ont tellement manqué qu'elles me hantent : > Aucun titre pour moi, dit Chani. Rien. Je vous en supplie. Paul rencontra son regard et il la revit soudain avec le petit Leto dans ses bras, leur fils qui avait trouvé la mort dans toute cette violence. > Je te jure, dit-il, que tu n'as besoin d'aucun titre. Cette femme, là-bas, sera mon épouse et tu ne seras qu'une concubine parce que ceci est une affaire politique et que nous devons conclure la paix et rallier les Grandes Maisons du Landsraad. Il faut obéir aux usages. Mais cette princesse n'aura de moi que mon nom. Elle n'aura nul enfant, nul geste, nul regard, nul instant de désir. --- Une réaction? Envoyez votre commentaire par mail (anonyme): => mailto:bla@bla.si3t.ch?subject=dune-partie-2 Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => /log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Gemfeeds downloader</title> <id>https://si3t.ch/log/2024-02-28-gemfeeds-downloader.txt</id> <updated>2024-02-28T14:15:32Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-02-28-gemfeeds-downloader.txt" /> <content type="text"><![CDATA[ So, I wrote a gemfeed parser and news downloader. I read a lot of ATOM/RSS feeds with rss2email or sfeed, especially sfeed: => https://github.com/rss2email/rss2email => https://codemadness.org/sfeed.html However, it doesn't support gemfeeds. I wasn't happy to open a gemini client to check for new entries. It felt not natural to me, and even if lagrange or amfora are great to these tasks, I finally never opened them. But it was disappointing, there are capsules I miss reading. So, here I am with this piece of awk: gemfeeds. awk is great to parse text, and gemtext is line-oriented so it's perfect. There is one part I don't really like: to download over gemini protocol, I use openssl. I miss gemini support in curl, and feel lazy to install one. I should install "gg": => https://gmid.omarpolo.com/ For now, I use gemfeeds this way: ``` gemfeeds file-with-list-of-gemfeeds.txt ``` in file-with-list-of-gemfeeds.txt, there is : ``` gemini://ploum.net/ gemini://adele.pollux.casa/gemlog/ ... ``` When a new entry is found, it is downloaded in the current directory, and the item url is recorded in "~/.gemfeeds-items.urls". Feel free to check the code below and suggest improvements ;) ```gemfeeds.awk #!/usr/bin/awk -f # gemfeeds : download new items from gemfeeds # # 1. read a gemfeed url as input # 2. download new items # 3. keep track of old items in ~/.gemfeeds-items.urls # # ex: gemfeed list-of-gemfeeds-urls.txt # require: openssl BEGIN { # set defaults if ( oldurls == "" ) { oldurls = ENVIRON["HOME"] "/.gemfeeds-items.urls" } } function fetch_gemini_cmd(url) { # return command to get gemini content host = "" split(url, a, "/") if (a[3] !~ /:[[:digit:]]+/) { a[3] = sprintf("%s:1965", a[3]) } host = a[3] # FIXME : check response code cmd = sprintf("printf \"%s\\n\" |\ openssl s_client -crlf -quiet -connect \"%s\" 2> /dev/null |\ sed '1d'", url, host) return cmd } function isnew(url) { # quite slow... ret = 1 while ((getline o < oldurls) == 1 ) { if ( o == url ) { ret = 0 break } } close oldurls return ret } function download_item(url) { if (isnew(url) == 1) { printf "new item: %s\n", url print url >> oldurls # get filename n = split(url, a, "/") filename = sprintf("%s-%s", a[3], a[n]) fetch_cmd = fetch_gemini_cmd(url) getitem_cmd = sprintf("%s > %s", fetch_cmd, filename) system(getitem_cmd) } } function gemfeed(url) { fetch_cmd = fetch_gemini_cmd(url) while ((fetch_cmd | getline) == 1) { link = "" # skip non-links if ( $1 != "=>" ) { continue } # skip if date not YYYY-mm-dd, # gemini://geminiprotocol.net/docs/companion/subscription.gmi if ( $3 !~ /[0-9]{4}-[0-9]{2}-[0-9]{2}/ ) { continue } # now build an appropriate link if ( $2 ~ /^gemini:\/\// ) { link = $2 } else if ( $2 ~ /^\// ) { # start with /, add domain in link split(url, a, "/") link = sprintf("%s//%s%s", a[1], a[3], $2) } else { # link relative to current url # remove page name if any if ( $2 ~ /\.gmi$/ ) { sub(/\/[^/]*\.gmi$/, "/", $2) } link = sprintf("%s%s", url, $2) } download_item(link) } close(cmd) } /gemini:\/\// { gemfeed($0) next } { printf "unhandled protocol, sorry\n" } ``` (I also added a phlog parser somewhere else, but curl support gopher protocol, and sfeed can parse atom feeds over gopher :)) --- Comments? Using email (anonymous) => mailto:bla@bla.si3t.ch?subject=gemfeeds-downloader Instructions => https://si3t.ch/log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">J'aimerais plus ou moins que tu ailles te faire cuire le cul</title> <id>https://si3t.ch/log/2024-02-23-j-aimerais-que-tu-ailles-te-faire-cuire-le-cul.txt</id> <updated>2024-02-23T11:07:35Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-02-23-j-aimerais-que-tu-ailles-te-faire-cuire-le-cul.txt" /> <content type="text"><![CDATA[ Hier soir, on a regardé Fargo, episode 1 saison 5. Très drôle. Elle a de la ressource cette protagoniste. Chouette de voir une nana badass. Scènes très bien tournées. Ambiance à l'américaine malsaine avec le culte des armes. On a envie de cramer du bourgeois à un moment... hâte de voir la suite. Vivement les vacances, besoin de repos, envie de jouer à Nethack aussi! Heureusement, j'ai des élèves vraiment sympas. Je m'inquiète pour eux, ils vont avoir une école bien pourrie. Je vois les conditions se dégrader, ça va être l'enfer à la prochaine rentrée : suppression de postes, classes surchargées. Arrêtez de faire croire qu'il y a des solutions miracles : juste augmenter le ratio prof/élèves. Moins d'élève spar classe, ou plusieurs profs par classe en "co-enseignement". Actuellement, j'ai des classe de presque 30 élèves pour des cours de 90 minutes. La division est simple : 90/30 = 3 minutes. Ça signifie que pour répondre à des besoins individuels légitimes, je peux accorder 3 minutes à chaque élève. 3 PUTAIN DE MINUTES PAR SEMAINE!!! Alors vos ajustements pédagogiques, groupes de niveaux, modalités d'apprentissage et autre novlangue ministérielle, c'est des arguments de vente, des effets d'annonce. Et pendant ce temps : > "Il y a deux mois, jour pour jour, Gabriel Attal, ministre de l’Education nationale annonçait la création de 2137 postes d’enseignants par rapport au budget 2024 prévu pour permettre l’application de ses réformes. Deux mois plus tard il en supprime plus du double." => https://www.cafepedagogique.net/2024/02/22/pres-de-11-000-emplois-supprimes-a-leducation-nationale/ Gabriel, => /log/img/cuire-le-cul.png J'aimerais plus ou moins que tu ailles te faire cuire le cul. => /log/img/peter-dans-les-fleurs.png Va péter dans les fleurs. L'image vient des Cartes de désaveux. J'adore, allez y jeter un oeil, c'est vraiment drôle et grinçant : => https://librairie.lapin.org/fr/strip-club/267-les-cartes-de-desavoeux-9782918653943.html Parce qu'en attendant, j'ai des élèves qui bossent POUR LES AUTRES, et m'envoient des trucs juste pour aider les petits copains. Le prof a rien demandé, et c'est partagé comme ça en toute simplicité. Voilà qui redonne espoir en l'humanité! => /educ/3/atome-feuille-de-route/Carte-mentale-atome-Olivia.pdf Dans un tout autre registre, je me suis déjà servi de btdigg, très pratique et surtout ne nécessitant pas de tracker. Je découvre aujourd'hui bitmagnet, à auto-héberger. => https://bitmagnet.io/ Faut que je teste :) Ah non en fait, c'est docker :/ Arrêtez de faire des trucs compliqués comme ça! Allez, un peu de Shaka Ponk pour se redonner des forces et finir la journée: => https://invidious.fdn.fr/watch?v=Fw0O_0V6538 --- Une réaction? Envoyez votre commentaire par mail (anonyme): => mailto:bla@bla.si3t.ch?subject=j-aimerais-que-tu-ailles-te-faire-cuire-le-cul Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => https://si3t.ch/log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Prise de note à l'ouverture de l'ordinateur</title> <id>https://si3t.ch/log/2024-02-22-prise-de-note-a-l-ouverture.txt</id> <updated>2024-02-22T12:22:56Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-02-22-prise-de-note-a-l-ouverture.txt" /> <content type="text"><![CDATA[ Lorsque j'allume mon ordinateur, un script lance divers tâches, notamment ouvrir une session tmux qui me sert au travers les divers terminaux que j'utilise. ```starttmux #!/bin/ksh session=0 showtmux() { st -c tmux -e tmux a -t $session exit } # set up tmux tmux has-session -t $session && showtmux # open a new session and take notes tmux new -d -s $session notd # do-the-internet, show calendar then open a shell tmux split-window -h -d "sloweb get; showcal; ksh" # xmpp tmux new-window -d -n "chat" "profanity" # educ tmux new-window -d -n "educ" -c "$HOME/work/educ/College/Cours" noice # show tmux showtmux ``` Il est très court comme vous le voyez et se contente de me préparer quelques panels. On voit à la fin que le tmux est affiché. Avant cela, un gestionnaire de fichiers est ouvert dans le dossier de mes cours. Encore avant, j'ouvre un client xmpp. Et au tout début, j'ouvre le script "notd". (Les plus attentifs auront remarqués comment j'ignore "sloweb get", ça sera l'objet d'un futur article. C'est de ce script dont je veux parler aujourd'hui. notd m'ouvre un fichier de notes daté du jour : "notes of the day". Il reste ouvert tout au long de ma session, et me permet de noter à la volée tout ce qui peut m'être utiles : trucs à ne pas oublier, todos, liens à aller voir, idées... C'est très pratique, alors peut-être ça vous intéressera. Le voici : ```notd #!/bin/sh # notd : notes of the day. # open a new YYYY-MM-dd.txt in $NOTESDIR with $EDITOR # Author: prx <prx@si3t.ch> NOTESDIR=~/work/notes/notd dotd="$(date +%Y-%m-%d)" f="${NOTESDIR}/${dotd}.txt" test -d ${NOTESDIR} || mkdir -p ${NOTESDIR} test -f "${f}" || printf "# %s - Notes du jour\n\n" "${dotd}" > "${f}" ${EDITOR} "${f}" ``` Après quelques tests, les dossiers et fichiers inexistants sont éventuellement créés. J'utilise la variable d'environnement ${EDITOR} pour ouvrir le fichier, mais en réalité, j'ai remplacé cette ligne par la suivants pour automatiquement : placer le curseur à la fin : ``` #${EDITOR} "${f}" vi + "${f}" ``` --- Une réaction? Envoyez votre commentaire par mail (anonyme): => mailto:bla@bla.si3t.ch?subject=prise-de-note-a-l-ouverture Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => https://si3t.ch/log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">sfeed show mastodon toot title</title> <id>https://si3t.ch/log/2024-02-20-sfeed-mastodon-title.txt</id> <updated>2024-02-20T14:03:20Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-02-20-sfeed-mastodon-title.txt" /> <content type="text"><![CDATA[ I use sfeed to read feeds, and I love it. => https://codemadness.org/sfeed.html I also prefer to follow people on mastodon with the associated rss feed, I mean https://instance.tld/@username.rss. However, this rss feed don't have a title, resulting of the publication date displayed in sfeed_curses. Even if I can read the toot when pressing enter, I'd like to see a preview of the toot. sfeed is so good that you can write you own filter() function. So now, in my sfeedrc, I have: ``` filter() { case "$1" in masto*:*) # don't insert date in title, just first line awk -F '\t' 'BEGIN { OFS = "\t"; } { # turn description into title $2 = gensub("<[^>]+>", " ", "G", $4) print $0 } ' ;; ``` It isn't perfect, but give a nice preview: ``` 2024-02-19 11:12 I forgot about audacity's fork Tenacity it's still alive! https:// codeber… 2024-02-18 17:04 Interesting project, but a bit weird it's a tool to create interactive documents, i… 2024-02-14 16:39 TIL ecryptfs doesn't support very long file names long as in 148 characters "only" 2024-02-12 19:24 As a former ZNC user, is there an advantage at switching to soju? I don't have any ZNC… 2024-02-11 16:48 If you want to experience # Gentoo Linux for the first time, or if you are bored wit… 2024-02-08 23:50 # OpenBSD may introduces Word into the base system https:// marc.info/?l=openbsd… ``` Of course, I have to name mastodon feeds with "masto<someting>:otherthing" like this: ``` feed 'masto:drewdevault@fosstodon.org' 'https://fosstodon.org/@drewdevault.rss' feed 'masto:fredg@pouet.chapril.org' 'https://pouet.chapril.org/@fredg.rss' feed 'masto:ploum@mamot.fr' 'https://mamot.fr/@ploum.rss' feed 'masto:noroanka@im-in.space' 'https://im-in.space/@noroanka.rss' feed 'masto:solene@bsd.network' 'https://bsd.network/@solene.rss' "" "iso-8859-1" feed 'mastotag:solarpunk' 'https://im-in.space/tags/solarpunk.rss' feed 'mastotag:openbsd' 'https://im-in.space/tags/openbsd.rss' ``` You you're interesed, here is the full filter() I use now: ``` filter() { case "$1" in masto*:*) # don't insert date in title, just first line awk -F '\t' 'BEGIN { OFS = "\t"; } { # turn description into title $2 = gensub("<[^>]+>", "", "G", $4) print $0 } ' ;; "xkcd.com") # do not turn html with w3m/lynx -dump to get img url awk -F '\t' 'BEGIN { OFS = "\t"; } { $5 = "plain"; # extract img url match($4, "src=\"(.+)"); imglink = substr($4, RSTART,RLENGTH); split(imglink , a, "\""); imglink = a[2]; # same with alt match($4, "alt=\"(.+)"); alt = substr($4, RSTART,RLENGTH); split(alt , a, "\""); alt = a[2] # append img link at the end $4 = sprintf("%s \\n=> %s", alt, imglink); print $0 # download the img #cmd = sprintf("cd /home/prx/lessernet/box/; curl -O -s -L -H 'User-Agent:' '%s'", imglink) #system(cmd) } ' ;; *) cat ;; esac | \ # replace privacy invasive services with alternatives # see https://farside.link/ sed 's@www\.youtube\.com/@invidious.fdn.fr/@g' | \ sed 's@youtu\.be/@invidious.fdn.fr/@g' | \ sed 's@.*twitter\.com/@https://nitter.net/@g' | \ sed 's@.*reddit\.com/@https://i.opnxng.com/@g' | \ sed 's@.*medium\.com/@https://scribe.rip/@g' | \ awk -F '\t' 'BEGIN { OFS = "\t"; } function filterlink(s) { # protocol must start with http, https or gopher. if (match(s, /^(http|https|gopher):\/\//) == 0) { return ""; } # shorten feedburner links. if (match(s, /^(http|https):\/\/[^\/]+\/~r\/.*\/~3\/[^\/]+\//)) { s = substr($3, RSTART, RLENGTH); } # strip tracking parameters # urchin, facebook, piwik, webtrekk and generic. gsub(/\?(ad|campaign|fbclid|pk|tm|utm|wt)_([^&]+)/, "?", s); gsub(/&(ad|campaign|fbclid|pk|tm|utm|wt)_([^&]+)/, "", s); gsub(/\?&/, "?", s); gsub(/[\?&]+$/, "", s); return s } { $3 = filterlink($3); # link $8 = filterlink($8); # enclosure # try to remove tracking pixels: <img/> tags with 1px width or height. gsub("<img[^>]*(width|height)[[:space:]]*=[[:space:]]*[\"'"'"' ]?1[\"'"'"' ]?[^0-9>]+[^>]*>", "", $4); print $0; }' } ``` --- Comments? Send it by mail (anonymous, add a signature if you want): => mailto:bla@bla.si3t.ch?subject=sfeed-mastodon-title Diff list instructions: => https://si3t.ch/log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Générateur de mot de passe</title> <id>https://si3t.ch/log/2024-02-14-generateur-mots-de-passes.txt</id> <updated>2024-02-14T15:20:31Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-02-14-generateur-mots-de-passes.txt" /> <content type="text"><![CDATA[ Je sais qu'il en existe des tas en ligne, mais que voulez-vous, j'ai de plus en plus besoin de garder près de moi les outils qui me sont utiles. Cette démarche est à la fois un caprice de collectionneur et une crainte latente de voir disparaître les ressources que j'apprécie. Après avoir prévu des miroirs pour mon site: => /log/2024-02-07-miroirs.txt et après avoir réservé un domaine de secours (si3tch.eu), je m'attelle à des outils. J'ai du boulot devant moi : => https://lehollandaisvolant.net/tout/tools/ Pour l'instant, je proposais un générateur de mot de passe via gemini, un script crée des chaînes aléatoires ainsi qu'une liste de mots issus d'une page man tirée au sort. => gemini://si3t.ch/tools/pw/ J'ai écrit un peu de C pour faire la même chose et respecter le chroot strict d'httpd en compilant avec l'option ''-static''. S'il y a un bout de code intéressant ici, c'est cette portion : ``` #define ASCII_START 33 #define ASCII_END 126 for (int i = 0; i < wordlen; i++) { printf("%c", arc4random_uniform(ASCII_END - ASCII_START) + ASCII_START); } ``` La fonction arc4random_uniform va retourner n'importe quel nombre dont le maximum est donné en argument. Après avoir regardé "man ascii", j'ai décidé que tous les caractères après l'espace (32) pourraient être affichés. Si vous voulez tester, ça donne ça: => https://si3t.ch/tools/rdmpw "Mes" outils sont par ici: => /tools/ --- Une réaction? Envoyez votre commentaire par mail (anonyme): => mailto:bla@bla.si3t.ch?subject=generateur-mots-de-passes Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => https://si3t.ch/log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">uptm: just show system uptime</title> <id>https://si3t.ch/log/2024-02-10-uptm-only-show-system-uptime.txt</id> <updated>2024-02-10T14:32:16Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-02-10-uptm-only-show-system-uptime.txt" /> <content type="text"><![CDATA[ I find annoying to have current date, load averages, numbers or users next to system uptime in ''w'' or ''uptime''. So, I modified w.c to just print uptime. I find it handy in a status script for tmux or dwm. ``` /* modified w.c to only display uptime */ #include <sys/time.h> #include <stdio.h> #define SECSPERHOUR (60 * 60) #define SECSPERDAY (24 * 60 * 60) int main(void) { struct timespec boottime; time_t uptime, now; int days, hrs, mins; time(&now); /* * Print how long system has been up. */ if (clock_gettime(CLOCK_BOOTTIME, &boottime) != -1) { uptime = boottime.tv_sec; if (uptime > 59) { uptime += 30; days = uptime / SECSPERDAY; uptime %= SECSPERDAY; hrs = uptime / SECSPERHOUR; uptime %= SECSPERHOUR; mins = uptime / 60; if (days > 0) (void)printf("%d day%s", days, days > 1 ? "s" : ""); if (hrs > 0 && mins > 0) (void)printf("%2d:%02d", hrs, mins); else { if (hrs > 0) (void)printf("%d hr%s", hrs, hrs > 1 ? "s" : ""); if (mins > 0 || (days == 0 && hrs == 0)) (void)printf("%d min%s", mins, mins != 1 ? "s" : ""); } } else printf("%d secs", (int)uptime); } return 0; } ``` --- Comments? => mailto:bla@bla.si3t.ch?subject=uptm-only-show-system-uptime Comments intructions => https://si3t.ch/log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">miroirs</title> <id>https://si3t.ch/log/2024-02-07-miroirs.txt</id> <updated>2024-02-07T21:24:39Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-02-07-miroirs.txt" /> <content type="text"><![CDATA[ Dans le cas où mon serveur serait inaccessible : panne de réseau, FAI capricieux, disque dur qui vieillit, mauvaise manip'... j'ai pris un peu de temps pour configurer des miroirs. Tout d'abord, j'ai tenté ma chance avec srht.site. Cependant, mon site dépasse de peu le 1G limite, et puisque j'envisage de partager davantage de cours, ça ne passe pas. En tout cas, j'ai un dépot git sur sr.ht qui garde un accès aux fichiers : on peut déposer mon site sur n'importe quel ordinateur en quelques minutes. => https://srht.site/ J'ai ensuite tenté un accès chez sdf.org. C'est excellent ce truc, mais pas possible d'utiliser rsync avec mon compte. De plus, il n'est pas possible d'avoir du https. Ça fonctionne, je le garde sous le coude, puisque je peux toujours mettre à jour à partir du dépôt git. => https://sdf.org Finalement, j'ai configuré un truc un peu plus propre avec ma VM chez openbsd.amsterdam. => https://openbsd.amsterdam/ J'ai édité ma zone DNS pour y ajouter un nouveau champ et j'ai configuré acme-client pour activer le https. J'uploade les changements via rsync, et je me garde une crontab qui met à jour le dépôt git sous le coude si un jour le rsync m'ennuie. Cette VM me laisse la possibilité d'activer un jour les protocoles gopher/gemini si j'ai envie. Finalement, voici les miroirs: => https://si3t.ch => https://mirror.si3t.ch => https://git.sr.ht/~prx/si3t.ch --- Une réaction? Envoyez votre commentaire par mail (anonyme): => mailto:bla@bla.si3t.ch?subject=miroirs Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => https://si3t.ch/log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Turn following csv mastodon list to rss for sfeed</title> <id>https://si3t.ch/log/2024-01-27-turn-mastodon-followed-to-rss-list-for-sfeed.txt</id> <updated>2024-01-27T21:25:17Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-01-27-turn-mastodon-followed-to-rss-list-for-sfeed.txt" /> <content type="text"><![CDATA[ I really enjoy sfeed: => https://codemadness.org/sfeed.html Find below an awk file to convert a following_accounts.csv to sfeedrc format. Now, in ~/.sfeed/sfeedrc, I have: ``` feeds() { ... ... . ~/.sfeed/mastodon.txt ``` I filled ~/.sfeed/mastodon.txt with: ``` awk -F, -f mastocsv2sfeed.awk following_accounts.csv > ~/.sfeed/mastodon.txt ``` mastocsvfeed.awk is: ```mastocsvfeed.awk #!/usr/bin/awk -f { account = $1 split($1, a, "@") username = a[1] domain = a[2] printf "feed '%s' 'https://%s/@%s.rss'\n", account, domain, username } ``` To get your following_accounts.csv, go to your profile export panel. --- Something to say? Send it by email: => mailto:bla@bla.si3t.ch?subject=turn-mastodon-followed-to-rss-list-for-sfeed See instructions: => https://si3t.ch/log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Update zim library</title> <id>https://si3t.ch/log/2024-01-23-update-zim-library.txt</id> <updated>2024-01-23T15:15:42Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-01-23-update-zim-library.txt" /> <content type="text"><![CDATA[ If for some reasons you're offline, you still can read wikipedia or other knowledge sources thanks to kiwix project: => https://kiwix.org/en/ It uses dumps writen in zim files. You can find a lot of them here: => https://download.kiwix.org/zim From wikipedia to gutenberg and even french show "C'est pas sorcier" i used to watch when I was a kid. Most of the times, zim files are big. To update them one in a while, i wrote a script: zim-update.sh. It require curl to download zim files, but you can use wget or another tool if you prefer. I strongly suggest to uncomment parts of the script using aria2 to download zim with bittorrent protocol. In the end, kiwix-manage add new zim to your library, you can read them in a browser thanks to kiwix-serve. It looks like this: => /log/img/kiwix-serve-shot.png ```zim-update.sh #!/bin/sh # update zim files # see https://wiki.kiwix.org/wiki/Content_in_all_languages # require kiwix-tools and curl zim_dir=~/docs/zim zim_library=~/docs/zim/library.xml zims="wikipedia_fr_all_nopic wiktionary_fr_all_nopic vikidia_fr_all_maxi lesbelleshistoires_fr" dlurl="https://download.kiwix.org/zim" cd "${zim_dir}" for z in ${zims}; do # please uncomment to use torrent if you can. Install aria2 to do so #zimurl="${dlurl}/${z}.zim" #zimtorrent="${zimurl}.torrent" #aria2c --seed-time=0 "${zimtorrent}" # disable seed #rm *.torrent # direct download curl -L -O -C - "${zimurl}" done # add zims to library for zim in *.zim; do kiwix-manage "${zim_library}" add "${zim}" done cat << EOF You can now run kiwix-serve --library ${zim_library} -p 51318 and open a browser at http://127.0.0.1:51318 EOF ``` --- Comment? Send it to: => mailto:bla@bla.si3t.ch?subject=update-zim-library Find instructions here: => https://si3t.ch/log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">gghget: téléchargement multi-protocole gemini/gopher/http(s)/...</title> <id>https://si3t.ch/log/2024-01-21-gghget-wget-pour-tous-protocoles.txt</id> <updated>2024-01-21T15:52:23Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-01-21-gghget-wget-pour-tous-protocoles.txt" /> <content type="text"><![CDATA[ Pour un petit projet, je souhaite pouvoir télécharger en ligne de commande. Pour ça, wget, curl ou encore ftp sont disponibles. Cependant, ils ne supportent pas le protocole gemini, cela m'ennuie. Après un peu de recherche, il s'avère que curl, déjà présent sur ma machine, supporte à peu près tous les protocoles. => https://everything.curl.dev/protocols/curl Restait à trouver comment faire pour gemini. La commande openssl fait le job, il faut juste virer l'entête avec "sed '1d'" et on est bon :) Au final, ça donne le script suivant qui permet de préciser si on le souhaite le nom du fichier à écrire. J'aurais bien laissé vers stdout, mais ça met le bazar quand on récupère des binaires ^^. ``` #!/bin/sh # gghget : download file grom gemini, gopher or http(s) # require curl and openssl usage() { printf "usage: %s 'protocol://url/something' '[output_file]'\n" "$0" exit 1 } # remove ending "/" if any to get the filename if [ -z "$2" ]; then name="$(printf "$1" | awk -F/ '{sub("/+$", "", $0); print $NF}')" else name="$2" fi case "$1" in -h|--help|help) usage ;; gemini://*) # set default port if not specified next to domain in url host="$(printf "$1" | awk -F/ '$3 !~ /:[[:digit:]]+/ {$3=$3 ":1965"} END {print $3; exit}')" # sed will remove response header printf "$1\r\n" |\ openssl s_client -crlf -quiet -connect "${host}" 2>/dev/null |\ sed '1d' \ > "${name}" ;; *://*) curl \ -L \ -f \ -s \ -m 5 \ -H "User-Agent:" \ --compressed \ "$1" \ > "${name}" ;; *) printf "The URL must start with protocol://\n" ;; esac ``` Voir aussi hurl: => https://codemadness.org/hurl.html --- Une réaction? Envoyez votre commentaire par mail (anonyme): => mailto:bla@bla.si3t.ch?subject=gghget-wget-pour-tous-protocoles Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => https://si3t.ch/log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Répondre à un toot sans ouvrir son navigateur</title> <id>https://si3t.ch/log/2024-01-20-repondre-toot-en-cli.txt</id> <updated>2024-01-20T14:49:48Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-01-20-repondre-toot-en-cli.txt" /> <content type="text"><![CDATA[ Petit à petit, j'essaie de limiter les distractions lorsque j'utilise mon ordinateur. L'idéal serait une utilisation déconectée comme le permet offpunk de ploum: => https://ploum.net/2023-11-25-offpunk2.html Malheureusement, je n'y arrive pas encore. Mon travail nécessite que j'ouvre un navigateur qui supporte du javascript pour Pronote. La vie fait qu'il est souvent indispensable de consulter le site de la banque pour faire les comptes. Il faut déclarer les salaires de la nounou sur Pajemploi. Je vérifie le trajet pour la prochaine formation sur openstreetmap. ... Tout ceci, je pourrai le réserver à une session dédiée pour ces tâches après m'être fait un planning, et éviter de me perdre sur internet. Pour l'instant, je gagne du temps avec les flux RSS/ATOM. Ils sont récupérés par sfeed (ou rss2email), ça fait une synchronisation des choses à lire. C'était avant envoyé par mail, mais je tente de réserver la lecture sur mon ordinateur plutôt que d'être tenté d'ouvrir un webmail à chaque instant "libre" de la journée dans une quête futile d'optimisation de la moindre seconde. => https://github.com/rss2email/rss2email => https://codemadness.org/sfeed-simple-feed-parser.html Reste un problème : les messages sur mastodon. Je déteste l'interface de Mastodon, c'est un piège, un distracteur, avec notifications et nouveautés régulières. Alors, je m'abonne au flux RSS des personnes que je veux lire. Il suffit d'ajouter ".rss" à la fin, par exemple : => https://mamot.fr/@ploum.rss Seulement, je perds la possibilité d'interagir et de commenter les posts. On en arrive enfin au sujet de ce billet : comment répondre à un toot sans ouvrir le navigateur? Facile, le lecteur de flux RSS indique l'URL des toots. J'ai écrit un petit script qui prend en argument l'id du toot auquel on veut répondre. Il s'utilise par exemple ainsi : ``` pwet -r https://im-in.space/@prx/111788504349081874 Réponse au toot ``` Voici la tête du script, qui a seulement besoin de "curl": ``` #!/bin/sh # toot with curl # create a new application in your mastodon profile to get a token and write it in ~/.config/mastodon.token instance="im-in.space" token="$(cat $HOME/.config/mastodon.token)" url="https://$instance/api/v1/statuses" help() { printf "usage:\n" printf "\t%s [-r reply_to ] [-h] Your status\n" "$0" printf "\n" printf "\t-h Show this help\n" printf "\t-r reply_to String. ID or url of the status being replied to.\n" printf "\n" printf "example:\n" printf "\t%s -r https://foo.bar/@username/1104349081874 The reply message\n" "$0" exit 1 } while getopts 'hr:' c do case $c in h) help ;; r) reply_to="${OPTARG}" ;; esac done # skip options in argument index so $1 is the status shift $((OPTIND - 1)) status="\"$*\"" test -z "$status" && help if [ -n "${reply_to}" ]; then # get id if url is given reply_to_id="$(printf "${reply_to}" | awk -F/ '{print $NF}')" curl -s "${url}" \ -H "Authorization: Bearer $token" \ -F status="${status}" \ -F in_reply_to_id="${reply_to_id}" > /dev/null else curl -s "${url}" \ -H "Authorization: Bearer $token" \ -F status="${status}" > /dev/null fi ``` Toutes ces réponses prennent la forme de commandes, lignes après lignes, dans un fichier qui est éxécuté comme un script lorsque je veux les envoyer (lorsque je passe en mode "en ligne"). En complément, il me reste à créer une file d'attente des mails à envoyer. Ils sont rédigés hors ligne, et j'envoie quand tout est prêt. => https://github.com/Stebalien/msmtp-queue Ces idées de déconnexion a déjà été bien décrit par ploum: => https://ploum.net/3-janvier-2022-quest-ce-quune-deconnexion/index.html Je n'en suis qu'aux début de l'aventure, mais j'en ai besoin. --- Une réaction? Envoyez votre commentaire par mail (anonyme): => mailto:bla@bla.si3t.ch?subject=repondre-toot-en-cli Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => https://si3t.ch/log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Afficher les paroles de la chanson jouée par mpd</title> <id>https://si3t.ch/log/2024-01-18-afficher-paroles-mpd.txt</id> <updated>2024-01-18T13:47:20Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-01-18-afficher-paroles-mpd.txt" /> <content type="text"><![CDATA[ J'ai récemment trié ma bibliothèque de musiques. Pour cela, Solène m'a conseillé l'excellent beets: https://beets.io/ La première bonne nouvelle, c'est que je n'ai pas besoin d'acheter de nouveau disque dur pour me promener avec ma musique, le format opus est excellent, et beets m'a permis de convertir mes flac sans difficultés ni différence notable avec mon casque. L'autre bonne nouvelle, c'est que beets a intégré les paroles aux fichiers sous forme de métadonnées. Voici comment je les affiche avec ffprobe (ffmpeg): ``` #!/bin/sh # show lyrics of current played song mpdconf=~/.config/mpd/mpd.conf music_directory=$(awk '/music_directory/ {sub("^\"","",$2);sub("\"$","",$2); print $2}' $mpdconf) echo "$(ffprobe -of flat -show_entries stream_tags=lyrics "$music_directory/$(mpc -f %file% current)")" | less ``` --- Une réaction? Envoyez votre commentaire par mail (anonyme): mailto:bla@bla.si3t.ch?subject=afficher-paroles-mpd Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: https://si3t.ch/log/_commentaires_.txt ]]> </content> </entry> <entry> <title type="text">Choisissez l'apparence du site que vous lisez</title> <id>https://si3t.ch/log/2024-01-14-choose-webste-appearance.txt</id> <updated>2024-01-14T14:55:26Z</updated> <link rel="alternate" type="text/plain" href="//si3t.ch/log/2024-01-14-choose-webste-appearance.txt" /> <content type="text"><![CDATA[ On me dit que mes articles sont moches. Le texte brut ne plaît pas à tout le monde. Je peux comprendre. Toutefois, lorsque je bricole le CSS de mon site pour fair eun truc joli, je finis toujours par me lassez du rendu. De plus, qui suis-je pour décider à la place des lecteurs de ce qu'ils devraient préférer? On en arrive à des règles CSS pour proposer des modes sombres ou clairs selon les cas. Et pourquoi pas en faire autant avec les polices? On peut souffrir de dyslexie : on utilisera alors Opendyslexic? Ou alors juste voir très mal : Luciole ou Atkinson Hyperlegible feront mieux l'affaire. Préférer une apparence qui ressemble à son environnement habituel : on définit la police du système. Je choisi donc de ne pas préciser de police si possible. Chacun peut configurer son navigateur à son gré et choisir une police qui lui convient. Il y a même un mode lecture qui fonctionne aussi très bien avec les fichiers txt : Ctrl-Alt-R. On l'oublie souvent ce mode, moi le premier ^^ --- Une réaction? Envoyez votre commentaire par mail (anonyme): mailto:bla@bla.si3t.ch?subject=choose-webste-appearance Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: https://si3t.ch/log/_commentaires_.txt ]]> </content> </entry> </feed>