User avatar
🪨 @Varpie@peculiar.florist
Moderator
Ergonaute ex-béopète archer des montagnes exilé au Danemark.
L'informatique, c'est pas mathémagique.

I mostly post things in French, so hopefully you have a translator baked into your Fedi software.
Previous account @Varpie@calckey.world
Previous Mastodon @Varpie@mastodon.online
Previous Twitter https://twitter.com/V4rp1e
User avatar
🪨 @Varpie@peculiar.florist
3y
Je viens de me rendre compte que les "vieux" réseaux sociaux que j'utilise encore (au moins Facebook et Youtube) n'ont pas de moyen de juste bloquer un compte, sans avoir à passer par un report. Je perdais mon temps sur les Reels sur Facebook, il y a un compte qui n'arrête pas de m'être recommandé, je dis "voir moins" mais il continue à apparaître...
Je ne vais pas le report parce qu'il suit les règles, il ne m'intéresse juste pas, mais aucun moyen de le filtrer complètement. Facebook s'en fout de ce qui m'intéresse, je n'ai absolument aucun contrôle sur le contenu.
Ce n'est clairement pas sain, et franchement depuis que je suis ici j'ai l'impression que mes standards ont juste trop évolué pour accepter ça maintenant. J'ai déjà fait sauter mon compte Twitter, si je pouvais je quitterais Facebook aussi mais c'est trop utilisé pour mes relatons sociales quotidiennes.
⭐1
1
0
0
1
User avatar
🪨 @Varpie@peculiar.florist
3y
@ekes @EU_Commission Oh, right, I misread that, my bad.
0
0
0
0
User avatar
🪨 @Varpie@peculiar.florist
3y
@ekes @EU_Commission On Android, you can install FDroid or other third-party stores by just downloading the APK and installing it like an app. On desktop, you can install whatever store you want (like Chocolatey on Windows, Homebrew on macOS, whatever you want on Linux), and there is no system lock on where your software comes from (although I wouldn't be surprised if Windows started doing it to force people to use the Microsoft Store). It works well, so why is it a problem from Apple (and partially from Google)?
1
0
0
0
User avatar
🪨 @Varpie@peculiar.florist
3y
@tournesol @llo Avec une fonctionnalité pour décrire une image, ça veut aussi dire un modèle relativement lourd, donc devoir envoyer l'image quelque part, je ne veux pas forcément que mon image que je partage seulement à mes followers soit envoyée sur un service qui va peut-être l'utiliser pour du training, alors que je n'ai rien signé là dessus (que je me souviens). Avec le texte c'est moins un soucis parce que les OCRs sont légers, ça tourne peut-être même directement dans mon navigateur ​:akko_shrug:​
:akko_thumbup:1
0
0
0
1
User avatar
🪨 @Varpie@peculiar.florist
3y
@box464 Yeah, the multi-language issue is annoying, there is no way to filter it before calling the translate endpoint because Firefish doesn't support adding a language attribute to notes (yet), and translate asks for "en-US" but returns "en" (at least for me, it may also depend on the translation service) so it's not that easy to filter it after either...

I haven't looked at quotes or replies, I only tested it with a few private notes (I just did that in a couple of hours, I'm sure there may be other things to consider as well but I mostly wanted to see if it's doable first)

The burden on the instances is a good point, which I always try to be mindful of (basically I don't want a plugin to be more noisy than a normal user would be), but since translation may have paid APIs it makes sense to ask the admins first.

Feel free to modify it as you want, this is mostly a first draft to be improved on
​:blobcat_bang_head_laptop:​
1
0
0
0
User avatar
🪨 @Varpie@peculiar.florist
3y
@box464 @picard Something like that? (a bit scuffed but it should work not too badly):
/// @ 0.1
### {
    name: "Friends translator"
    version: "0.1"
    author: "@Varpie@peculiar.florist"
    description: "A plugin to automatically translate posts from specific people."
    permissions: []
    config: {
        debug: {
            type: "boolean"
            label: "Enable Debugging"
            description: "Write debugging information to the console."
            default: yes
        }
        listName: {
            type: "string"
            label: "List name"
            description: "Name of the list containing accounts you want to automatically translate"
            default: "Translation"
        }
        targetLang: {
            type: "string"
            label: "Target language"
            description: "The language in which the notes should be translated. Default value: en-US"
            default: "en-US"
        }
    }
}

@debug(comment) {
    ? (Plugin:config.debug = yes) {
        $comment <- Arr:join(["🔌 Plugin (Friends translator): " comment])
        print(comment)
    }
}

@translate(note) {
    debug(note.text)
    $translation <- Mk:api("notes/translate", {noteId: note.id, targetLang: Plugin:config.targetLang})
    $noteText <- Arr:join([note.text "
    
    *Translated from " translation.sourceLang ":*
    " translation.text])
    debug(noteText)
    note.text <- noteText
    note
}

$userIds <- []

@handler(note_) {
    ? (Arr:incl(userIds, note_.userId) = yes) {
        debug("Note from list found!")
        note_ <- translate(note_)
    }
    note_
}

$userLists <- Mk:api("users/lists/list", {})
~~ (#userList, userLists) {
    ? (userList.name = Plugin:config.listName) {
        userIds <- userList.userIds
    }
}

Plugin:register_note_view_interruptor(handler)
1
0
0
0
User avatar
🪨 @Varpie@peculiar.florist
3y
@tournesol Scruff master certified ​:blobcat_wut:​
😆1:ablobcat_think_smirk:1
1
0
0
2
User avatar
🪨 @Varpie@peculiar.florist
3y
@Ludovic_P La ville au nord, c'est quoi ?
⭐1
1
0
0
1
User avatar
🪨 @Varpie@peculiar.florist
3y
@nixCraft My guess is indexing new pages (no need to build a web crawler if you can use people who crawl organically), potentially improving their ranking system (having real user data on which pages are more visited) and maybe ML training.

In any case, it's a big fat no from me.
0
0
0
0
User avatar
🪨 @Varpie@peculiar.florist
3y
@tournesol J'en ai recousu 2, mais il y en a un qui a laché hier et l'autre je ne le porte pas vraiment. Là celui que je porte je crois que c'est le seul (hormis celui que je porte au boulot) qui est en relativement bon état. Et qui me va encore, parce que j'en ai quelques uns qui sont en état correct mais maintenant trop petits ​:blobcat_bongo__still_sad:​
0
0
0
0
User avatar
🪨 @Varpie@peculiar.florist
3y
@tournesol Ouais en vrai il me faut aussi des nouveaux pantalons, les miens sont pleins de trous x)
1
0
0
0
User avatar
🪨 @Varpie@peculiar.florist
3y
@tournesol Ça va dépendre du type de pantalon (genre un machin léger vs un pantalon de costard c'est pas le même prix, mais j'ai besoin des deux). D'une manière générale, je préfère prendre des trucs de qualité que je garde super longtemps (celui que je porte actuellement a 7 ans je crois), donc ça va commencer autour des 80€ (ça fait cher mais c'est meilleur à la longue), ma limite haute serait probablement autour de 200€.

Je ne fais aussi quasiment jamais les courses de vêtements, cette année j'ai acheté un pantalon de montagne mais sinon la dernière fois que j'ai acheté quelque chose c'était il y a... 3 ans ?
⭐1
1
0
0
1
User avatar
🪨 @Varpie@peculiar.florist
3y
@tournesol On est bien bien bien bien bien ​:meow_puffy_evening:​
:meow_puffy_morning:1
0
0
0
1
User avatar
🪨 @Varpie@peculiar.florist
3y
Idée con : acheter f.art, faire une page web avec juste une paire de fesses stylisées, quand tu cliques ça fait un pet.

(Malheureusement il semblerait que f.art n'est pas disponible)
⭐1
0
0
0
1
User avatar
🪨 @Varpie@peculiar.florist
3y
@tournesol Même sans le son, je l'entends cette vidéo
1
0
0
0
User avatar
🪨 @Varpie@peculiar.florist
3y
@tournesol Tournesol hier : jouer me fait trop du bien ​:akko_excited:​
Tournesol aujourd'hui : pff jouer
​:meow_melt_sob:​

​:bugcat_confused:​
1
0
0
0
User avatar
🪨 @Varpie@peculiar.florist
3y
@tournesol Un trombone à coulisse ?
1
0
0
0
User avatar
🪨 @Varpie@peculiar.florist
3y
@brome Dans la doc officielle d'AiScript, il n'y a pas de mention à l'API de Firefish ou au méthodes pour les plugins, parce que c'est un langage "généraliste" (ish), mais sur la doc de MissKey (sur laquelle Firefish est basée) il y a des exemples avec l'API.
Enfin niveau doc pour les plugins le mieux reste
celle de box464.
0
0
0
0
User avatar
🪨 @Varpie@peculiar.florist
3y
@brome Ah bah cool, la version actuelle d'AiScript sur Firefish est vraiment pas élégante (ça donne l'impression qu'ils ont fait des choix spécifiquement pour être ésotériques, genre utiliser yes au lieu de true), quand Firefish upgrade vers 0.13.3 ou plus ça sera plus facile d'accès je pense.
Enfin, une fois que tu comprends ce qui correspond à quoi, je trouve que les choses qui limitent plus c'est le tooling, le fait de ne pas pouvoir accéder au code source d'un plugin installé et le modifier à volonté et devoir désinstaller et réinstaller sans arrêt (et créer des accès API chaque fois s'il y a des permissions) c'est
​:bugcat_angrycomputer:​
1
0
0
0
User avatar
🪨 @Varpie@peculiar.florist
3y
Bon, pour l'instant j'ai fait quelques recherches initiales sur ce qui est faisable (en restant clean niveau usage de l'API), et en comparant avec les exceptions sur Mastodon... il y a moyen de faire la plupart : nombre de boosts, réactions, réponses, visibilité, si ça contient un média, si ça fait partie des bookmarks et si c'est pin au profile.
Avec quelques risques : c'est un filtre après avoir fetch les potentiels posts à supprimer, donc ça réduit le nombre de posts qui se suppriment, jusqu'à potentiellement ne plus rien supprimer, et si on veut être économes sur les bookmarks et pins qui ne sont pas direct sur les notes, ça peut vouloir dire des données pas à jour. À investiguer un peu plus du coup...
Je verrai surtout si j'ai du temps ce weekend, je risque de continuer tout ça la semaine prochaine.
0
0
0
0