Le sujet m'intéresse à deux titres : faire un antispam pour LinuxFr.org (bayésien ou liste de blocage) et pour le service share vers les réseaux sociaux (m'avait bien semblé aussi que la doc était cryptique/peu pédagogique.
La doc de bsky je sais pas si c'est une IA ou un humain qui l'a pondu, mais elle répond à des tas de questions sauf celles que je me pose.
J'ai pas bien dû comprendre les tutos que j'ai trouvé sur le filtrage bayésien car pour moi, la technique que j'ai implémentée n'est pas digne d'une probabilité bayésienne mais correspond à un bête cosinus similarité, que j'implémente nativement pour les dict avec archery.
Cette méthode est utilisée en dernier recours car elle présente moults faux positifs/faux négatifs (~5%, ~10%). Ce qui sur le nombre est beaucoup.
Situation actuelle : une liste de blocage utilisée a posteriori et manuellement d'une part (entrée de suivi quelque part que je ne retrouve pas), et un code pas mis en service d'autre part.
Le code BS à l'air bon au vu de mes (petites) connaissances. Je devrais dire «c'est pas bien d'être sur X», et que vu que t'es en logique de pousser et non de tirer du contenu comme je le fais tu te moques un peu du sporn.
Pour l'instant actuel, le spam est d'origine porn. Ce que je fais, c'est que j'attends que les modos BS l'étiquette porn et je fais la liste de blocage avec les alias bloqués. Ce qui m'oblige à temporairement corriger manuellement (d'où l'interface websocket de gestion).
Pour ton cas, ça nécessite de réagir à chaud, ce qui va à mon avis nécessité une interface d'étiquetage.
Un truc qui aide comme conseillé dans le précédent journal, c'est la détection de langue : un contenu tagué fr en anglais en général c'est pas bon signe. Et c'est pas mal de spam viré :)
Heureusement, les spammeurs varient pas trop leurs adresses d'envois et bien que notables sont faciles à bloquer (ma liste de blocage contient 243 entrées)
C'est l'outil que j'avais en tête, j'ai du l'utiliser par le passé. Et c'est effectivement un truc qu'il va falloir que j'utilise. +1, merci pour le lien.
Pour l'instant, j'essaie avant d'augmenter la complexité, de contrôler humainement les entrées et je tente de diminuer les degrés de libertés.
Je gravis les échelons de la complexité en shootant un problème après l'autre, là mon problème immédiat c'est :
1- de faire le word counter (compteur de mot) ;
2- me souvenir de comment faire un test de dépendance en Xhi2 et la page wikipedia me paraît plus obscure que mes souvenirs.
RIP = "rest in peace" (en) = "repose en paix" (fr)
Surtout que j'ai vécu la misère au Québec à cause des calques à l'anglais, genre y disent tu : prends ta chance (take a chance) quand nous on cause de tenter sa chance.
Je suis bye-lingual, parlant anglais avec ma femme, qui n'était pas francophone quand on s'est rencontré, je n'arrive plus à me tenir à une langue et je caviarde les deux langues de l'autre, et je suis dans le bloubiboulga linguistique permanent. Je te présente mes excuses.
Si le bilinguisme pur en deux langues existe, sans calques, sans emprunts … j'ai du mal à y croire. Encore un mythe perso qui s'effondre.
Depuis que j'ai mis un algo plus sage qui ne cible que les posts avec beaucoup de likes, quotes, réponses, le robot n'a plus de réactions en retour et ne semble plus attirer les réponses/likes…
Autrement dit, c'est devenu un bête robot de mesure qui modifie pas le système qu'il observe.
C'est un peu ce que je cherchais, mais quelque part je me dis que dans un monde qui donne toujours plus d'expositions aux gens déjà exposés, l'algo imparfait de la v1 était peut être une influence positive parfois irritante pour les petits comptes. Ça reste bien de se poser la question de l'influence voulue ou non par le truchement d'outils.
[^] # Re: Génial ! J'en prends 3 ! (c'est pour offrir)
Posté par Jul (site web personnel) . En réponse au journal sqlramen un remplacement à sqlsoup. Évalué à 2 (+1/-0).
tiens je te convertis cet exemple à l'utilisation de sqlramen
https://yahi.readthedocs.io/en/latest/misusing.html#graphing-data-from-a-database
Ça permet de faire un histogramme (top40), une série chronologique, et une heatmap.
Le lien vers la doc indique comment obtenir les graphs.
[^] # Re: typo ?
Posté par Jul (site web personnel) . En réponse au journal sqlramen un remplacement à sqlsoup. Évalué à 1 (+0/-0).
Yep typo. Merci de la remonter.
Pour info une DB utilisable pour tester est celle ci (sqlite). C'est même celle que j'ai utilisée.
https://github.com/jul/scam/raw/refs/heads/main/aide
# plus court pour l'exemple 1
Posté par Jul (site web personnel) . En réponse au journal détourner yahi (grapheur de journaux web) pour faire des graphs de CSV . Évalué à 1 (+0/-0). Dernière modification le 27 septembre 2025 à 20:17.
Y'avait quasiment un oneliner possible pour l'exemple 1
# oubli
Posté par Jul (site web personnel) . En réponse au journal détourner yahi (grapheur de journaux web) pour faire des graphs de CSV . Évalué à 2 (+1/-0).
Pour l'exemple 1 il faut ajouter le fait que le fichier d'entrée est analysée comme suit ::
python test.py < ~/trollometre.csv
[^] # Re: Irremplaçable
Posté par Jul (site web personnel) . En réponse à la dépêche AWStats 8.0 est sorti. Évalué à 1 (+0/-0).
J'ai écris un remplaçant (yahi) d'awstats.
Au moins, t'es sûr que le mainteneur existe, est en vie, et peut corriger les bugs, trololol.
En prime, il y a un livre du « making off » (l'envers du décors) : loser du logiciel libre
[^] # Re: Wut da fuk private licence
Posté par Jul (site web personnel) . En réponse au journal Faire son bot bluesky francophone. Évalué à 1 (+0/-0).
Proposition acceptée, je te dédie ce commit. Tu veux un @ pour le texte de la licence ?
https://github.com/jul/trollometre/commit/960e3cdc7acb3a5cd1f7d41253ab80809397d579
[^] # Re: Wut da fuk private licence
Posté par Jul (site web personnel) . En réponse au journal Faire son bot bluesky francophone. Évalué à 2 (+2/-1).
merci pour avoir écrit une licence libre que j'arrive à écrire de tête en convoyant tout ce que je souhaite convoyer :)
[^] # Re: .
Posté par Jul (site web personnel) . En réponse au journal la chronique du bot bluesky : rétrospective. Évalué à 3 (+2/-0).
Évidemment.
[^] # Re: NB maj du README sous peu
Posté par Jul (site web personnel) . En réponse au journal J'ai niqué le p0rn : l'antispam qui marchait (étrangement). Évalué à 2 (+1/-0).
J'ai trouvé des stats meilleures que les miennes en RRD et c'est là où l'on voit que je mesure uniquement les POSTS francophones.
[^] # Re: NB maj du README sous peu
Posté par Jul (site web personnel) . En réponse au journal J'ai niqué le p0rn : l'antispam qui marchait (étrangement). Évalué à 2 (+1/-0).
La doc de bsky je sais pas si c'est une IA ou un humain qui l'a pondu, mais elle répond à des tas de questions sauf celles que je me pose.
J'ai pas bien dû comprendre les tutos que j'ai trouvé sur le filtrage bayésien car pour moi, la technique que j'ai implémentée n'est pas digne d'une probabilité bayésienne mais correspond à un bête cosinus similarité, que j'implémente nativement pour les dict avec archery.
Cette méthode est utilisée en dernier recours car elle présente moults faux positifs/faux négatifs (~5%, ~10%). Ce qui sur le nombre est beaucoup.
Le code BS à l'air bon au vu de mes (petites) connaissances. Je devrais dire «c'est pas bien d'être sur X», et que vu que t'es en logique de pousser et non de tirer du contenu comme je le fais tu te moques un peu du sporn.
Pour l'instant actuel, le spam est d'origine porn. Ce que je fais, c'est que j'attends que les modos BS l'étiquette porn et je fais la liste de blocage avec les alias bloqués. Ce qui m'oblige à temporairement corriger manuellement (d'où l'interface websocket de gestion).
Pour ton cas, ça nécessite de réagir à chaud, ce qui va à mon avis nécessité une interface d'étiquetage.
Un truc qui aide comme conseillé dans le précédent journal, c'est la détection de langue : un contenu tagué fr en anglais en général c'est pas bon signe. Et c'est pas mal de spam viré :)
Heureusement, les spammeurs varient pas trop leurs adresses d'envois et bien que notables sont faciles à bloquer (ma liste de blocage contient 243 entrées)
Graph d'activité sur le BS francophone
# NB maj du README sous peu
Posté par Jul (site web personnel) . En réponse au journal J'ai niqué le p0rn : l'antispam qui marchait (étrangement). Évalué à 3 (+2/-0).
Salut,
le code manque de doc :)
La ligne avec l'antispam qui illustre ce journal est exactement ici
Mais, si personne n'est intéressé, j'ai pt'et pas besoin de mettre à jour le README ; c'est du travail :P
# antispam naïf
Posté par Jul (site web personnel) . En réponse au journal Sur le chemin de l'antispam bluesky. Évalué à 1 (+0/-0).
Bon, je m'essaye avec les tutos du web à l'antispam (https://www.kdnuggets.com/2020/07/spam-filter-python-naive-bayes-scratch.html) sur ma base de connaissance et c'est pas fameux : https://gist.github.com/jul/0c9bc59c954bc5e9829599a6cd501b6b
Avec ou sans application des formules bayésiennes j’obtiens le même résultat
Autrement dit je tourne à entre 16 et 10% de faux positifs.
[^] # Re: Détection de langue
Posté par Jul (site web personnel) . En réponse au journal Sur le chemin de l'antispam bluesky. Évalué à 1 (+0/-0).
C'est l'outil que j'avais en tête, j'ai du l'utiliser par le passé. Et c'est effectivement un truc qu'il va falloir que j'utilise. +1, merci pour le lien.
Pour l'instant, j'essaie avant d'augmenter la complexité, de contrôler humainement les entrées et je tente de diminuer les degrés de libertés.
Je gravis les échelons de la complexité en shootant un problème après l'autre, là mon problème immédiat c'est :
1- de faire le word counter (compteur de mot) ;
2- me souvenir de comment faire un test de dépendance en Xhi2 et la page wikipedia me paraît plus obscure que mes souvenirs.
[^] # Re: Faux ami
Posté par Jul (site web personnel) . En réponse au journal mon bot va mourir : RIP. Évalué à 3 (+2/-0).
Surtout que j'ai vécu la misère au Québec à cause des calques à l'anglais, genre y disent tu : prends ta chance (take a chance) quand nous on cause de tenter sa chance.
Et c'est partout, insidieusement.
Sus aux faux amis !
[^] # Re: Bronsonisation
Posté par Jul (site web personnel) . En réponse au journal mon bot va mourir : RIP. Évalué à 4 (+3/-0).
Il est bronsonisé :)
Il le méritait.
# bip .... biiiiiiiiip
Posté par Jul (site web personnel) . En réponse au journal mon bot va mourir : RIP. Évalué à 2 (+1/-0).
Sa mort est effective.
Je le regretterais, autant que d'avoir rencontré une communauté -certes petites- que son histoire a pu un peu amusé.
Reste en paix, petit robot mort trop tôt (à l'âge de 1 mois) sans que j'ai eu le temps de faire mumuse avec toi.
[^] # Re: filtre bayésien
Posté par Jul (site web personnel) . En réponse au journal mon bot va mourir : RIP. Évalué à 1 (+0/-0).
ça aussi c'est au dessus de mon niveau :)
Je suis une tanche.
[^] # Re: Bronsonisation
Posté par Jul (site web personnel) . En réponse au journal mon bot va mourir : RIP. Évalué à 2 (+1/-0).
Raah, je ne saisis pas la ref :)
[^] # Re: yolo
Posté par Jul (site web personnel) . En réponse au journal C'est compliqué ; la vie avec mon bot. Évalué à 2 (+1/-0).
trinquons :)
Je lève mon verre de thé glacé à l'argot et toutes ses nuances de mouises qui nous dessinent.
[^] # Re: yolo
Posté par Jul (site web personnel) . En réponse au journal C'est compliqué ; la vie avec mon bot. Évalué à 2 (+1/-0).
J'ai loupé la moitié des anglicismes :D
Je suis bye-lingual, parlant anglais avec ma femme, qui n'était pas francophone quand on s'est rencontré, je n'arrive plus à me tenir à une langue et je caviarde les deux langues de l'autre, et je suis dans le bloubiboulga linguistique permanent. Je te présente mes excuses.
Si le bilinguisme pur en deux langues existe, sans calques, sans emprunts … j'ai du mal à y croire. Encore un mythe perso qui s'effondre.
# PS
Posté par Jul (site web personnel) . En réponse au journal La gloire avec un bot bluesky. Évalué à 5.
Depuis que j'ai mis un algo plus sage qui ne cible que les posts avec beaucoup de likes, quotes, réponses, le robot n'a plus de réactions en retour et ne semble plus attirer les réponses/likes…
Autrement dit, c'est devenu un bête robot de mesure qui modifie pas le système qu'il observe.
C'est un peu ce que je cherchais, mais quelque part je me dis que dans un monde qui donne toujours plus d'expositions aux gens déjà exposés, l'algo imparfait de la v1 était peut être une influence positive parfois irritante pour les petits comptes. Ça reste bien de se poser la question de l'influence voulue ou non par le truchement d'outils.
[^] # Re: Trouvé
Posté par Jul (site web personnel) . En réponse au journal La gloire avec un bot bluesky. Évalué à 2.
J'ai impersonnifié le bot, j'ai pas retrouvé le truc sur le harcèlement.
En tout cas, pas dans les dernières 24h.
En tout cas, c'est étonnant, mais un des sujets qui revient le plus en ce moment, c'est la chaleur.
[^] # Re: Trouvé
Posté par Jul (site web personnel) . En réponse au journal La gloire avec un bot bluesky. Évalué à 2.
j'ai limité la visibilité du bot pour éviter encore plus de feedback.
[^] # Re: Trouvé
Posté par Jul (site web personnel) . En réponse au journal La gloire avec un bot bluesky. Évalué à 3. Dernière modification le 30 juin 2025 à 07:54.
C'est malheureusement ce que l'algo twitter/X faisait : indiquait là où il y avait du fight et envoyait les gens se taper les uns sur les autres.
Par contre vu l'audience du bot, actuelle, je doute que le bot soit présentement capable d'attirer l'extrême droite.
Et oui, un objet de mesure qui modifie la chose qu'il mesure, n'est plus un objet de mesure, mais un objet de manipulation.
Je pense arrêter l'expérimentation sous peu en ayant peut être ouvert une boîte de pandore.
[^] # Re: Trouvé
Posté par Jul (site web personnel) . En réponse au journal La gloire avec un bot bluesky. Évalué à 2.
yep, c'est lui.
Pas très smart :o)