Chat log from the meeting on 2022-03-22/fr

=Introduction=

La réunion de cette semaine s'est tenue dans la région opensim de ZetaWorlds en raison de la mise hors ligne d'osgrid.

Grille zetaworlds :  http://hg.zetaworlds.com:80/opensim

[11:03] Ubit Umarov:  http://opensimulator.org/wiki/Office_hours#Tuesday_-_Office_Hour

[11:05] Ubit Umarov : pas de log de prim ici ?

[11:06] Andrew Hellershanks : nan. Je ne m'attendais pas à voir une prim de log.

[11:06] Andrew Hellershanks : Bonjour, tout le monde.

[11:06] Andrew Hellershanks : Bien, j'y suis arrivé. Il a fallu quelques essais avant que le HG TP ne fonctionne.

[11:07] Ubit Umarov : celui de dev outreach  utilise des trucs conçus par Bill.

[11:07] Andrew Hellershanks : Il a fallu que je passe par la région par défaut puis par le TP vers cette région.

= Hash et UUID dans la base de données=


 * Hash : fonction particulière qui, à partir d'une donnée fournie en entrée, calcule une empreinte numérique servant à identifier rapidement la donnée initiale, au même titre qu'une signature pour identifier une personne.
 * [Informations sur la base de données (en)]

[11:04] Kayaker.Magic @grid.kitely.com:8002 : Y a-t-il un document dans le wiki d'opensimulator avec la structure mysql d'opensim documentée ?

[11:04] Vincent Sylvester : Essaie de chercher assets ou bases de données

[11:04] Ubit Umarov : pour quoi faire ? le code est tout le code :p

[11:04] Ubit Umarov: oups

[11:04] Vincent Sylvester : La majeure partie du schéma de la base de données est documentée

[11:04] Ubit Umarov : pour quoi faire ? le code est toute la documentation :p

[11:05] Ubit Umarov: wc Andrew.Hellershanks

[11:09] Kayaker.Magic @grid.kitely.com:8002 : Ma confusion est que la table Robust a un UUID UUID et un hash, mais il peut y avoir plusieurs UUID pour un seule hash. Alors quel est cet UUID là ?

[11:10] Ubit Umarov : chaque asset a un id unique.

[11:10] Vincent Sylvester : l'uuid est l'uuid de l'élément qui est unique pour chaque copie, mais si les données sont les mêmes, elles sont associées au même hash.

[11:10] Vincent Sylvester : C'est pour réduire la quantité de données présentes et il n'y a pas vraiment d'autre moyen de le faire si vous voulez de la vitesse.

[11:11] Ubit Umarov : mais un grand hash de son contenu binaire est utilisé pour détecter les duplications.

[11:11] Ubit Umarov : donc les données de l'asset sont stockées dans un fichier référencé par ce hash.

[11:11] Ubit Umarov : actuellement un hachage SHA256

[11:12] Kayaker.Magic @grid.kitely.com:8002 : Je me suis trompé, je pensais que le hachage était l'index unique.

[11:12] Andrew Hellershanks : Les UUIDs sont uniques. Le hash est le hash de l'asset blob/fichier tel que stocké sur le disque.

[11:12] Ubit Umarov :ce qui devrait être quasiment unique pour un paquet de données binaires.

[11:12] Andrew Hellershanks : Le hachage doit également être unique.

[11:13] Vincent Sylvester : La seule clé est sur l'id, le hash n'a pas de clé.

[11:13] Ubit Umarov : bien sûr, il n'est pas unique et obsolète, mais il est assez bon pour les besoins.

[11:13] Kayaker.Magic @grid.kitely.com:8002: Je viens de remarquer ça.

[11:13] Ubit Umarov : le hash est utilisé comme identifiant.

[11:14] Ubit Umarov : UUID d'inventaire -> hash de données réelles comme id -> fichier avec données

[11:15] Andrew Hellershanks : UUID d'inventaire -> UUID d'asset.

[11:15] Vincent Sylvester : Un exemple serait un item d'inventaire appartenant à plusieurs personnes, plusieurs uuids, mais le même hash car les données sont les mêmes à moins que quelqu'un ne commence à modifier l'asset lui-même, auquel cas un nouveau hash est créé.

[11:15] Ubit Umarov : comme je l'ai dit, je suppose que la très faible collision de SHA256 est assez unique pour nous.

[11:16] Ubit Umarov : possible que ce soit comme un hashset c#.

[11:16] Ubit Umarov : mais bon...

[11:17] Vincent Sylvester : Comment se comporte la probabilité de collision si on passe à sha512 ?

[11:18] Ubit Umarov : aucune idée des chiffres.

[11:19] Ubit Umarov : bien et de quoi cela dépend.

[11:19] Vincent Sylvester : La probabilité d'une collision de hachage sur 512 bits est de 1,4×10^77.

[11:19] Vincent Sylvester : Quoi que cela veuille dire lol

[11:20] Vincent Sylvester : Le nombre est si grand que si ça arrive, il faut acheter un billet de loterie.

[11:20] Andrew Hellershanks: :)

[11:21] Ubit Umarov : bien l'estimation brute est juste 1/(2^-256)

[11:21] Ubit Umarov : contre 1/(2^-512)

[11:21] Ubit Umarov : la réalité est plus importante que cela.

= Nouvelles d'OpenSim =
 * Bitbucket/Opensimulator
 * Journal des commits OpenSim
 * Mantis : suivi des bugs
 * Réunion du 08 mars 2022 : Allons nous perdre la fonction llEmail ?
 * Réunion du 15 mars 2022 : Changement dans le code de la semaine : Email
 * llEmail

[11:23] Andrew Hellershanks : Pas beaucoup de nouvelles d'OpenSim cette semaine.

[11:23] Andrew Hellershanks : Il y a eu pas mal d'activité mais la plupart des changements étaient plus du nettoyage de code.

[11:23] Vincent Sylvester : Et davantage de choses sur les emails

[11:23] Ubit Umarov : j'ai travaillé un peu plus sur le support de llemail.

[11:24] Ubit Umarov : pour le rendre plus proche de ce qu'il aurait dû être depuis toujours.

[11:24] Andrew Hellershanks : Ouaip. D'après le journal des modifications, il semble que le nouveau module de messagerie ait remplacé l'ancien.

[11:24] Ubit Umarov : son smtp fait TLS maintenant, comme je l'ai dit, et avait l'option de supprimer la validation des certificats.

[11:24] Andrew Hellershanks : Ubit, ça n'a pris que combien d'années ? :)

[11:24] Ubit Umarov : pour que le serveur smtp puisse utiliser des certificats auto-signés.

[11:25] Ubit Umarov : je suppose que peu de gens l'utilisent, donc peu de plaintes.

[11:25] Ubit Umarov : j'ai aussi ajouté un régulateur

[11:26] Ubit Umarov : le total des emails smtp de la journée...

[11:26] Andrew Hellershanks : Bonne idée.

[11:26] Ubit Umarov : total de llemails par propriétaire de prims

[11:26] Vincent Sylvester : Je m'inquiète un peu de ce que les gens pourraient commencer à faire avec le courrier électronique, en utilisant opensim en remplacement de thunderbird ou quelque chose de fou comme ça.

[11:26] Ubit Umarov : et llemails par objet

[11:26] Ubit Umarov : tous les jeux de limitation nécessaires.

[11:27] Andrew Hellershanks : Vincent, c'est l'une des raisons pour lesquelles j'ai ajouté la possibilité de restreindre les e-mails sortants à l'adresse du propriétaire de l'objet. De cette façon, ils ne peuvent s'envoyer des spams qu'à eux-mêmes.

[11:27] Vincent Sylvester : Idée intéressante

[11:28] Misterblue Waves : bonjour à tous... j'ai mis du temps à créer un nouveau compte ici mais je l'ai fait.

[11:28] Ubit Umarov : bienvenue

[11:28] Andrew Hellershanks : Les gens pourraient utiliser les vendeurs qui envoient des données sur les ventes par courriel, mais ils ne pourraient pas en abuser en les envoyant à d'autres personnes.

[11:28] Andrew Hellershanks : Bonjour, misterblue

[11:28] Ubit Umarov : Bon, limiter l'envoi à un utilisateur est... très court.

[11:29] Ubit Umarov : donc sur les standalones, llemail fait presque tout ce qui est nécessaire, si vous avez un serveur smtp

[11:29] Andrew Hellershanks : Le système de messagerie n'avait même pas ce genre de restriction avant, donc il aurait pu être plus facilement détourné.

[11:29] Ubit Umarov : ... qui accepte l'authentification simple par mot de passe et utilisateur

[11:30] Ubit Umarov : sur les grilles...

[11:30] Ubit Umarov : toujours pas d'email vers un objet dans une autre région.

[11:30] Ubit Umarov : cela nécessite un module côté grille.

[11:30] Ubit Umarov : et du polling.

[11:30] Ubit Umarov : en fait SMTP DOIT aussi être déplacé vers un module côté grille.

[11:31] Ubit Umarov : ainsi les limites smtp peuvent être étendues à toute la grille.

[11:31] Ubit Umarov : comme les 100 emails par jour que beaucoup ont...

[11:31] Ubit Umarov: ''of 10000 some payed mailler have.. etc''

[11:31] Ubit Umarov: ou..

[11:32] Ubit Umarov : donc... uff un module côté région est nécessaire...

[11:32] Ubit Umarov : **TODO** (à faire) un jour :)

[11:33] Vincent Sylvester : A ce stade, je me demande si un objet osMessage  avec un module Robust   ne serait pas plus efficace pour ce genre de communication, faire ça par email semble être une couche supplémentaire dont on n'a pas besoin...

[11:33] Andrew Hellershanks : Je crois que le wiki de LSL spécifie également une limite de taux en termes d'heures ou de minutes.

[11:33] Ubit Umarov : ouais, cette histoire d'email est presque la même que les IMs de la grille.

[11:33] Ubit Umarov : mais ce sont aussi des absurdités de région à région.

[11:34] Ubit Umarov : pas de bureau de poste central.

[11:34] Misterblue Waves : peut-être des messages vers XMPP ou quelque chose d'autre pour éviter les emails potentiellement nuisibles.

[11:34] Ubit Umarov : XMPP ?? pourquoi un gros bordel de merde ??? (NDLR : ou Bretzel de Merle  :p )

[11:34] Ubit Umarov : jezz

[11:34] Ubit Umarov : les gens aiment les protocoles complexes et absurdes :p

[11:35] Misterblue Waves : choisissez simplement quelque chose qui fonctionne... le courrier électronique est lourd et représente un problème potentiel.

[11:35] Ubit Umarov : le fait qu'ils s'autoproclament "The universal messaging standard" (La norme de messagerie universelle) rendrait le système plus efficace ;)

[11:35] Ubit Umarov : le smtp original était léger~.

[11:36] Ubit Umarov : j'ai envoyé plusieurs emails avec juste telnet :)

[11:36] Vincent Sylvester : string destination(regionuuid:objectuuid), string message et ensuite juste piquer le code de la messagerie instantanée hehe.

[11:36] Ubit Umarov : bien sûr, trop léger :)

[11:36] Misterblue Waves : UBit, as-tu essayé le truc de prebuildnet6 ? J'aimerais que cela puisse être fusionné dans master

[11:36] Ubit Umarov : oups

[11:36] Ubit Umarov : toujours pas :(

[11:37] Vincent Sylvester : Maintenant vous m'avez mis l'idée en tête lol

[11:37] Vincent Sylvester : Il est temps d'écrire mon premier module Robust :D

[11:37] Ubit Umarov : xmpp est un peu mort non ?

[11:37] Misterblue Waves : je ne pense pas que ça change quoi que ce soit en utilisation normale.

[11:39] Ubit Umarov : BOSH

BOSH est "Bidirectional-streams Over Synchronous HTTP".

[11:39] Ubit Umarov : duh

[11:40] Ubit Umarov : cela prend tellement de temps pour que les gens réalisent que certaines choses ont déjà un nom... "UDP" :p

[11:40] Ubit Umarov : bien lUDP avec un peu plus de "petit" code

[11:40] Vincent Sylvester : web3... *barfs*

= Demande de remplacement de LLUDP =

[11:41] Ubit Umarov : Au fait, un développeur de viewer m'a demandé de supporter le nouveau cpa pour les profils d'avatars.

[11:42] Ubit Umarov : ils veulent enlever le protocole lludp pour cela...

[11:42] Ubit Umarov : J'ai regardé.

[11:42] Ubit Umarov : et je suis en train de refuser.

[11:42] Ubit Umarov : ce changement est juste MAUVAIS.

[11:42] Ubit Umarov : remplace lludp, rapide et efficace, par http, très coûteux.

[11:42] Ubit Umarov : sans aucun gain... seulement une grande perte de précision

[11:43] Vincent Sylvester : Pourquoi même bricoler avec ça, c'est le moins problématique des domaines.

[11:43] Ubit Umarov : et une augmentation des chances qu'un simple viewer fasse un DDOS total d'un serveur.

[11:43] Misterblue Waves : mais ce n'est pas sur une performance donc la portabilité pourrait être bonne.

[11:43] Vincent Sylvester : Pendant ce temps, les groupes ne reçoivent pas d'amour

[11:43] Misterblue Waves : Performance path

[11:44] Ubit Umarov : qui capte 3 requêtes différentes.

[11:44] Ubit Umarov : qui a 4 services différents du côté de la grille, chacun avec ses propres bases de données.

[11:45] Ubit Umarov : et maintient la connexion http ouverte pendant que tout cela se passe.

[11:45] Ubit Umarov : comme vous pouvez le voir, un beau chemin d'accès réduit au maximum le nombre de fichiers ouverts par un serveur.

[11:45] Ubit Umarov : en plus de toutes les conneries tcp, comme TIME_WAIT

[11:46] Vincent Sylvester : Hm surtout si les données du profil sont introuvables parce que la grille n'existe plus.

[11:46] Ubit Umarov : lludp comprend 3 commandes, toutes asynchrones.

[11:46] Ubit Umarov : les services envoient les mauvaises informations quand ils les ont.

[11:46] Ubit Umarov : pas d'ouverture lourde de tcp en faisant ça

[11:47] Ubit Umarov : vous voyez les problèmes ?

[11:47] Misterblue Waves : seulement si on doit le faire plusieurs fois par seconde.

[11:48] Ubit Umarov : Pour ton information, quand tu regardes dans People->friends_ all friends, Firestorm demande les profils de tous tes amis, à toute vitesse.

[11:48] Ubit Umarov : c'est 250 dans mon humble cas...

[11:48] Vincent Sylvester : J'ai des utilisateurs avec plus de 600 amis

[11:48] Vincent Sylvester : dont un tiers sont des liens morts

[11:48] Ubit Umarov : avec lludp qui met dans une pile, et répond quand c'est fait

[11:49] Misterblue Waves : certainement dans ce cas.

[11:49] Ubit Umarov : avec une capture htpp ... bien, vous avez déjà vu le film

[11:49] Vincent Sylvester : La plupart des gens sous-estiment le désordre que certaines choses peuvent créer, surtout dans notre environnement.

[11:49] Misterblue Waves tape lentement car je tiens dans mes bras ma petite fille de 4 jours. (NDLR : Bienvenue à la petite fille ! 👶 )

[11:49] Ubit Umarov : (bien sûr, ils sont aussi passés d'un protocole binaire joliment compacté à ce stupide LLSDXML).

[11:50] Ubit Umarov : où 95% des données transférées sont des déchets de protocole.

[11:50] Ubit Umarov : et aucun gain du tout

[11:51] Ubit Umarov : les choses transférées sont exactement les mêmes.

[11:51] Ubit Umarov : C'est pour cela que je refuse ce mouvement.

= Les groupes =
 * Aperçu des groupes (en)

[11:51] Vincent Sylvester : Imaginez cela pour les groupes...

[11:52] Ubit Umarov : une partie de l'information est la liste des groupes.

[11:53] Ubit Umarov : comme je l'ai dit, la connexion http doit rester ouverte pendant que le code discute avec 4 services ( ?), l'un d'entre eux étant les groupes.

[11:53] Vincent Sylvester : Oh là là

[11:53] Ubit Umarov : que 600 fois dès que les utilisateurs se connectent et regardent la liste de tous leurs amis :)

[11:53] Ubit Umarov : par utilisateur

[11:54] Ubit Umarov : vous pouvez déjà remarquer qu'avec lludp plusieurs choses s'arrêtent déjà

[11:54] Ubit Umarov : à un moment donné, le chat local s'est arrêté.

[11:54] Ubit Umarov : parce que j'utilisais le même thread de service :p

[11:55] Vincent Sylvester : Oui, si je recharge notre groupe principal, cela prend quelques secondes car il y a plus de 700 utilisateurs.

[11:55] Ubit Umarov : ouais bienvenue dans le monde opensim sans limites :p

[11:56] Ubit Umarov : un avatar peut être membre de 1000 000 groupes... pas comme ce sl stupide qui limite cela...

[11:56] Ubit Umarov : :P

[11:56] Andrew Hellershanks : 700 est un petit groupe. Je me souviens d'une grille qui avait un groupe dont (presque) tous les utilisateurs faisaient partie. Il était utilisé pour faire des annonces sur la grille. J'avais des milliers d'utilisateurs.

[11:56] Andrew Hellershanks : s/I/It/

[11:56] Ubit Umarov : hmm en fait je ne me souviens pas de la limite actuelle que nous avons, si elle existe.

[11:56] Vincent Sylvester : J'ai commencé à éliminer les anciens utilisateurs pour récupérer des performances.

[11:57] Ubit Umarov : les groupes peuvent avoir des milliers d'utilisateurs.

[11:57] Ubit Umarov : c'est un autre gros problème, mais un autre problème.

[11:57] Vincent Sylvester : Si j'avais plus de temps, je regarderais les groupes pour voir s'il n'y a pas de performance à gagner en mettant à jour le code, mais je doute également qu'il y ait beaucoup de choses à faire.

[11:58] Ubit Umarov : sur les groupes, tout cela a besoin d'un contrôle central.

[11:58] Andrew Hellershanks : La valeur par défaut actuelle de Robust est de 42 groupes. Cela a été modifié lorsque LL l'a changé en 42. Il y avait 50 groupes à un moment donné. Peut-être même 100 il y a quelques années.

[11:58] Andrew Hellershanks : s/go/ago/

[11:58] Ubit Umarov : encore un postOffice.

[11:58] Ubit Umarov : pour mieux distribuer les messages

[11:58] Ubit Umarov : bien sûr, cela peut être un service lourd. = IRC =

[11:58] Ubit Umarov : c'est comme ça que fonctionne IRC

[11:59] Ubit Umarov : et les messageries instantanées devraient suivre le modèle d'irc, je pense.

[11:59] Andrew Hellershanks : Nous sommes au début de l'heure. Est-ce que quelqu'un avait une question ou un sujet pour aujourd'hui avant de conclure ? Mon chat aimerait que nous terminions à l'heure. Elle me poursuit depuis 10 minutes.

[11:59] Ubit Umarov : mais c'est un autre problème, pas celui des profils.

[11:59] Ubit Umarov : bien sûr, les développeurs ne sont pas contents de moi.

[11:59] Ubit Umarov : lls veulent supprimer tout le code lludp, donc ils veulent aussi que le code soit modifié.

[12:00] Vincent Sylvester : SL se tire une balle dans le pied, quelle nouvelle choquante !

[12:00] Andrew Hellershanks : :)

[12:01] Andrew Hellershanks : Ubit, c'est logique. IRC est une méthode éprouvée pour gérer la messagerie entre de nombreux utilisateurs simultanés.

=Conclusion -- faire les réunions sur d'autres grilles --heure d'été = [12:02] Andrew.Hellershanks : Pas de sujets de dernière minute pour aujourd'hui ?

[12:03] Ubit Umarov : bien mais les IMs sont une chose future...

[12:03] Andrew.Hellershanks : Avec un peu de chance, osgrid sera de nouveau opérationnel la semaine prochaine et nous pourrons nous rencontrer à notre endroit habituel.

[12:03] Ubit Umarov : pas facile de changer maintenant.

[12:04] Andrew.Hellershanks : Je pense que le changement d'heure du week-end prochain pour nos amis de l'UE fera que la réunion commencera une heure plus tôt pour eux (heure locale).

[12:04] Ubit Umarov : oui, espérons qu'il sera de retour la semaine prochaine.

[12:04] Andrew.Hellershanks : ou plus tard selon la façon dont on voit les choses.

[12:04] Ubit Umarov : Pendant ce temps,

[12:04] Andrew.Hellershanks : C'est toujours un peu confus.

[12:04] Ubit Umarov : Merci à ZetaWorlds de nous accueillir.

[12:04] Andrew.Hellershanks : Toujours 11 heures du matin, heure de la grille.

[12:04] Vincent Sylvester : Heureux de pouvoir aider :)

[12:04] Ubit Umarov : ( la prochaine fois, servez du café et des biscuits... )

[12:05] Andrew.Hellershanks : Oui. Merci ZetaWorlds.

[12:05] Ubit Umarov : :)

[12:05] Andrew.Hellershanks : Peut-être la prochaine fois. Cela a probablement été mis en place un peu à la dernière minute.

[12:05] Ubit Umarov : En fait, nous devrions avoir des réunions sur d'autres grilles.

[12:05] Ubit Umarov : de temps en temps.

[12:05] Ubit Umarov : ils sont opensim...

[12:05] Vincent Sylvester : J'ai configuré cette région il y a des années, je ne me souviens même pas quand...

[12:06] Andrew.Hellershanks : Bonne idée mais nous aurions besoin d'un moyen de faire savoir bien à l'avance où nous nous rencontrerons pour éviter de perdre les personnes qui participent régulièrement.

[12:06] Andrew.Hellershanks : J'aime les buissons à l'extérieur qui écrivent OPENSIM.

[12:07] Vincent Sylvester : Je n'ai pas pu insérer les autres lettres.

[12:07] Andrew.Hellershanks : Il faut des lettres plus petites ou une région plus grande :)

[12:07] Ubit Umarov : bien que le développement de proximité soit notre principale "base".

[12:07] Ubit Umarov : mais nous devrions sortir plus ;)

[12:08] Ubit Umarov : c'est une idée que j'ai depuis un certain temps, mais qui prend la poussière.

[12:08] Andrew.Hellershanks acquiesce.

[12:09] Vincent Sylvester : Malheureusement on ne peut pas faire de redirection web avec la façon dont opensim gère l'Hypergrid, j'ai essayé.

[12:09] Andrew.Hellershanks : S'il n'y a rien d'autre à faire aujourd'hui, je vais terminer la réunion avant que mon chat n'arrête d'attendre que j'aille jouer.

[12:09] Misterblue Waves : A tout de suite !

[12:09] Andrew.Hellershanks : Merci à tous d'être venus. Nous vous reverrons la semaine prochaine.