« Réunion du 22-02-2022 » : différence entre les versions

De OSWiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
 
(20 versions intermédiaires par le même utilisateur non affichées)
Ligne 3 : Ligne 3 :
* [https://www.npgsql.org/ npgsql] permet aux programmes écrits en C#, Visual Basic, F# d'accéder au serveur de base de données PostgreSQL .
* [https://www.npgsql.org/ npgsql] permet aux programmes écrits en C#, Visual Basic, F# d'accéder au serveur de base de données PostgreSQL .


[11:03] Gavin.Hird @grid.xmir.org:8002 : Salut Andrew
[11:03] '''Gavin.Hird @grid.xmir.org:8002 ''': Salut Andrew


[11:03] Andrew Hellershanks : Bonjour à tous.
[11:03] '''Andrew Hellershanks''' : Bonjour à tous.


[11:04] Ubit Umarov : Code de gravité Description État de suppression de la ligne de fichier du projet
[11:04] '''Ubit Umarov''' : Code de gravité Description État de suppression de la ligne de fichier du projet
Erreur CS1069 Le nom de type 'PerformanceCounter' n'a pas pu être trouvé dans l'espace de nom 'System.Diagnostics'. Ce type a été transféré à un assembly 'System.Diagnostics.PerformanceCounter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. Pensez à ajouter une référence à cet assembly.    OpenSim.Framework.Monitoring D:\Avination\test\opensim\OpenSim\Framework\Monitoring\ServerStatsCollector.cs 65 Actif
Erreur CS1069 Le nom de type 'PerformanceCounter' n'a pas pu être trouvé dans l'espace de nom 'System.Diagnostics'. Ce type a été transféré à un assembly 'System.Diagnostics.PerformanceCounter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. Pensez à ajouter une référence à cet assembly.    OpenSim.Framework.Monitoring D:\Avination\test\opensim\OpenSim\Framework\Monitoring\ServerStatsCollector.cs 65 Actif


[11:04] Ubit Umarov : par exemple
[11:04] '''Ubit Umarov''' : par exemple


[11:04] Ubit Umarov : les compteurs de performance ont également disparu.
[11:04] '''Ubit Umarov''' : les compteurs de performance ont également disparu.


[11:04] Andrew Hellershanks : Je me suis assoupi après le déjeuner jusqu'à ce que mon Assistant numérique personnel me rappelle l'heure par un bip.
[11:04] '''Andrew Hellershanks''' : Je me suis assoupi après le déjeuner jusqu'à ce que mon Assistant numérique personnel me rappelle l'heure par un bip.


[11:04] Ubit Umarov : cela signifie aussi que certains de nos codes de statistiques ont disparu.
[11:04] '''Ubit Umarov''' : cela signifie aussi que certains de nos codes de statistiques ont disparu.


[11:05] Ubit Umarov : sur la migration vers [https://fr.wikipedia.org/wiki/.NET_Core .net5]
[11:05] '''Ubit Umarov''' : sur la migration vers .net5 [https://fr.wikipedia.org/wiki/.NET_Core ]


[11:05] Kayaker Magic : J'ai entendu dire que Mike Chase a réussi à compiler OpenSim et à le faire fonctionner avec .net sur des serveurs Windows, mais il a été surpris de constater que le code résultant ne fonctionne pas sur linux.
[11:05] '''Kayaker Magic''' : J'ai entendu dire que Mike Chase a réussi à compiler OpenSim et à le faire fonctionner avec .net sur des serveurs Windows, mais il a été surpris de constater que le code résultant ne fonctionne pas sur linux.


[11:05] Ubit Umarov : La partie la plus effrayante est l'API qui ressemble à la même chose, mais qui ne l'est pas.
[11:05] '''Ubit Umarov''' : La partie la plus effrayante est l'API qui ressemble à la même chose, mais qui ne l'est pas.


[11:06] Ubit Umarov : eh bien! pour faire cela il devra enlever des choses comme  
[11:06] '''Ubit Umarov''' : eh bien! pour faire cela il devra enlever des choses comme  


[11:06] Ubit Umarov : la carte du monde
[11:06] '''Ubit Umarov''' : la carte du monde


[11:06] Ubit Umarov : etc...
[11:06] '''Ubit Umarov''' : etc...


[11:06] Ubit Umarov : puis réécrire avec des bibliothèques alternatives...
[11:06] '''Ubit Umarov''' : puis réécrire avec des bibliothèques alternatives...


[11:07] Ubit Umarov : les textures lludp sont également mortes.
[11:07] '''Ubit Umarov''' : les textures lludp [http://opensimulator.org/wiki/LLUDP_Dissector] sont également mortes.


[11:07] Ubit Umarov : bien comme je l'ai dit, une tonne de choses.
[11:07] '''Ubit Umarov''' : bien comme je l'ai dit, une tonne de choses.


[11:07] Ubit Umarov : je ne suis pas sûr que tu aies vraiment lu qu'il l'avait fait.
[11:07] '''Ubit Umarov''' : je ne suis pas sûr que tu aies vraiment lu qu'il l'avait fait.


[11:07] Ubit Umarov : Je sais qu'il y travaille.
[11:07] '''Ubit Umarov''' : Je sais qu'il y travaille.


[11:08] Ubit Umarov : de mon côté, aussi comme je l'ai dit, pas de précipitation.
[11:08] '''Ubit Umarov''' : de mon côté, aussi comme je l'ai dit, pas de précipitation.


[11:08] Ubit Umarov : il ne faut pas se précipiter.
[11:08] '''Ubit Umarov''' : il ne faut pas se précipiter.


[11:08] Andrew Hellershanks : C'est un peu bizarre que Microsoft(MS) fasse de tels changements dans .net 5 au point de casser complètement le code du passé.
[11:08] '''Andrew Hellershanks''' : C'est un peu bizarre que Microsoft(MS) fasse de tels changements dans .net 5 au point de casser complètement le code du passé.


[11:08] Ubit Umarov : ohh vous devriez voir .netcore 2
[11:08] '''Ubit Umarov''' : ohh vous devriez voir .netcore 2


[11:08] Ubit Umarov : encore pire  
[11:08] '''Ubit Umarov''' : encore pire  


[11:08] Ubit Umarov : même 3
[11:08] '''Ubit Umarov''' : même 3


[11:09] Ubit Umarov : c'est  à ce moment que MS a vu qu'ils ne pouvaient pas forcer tout le monde à réécrire toutes les applications.
[11:09] '''Ubit Umarov''' : c'est  à ce moment que MS a vu qu'ils ne pouvaient pas forcer tout le monde à réécrire toutes les applications.


[11:09] Ubit Umarov : donc ils ont ajouté beaucoup plus de .net4.8 dessus.
[11:09] '''Ubit Umarov''' : donc ils ont ajouté beaucoup plus de .net4.8 dessus.


[11:10] Andrew Hellershanks : Je me demande s'ils ont vu le problème en interne. Cela les a probablement incités à faire quelque chose à ce sujet.
[11:10] '''Andrew Hellershanks''' : Je me demande s'ils ont vu le problème en interne. Cela les a probablement incités à faire quelque chose à ce sujet.


[11:10] Ubit Umarov : mais il y a encore beaucoup de choses qui manquent, comme les images, etc...
[11:10] '''Ubit Umarov''' : mais il y a encore beaucoup de choses qui manquent, comme les images, etc...


[11:10] Ubit Umarov : les parties qu'ils ont ajoutées... pour Windows seulement.
[11:10] '''Ubit Umarov''' : les parties qu'ils ont ajoutées... pour Windows seulement.


[11:10] Ubit Umarov : net5-0-windows a un code image.
[11:10] '''Ubit Umarov''' : net5-0-windows a un code image.


[11:10] Misterblue Waves : je me demande si PrimMesher et [https://bitbucket.org/opensimulator/libopenmetaverse/src/master/ libomv] peuvent être mis à jour vers .NET6... c'est un projet de week-end.
[11:10] '''Misterblue Waves''' : je me demande si PrimMesher et libomv [https://bitbucket.org/opensimulator/libopenmetaverse/src/master/] peuvent être mis à jour vers .NET6... c'est un projet de week-end.


[11:11] Ubit Umarov : même problème.
[11:11] '''Ubit Umarov''' : même problème.


[11:11] Ubit Umarov : impossible
[11:11] '''Ubit Umarov''' : impossible


[11:11] Ubit Umarov : ça dépend des bitmaps
[11:11] '''Ubit Umarov''' : ça dépend des bitmaps


[11:11] Ubit Umarov : et d'autres choses encore
[11:11] '''Ubit Umarov''' : et d'autres choses encore


=Modifications dans la base de données =
=Modifications dans la base de données =
* [https://fr.wikipedia.org/wiki/NuGet NuGet]:  gestionnaire de paquets de la plate forme de développement Microsoft .NET.
* [https://fr.wikipedia.org/wiki/NuGet NuGet]:  gestionnaire de paquets de la plate forme de développement Microsoft .NET.


[11:11] Vincent.Sylvester @hg.zetaworlds.com:8002 : En parlant de librairies alternatives, je me suis posé l'autre jour et j'ai cloné les interfaces [https://fr.wikipedia.org/wiki/MySQL Mysql] et réécrit les migrations pour changer un tas de champs varchar et char en UUID commec'est  maintenant supporté par [https://mariadb.org/ MariaDB]. Les tests unitaires passent, bien qu'ils utilisent toujours le connecteur Mysql par défaut et je n'ai pas fait beaucoup de tests pour savoir si toutes les parties fonctionnent. Ubit a cherché un connecteur MariaDB directement, mais il semble que, tout comme  npgsql  plus récent, il soit livré avec un tas de librairies stupides. J'ai vérifié la longueur des tables et dans l'ensemble des tables, j'ai économisé plus de 280 octets juste en changeant ces champs, ce qui revient à près de 30% de la taille de la structure globale.
[11:11] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : En parlant de librairies alternatives, je me suis posé l'autre jour et j'ai cloné les interfaces Mysql [https://fr.wikipedia.org/wiki/MySQL ] et réécrit les migrations pour changer un tas de champs varchar et char en UUID commec'est  maintenant supporté par MariaDB [https://mariadb.org/ ]. Les tests unitaires passent, bien qu'ils utilisent toujours le connecteur Mysql par défaut et je n'ai pas fait beaucoup de tests pour savoir si toutes les parties fonctionnent. Ubit a cherché un connecteur MariaDB directement, mais il semble que, tout comme  npgsql  plus récent, il soit livré avec un tas de librairies stupides. J'ai vérifié la longueur des tables et dans l'ensemble des tables, j'ai économisé plus de 280 octets juste en changeant ces champs, ce qui revient à près de 30% de la taille de la structure globale.


[11:13] Misterblue Waves : J'ai utilisé MariaDB comme base de données. Pas de problèmes, mais je ne suis pas un testeur de gros chargements.
[11:13] '''Misterblue Waves''' : J'ai utilisé MariaDB comme base de données. Pas de problèmes, mais je ne suis pas un testeur de gros chargements.


[11:14] Ubit Umarov : maria est maintenant ce que les distros aiment.
[11:14] '''Ubit Umarov''' : maria est maintenant ce que les distros aiment.


[11:14] Andrew Hellershanks : C'est le cas depuis un certain temps.
[11:14] '''Andrew Hellershanks''' : C'est le cas depuis un certain temps.


[11:14] Ubit Umarov : je suppose que c'est comme ça depuis qu'Oracle a pris le contrôle de Mysql.
[11:14] '''Ubit Umarov''' : je suppose que c'est comme ça depuis qu'Oracle a pris le contrôle de Mysql.


[11:15] Andrew Hellershanks acquiesce.
[11:15] '''Andrew Hellershanks''' acquiesce.


[11:15] Vincent.Sylvester @hg.zetaworlds.com:8002 : [https://mariadb.com/kb/en/mariadb-1073-release-notes/ MariaDB 10.7] est sorti la semaine dernière, il y a maintenant le type de champ UUID, qui est un peu plus petit en taille pour stocker les UUIDs, le truc c'est que, pour en tirer avantage, il faut trouver un moyen de s'interfacer avec lui à un niveau plus bas que de pousser des chaînes de caractères afin d'obtenir des performances, le simple fait de changer les champs en UUID réduit juste la taille de la base de données en général, les performances des requêtes pas tellement.
[11:15] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : MariaDB 10.7 [https://mariadb.com/kb/en/mariadb-1073-release-notes/ ] est sorti la semaine dernière, il y a maintenant le type de champ UUID, qui est un peu plus petit en taille pour stocker les UUIDs, le truc c'est que, pour en tirer avantage, il faut trouver un moyen de s'interfacer avec lui à un niveau plus bas que de pousser des chaînes de caractères afin d'obtenir des performances, le simple fait de changer les champs en UUID réduit juste la taille de la base de données en général, les performances des requêtes pas tellement.


[11:16] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il faut une conversion binaire directe ou quelque chose pour s'interfacer avec la lui, mais pour cela il faut un connecteur et celui qui est sur nuget a besoin de quelques bidouillages pour fonctionner.
[11:16] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Il faut une conversion binaire directe ou quelque chose pour s'interfacer avec la lui, mais pour cela il faut un connecteur et celui qui est sur nuget a besoin de quelques bidouillages pour fonctionner.


=Problème des bibliothèques d'images avec Mono =  
=Problème des bibliothèques d'images avec Mono =  
* [https://fr.wikipedia.org/wiki/Mono_(logiciel) Mono] :  mise en œuvre open source (sous licence GNU GPL, GNU LGPL ou X11 selon les éléments) de la plateforme de développement Microsoft .NET. Mono est utilisé entre autre sur les systèmes d'exploitation Linux pour lancer OpenSimulator.
* [https://fr.wikipedia.org/wiki/Mono_(logiciel) Mono] :  mise en œuvre open source (sous licence GNU GPL, GNU LGPL ou X11 selon les éléments) de la plateforme de développement Microsoft .NET. Mono est utilisé entre autre sur les systèmes d'exploitation Linux pour lancer OpenSimulator.


[11:12] Ubit Umarov : ms a refusé de supporter l'image sur toutes les plateformes, comme linux.
* [https://www.mono-project.com/docs/tools+libraries/tools/mkbundle/ MKBundle] Mono peut transformer les applications .NET (code exécutable et ses dépendances) en exécutables autonomes qui ne dépendent pas de l'installation de Mono sur le système afin de simplifier le déploiement des applications .NET. Pour ce faire, l'outil mkbundle, un compilateur croisé, produit un exécutable natif pour toutes les plates-formes supportées par Mono à partir d'un point d'entrée assembly initial, de ses dépendances .NET et de tout assembly supplémentaire requis par votre application.


[11:12] Ubit Umarov : à cause de [https://www.mono-project.com/docs/gui/libgdiplus/ libgdiplus], [https://fr.wikipedia.org/wiki/Cairo_(logiciel) Cairo], etc.
[11:12] '''Ubit Umarov''' : MS a refusé de supporter l'image sur toutes les plateformes, comme linux.


[11:12] Ubit Umarov : ils refusent d'assurer la maintenance
[11:12] '''Ubit Umarov''' : à cause de  libgdiplus [https://www.mono-project.com/docs/gui/libgdiplus/ ], Cairo [https://fr.wikipedia.org/wiki/Cairo_(logiciel) ], etc.


[11:12] Ubit Umarov : un peu compréhensible
[11:12] '''Ubit Umarov''' : ils refusent d'assurer la maintenance


[11:13] Misterblue Waves : certains problèmes ne devraient pas être volontaires.
[11:12] '''Ubit Umarov''' : un peu compréhensible


[11:13] Ubit Umarov : le Cairo et le [https://fr.wikipedia.org/wiki/Pango Pango]...
[11:13] '''Misterblue Waves''' : certains problèmes ne devraient pas être volontaires.


[11:16] Andrew Hellershanks : Si le code utilise cairo, pango, etc., ils devraient toujours être utilisables dans le code du système d'exploitation en tant que bibliothèques externes.
[11:13] '''Ubit Umarov''' : le Cairo et le Pango [https://fr.wikipedia.org/wiki/Pango ]...


[11:16] Ubit Umarov : comme je vous l'ai dit, il faut diviser la base de données.
[11:16] '''Andrew Hellershanks''' : Si le code utilise cairo, pango, etc., ils devraient toujours être utilisables dans le code du système d'exploitation en tant que bibliothèques externes.


[11:16] Ubit Umarov : et utiliser un autre connecteur.
[11:16] '''Ubit Umarov''' : comme je vous l'ai dit, il faut diviser la base de données.


[11:17] Ubit Umarov : bitmap sur mono dépend de pango, cairo et libgdiplus
[11:16] '''Ubit Umarov''' : et utiliser un autre connecteur.


[11:17] Ubit Umarov : que MS refuse d'utiliser
[11:17] '''Ubit Umarov''' : bitmap sur mono dépend de pango, cairo et libgdiplus


[11:17] Ubit Umarov : donc pas de code image pour linux sur .net5 ou 6
[11:17] '''Ubit Umarov''' : que MS refuse d'utiliser


[11:17] Ubit Umarov : comme je l'ai dit .netx-windows l'a... windows seulement
[11:17] '''Ubit Umarov''' : donc pas de code image pour linux sur .net5 ou 6


[11:18] Andrew Hellershanks : Pourquoi le code ne peut pas utiliser ces bibliothèques de toute façon même si MS ne les supporte pas dans .net ?
[11:17] '''Ubit Umarov''' : comme je l'ai dit .netx-windows l'a... windows seulement


[11:18] Ubit Umarov : parce qu'ils n'ajouteront pas à .net, le code qui dépend des bibliothèques qu'ils refusent d'utiliser.
[11:18] '''Andrew Hellershanks''' : Pourquoi le code ne peut pas utiliser ces bibliothèques de toute façon même si MS ne les supporte pas dans .net ?


[11:18] Gavin.Hird @grid.xmir.org:8002 : il n'y a pas d'argent là-dedans.
[11:18] '''Ubit Umarov''' : parce qu'ils n'ajouteront pas à .net, le code qui dépend des bibliothèques qu'ils refusent d'utiliser.


[11:18] Andrew Hellershanks : D'autres projets utilisent cairo, pango, etc. donc ces bibliothèques sont toujours là.
[11:18] '''Gavin.Hird @grid.xmir.org:8002 ''': il n'y a pas d'argent -dedans.


[11:19] Gavin.Hird @grid.xmir.org:8002 : MS a toujours cherché à enfermer ses utilisateurs.
[11:18] '''Andrew Hellershanks''' : D'autres projets utilisent cairo, pango, etc. donc ces bibliothèques sont toujours .


[11:19] Ubit Umarov : et le code .netx est aussi pour android et ios.
[11:19] '''Gavin.Hird @grid.xmir.org:8002 ''': MS a toujours cherché à enfermer ses utilisateurs.


[11:19] Andrew Hellershanks : Cela n'a aucun sens. Si vous utilisez .NET, vous n'avez aucun moyen d'utiliser une bibliothèque tierce ?
[11:19] '''Ubit Umarov''' : et le code .netx est aussi pour android et ios.


[11:20] Ubit Umarov : il semble qu'ils pensent aussi que personne ne l'utilise vraiment.
[11:19] '''Andrew Hellershanks''' : Cela n'a aucun sens. Si vous utilisez .NET, vous n'avez aucun moyen d'utiliser une bibliothèque tierce ?


[11:20] Ubit Umarov : il semble que certains disent de ne voir que le code pour faire le q-code :)
[11:20] '''Ubit Umarov''' : il semble qu'ils pensent aussi que personne ne l'utilise vraiment.


[11:20] Ubit Umarov : ils disent d'utiliser d'autres bibliothèques d'images pour .net
[11:20] '''Ubit Umarov''' : il semble que certains disent de ne voir que le code pour faire le q-code :)


[11:21] Ubit Umarov : bien
[11:20] '''Ubit Umarov''' : ils disent d'utiliser d'autres bibliothèques d'images pour .net


[11:21] Ubit Umarov : cela veut dire que tout notre code devra être réécrit.
[11:21] '''Ubit Umarov''' : bien


[11:21] Ubit Umarov : code jpeg2000, maps scultp... maps... etc...
[11:21] '''Ubit Umarov''' : cela veut dire que tout notre code devra être réécrit.


[11:22] Ubit Umarov : textures dynamiques
[11:21] '''Ubit Umarov''' : code jpeg2000 [https://fr.wikipedia.org/wiki/JPEG_2000], maps scultp... maps... etc...


[11:22] Vincent.Sylvester @hg.zetaworlds.com:8002 : Beaucoup de ces choses sont assez abstraites aussi, comprendre comment cela fonctionne actuellement est une grosse tâche en soi, et encore moins la réécrire.
[11:22] '''Ubit Umarov''' : textures dynamiques


[11:22] Ubit Umarov : tout est perdu, jusqu'à une réécriture avec autre chose.
[11:22] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Beaucoup de ces choses sont assez abstraites aussi, comprendre comment cela fonctionne actuellement est une grosse tâche en soi, et encore moins la réécrire.


[11:22] Ubit Umarov : je pense que j'ai seulement listé des choses concrètes.
[11:22] '''Ubit Umarov''' : tout est perdu, jusqu'à une réécriture avec autre chose.


[11:22] Misterblue Waves : quelles sont les plateformes cibles "supportées" ? Window10/11, Ubuntu (mono6), IOS ?
[11:22] '''Ubit Umarov''' : je pense que j'ai seulement listé des choses concrètes.


[11:23] Andrew Hellershanks : La solution la plus simple est d'écrire notre propre code pour remplacer les bits manquants/non supportés afin que le code principal n'ait pas besoin d'être complètement réécrit.
[11:22] '''Misterblue Waves''' : quelles sont les plateformes cibles "supportées" ? Window10/11, Ubuntu (mono6), IOS ?


[11:24] Vincent.Sylvester @hg.zetaworlds.com:8002 : Andrew, tu veux écrire une bibliothèque d'images, bien sûr, je vais programmer la soirée de lancement, on se voit en 2035.
[11:23] '''Andrew Hellershanks''' : La solution la plus simple est d'écrire notre propre code pour remplacer les bits manquants/non supportés afin que le code principal n'ait pas besoin d'être complètement réécrit.


[11:24] Ubit Umarov : bien et toujours pas besoin de se précipiter.
[11:24] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Andrew, tu veux écrire une bibliothèque d'images, bien sûr, je vais programmer la soirée de lancement, on se voit en 2035.


[11:24] Ubit Umarov : malheureusement le mono a perdu beaucoup de correctifs mais il est toujours là.
[11:24] '''Ubit Umarov''' : bien et toujours pas besoin de se précipiter.


[11:24] Ubit Umarov : donc pas besoin de se précipiter.
[11:24] '''Ubit Umarov''' : malheureusement le mono a perdu beaucoup de correctifs mais il est toujours là.


[11:25] Ubit Umarov : tout changement vers .net5(6 signifie aussi la perte de beaucoup de bon matériel.
[11:24] '''Ubit Umarov''' : donc pas besoin de se précipiter.


[11:25] Andrew Hellershanks : Si le .NET actuel/ancien utilise pango, cairo, etc. Pourquoi ne pas simplement faire une bibliothèque qui est une interface entre le code actuel et les bibliothèques backend qui étaient déjà utilisées ?
[11:25] '''Ubit Umarov''' : tout changement vers .net5(6 signifie aussi la perte de beaucoup de bon matériel.


[11:25] Ubit Umarov : juste parce que ce matériel ne peut pas faire tourner le dernier Windows.
[11:25] '''Andrew Hellershanks''' : Si le .NET actuel/ancien utilise pango, cairo, etc. Pourquoi ne pas simplement faire une bibliothèque qui est une interface entre le code actuel et les bibliothèques backend qui étaient déjà utilisées ?


[11:25] Ubit Umarov : ou même le dernier linux
[11:25] '''Ubit Umarov''' : juste parce que ce matériel ne peut pas faire tourner le dernier Windows.


[11:25] Andrew Hellershanks : Que dit MS aux développeurs pour le passage à .NET 5/6 ? Réécrivez vos programmes ?
[11:25] '''Ubit Umarov''' : ou même le dernier linux


[11:26] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je suis plus préoccupé par le fait que la dernière version de mono ne supporte plus postgres sans changements massifs, je ne suis pas sûr que mysql ne suive pas bientôt.
[11:25] '''Andrew Hellershanks''' : Que dit MS aux développeurs pour le passage à .NET 5/6 ? Réécrivez vos programmes ?


[11:26] Ubit Umarov : oui, c'est ce qu'ils disent.
[11:26] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Je suis plus préoccupé par le fait que la dernière version de mono ne supporte plus postgres [https://fr.wikipedia.org/wiki/PostgreSQL] sans changements massifs, je ne suis pas sûr que mysql ne suive pas bientôt.


[11:26] Ubit Umarov : comme je l'ai dit, la situation était bien pire à l'époque de .netcore 2.0.
[11:26] '''Ubit Umarov''' : oui, c'est ce qu'ils disent.


[11:26] Misterblue Waves : @Andrew c'est vrai que nous n'utilisons pas toutes les fonctionnalités d'Image. La plupart des trucs qui "ne seront pas supportées" tournent  autour des fonctions qui touchent aux images et modifient les formats internes (pour la performance et autres).
[11:26] '''Ubit Umarov''' : comme je l'ai dit, la situation était bien pire à l'époque de .netcore 2.0.


[11:26] Ubit Umarov : parce que la plupart du code ne fonctionne pas dessus.
[11:26] '''Misterblue Waves''' : @Andrew c'est vrai que nous n'utilisons pas toutes les fonctionnalités d'Image. La plupart des trucs qui "ne seront pas supportées" tournent  autour des fonctions qui touchent aux images et modifient les formats internes (pour la performance et autres).


[11:26] Andrew Hellershanks : S'ils continuent à faire ça, c'est une excellente démonstration pour expliquer pourquoi vous ne devriez pas utiliser .NET dans vos programmes.
[11:26] '''Ubit Umarov''' : parce que la plupart du code ne fonctionne pas dessus.


[11:27] Ubit Umarov : allez dire aux développeurs originaux d'opensim que le choix de c# était un choix très stupide.
[11:26] '''Andrew Hellershanks''' : S'ils continuent à faire ça, c'est une excellente démonstration pour expliquer pourquoi vous ne devriez pas utiliser .NET dans vos programmes.


[11:27] Vincent.Sylvester @hg.zetaworlds.com:8002 : A ce moment là, on pourrait aussi bien réécrire en C directement et jeter la dépendance au framework par la fenêtre, mais bon sang, ça a l'air amusant... non !
[11:27] '''Ubit Umarov''' : allez dire aux développeurs originaux d'opensim que le choix de c# [https://fr.wikipedia.org/wiki/C_sharp] était un choix très stupide.


[11:27] Ubit Umarov : c'était très stupide, mais trop tard pour changer.
[11:27] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : A ce moment là, on pourrait aussi bien réécrire en C [https://fr.wikipedia.org/wiki/C_(langage)] directement et jeter la dépendance au framework par la fenêtre, mais bon sang, ça a l'air amusant... non !


[11:28] Ubit Umarov : bien sûr, commencer une telle chose en c++ avec le support multi.os était beaucoup plus difficile à faire.
[11:27] '''Ubit Umarov''' : c'était très stupide, mais trop tard pour changer.


[11:28] Gavin.Hird @grid.xmir.org:8002 : quelqu'un doit télécharger le code du serveur SL :-)
[11:28] '''Ubit Umarov''' : bien sûr, commencer une telle chose en c++ [https://fr.wikipedia.org/wiki/C%2B%2B] avec le support multi.os était beaucoup plus difficile à faire.


[11:29] Ubit Umarov: so possible no one would had done it
[11:28] '''Gavin.Hird @grid.xmir.org:8002 ''': quelqu'un doit télécharger le code du serveur SL :-)
[11:29] Ubit Umarov: without the c# original promise to run (badly) on windows and linux
 
[11:29] Andrew Hellershanks: I haven't done enough C# programming to realize that you have to use .NET.
[11:29] '''Ubit Umarov''' : tellement facile que personne ne l'aurait fait.
[11:29] Ubit Umarov: and so far it did..
 
[11:30] Ubit Umarov: there is no c# without .net
[11:29] '''Ubit Umarov''' : sans la promesse originale c# de fonctionner (mal) sur windows et linux
[11:30] Ubit Umarov: basicly
 
[11:30] Ubit Umarov: well at least some core parts of it
[11:29] '''Andrew Hellershanks''' : Je n'ai pas fait assez de programmation en C# pour réaliser qu'il faut utiliser .NET.
[11:30] Ubit Umarov: we can not use linq for example
 
[11:31] Vincent.Sylvester @hg.zetaworlds.com:8002: Only option is mkbundle, stuff .net into the app, which blows its size up and isn't guaranteed to work either, especially not at OpenSim complexity levels
[11:29] '''Ubit Umarov''' : et jusqu'à présent ça marchait...
[11:31] Ubit Umarov: but well academic talks
 
[11:31] Ubit Umarov: its c# now
[11:30] '''Ubit Umarov''' : il n'y a pas de c# sans .net.
[11:31] Ubit Umarov: just a hard crossroad ahead
 
[11:31] Ubit Umarov: but again, no need to rush it
[11:30] '''Ubit Umarov''' : fondamentalement.
[11:31] Vincent.Sylvester @hg.zetaworlds.com:8002: Well hard if MS decides to continue to ruin the fun
 
[11:31] Ubit Umarov: the more we wait the easier is should get
[11:30] '''Ubit Umarov''' : en tout cas, certaines parties essentielles.
[11:31] Ubit Umarov: hopefuly
 
[11:32] Ubit Umarov: bc others will do it :p
[11:30] '''Ubit Umarov''' : nous ne pouvons pas utiliser linq [https://fr.wikipedia.org/wiki/Language_Integrated_Query] par exemple.
[11:32] Vincent.Sylvester @hg.zetaworlds.com:8002: I'm crazy enough to have hope they eventually grow a brain
 
[11:32] Andrew Hellershanks: :)
[11:31] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : La seule option est mkbundle [https://www.mono-project.com/docs/tools+libraries/tools/mkbundle/] , qui consiste à insérer .net dans l'application, ce qui augmente sa taille et ne garantit pas non plus son fonctionnement, surtout pas aux niveaux de complexité d'OpenSim.
[11:32] Ubit Umarov: all software is getting more insane
 
[11:32] Vincent.Sylvester @hg.zetaworlds.com:8002: I blame javascript
[11:31] '''Ubit Umarov''' : mais assez de discussions académiques.
[11:33] Ubit Umarov: and ppl will be forced to rewrite things
 
[11:33] Andrew Hellershanks: hehe
[11:31] '''Ubit Umarov''' : maintenant c'est le c# et c'est comme ça.
[11:33] Ubit Umarov: well don't know
 
[11:33] Ubit Umarov: just guess we have like 2 years to see the .net6 issue
[11:31] '''Ubit Umarov''' : juste un dur chemin à parcourir.
[11:34] Ubit Umarov: possible more
 
[11:34] Ubit Umarov: about  opensim
[11:31] '''Ubit Umarov''' : mais encore une fois, pas besoin de se précipiter.
[11:34] Ubit Umarov: not many changes last week, i think
 
[11:34] Ubit Umarov: in fac i almost did release 0.9.2.1 today
[11:31] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Bien difficile si MS décide de continuer à gâcher le plaisir.
[11:35] Ubit Umarov: the date 22-2-22 was a fun release date
 
[11:35] Vincent.Sylvester @hg.zetaworlds.com:8002: hehe
[11:31] '''Ubit Umarov''' : plus nous attendons, plus cela devrait être facile.
[11:35] Vincent.Sylvester @hg.zetaworlds.com:8002: I didn't even notice that
 
[11:35] Andrew Hellershanks: Just one change this past week to the profiles module and a fix to a log message.
[11:31] '''Ubit Umarov''' : je l'espère.
[11:36] Ubit Umarov: well i did update libomv with a bit faster OSD to json code
 
[11:36] Andrew Hellershanks: For me it would be a 2-22-22 release date. Not quite as fun but almost.
[11:32] '''Ubit Umarov''' : parce que d'autres le feront :p
[11:36] Ubit Umarov: and that was basicly it
 
[11:36] Kayaker Magic: I have a question about de-duplication. Does OpenSim do this on images? I hear Kitely does.
[11:32] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Je suis assez fou pour espérer qu'ils finissent par avoir un cerveau.
[11:37] Ubit Umarov: sounds you need to wash those ears to get full indo
 
[11:37] Ubit Umarov: and info
[11:32] '''Andrew Hellershanks''': :)
[11:37] Ubit Umarov: :p
 
[11:37] Vincent.Sylvester @hg.zetaworlds.com:8002: Dedupe on assets is done hash based, if the hash is the same, the item is just linked via the DB, dynamic textures and such are regionside so they are cleared anyways
[11:32] '''Ubit Umarov''' : tous les logiciels sont de plus en plus fous.
[11:37] Andrew Hellershanks: Kayaker, There is an asset system that eliminates duplications.
 
[11:37] Ubit Umarov: fsassets
[11:32] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Je blâme javascript [https://fr.wikipedia.org/wiki/JavaScript]
[11:38] Ubit Umarov: and xassets
 
[11:38] Ubit Umarov: or how its called
[11:33] '''Ubit Umarov''' : et les gens seront obligés de réécrire les choses.
[11:38] Vincent.Sylvester @hg.zetaworlds.com:8002: sras and phpsas do it too :)
 
[11:38] Andrew Hellershanks: Yup, fsassets.
[11:33] '''Andrew Hellershanks''': hehe
[11:38] Andrew Hellershanks: SRAS came before fsassets.
 
[11:38] Ubit Umarov: yes fsassets is a c# version of sras
[11:33] '''Ubit Umarov''' : Je ne sais pas.
[11:38] Ubit Umarov: basible
 
[11:38] Ubit Umarov: and basicly
[11:33] '''Ubit Umarov''' : je pense que nous avons 2 ans pour voir le problème du .net6.
[11:39] Ubit Umarov: xassets does it, still storing all on mysql
 
[11:39] Ubit Umarov: well still marked experimental
[11:34] '''Ubit Umarov''' : peut-être plus
[11:39] Kayaker Magic: When is the hash on images calculated? After decoding images into raw bitmaps?
 
[11:40] Ubit Umarov: sha256
=Changements dans OpenSim cette semaine =
[11:40] Ubit Umarov: the SL asset data
* [http://opensimulator.org/viewgit/?a=shortlog&p=opensim  Journal des commits OpenSim]
[11:40] Ubit Umarov: and exactly as SL asset
 
[11:40] Ubit Umarov: a fun thing ppl talking about nrew viewers forget
[11:34] '''Ubit Umarov''' : à propos d'opensim
[11:41] Ubit Umarov: we only have assets in SL format
 
[11:41] Kayaker Magic: So after compressing them for the asset database? Is that zip or are images just jpg2000 compressed?
[11:34] '''Ubit Umarov''' : pas beaucoup de changements la semaine dernière, je pense.
[11:41] Ubit Umarov: any convertion to other formats is just impossible to do in real time
 
[11:41] Ubit Umarov: unless on small prof of concept things
[11:34] '''Ubit Umarov''' : en fait, j'ai failli sortir la 0.9.2.1 aujourd'hui.
[11:41] Ubit Umarov: actually not need, bc no concept to prove
 
[11:42] Ubit Umarov: to use other formats, the asset storage will need to change to add them
[11:35] '''Ubit Umarov''' : la date du 22-2-22 était une date de sortie amusante.
[11:43] Ubit Umarov: well the avination unreal viewer was using SL assets formats
 
[11:43] Misterblue Waves: ya... new asset server. New formats, new access permissions, scalable... another whole project
[11:35] '''Vincent.Sylvester @hg.zetaworlds.com:8002''': hehe
[11:44] Ubit Umarov: yeah
 
[11:44] Misterblue Waves: in existing viewers the conversion from SL asset format to a usable format is all done in the client
[11:35] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Je n'avais même pas remarqué ça.
[11:44] Ubit Umarov: a asset UUID will need to point to several formats
 
[11:44] Ubit Umarov: like a texture in jp2000 and dds
[11:35] '''Andrew Hellershanks''' : Juste un changement cette semaine dans le module profiles et une correction d'un message de log.
[11:45] Misterblue Waves: maybe make it an nginx plugin
 
[11:45] Ubit Umarov: well and do that FAST
[11:36] '''Ubit Umarov''' : j'ai mis à jour libomv avec un code plus rapide de l'OSD [http://opensimulator.org/wiki/OpenStructuredData] à json [https://fr.wikipedia.org/wiki/JavaScript_Object_Notation].
[11:45] Ubit Umarov: the FAST part is something all forget
 
[11:45] Ubit Umarov: and without it, it is useless
[11:36] '''Andrew Hellershanks''' : Pour moi, ce serait une date de version le 2-22-22. Pas aussi amusante mais presque.
[11:46] Ubit Umarov: we all know any viewer can be made...
 
[11:46] Ubit Umarov: the unreal one was should most of a region
[11:36] '''Ubit Umarov''' : et c'était en gros ça.
[11:46] Ubit Umarov: at 6fps !!!
 
[11:46] Ubit Umarov: so a nice work... useless.. but nice
[11:36] '''Kayaker Magic''' : J'ai une question sur la dé-duplication. Est-ce qu'OpenSim fait cela sur les images ? J'ai entendu dire que Kitely [https://www.kitely.com/services] le fait.
[11:47] Ubit Umarov: fs was showing same region with 40 fps and doing all things
 
[11:47] Ubit Umarov: see what i mean?
[11:37] '''Ubit Umarov''' : on dirait qu'il faut laver ses oreilles pour avoir l'info complète.
[11:48] Ubit Umarov: err would help if i did type right :p
 
[11:48] Ubit Umarov: the unreal one was SHOWING a region at 6fps :)
[11:37] '''Ubit Umarov''': :p
[11:48] Ubit Umarov: still no terrain, water or avatars
 
[11:48] Vincent.Sylvester @hg.zetaworlds.com:8002: Meanwhile new FS release is looking like it will improve performance by a good 10% from what I can tell, I don't recall ever getting more than 60fps here
= La déduplication des assets=
[11:49] Ubit Umarov: ll is improving performance
* [https://fr.wikipedia.org/wiki/D%C3%A9duplication Déduplication] : En informatique, la déduplication est une technique de stockage de données, consistant à factoriser des séquences de données identiques afin d'économiser l'espace utilisé.
[11:49] Ubit Umarov: they have another batch of changes for a future viewer
* [https://fr.wiktionary.org/wiki/hachage#Nom_commun_2 Hachage] : Opération qui consiste à appliquer une fonction mathématique permettant de créer l’empreinte ou signature numérique d’un message (d’un bloc de données), transformant le message de taille variable en un code de taille fixe, en vue de son authentification ou de son stockage.
[11:49] Ubit Umarov: fs is adding those and a few own
 
[11:50] Ubit Umarov: ofc it does depend on region creators
[11:37] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : La déduplication sur les assets est faite sur la base d'un hachage, si le hachage est le même, l'élément est juste lié via la Base de données (BD), les textures dynamiques et autres sont côté région donc elles sont effacées de toute façon.
[11:50] Ubit Umarov: you will need to pay atention to region build, if you want fps, also
 
[11:50] Ubit Umarov: and have customs police :p
[11:37] '''Andrew Hellershanks''' : Kayaker, il existe un système d'assets qui élimine les doublons.
[11:51] Ubit Umarov: not letting avatars with complexity off 700000 to get in
 
[11:51] Ubit Umarov: :)
[11:37] '''Ubit Umarov''': fsassets [http://opensimulator.org/wiki/FSAssets_Service/fr]
[11:51] Andrew Hellershanks: :)
 
[11:52] Ubit Umarov: so what news do you bring ?
[11:38] '''Ubit Umarov''': et xassets [https://www.xassets.com/]
[11:52] Ubit Umarov: about opensim..
 
[11:52] Andrew Hellershanks: No news is good news?  ;)
[11:38] '''Ubit Umarov''' : ou comment on l'appelle.
[11:53] Andrew Hellershanks: Will there be a release today?
 
[11:53] Ubit Umarov: if about ukraine yes
[11:38] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : sras [https://github.com/coyled/sras] et phpsas le font aussi :)
[11:53] Ubit Umarov: nah guess i will not do it today
 
[11:54] Ubit Umarov: osgrid also did none on 0.9.2.1 basicly
[11:38] '''Andrew Hellershanks''' : Ouais, fsassets.
[11:55] Ubit Umarov: but diva is waiting for it  to release her code
 
[11:56] Ubit Umarov: i had promissed her a reease in Jan
[11:38] '''Andrew Hellershanks''' : SRAS est venu avant fsassets.
[11:56] Ubit Umarov: and we are almost in march :)
 
[11:56] Gavin.Hird @grid.xmir.org:8002: but what year?
[11:38] '''Ubit Umarov''' : oui fsassets est une version c# de sras.
[11:57] Ubit Umarov: yeah i didn't told her the year..  but she assumed 2022 :)
 
[11:57] Gavin.Hird @grid.xmir.org:8002: :-)
[11:38] '''Ubit Umarov''' : en gros
[11:57] Ubit Umarov: so i can't use that trick on her :p
 
[11:58] Ubit Umarov: well and the users that are asking for the code
[11:39] '''Ubit Umarov''' : xassets le fait, mais le stockage se fait toujours sur mysql.
[11:58] Gavin.Hird @grid.xmir.org:8002: they must be begging, asking will not do
 
[11:59] Ubit Umarov: :)
[11:39] '''Ubit Umarov''' : encore marqué expérimental.
[11:59] Andrew Hellershanks: Wow. This hour has just flown by. We are at the top of the hour already.
 
[12:00] Andrew Hellershanks: Any final questions or comments for today before we wrap up this gathering?
[11:39] '''Kayaker Magic''' : Quand le hachage des images est-il calculé ? Après le décodage des images en bitmaps [https://fr.wikipedia.org/wiki/Windows_bitmap] bruts ?
[12:02] Andrew Hellershanks: Kayaker, fyi, in a large database a hash based asset storage system can reduce the asset table substantially. I've seen anywhere from 25% to 50% reductions in table size.
 
[12:02] Ubit Umarov: sadly if table size means nothing :p
[11:40] '''Ubit Umarov''': sha256 [https://fr.wikipedia.org/wiki/SHA-256]
[12:03] Ubit Umarov: ofc tables size is smaller, just because the asset data is not stored on it, but on  a disk file
 
[12:03] Kayaker Magic: I was curious that hashes of images are so likely to be different for similar images.
[11:40] '''Ubit Umarov''' : les données de l'asset Second Life (SL)
[12:03] Andrew Hellershanks: yes, but it is a substantial savings in used disk space.
 
[12:04] Kayaker Magic: And I don't trust jpg to produce the same imagage from the same data 2ice in a row...
[11:40] '''Ubit Umarov''' : et exactement comme l'asset de SL.
[12:04] Ubit Umarov: guess a lot of ppl uploads the same things
 
[12:04] Ubit Umarov: well it is not jpg, it is jpeg2000, a bit diferent
[11:40] '''Ubit Umarov''' : une chose amusante dont les gens parlent et que les viewers oublient.
[12:05] Ubit Umarov: and with paramenters fixed on viewers
 
[12:05] Ubit Umarov: so end data may be more identick
[11:41] '''Ubit Umarov''' : nous n'avons que des assets au format SL.
[12:05] Ubit Umarov: other wise, the hash is just waste of time
 
[12:05] Ubit Umarov: same for mesh..
[11:41] '''Kayaker Magic''' : Donc après les avoir compressé pour la base de donnée des assets ? Est-ce que c'est un zip [https://fr.wikipedia.org/wiki/ZIP_(format_de_fichier)] ou les images sont juste compressées en jpg2000 ?
[12:06] Ubit Umarov: hash only does anything if mesh is upload with same paramenters and identical viewer
 
[12:06] Ubit Umarov: so finla bits are exactly the same
[11:41] '''Ubit Umarov''' : toute conversion vers d'autres formats est impossible à faire en temps réel.
[12:06] Ubit Umarov: or then again hashing is uselsss
 
[12:07] Ubit Umarov: so in fact o do have doubts on how effective it really is
[11:41] '''Ubit Umarov''' : à moins que ce ne soit pour des petits concepts.
[12:07] Ubit Umarov: but ppl tell it is.. so.. one must believe,,
 
[12:08] Ubit Umarov: and good viewers do not add Cretion date and uploader uuid to the binary data
[11:41] '''Ubit Umarov''' : en fait pas besoin, car il n'y a pas de concept à valider.
[12:08] Ubit Umarov: assuming region code will do it ( and does not )
 
[12:08] Ubit Umarov: if mesh where as spec, the hash would fail always
[11:42] '''Ubit Umarov''' : pour utiliser d'autres formats, le stockage des assets devra être modifié pour les ajouter.
[12:09] Kayaker Magic: Some sort of hash that only looks at the image data, or vertex data of mesh would be nice.
 
[12:09] Misterblue Waves: gonna run in RL.. will be here virtually
[11:43] '''Ubit Umarov''' : Eh bien, le viewer d'avination [https://www.gamespedition.com/pc-games/simulation-games/avination] unreal utilisait des formats de ressources SL.
[12:09] Ubit Umarov: no
 
[12:09] Ubit Umarov: hash only looks to raw asset data
[11:43] '''Misterblue Waves''' : oui... nouveau serveur d'assets. Nouveaux formats, nouvelles permissions d'accès, évolutif... tout un autre projet.
[12:09] Andrew Hellershanks: ok, Misterblue.
 
[12:09] Ubit Umarov: cna't look to asset details
[11:44] '''Ubit Umarov''': Oui
[12:09] Vincent.Sylvester @hg.zetaworlds.com:8002: Somewhere in this mess someone set xml utf16 for linksets even if all data is utf8 -.-
 
[12:09] Ubit Umarov: no time for that
[11:44] '''Misterblue Waves''' : dans les viewers existantes, la conversion du format des assets SL vers un format utilisable est entièrement faite dans le client.
[12:10] Ubit Umarov: nahh think most are actually utf8 telling they are utf16
 
[12:10] Gavin.Hird @grid.xmir.org:8002: are you sure it cannot look at asset data?
[11:44] '''Ubit Umarov''' : un UUID [https://fr.wikipedia.org/wiki/UUID] d'asset devra pointer vers plusieurs formats.
[12:10] Ubit Umarov: not was it is done
 
[12:10] Vincent.Sylvester @hg.zetaworlds.com:8002: Yeah that's what I mean, the xml header claims utf16 for no reason, threw me off at first
[11:44] '''Ubit Umarov''' : comme une texture en jp2000 et dds
[12:10] Ubit Umarov: and no..  would be very slow to look per asset type
 
[12:10] Gavin.Hird @grid.xmir.org:8002: on postgres I have a tool that when looking at single records will decode the images in the asset table on the fly
[11:45] '''Misterblue Waves''' : peut-être en faire un plugin nginx [https://fr.wikipedia.org/wiki/NGINX].
[12:11] Gavin.Hird @grid.xmir.org:8002: they are just stored in a blob filed
 
[12:11] Ubit Umarov: even doing sha256 is not that fast
[11:45] '''Ubit Umarov''' : bien et le faire  RAPIDEMENT.
[12:12] Ubit Umarov: some cpus do have hardware help for that.. not sure .net uses
 
[12:12] Gavin.Hird @grid.xmir.org:8002: you only have to do it on first write in that table
[11:45] '''Ubit Umarov''' : la partie RAPIDE est quelque chose que tout le monde oublie.
[12:12] Ubit Umarov: no
 
[12:12] Ubit Umarov: on any upload
[11:45] '''Ubit Umarov''' : et sans cela, c'est inutile.
[12:12] Gavin.Hird @grid.xmir.org:8002: sure, but uploads does not happen that often
 
[12:13] Ubit Umarov: and does not matter
= Viewers : Les FPS =
[12:13] Ubit Umarov: any bit changed means other hash
 
[12:13] Andrew Hellershanks: yup
[11:46] '''Ubit Umarov''' : nous savons tous que n'importe quel viewer peut être fait...
[12:13] Ubit Umarov: for now we are not filling the creation date, and creator id  of mesh spec
 
[12:13] Gavin.Hird @grid.xmir.org:8002: image data cannot be edited in-world, so only uploads needs to be rehased
[11:46] '''Ubit Umarov''': celui d'unreal ''was should most of a region''
[12:13] Ubit Umarov: so at least that is not a issue
 
[12:14] Ubit Umarov: even so same mesh even with same parameters will upload diferently
[11:46] '''Ubit Umarov''' : à 6fps [https://fr.wikipedia.org/wiki/Images_par_seconde] ! !!
[12:14] Ubit Umarov: acording to particular viewer
 
[12:14] Gavin.Hird @grid.xmir.org:8002: yes
[11:46] '''Ubit Umarov''' : donc un beau travail... inutile... mais beau.
[12:14] Gavin.Hird @grid.xmir.org:8002: but image data should be fairly constant
 
[12:15] Ubit Umarov: but well as i said seems that hash does savings.. so.. better than nothing
[11:47] '''Ubit Umarov''' : Firestorm (FS)[https://www.firestormviewer.org/] rend la même région avec 40 fps et fait tout ce qu'il faut.
[12:15] Ubit Umarov: jpeg2000 constant why?
 
[12:15] Gavin.Hird @grid.xmir.org:8002: there are not many updates to that spec...
[11:47] '''Ubit Umarov''' : vous voyez ce que je veux dire ?
[12:15] Ubit Umarov: done with diferent versions of openjpeng on kdu
 
[12:15] Gavin.Hird @grid.xmir.org:8002: we don't use kdu
[11:48] '''Ubit Umarov''' : err ça m'aiderait si je tapais correctement :p
[12:16] Gavin.Hird @grid.xmir.org:8002: no viewer does for opensim
 
[12:16] Ubit Umarov: thin lower precision bits
[11:48] '''Ubit Umarov''' : celui d'unreal rendait une région à 6fps :)
[12:16] Ubit Umarov: just think...
 
[12:16] Ubit Umarov: thin fs payed kdu
[11:48] '''Ubit Umarov''' : toujours pas de terrain, d'eau ou d'avatars.
[12:16] Ubit Umarov: think
 
[12:16] Gavin.Hird @grid.xmir.org:8002: nobody are interested in paying thousands of dollars for a KDU lisence for opensim
[11:48] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Pendant ce temps, la nouvelle version de FS semble améliorer les performances d'un bon 10% d'après ce que je peux dire, je ne me rappelle pas avoir jamais obtenu plus de 60fps ici.
[12:17] Gavin.Hird @grid.xmir.org:8002: fs got KDU from LL
 
[12:17] Ubit Umarov: it is not for opensim
[11:49] '''Ubit Umarov''' : Ils améliorent les performances.
[12:17] Ubit Umarov: is for all
 
[12:17] Gavin.Hird @grid.xmir.org:8002: Kokua paid for
[11:49] '''Ubit Umarov''' : ils ont un autre lot de changements pour un prochain viewer.
[12:17] Andrew Hellershanks: kdu?
 
[12:17] Ubit Umarov: viewers do not pay kdu for sl or opensim
[11:49] '''Ubit Umarov''' : FS est en train de les ajouter ainsi que quelques autres.
[12:17] Ubit Umarov: that is not like havok
 
[12:17] Gavin.Hird @grid.xmir.org:8002: they pay for KDU
[11:50] '''Ubit Umarov''' : bien sûr, cela dépend des créateurs de régions.
[12:17] Ubit Umarov: they pay per viewer
 
[12:18] Gavin.Hird @grid.xmir.org:8002: with no chance of getting the cost covered for opensim, nobody will want to pay for it
[11:50] '''Ubit Umarov''' : vous devrez faire attention à la construction de la région si vous voulez des fps.
[12:18] Ubit Umarov: so if they pay "for sl" they payed "for opensim"
 
[12:18] Andrew Hellershanks: I looked up kdu and the top result was General Sir John Kotelawala Defence University.  :)
[11:50] '''Ubit Umarov''' : et avoir une police des mœurs :p
[12:18] Ubit Umarov: unlike havok, where they just use LL license
 
[12:18] Gavin.Hird @grid.xmir.org:8002: yes, but the only one who have paid for KDU is kokua
[11:51] '''Ubit Umarov''' : ne pas laisser entrer les avatars dont la complexité est inférieure à 700000.
[12:18] Gavin.Hird @grid.xmir.org:8002 whispers: FS got it from LL
 
[12:19] Ubit Umarov: ok
[11:51] '''Ubit Umarov''': :)
[12:19] Gavin.Hird @grid.xmir.org:8002: apart from that nobody use it because of cost
 
[12:19] Ubit Umarov: yeha fs ships with openjpg for opensim
[11:51] '''Andrew Hellershanks''': :)
[12:19] Gavin.Hird @grid.xmir.org:8002: yes
 
[12:20] Gavin.Hird @grid.xmir.org:8002: not allowed to use the license outside of SL
=Pas d'annonce de nouvelle version aujourd'hui =
[12:21] Gavin.Hird @grid.xmir.org:8002: so I have had to strip the KDU support out of the 3.0 builds
[11:52] '''Ubit Umarov''' : alors quelles sont les nouvelles que vous apportez ?
[12:22] Ubit Umarov: well all those diferences make the deduplication fail
 
[12:22] Ubit Umarov: not going to the detail of all cpu FPUs are diferent etc
[11:52] '''Ubit Umarov''' : sur opensim...
[12:23] Ubit Umarov: intel things have bugs remember ? :P
 
[12:24] Ubit Umarov: so i have no real numbers on how good is fs deduplication good
[11:52] '''Andrew Hellershanks''' : Pas de nouvelles, bonnes nouvelles ? ;)
[12:24] Ubit Umarov: hope it does dedupe the "new script" :p
 
[12:25] Vincent.Sylvester @hg.zetaworlds.com:8002: Good question, I know it certainly doesn't do notecards, cause they have creation date and such saved in their data so the hash is always different
[11:53] '''Andrew Hellershanks''' : Y aura-t-il un communiqué aujourd'hui ?
[12:25] Ubit Umarov: yeah
 
[12:25] Vincent.Sylvester @hg.zetaworlds.com:8002: I wrote an article on the garbage OpenSim collects on these things
[11:53] '''Ubit Umarov''' : si c'est à propos de l'Ukraine, oui.
[12:25] Ubit Umarov: some assets have date etc
 
[12:25] Ubit Umarov: mesh where suposed to have
[11:53] '''Ubit Umarov''' : non, je ne vais pas le faire aujourd'hui.
[12:26] Ubit Umarov: but it is server job to add those, and we never did
 
[12:26] Ubit Umarov: not sure what viewers add to the jpeg2000 metadada
[11:54] '''Ubit Umarov''' : osgrid [https://www.osgrid.org/] n'en a pas fait non plus sur la 0.9.2.1 [http://opensimulator.org/wiki/0.9.2.1_Release/fr] en gros
[12:27] Ubit Umarov: possible also date and creator there, making ghe hash useless on mesh
 
[12:27] Ubit Umarov: on texture i mean
[11:55] '''Ubit Umarov''' : mais diva [http://opensimulator.org/wiki/User:Diva] l'attend pour sortir son code [http://opensimulator.org/wiki/Wifi] .
[12:27] Ubit Umarov: wel easy for you to check if using fsassets :)
 
[12:28] Ubit Umarov: upload same textyre twcie and compare the hashs
[11:56] '''Ubit Umarov''' : Je lui avais promis une sortie en janvier.
[12:29] Ubit Umarov: not sure if who made sras and fsassets knew the metadata viewers add
 
[12:30] Gavin.Hird @grid.xmir.org:8002: I don't think the viewer adds any metadata to the raw imagedata
[11:56] '''Ubit Umarov''' : et nous sommes presque en mars :)
[12:30] Ubit Umarov: well it is j2000 data not raw image
 
[12:31] Gavin.Hird @grid.xmir.org:8002: you understand what I mean
[11:56] '''Gavin.Hird @grid.xmir.org:8002 ''': mais quelle année ?
[12:31] Ubit Umarov: ok :)
 
[12:31] Ubit Umarov: like crreation data on the info areas of the j2k
[11:57] '''Ubit Umarov''' : oui, je ne lui ai pas dit l'année... mais elle a supposé 2022 :)
[12:33] Ubit Umarov: animation seems to be just anim
 
[12:34] Selby.Evans @grid.kitely.com:8002: bye all
[11:57] '''Gavin.Hird @grid.xmir.org:8002''' : :-)
[12:34] Ubit Umarov: cya
 
[12:34] Andrew Hellershanks: Another half hour has passed. I need to get going so I will close the meeting for today. Thank you all for coming. See you again next week.
[11:57] '''Ubit Umarov''' : donc je ne peux pas utiliser cette astuce avec elle : p
</pre>
 
[11:58] '''Ubit Umarov''' : bien et les utilisateurs qui demandent le code.
 
[11:58] '''Gavin.Hird @grid.xmir.org:8002 ''': ils doivent supplier, demander ne suffira pas.
 
[11:59] '''Ubit Umarov''': :)
 
=Déduplication : efficacité incertaines et dépendantes de nombreux facteurs =
 
[11:59] '''Andrew Hellershanks''' : Wow. Cette heure est passée à toute vitesse. Nous sommes déjà au début de l'heure.
 
[12:00] '''Andrew Hellershanks''' : Avez-vous des questions ou des commentaires à formuler avant de clore cette réunion ?
 
[12:02] '''Andrew Hellershanks''' : Kayaker, pour info, dans une grande base de données, un système de stockage des assets basé sur le hachage peut réduire considérablement la table des assets. J'ai vu des réductions de 25 à 50 % de la taille de la table.
 
[12:02] '''Ubit Umarov''' : malheureusement, la taille de la table ne signifie rien :p
 
[12:03] '''Ubit Umarov''' : bien sûr la taille des tables est plus petite, juste parce que les données de l'asset ne sont pas stockées sur elle, mais sur un fichier disque.
 
[12:03] '''Kayaker Magic''' : J'étais étonné que les hachages d'images soient susceptibles d'être  aussi différents pour des images similaires.
 
[12:03] '''Andrew Hellershanks''' : oui, mais c'est une économie substantielle d'espace disque utilisé.
 
[12:04] '''Kayaker Magic''' : Et je ne fais pas confiance à jpg [https://fr.wikipedia.org/wiki/JPEG] pour produire la même image à partir des mêmes données 2 fois de suite...
 
[12:04] '''Ubit Umarov''' : je suppose que beaucoup de personnes téléchargent les mêmes choses.
 
[12:04] '''Ubit Umarov''' : bien, ce n'est pas jpg, c'est jpeg2000, un peu différent.
 
[12:05] '''Ubit Umarov''' : et avec des paramenters fixés sur les viewers.
 
[12:05] '''Ubit Umarov''' : donc les données finales peuvent être mieux identifiées.
 
[12:05] '''Ubit Umarov''' : sinon, le hache  est juste une perte de temps.
 
[12:05] '''Ubit Umarov''' : même chose pour les meshes [https://fr.wikipedia.org/wiki/Mesh_(objet)] ...
 
[12:06] '''Ubit Umarov''' : le hash n'a d'effet que si le mesh est téléchargé avec les mêmes paramètres et un viewer identique.
 
[12:06] '''Ubit Umarov''' : donc les bits finaux sont exactement les mêmes.
 
[12:06] '''Ubit Umarov''' : ou alors encore une fois le hachage est inutile.
 
[12:07] '''Ubit Umarov''' : donc en fait, nous avons des doutes sur son efficacité réelle.
 
[12:07] '''Ubit Umarov''' : mais les gens disent que c'est le cas... donc... il faut y croire,
 
[12:08] '''Ubit Umarov''' : et les bons viewers n'ajoutent pas la date de création et l'uuid de l'uploader aux données binaires.
 
[12:08] '''Ubit Umarov''' : en supposant que le code de la région le fasse (et il ne le fait pas).
 
[12:08] '''Ubit Umarov''' : si le mesh était spécifié ainsi, le hache  échouerait toujours.
 
[12:09] '''Kayaker Magic''' : Une sorte de hache qui ne regarde que les données de l'image, ou les données des vertex du mesh serait bien.
 
[12:09] '''Misterblue Waves''' : je vais courir dans RL... je serai ici virtuellement.
 
[12:09] '''Ubit Umarov''' : non.
 
[12:09] '''Ubit Umarov''' : le hache ne regarde que les données brutes des assets.
 
[12:09] '''Andrew Hellershanks''': ok, Misterblue.
 
[12:09] '''Ubit Umarov''' : il ne peut pas accéder aux détails des assets.
 
[12:09] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Quelque part dans ce bazar, quelqu'un a défini xml[https://fr.wikipedia.org/wiki/Xml]  utf16 [https://fr.wikipedia.org/wiki/UTF-16]  pour les linksets (objets liés)  même si toutes les données sont utf8 [https://fr.wikipedia.org/wiki/UTF-8] -.-.
 
[12:09] '''Ubit Umarov''' : pas le temps pour cela.
 
[12:10] '''Ubit Umarov''' : nahh pense que la plupart sont en fait utf8 disant qu'ils sont utf16
 
[12:10] '''Gavin.Hird @grid.xmir.org:8002 ''': êtes-vous sûr qu'il ne peut pas regarder les données des assets ?
 
[12:10] '''Ubit Umarov''' : ce n'est pas comme ça que ça se passe.
 
[12:10] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Oui, c'est ce que je veux dire, l'en-tête xml réclame utf16 sans raison, ce qui m'a déconcerté au début.
 
[12:10] '''Ubit Umarov''' : et non... ce serait très lent de regarder par type d'asset [http://opensimulator.org/wiki/Assets].
 
[12:10] '''Gavin.Hird @grid.xmir.org:8002 ''': sur postgres, j'ai un outil qui, en regardant les enregistrements individuels, décode les images dans la table des assets à la volée.
 
[12:11] '''Gavin.Hird @grid.xmir.org:8002 ''': ils sont juste stockés dans un fichier blob [https://fr.wikipedia.org/wiki/Blob#Informatique].
 
[12:11] '''Ubit Umarov''' : même faire sha256 n'est pas si rapide.
 
[12:12] '''Ubit Umarov''' : certains cpus ont une aide matérielle pour cela, mais je ne suis pas sûr que .net l'utilise.
 
[12:12] '''Gavin.Hird @grid.xmir.org:8002 ''': il suffit de le faire à la première écriture dans cette table.
 
[12:12] '''Ubit Umarov''': non
 
[12:12] '''Ubit Umarov''' : à chaque téléchargement
 
[12:12] '''Gavin.Hird @grid.xmir.org:8002 ''': oui, mais les téléchargements ne sont pas si fréquents.
 
[12:13] '''Ubit Umarov''' : et cela n'a pas d'importance.
 
[12:13] '''Ubit Umarov''' : tout bit modifié implique un autre hachage.
 
[12:13] '''Andrew Hellershanks''' : ouais.
 
[12:13] '''Ubit Umarov''' : pour le moment nous ne remplissons pas la date de création, et l'id du créateur de la spécification du mesh.
 
[12:13] '''Gavin.Hird @grid.xmir.org:8002 ''': les données d'image ne peuvent pas être modifiées dans le monde, donc seuls les téléchargements doivent être "re-hachés".
 
[12:13] '''Ubit Umarov''' : donc au moins ce n'est pas un problème.
 
[12:14] '''Ubit Umarov''' : même si le même mesh avec les mêmes paramètres sera téléchargé différemment.
 
[12:14] '''Ubit Umarov''' : en fonction du viewer.
 
[12:14] Gavin.Hird @grid.xmir.org:8002: oui
 
[12:14] '''Gavin.Hird @grid.xmir.org:8002 ''': mais les données de l'image doivent être assez constantes.
 
[12:15] '''Ubit Umarov''' : mais comme je l'ai dit, il semble que le hachage permette de faire des économies, donc c'est mieux que rien.
 
[12:15] '''Ubit Umarov''' : jpeg2000 constant pourquoi ?
 
[12:15] '''Gavin.Hird @grid.xmir.org:8002 ''': il n'y a pas beaucoup de mises à jour de cette spécification...
 
= La licence Kakadu (KDU) =
* KDU / Kakadu : Kakadu est une bibliothèque à code fermé pour encoder et décoder les images JPEG 2000. Elle implémente le standard ISO/IEC 15444-1 entièrement dans la partie 1, et partiellement dans les parties 2-3. Kakadu est une marque déposée de NewSouth Innovations Ltd. [https://en.wikipedia.org/wiki/Kakadu_(software)] [https://wiki.secondlife.com/wiki/KDU_Implementation]
[12:15] '''Ubit Umarov''' : fait avec différentes versions d'openjpeg [https://fr.wikipedia.org/wiki/OpenJPEG] sur  kdu
 
[12:15] '''Gavin.Hird @grid.xmir.org:8002''':nous n'utilisons pas kdu
 
[12:16] '''Gavin.Hird @grid.xmir.org:8002''': aucun viewer ne le fait pour  opensim
 
[12:16] '''Ubit Umarov''' : les bits de précision inférieurs sont fins.
 
[12:16] '''Ubit Umarov''' : pensez-y...
 
[12:16] '''Ubit Umarov''' : je pense que Firestorm paye kdu
 
[12:16] '''Gavin.Hird @grid.xmir.org:8002 ''': personne ne veux  payer des milliers de dollars pour une licence KDU pour opensim.
 
[12:17] '''Gavin.Hird @grid.xmir.org:8002 ''': FS a obtenu le KDU de Linden Lab (LL).
 
[12:17] '''Ubit Umarov''' : ce n'est pas pour opensim.
 
[12:17] '''Ubit Umarov''' : c'est pour tout le monde
 
[12:17] '''Gavin.Hird @grid.xmir.org:8002 ''': Kokua[https://kokua.atlassian.net/wiki/home] a payé pour
 
[12:17] '''Andrew Hellershanks''': kdu?
 
[12:17] '''Ubit Umarov''' : les viewers ne payent pas kdu pour sl ou opensim
 
[12:17] '''Ubit Umarov''' : ce n'est pas comme Havok [https://defr.abcdef.wiki/wiki/Havok_(Software) ].
 
[12:17] '''Gavin.Hird @grid.xmir.org:8002 ''': ils paient pour KDU.
 
[12:17] '''Ubit Umarov''' : ils payent par viewer.
 
[12:18] '''Gavin.Hird @grid.xmir.org:8002 ''': sans aucune chance d'obtenir la couverture des coûts pour opensim, personne ne voudra payer pour cela.
 
[12:18] '''Ubit Umarov''' : donc s'ils payent "pour sl" ils ont payé "pour opensim".
 
[12:18] '''Andrew Hellershanks''' : J'ai cherché kdu et le premier résultat était General Sir John Kotelawala Defence University :)
 
[12:18] '''Ubit Umarov''' : contrairement à Havok, où ils utilisent simplement la licence LL.
 
[12:18] '''Gavin.Hird @grid.xmir.org:8002 ''': oui, mais le seul qui a payé pour KDU est Kokua.
 
[12:18] '''Gavin.Hird @grid.xmir.org:8002 '''chuchote : FS l'a obtenu de LL
 
[12:19] '''Ubit Umarov''': ok
 
[12:19] '''Gavin.Hird @grid.xmir.org:8002 ''': à part cela, personne ne l'utilise à cause de son coût.
 
[12:19] '''Ubit Umarov''' : yeha FS est livré avec openjpg pour opensim
 
[12:19]  '''Gavin.Hird @grid.xmir.org:8002''': oui
 
[12:20] '''Gavin.Hird @grid.xmir.org:8002 ''': pas autorisé à utiliser la licence en dehors de SL.
 
[12:21] '''Gavin.Hird @grid.xmir.org:8002 ''': j'ai donc dû retirer le support KDU des builds 3.0.
 
= Retour à la déduplication : les métadonnées=
 
[12:22] '''Ubit Umarov''' : toutes ces différences font échouer la déduplication.
 
[12:22] '''Ubit Umarov''' : je ne vais pas entrer dans le détail des  FPUs [https://fr.wikipedia.org/wiki/Unit%C3%A9_de_calcul_en_virgule_flottante] de tous les cpu qui sont différents etc...
 
[12:23] '''Ubit Umarov''' : les produits Intel [https://fr.wikipedia.org/wiki/Intel]  ont des bugs, vous vous souvenez ? :P
 
[12:24] '''Ubit Umarov''' : donc je n'ai pas de chiffres réels sur la qualité de la déduplication des fichiers de données.
 
[12:24] '''Ubit Umarov''' : j'espère qu'il déduplique le "nouveau script" :p
 
[12:25] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Bonne question, je sais qu'il ne fait certainement pas les notecards , parce qu'ils ont la date de création et autres enregistrés dans leurs données, donc le hache est toujours différent.
 
[12:25] '''Ubit Umarov''': ouais
 
[12:25] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : J'ai écrit un article sur les gaspillages qu'OpenSim collectionne à ce sujet.
 
[12:25] '''Ubit Umarov''' : certains assets ont une date etc...
 
[12:25] '''Ubit Umarov''' : les meshes sont censés en avoir une...
 
[12:26] '''Ubit Umarov''' : mais c'est le travail du serveur de les ajouter, et nous ne l'avons jamais fait.
 
[12:26] '''Ubit Umarov''' : pas sûr de ce que les viewers ajoutent à la métadonnée [https://fr.wikipedia.org/wiki/M%C3%A9tadonn%C3%A9e] jpeg2000
 
[12:27] '''Ubit Umarov''' : il est possible qu'il y ait aussi la date et le créateur, ce qui rend le hache inutile sur les meshes.
 
[12:27] '''Ubit Umarov''' : sur la texture je veux dire
 
[12:27] '''Ubit Umarov''' : c'est facile pour vous de le vérifier si vous utilisez fsassets :)
 
[12:28] '''Ubit Umarov''' : téléchargez le même texte à deux reprises et comparez les haches.
 
[12:29] '''Ubit Umarov''' : pas sûr que ceux qui ont fait sras et fsassets connaissaient les métadonnées que les viewers ajoutent.
 
[12:30] '''Gavin.Hird @grid.xmir.org:8002 ''': Je ne pense pas que le viewer ajoute des métadonnées aux données brutes de l'image.
 
[12:30] '''Ubit Umarov''' : ce sont des données j2000 et non des images brutes.
 
[12:31] '''Gavin.Hird @grid.xmir.org:8002 ''': vous comprenez ce que je veux dire.
 
[12:31] '''Ubit Umarov''' : ok :)
 
[12:31] '''Ubit Umarov''' : comme les données de création sur les zones d'information du j2k.
 
[12:33] '''Ubit Umarov''' : l'animation semble être juste une animation.
 
= Conclusion=
[12:34] '''Selby.Evans @grid.kitely.com:8002''' : au revoir à tous.
 
[12:34] '''Ubit Umarov''' : salut
 
[12:34] '''Andrew Hellershanks''' : Une autre demi-heure s'est écoulée. Je dois y aller, alors je vais clore la réunion d'aujourd'hui. Je vous remercie tous d'être venus. Nous nous reverrons la semaine prochaine.

Version actuelle datée du 24 février 2022 à 14:44

source : http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2022-02-22

Introduction Migration .net5

  • npgsql permet aux programmes écrits en C#, Visual Basic, F# d'accéder au serveur de base de données PostgreSQL .

[11:03] Gavin.Hird @grid.xmir.org:8002 : Salut Andrew

[11:03] Andrew Hellershanks : Bonjour à tous.

[11:04] Ubit Umarov : Code de gravité Description État de suppression de la ligne de fichier du projet Erreur CS1069 Le nom de type 'PerformanceCounter' n'a pas pu être trouvé dans l'espace de nom 'System.Diagnostics'. Ce type a été transféré à un assembly 'System.Diagnostics.PerformanceCounter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. Pensez à ajouter une référence à cet assembly. OpenSim.Framework.Monitoring D:\Avination\test\opensim\OpenSim\Framework\Monitoring\ServerStatsCollector.cs 65 Actif

[11:04] Ubit Umarov : par exemple

[11:04] Ubit Umarov : les compteurs de performance ont également disparu.

[11:04] Andrew Hellershanks : Je me suis assoupi après le déjeuner jusqu'à ce que mon Assistant numérique personnel me rappelle l'heure par un bip.

[11:04] Ubit Umarov : cela signifie aussi que certains de nos codes de statistiques ont disparu.

[11:05] Ubit Umarov : sur la migration vers .net5 [1]

[11:05] Kayaker Magic : J'ai entendu dire que Mike Chase a réussi à compiler OpenSim et à le faire fonctionner avec .net sur des serveurs Windows, mais il a été surpris de constater que le code résultant ne fonctionne pas sur linux.

[11:05] Ubit Umarov : La partie la plus effrayante est l'API qui ressemble à la même chose, mais qui ne l'est pas.

[11:06] Ubit Umarov : eh bien! pour faire cela il devra enlever des choses comme

[11:06] Ubit Umarov : la carte du monde

[11:06] Ubit Umarov : etc...

[11:06] Ubit Umarov : puis réécrire avec des bibliothèques alternatives...

[11:07] Ubit Umarov : les textures lludp [2] sont également mortes.

[11:07] Ubit Umarov : bien comme je l'ai dit, une tonne de choses.

[11:07] Ubit Umarov : je ne suis pas sûr que tu aies vraiment lu qu'il l'avait fait.

[11:07] Ubit Umarov : Je sais qu'il y travaille.

[11:08] Ubit Umarov : de mon côté, aussi comme je l'ai dit, pas de précipitation.

[11:08] Ubit Umarov : il ne faut pas se précipiter.

[11:08] Andrew Hellershanks : C'est un peu bizarre que Microsoft(MS) fasse de tels changements dans .net 5 au point de casser complètement le code du passé.

[11:08] Ubit Umarov : ohh vous devriez voir .netcore 2

[11:08] Ubit Umarov : encore pire

[11:08] Ubit Umarov : même 3

[11:09] Ubit Umarov : c'est à ce moment que MS a vu qu'ils ne pouvaient pas forcer tout le monde à réécrire toutes les applications.

[11:09] Ubit Umarov : donc ils ont ajouté beaucoup plus de .net4.8 dessus.

[11:10] Andrew Hellershanks : Je me demande s'ils ont vu le problème en interne. Cela les a probablement incités à faire quelque chose à ce sujet.

[11:10] Ubit Umarov : mais il y a encore beaucoup de choses qui manquent, comme les images, etc...

[11:10] Ubit Umarov : les parties qu'ils ont ajoutées... pour Windows seulement.

[11:10] Ubit Umarov : net5-0-windows a un code image.

[11:10] Misterblue Waves : je me demande si PrimMesher et libomv [3] peuvent être mis à jour vers .NET6... c'est un projet de week-end.

[11:11] Ubit Umarov : même problème.

[11:11] Ubit Umarov : impossible

[11:11] Ubit Umarov : ça dépend des bitmaps

[11:11] Ubit Umarov : et d'autres choses encore

Modifications dans la base de données

  • NuGet: gestionnaire de paquets de la plate forme de développement Microsoft .NET.

[11:11] Vincent.Sylvester @hg.zetaworlds.com:8002 : En parlant de librairies alternatives, je me suis posé l'autre jour et j'ai cloné les interfaces Mysql [4] et réécrit les migrations pour changer un tas de champs varchar et char en UUID commec'est maintenant supporté par MariaDB [5]. Les tests unitaires passent, bien qu'ils utilisent toujours le connecteur Mysql par défaut et je n'ai pas fait beaucoup de tests pour savoir si toutes les parties fonctionnent. Ubit a cherché un connecteur MariaDB directement, mais il semble que, tout comme npgsql plus récent, il soit livré avec un tas de librairies stupides. J'ai vérifié la longueur des tables et dans l'ensemble des tables, j'ai économisé plus de 280 octets juste en changeant ces champs, ce qui revient à près de 30% de la taille de la structure globale.

[11:13] Misterblue Waves : J'ai utilisé MariaDB comme base de données. Pas de problèmes, mais je ne suis pas un testeur de gros chargements.

[11:14] Ubit Umarov : maria est maintenant ce que les distros aiment.

[11:14] Andrew Hellershanks : C'est le cas depuis un certain temps.

[11:14] Ubit Umarov : je suppose que c'est comme ça depuis qu'Oracle a pris le contrôle de Mysql.

[11:15] Andrew Hellershanks acquiesce.

[11:15] Vincent.Sylvester @hg.zetaworlds.com:8002 : MariaDB 10.7 [6] est sorti la semaine dernière, il y a maintenant le type de champ UUID, qui est un peu plus petit en taille pour stocker les UUIDs, le truc c'est que, pour en tirer avantage, il faut trouver un moyen de s'interfacer avec lui à un niveau plus bas que de pousser des chaînes de caractères afin d'obtenir des performances, le simple fait de changer les champs en UUID réduit juste la taille de la base de données en général, les performances des requêtes pas tellement.

[11:16] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il faut une conversion binaire directe ou quelque chose pour s'interfacer avec la lui, mais pour cela il faut un connecteur et celui qui est sur nuget a besoin de quelques bidouillages pour fonctionner.

Problème des bibliothèques d'images avec Mono

  • Mono : mise en œuvre open source (sous licence GNU GPL, GNU LGPL ou X11 selon les éléments) de la plateforme de développement Microsoft .NET. Mono est utilisé entre autre sur les systèmes d'exploitation Linux pour lancer OpenSimulator.
  • MKBundle Mono peut transformer les applications .NET (code exécutable et ses dépendances) en exécutables autonomes qui ne dépendent pas de l'installation de Mono sur le système afin de simplifier le déploiement des applications .NET. Pour ce faire, l'outil mkbundle, un compilateur croisé, produit un exécutable natif pour toutes les plates-formes supportées par Mono à partir d'un point d'entrée assembly initial, de ses dépendances .NET et de tout assembly supplémentaire requis par votre application.

[11:12] Ubit Umarov : MS a refusé de supporter l'image sur toutes les plateformes, comme linux.

[11:12] Ubit Umarov : à cause de libgdiplus [7], Cairo [8], etc.

[11:12] Ubit Umarov : ils refusent d'assurer la maintenance

[11:12] Ubit Umarov : un peu compréhensible

[11:13] Misterblue Waves : certains problèmes ne devraient pas être volontaires.

[11:13] Ubit Umarov : le Cairo et le Pango [9]...

[11:16] Andrew Hellershanks : Si le code utilise cairo, pango, etc., ils devraient toujours être utilisables dans le code du système d'exploitation en tant que bibliothèques externes.

[11:16] Ubit Umarov : comme je vous l'ai dit, il faut diviser la base de données.

[11:16] Ubit Umarov : et utiliser un autre connecteur.

[11:17] Ubit Umarov : bitmap sur mono dépend de pango, cairo et libgdiplus

[11:17] Ubit Umarov : que MS refuse d'utiliser

[11:17] Ubit Umarov : donc pas de code image pour linux sur .net5 ou 6

[11:17] Ubit Umarov : comme je l'ai dit .netx-windows l'a... windows seulement

[11:18] Andrew Hellershanks : Pourquoi le code ne peut pas utiliser ces bibliothèques de toute façon même si MS ne les supporte pas dans .net ?

[11:18] Ubit Umarov : parce qu'ils n'ajouteront pas à .net, le code qui dépend des bibliothèques qu'ils refusent d'utiliser.

[11:18] Gavin.Hird @grid.xmir.org:8002 : il n'y a pas d'argent là-dedans.

[11:18] Andrew Hellershanks : D'autres projets utilisent cairo, pango, etc. donc ces bibliothèques sont toujours là.

[11:19] Gavin.Hird @grid.xmir.org:8002 : MS a toujours cherché à enfermer ses utilisateurs.

[11:19] Ubit Umarov : et le code .netx est aussi pour android et ios.

[11:19] Andrew Hellershanks : Cela n'a aucun sens. Si vous utilisez .NET, vous n'avez aucun moyen d'utiliser une bibliothèque tierce ?

[11:20] Ubit Umarov : il semble qu'ils pensent aussi que personne ne l'utilise vraiment.

[11:20] Ubit Umarov : il semble que certains disent de ne voir que le code pour faire le q-code :)

[11:20] Ubit Umarov : ils disent d'utiliser d'autres bibliothèques d'images pour .net

[11:21] Ubit Umarov : bien

[11:21] Ubit Umarov : cela veut dire que tout notre code devra être réécrit.

[11:21] Ubit Umarov : code jpeg2000 [10], maps scultp... maps... etc...

[11:22] Ubit Umarov : textures dynamiques

[11:22] Vincent.Sylvester @hg.zetaworlds.com:8002 : Beaucoup de ces choses sont assez abstraites aussi, comprendre comment cela fonctionne actuellement est une grosse tâche en soi, et encore moins la réécrire.

[11:22] Ubit Umarov : tout est perdu, jusqu'à une réécriture avec autre chose.

[11:22] Ubit Umarov : je pense que j'ai seulement listé des choses concrètes.

[11:22] Misterblue Waves : quelles sont les plateformes cibles "supportées" ? Window10/11, Ubuntu (mono6), IOS ?

[11:23] Andrew Hellershanks : La solution la plus simple est d'écrire notre propre code pour remplacer les bits manquants/non supportés afin que le code principal n'ait pas besoin d'être complètement réécrit.

[11:24] Vincent.Sylvester @hg.zetaworlds.com:8002 : Andrew, tu veux écrire une bibliothèque d'images, bien sûr, je vais programmer la soirée de lancement, on se voit en 2035.

[11:24] Ubit Umarov : bien et toujours pas besoin de se précipiter.

[11:24] Ubit Umarov : malheureusement le mono a perdu beaucoup de correctifs mais il est toujours là.

[11:24] Ubit Umarov : donc pas besoin de se précipiter.

[11:25] Ubit Umarov : tout changement vers .net5(6 signifie aussi la perte de beaucoup de bon matériel.

[11:25] Andrew Hellershanks : Si le .NET actuel/ancien utilise pango, cairo, etc. Pourquoi ne pas simplement faire une bibliothèque qui est une interface entre le code actuel et les bibliothèques backend qui étaient déjà utilisées ?

[11:25] Ubit Umarov : juste parce que ce matériel ne peut pas faire tourner le dernier Windows.

[11:25] Ubit Umarov : ou même le dernier linux

[11:25] Andrew Hellershanks : Que dit MS aux développeurs pour le passage à .NET 5/6 ? Réécrivez vos programmes ?

[11:26] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je suis plus préoccupé par le fait que la dernière version de mono ne supporte plus postgres [11] sans changements massifs, je ne suis pas sûr que mysql ne suive pas bientôt.

[11:26] Ubit Umarov : oui, c'est ce qu'ils disent.

[11:26] Ubit Umarov : comme je l'ai dit, la situation était bien pire à l'époque de .netcore 2.0.

[11:26] Misterblue Waves : @Andrew c'est vrai que nous n'utilisons pas toutes les fonctionnalités d'Image. La plupart des trucs qui "ne seront pas supportées" tournent autour des fonctions qui touchent aux images et modifient les formats internes (pour la performance et autres).

[11:26] Ubit Umarov : parce que la plupart du code ne fonctionne pas dessus.

[11:26] Andrew Hellershanks : S'ils continuent à faire ça, c'est une excellente démonstration pour expliquer pourquoi vous ne devriez pas utiliser .NET dans vos programmes.

[11:27] Ubit Umarov : allez dire aux développeurs originaux d'opensim que le choix de c# [12] était un choix très stupide.

[11:27] Vincent.Sylvester @hg.zetaworlds.com:8002 : A ce moment là, on pourrait aussi bien réécrire en C [13] directement et jeter la dépendance au framework par la fenêtre, mais bon sang, ça a l'air amusant... non !

[11:27] Ubit Umarov : c'était très stupide, mais trop tard pour changer.

[11:28] Ubit Umarov : bien sûr, commencer une telle chose en c++ [14] avec le support multi.os était beaucoup plus difficile à faire.

[11:28] Gavin.Hird @grid.xmir.org:8002 : quelqu'un doit télécharger le code du serveur SL :-)

[11:29] Ubit Umarov : tellement facile que personne ne l'aurait fait.

[11:29] Ubit Umarov : sans la promesse originale c# de fonctionner (mal) sur windows et linux

[11:29] Andrew Hellershanks : Je n'ai pas fait assez de programmation en C# pour réaliser qu'il faut utiliser .NET.

[11:29] Ubit Umarov : et jusqu'à présent ça marchait...

[11:30] Ubit Umarov : il n'y a pas de c# sans .net.

[11:30] Ubit Umarov : fondamentalement.

[11:30] Ubit Umarov : en tout cas, certaines parties essentielles.

[11:30] Ubit Umarov : nous ne pouvons pas utiliser linq [15] par exemple.

[11:31] Vincent.Sylvester @hg.zetaworlds.com:8002 : La seule option est mkbundle [16] , qui consiste à insérer .net dans l'application, ce qui augmente sa taille et ne garantit pas non plus son fonctionnement, surtout pas aux niveaux de complexité d'OpenSim.

[11:31] Ubit Umarov : mais assez de discussions académiques.

[11:31] Ubit Umarov : maintenant c'est le c# et c'est comme ça.

[11:31] Ubit Umarov : juste un dur chemin à parcourir.

[11:31] Ubit Umarov : mais encore une fois, pas besoin de se précipiter.

[11:31] Vincent.Sylvester @hg.zetaworlds.com:8002 : Bien difficile si MS décide de continuer à gâcher le plaisir.

[11:31] Ubit Umarov : plus nous attendons, plus cela devrait être facile.

[11:31] Ubit Umarov : je l'espère.

[11:32] Ubit Umarov : parce que d'autres le feront :p

[11:32] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je suis assez fou pour espérer qu'ils finissent par avoir un cerveau.

[11:32] Andrew Hellershanks: :)

[11:32] Ubit Umarov : tous les logiciels sont de plus en plus fous.

[11:32] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je blâme javascript [17]

[11:33] Ubit Umarov : et les gens seront obligés de réécrire les choses.

[11:33] Andrew Hellershanks: hehe

[11:33] Ubit Umarov : Je ne sais pas.

[11:33] Ubit Umarov : je pense que nous avons 2 ans pour voir le problème du .net6.

[11:34] Ubit Umarov : peut-être plus

Changements dans OpenSim cette semaine

[11:34] Ubit Umarov : à propos d'opensim

[11:34] Ubit Umarov : pas beaucoup de changements la semaine dernière, je pense.

[11:34] Ubit Umarov : en fait, j'ai failli sortir la 0.9.2.1 aujourd'hui.

[11:35] Ubit Umarov : la date du 22-2-22 était une date de sortie amusante.

[11:35] Vincent.Sylvester @hg.zetaworlds.com:8002: hehe

[11:35] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je n'avais même pas remarqué ça.

[11:35] Andrew Hellershanks : Juste un changement cette semaine dans le module profiles et une correction d'un message de log.

[11:36] Ubit Umarov : j'ai mis à jour libomv avec un code plus rapide de l'OSD [18] à json [19].

[11:36] Andrew Hellershanks : Pour moi, ce serait une date de version le 2-22-22. Pas aussi amusante mais presque.

[11:36] Ubit Umarov : et c'était en gros ça.

[11:36] Kayaker Magic : J'ai une question sur la dé-duplication. Est-ce qu'OpenSim fait cela sur les images ? J'ai entendu dire que Kitely [20] le fait.

[11:37] Ubit Umarov : on dirait qu'il faut laver ses oreilles pour avoir l'info complète.

[11:37] Ubit Umarov: :p

La déduplication des assets

  • Déduplication : En informatique, la déduplication est une technique de stockage de données, consistant à factoriser des séquences de données identiques afin d'économiser l'espace utilisé.
  • Hachage : Opération qui consiste à appliquer une fonction mathématique permettant de créer l’empreinte ou signature numérique d’un message (d’un bloc de données), transformant le message de taille variable en un code de taille fixe, en vue de son authentification ou de son stockage.

[11:37] Vincent.Sylvester @hg.zetaworlds.com:8002 : La déduplication sur les assets est faite sur la base d'un hachage, si le hachage est le même, l'élément est juste lié via la Base de données (BD), les textures dynamiques et autres sont côté région donc elles sont effacées de toute façon.

[11:37] Andrew Hellershanks : Kayaker, il existe un système d'assets qui élimine les doublons.

[11:37] Ubit Umarov: fsassets [21]

[11:38] Ubit Umarov: et xassets [22]

[11:38] Ubit Umarov : ou comment on l'appelle.

[11:38] Vincent.Sylvester @hg.zetaworlds.com:8002 : sras [23] et phpsas le font aussi :)

[11:38] Andrew Hellershanks : Ouais, fsassets.

[11:38] Andrew Hellershanks : SRAS est venu avant fsassets.

[11:38] Ubit Umarov : oui fsassets est une version c# de sras.

[11:38] Ubit Umarov : en gros

[11:39] Ubit Umarov : xassets le fait, mais le stockage se fait toujours sur mysql.

[11:39] Ubit Umarov : encore marqué expérimental.

[11:39] Kayaker Magic : Quand le hachage des images est-il calculé ? Après le décodage des images en bitmaps [24] bruts ?

[11:40] Ubit Umarov: sha256 [25]

[11:40] Ubit Umarov : les données de l'asset Second Life (SL)

[11:40] Ubit Umarov : et exactement comme l'asset de SL.

[11:40] Ubit Umarov : une chose amusante dont les gens parlent et que les viewers oublient.

[11:41] Ubit Umarov : nous n'avons que des assets au format SL.

[11:41] Kayaker Magic : Donc après les avoir compressé pour la base de donnée des assets ? Est-ce que c'est un zip [26] ou les images sont juste compressées en jpg2000 ?

[11:41] Ubit Umarov : toute conversion vers d'autres formats est impossible à faire en temps réel.

[11:41] Ubit Umarov : à moins que ce ne soit pour des petits concepts.

[11:41] Ubit Umarov : en fait pas besoin, car il n'y a pas de concept à valider.

[11:42] Ubit Umarov : pour utiliser d'autres formats, le stockage des assets devra être modifié pour les ajouter.

[11:43] Ubit Umarov : Eh bien, le viewer d'avination [27] unreal utilisait des formats de ressources SL.

[11:43] Misterblue Waves : oui... nouveau serveur d'assets. Nouveaux formats, nouvelles permissions d'accès, évolutif... tout un autre projet.

[11:44] Ubit Umarov: Oui

[11:44] Misterblue Waves : dans les viewers existantes, la conversion du format des assets SL vers un format utilisable est entièrement faite dans le client.

[11:44] Ubit Umarov : un UUID [28] d'asset devra pointer vers plusieurs formats.

[11:44] Ubit Umarov : comme une texture en jp2000 et dds

[11:45] Misterblue Waves : peut-être en faire un plugin nginx [29].

[11:45] Ubit Umarov : bien et le faire RAPIDEMENT.

[11:45] Ubit Umarov : la partie RAPIDE est quelque chose que tout le monde oublie.

[11:45] Ubit Umarov : et sans cela, c'est inutile.

Viewers : Les FPS

[11:46] Ubit Umarov : nous savons tous que n'importe quel viewer peut être fait...

[11:46] Ubit Umarov: celui d'unreal was should most of a region

[11:46] Ubit Umarov : à 6fps [30] ! !!

[11:46] Ubit Umarov : donc un beau travail... inutile... mais beau.

[11:47] Ubit Umarov : Firestorm (FS)[31] rend la même région avec 40 fps et fait tout ce qu'il faut.

[11:47] Ubit Umarov : vous voyez ce que je veux dire ?

[11:48] Ubit Umarov : err ça m'aiderait si je tapais correctement :p

[11:48] Ubit Umarov : celui d'unreal rendait une région à 6fps :)

[11:48] Ubit Umarov : toujours pas de terrain, d'eau ou d'avatars.

[11:48] Vincent.Sylvester @hg.zetaworlds.com:8002 : Pendant ce temps, la nouvelle version de FS semble améliorer les performances d'un bon 10% d'après ce que je peux dire, je ne me rappelle pas avoir jamais obtenu plus de 60fps ici.

[11:49] Ubit Umarov : Ils améliorent les performances.

[11:49] Ubit Umarov : ils ont un autre lot de changements pour un prochain viewer.

[11:49] Ubit Umarov : FS est en train de les ajouter ainsi que quelques autres.

[11:50] Ubit Umarov : bien sûr, cela dépend des créateurs de régions.

[11:50] Ubit Umarov : vous devrez faire attention à la construction de la région si vous voulez des fps.

[11:50] Ubit Umarov : et avoir une police des mœurs :p

[11:51] Ubit Umarov : ne pas laisser entrer les avatars dont la complexité est inférieure à 700000.

[11:51] Ubit Umarov: :)

[11:51] Andrew Hellershanks: :)

Pas d'annonce de nouvelle version aujourd'hui

[11:52] Ubit Umarov : alors quelles sont les nouvelles que vous apportez ?

[11:52] Ubit Umarov : sur opensim...

[11:52] Andrew Hellershanks : Pas de nouvelles, bonnes nouvelles ? ;)

[11:53] Andrew Hellershanks : Y aura-t-il un communiqué aujourd'hui ?

[11:53] Ubit Umarov : si c'est à propos de l'Ukraine, oui.

[11:53] Ubit Umarov : non, je ne vais pas le faire aujourd'hui.

[11:54] Ubit Umarov : osgrid [32] n'en a pas fait non plus sur la 0.9.2.1 [33] en gros

[11:55] Ubit Umarov : mais diva [34] l'attend pour sortir son code [35] .

[11:56] Ubit Umarov : Je lui avais promis une sortie en janvier.

[11:56] Ubit Umarov : et nous sommes presque en mars :)

[11:56] Gavin.Hird @grid.xmir.org:8002 : mais quelle année ?

[11:57] Ubit Umarov : oui, je ne lui ai pas dit l'année... mais elle a supposé 2022 :)

[11:57] Gavin.Hird @grid.xmir.org:8002 : :-)

[11:57] Ubit Umarov : donc je ne peux pas utiliser cette astuce avec elle : p

[11:58] Ubit Umarov : bien et les utilisateurs qui demandent le code.

[11:58] Gavin.Hird @grid.xmir.org:8002 : ils doivent supplier, demander ne suffira pas.

[11:59] Ubit Umarov: :)

Déduplication : efficacité incertaines et dépendantes de nombreux facteurs

[11:59] Andrew Hellershanks : Wow. Cette heure est passée à toute vitesse. Nous sommes déjà au début de l'heure.

[12:00] Andrew Hellershanks : Avez-vous des questions ou des commentaires à formuler avant de clore cette réunion ?

[12:02] Andrew Hellershanks : Kayaker, pour info, dans une grande base de données, un système de stockage des assets basé sur le hachage peut réduire considérablement la table des assets. J'ai vu des réductions de 25 à 50 % de la taille de la table.

[12:02] Ubit Umarov : malheureusement, la taille de la table ne signifie rien :p

[12:03] Ubit Umarov : bien sûr la taille des tables est plus petite, juste parce que les données de l'asset ne sont pas stockées sur elle, mais sur un fichier disque.

[12:03] Kayaker Magic : J'étais étonné que les hachages d'images soient susceptibles d'être aussi différents pour des images similaires.

[12:03] Andrew Hellershanks : oui, mais c'est une économie substantielle d'espace disque utilisé.

[12:04] Kayaker Magic : Et je ne fais pas confiance à jpg [36] pour produire la même image à partir des mêmes données 2 fois de suite...

[12:04] Ubit Umarov : je suppose que beaucoup de personnes téléchargent les mêmes choses.

[12:04] Ubit Umarov : bien, ce n'est pas jpg, c'est jpeg2000, un peu différent.

[12:05] Ubit Umarov : et avec des paramenters fixés sur les viewers.

[12:05] Ubit Umarov : donc les données finales peuvent être mieux identifiées.

[12:05] Ubit Umarov : sinon, le hache est juste une perte de temps.

[12:05] Ubit Umarov : même chose pour les meshes [37] ...

[12:06] Ubit Umarov : le hash n'a d'effet que si le mesh est téléchargé avec les mêmes paramètres et un viewer identique.

[12:06] Ubit Umarov : donc les bits finaux sont exactement les mêmes.

[12:06] Ubit Umarov : ou alors encore une fois le hachage est inutile.

[12:07] Ubit Umarov : donc en fait, nous avons des doutes sur son efficacité réelle.

[12:07] Ubit Umarov : mais les gens disent que c'est le cas... donc... il faut y croire,

[12:08] Ubit Umarov : et les bons viewers n'ajoutent pas la date de création et l'uuid de l'uploader aux données binaires.

[12:08] Ubit Umarov : en supposant que le code de la région le fasse (et il ne le fait pas).

[12:08] Ubit Umarov : si le mesh était spécifié ainsi, le hache échouerait toujours.

[12:09] Kayaker Magic : Une sorte de hache qui ne regarde que les données de l'image, ou les données des vertex du mesh serait bien.

[12:09] Misterblue Waves : je vais courir dans RL... je serai ici virtuellement.

[12:09] Ubit Umarov : non.

[12:09] Ubit Umarov : le hache ne regarde que les données brutes des assets.

[12:09] Andrew Hellershanks: ok, Misterblue.

[12:09] Ubit Umarov : il ne peut pas accéder aux détails des assets.

[12:09] Vincent.Sylvester @hg.zetaworlds.com:8002 : Quelque part dans ce bazar, quelqu'un a défini xml[38] utf16 [39] pour les linksets (objets liés) même si toutes les données sont utf8 [40] -.-.

[12:09] Ubit Umarov : pas le temps pour cela.

[12:10] Ubit Umarov : nahh pense que la plupart sont en fait utf8 disant qu'ils sont utf16

[12:10] Gavin.Hird @grid.xmir.org:8002 : êtes-vous sûr qu'il ne peut pas regarder les données des assets ?

[12:10] Ubit Umarov : ce n'est pas comme ça que ça se passe.

[12:10] Vincent.Sylvester @hg.zetaworlds.com:8002 : Oui, c'est ce que je veux dire, l'en-tête xml réclame utf16 sans raison, ce qui m'a déconcerté au début.

[12:10] Ubit Umarov : et non... ce serait très lent de regarder par type d'asset [41].

[12:10] Gavin.Hird @grid.xmir.org:8002 : sur postgres, j'ai un outil qui, en regardant les enregistrements individuels, décode les images dans la table des assets à la volée.

[12:11] Gavin.Hird @grid.xmir.org:8002 : ils sont juste stockés dans un fichier blob [42].

[12:11] Ubit Umarov : même faire sha256 n'est pas si rapide.

[12:12] Ubit Umarov : certains cpus ont une aide matérielle pour cela, mais je ne suis pas sûr que .net l'utilise.

[12:12] Gavin.Hird @grid.xmir.org:8002 : il suffit de le faire à la première écriture dans cette table.

[12:12] Ubit Umarov: non

[12:12] Ubit Umarov : à chaque téléchargement

[12:12] Gavin.Hird @grid.xmir.org:8002 : oui, mais les téléchargements ne sont pas si fréquents.

[12:13] Ubit Umarov : et cela n'a pas d'importance.

[12:13] Ubit Umarov : tout bit modifié implique un autre hachage.

[12:13] Andrew Hellershanks : ouais.

[12:13] Ubit Umarov : pour le moment nous ne remplissons pas la date de création, et l'id du créateur de la spécification du mesh.

[12:13] Gavin.Hird @grid.xmir.org:8002 : les données d'image ne peuvent pas être modifiées dans le monde, donc seuls les téléchargements doivent être "re-hachés".

[12:13] Ubit Umarov : donc au moins ce n'est pas un problème.

[12:14] Ubit Umarov : même si le même mesh avec les mêmes paramètres sera téléchargé différemment.

[12:14] Ubit Umarov : en fonction du viewer.

[12:14] Gavin.Hird @grid.xmir.org:8002: oui

[12:14] Gavin.Hird @grid.xmir.org:8002 : mais les données de l'image doivent être assez constantes.

[12:15] Ubit Umarov : mais comme je l'ai dit, il semble que le hachage permette de faire des économies, donc c'est mieux que rien.

[12:15] Ubit Umarov : jpeg2000 constant pourquoi ?

[12:15] Gavin.Hird @grid.xmir.org:8002 : il n'y a pas beaucoup de mises à jour de cette spécification...

La licence Kakadu (KDU)

  • KDU / Kakadu : Kakadu est une bibliothèque à code fermé pour encoder et décoder les images JPEG 2000. Elle implémente le standard ISO/IEC 15444-1 entièrement dans la partie 1, et partiellement dans les parties 2-3. Kakadu est une marque déposée de NewSouth Innovations Ltd. [43] [44]

[12:15] Ubit Umarov : fait avec différentes versions d'openjpeg [45] sur kdu

[12:15] Gavin.Hird @grid.xmir.org:8002:nous n'utilisons pas kdu

[12:16] Gavin.Hird @grid.xmir.org:8002: aucun viewer ne le fait pour opensim

[12:16] Ubit Umarov : les bits de précision inférieurs sont fins.

[12:16] Ubit Umarov : pensez-y...

[12:16] Ubit Umarov : je pense que Firestorm paye kdu

[12:16] Gavin.Hird @grid.xmir.org:8002 : personne ne veux payer des milliers de dollars pour une licence KDU pour opensim.

[12:17] Gavin.Hird @grid.xmir.org:8002 : FS a obtenu le KDU de Linden Lab (LL).

[12:17] Ubit Umarov : ce n'est pas pour opensim.

[12:17] Ubit Umarov : c'est pour tout le monde

[12:17] Gavin.Hird @grid.xmir.org:8002 : Kokua[46] a payé pour

[12:17] Andrew Hellershanks: kdu?

[12:17] Ubit Umarov : les viewers ne payent pas kdu pour sl ou opensim

[12:17] Ubit Umarov : ce n'est pas comme Havok [47].

[12:17] Gavin.Hird @grid.xmir.org:8002 : ils paient pour KDU.

[12:17] Ubit Umarov : ils payent par viewer.

[12:18] Gavin.Hird @grid.xmir.org:8002 : sans aucune chance d'obtenir la couverture des coûts pour opensim, personne ne voudra payer pour cela.

[12:18] Ubit Umarov : donc s'ils payent "pour sl" ils ont payé "pour opensim".

[12:18] Andrew Hellershanks : J'ai cherché kdu et le premier résultat était General Sir John Kotelawala Defence University :)

[12:18] Ubit Umarov : contrairement à Havok, où ils utilisent simplement la licence LL.

[12:18] Gavin.Hird @grid.xmir.org:8002 : oui, mais le seul qui a payé pour KDU est Kokua.

[12:18] Gavin.Hird @grid.xmir.org:8002 chuchote : FS l'a obtenu de LL

[12:19] Ubit Umarov: ok

[12:19] Gavin.Hird @grid.xmir.org:8002 : à part cela, personne ne l'utilise à cause de son coût.

[12:19] Ubit Umarov : yeha FS est livré avec openjpg pour opensim

[12:19] Gavin.Hird @grid.xmir.org:8002: oui

[12:20] Gavin.Hird @grid.xmir.org:8002 : pas autorisé à utiliser la licence en dehors de SL.

[12:21] Gavin.Hird @grid.xmir.org:8002 : j'ai donc dû retirer le support KDU des builds 3.0.

Retour à la déduplication : les métadonnées

[12:22] Ubit Umarov : toutes ces différences font échouer la déduplication.

[12:22] Ubit Umarov : je ne vais pas entrer dans le détail des FPUs [48] de tous les cpu qui sont différents etc...

[12:23] Ubit Umarov : les produits Intel [49] ont des bugs, vous vous souvenez ? :P

[12:24] Ubit Umarov : donc je n'ai pas de chiffres réels sur la qualité de la déduplication des fichiers de données.

[12:24] Ubit Umarov : j'espère qu'il déduplique le "nouveau script" :p

[12:25] Vincent.Sylvester @hg.zetaworlds.com:8002 : Bonne question, je sais qu'il ne fait certainement pas les notecards , parce qu'ils ont la date de création et autres enregistrés dans leurs données, donc le hache est toujours différent.

[12:25] Ubit Umarov: ouais

[12:25] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai écrit un article sur les gaspillages qu'OpenSim collectionne à ce sujet.

[12:25] Ubit Umarov : certains assets ont une date etc...

[12:25] Ubit Umarov : les meshes sont censés en avoir une...

[12:26] Ubit Umarov : mais c'est le travail du serveur de les ajouter, et nous ne l'avons jamais fait.

[12:26] Ubit Umarov : pas sûr de ce que les viewers ajoutent à la métadonnée [50] jpeg2000

[12:27] Ubit Umarov : il est possible qu'il y ait aussi la date et le créateur, ce qui rend le hache inutile sur les meshes.

[12:27] Ubit Umarov : sur la texture je veux dire

[12:27] Ubit Umarov : c'est facile pour vous de le vérifier si vous utilisez fsassets :)

[12:28] Ubit Umarov : téléchargez le même texte à deux reprises et comparez les haches.

[12:29] Ubit Umarov : pas sûr que ceux qui ont fait sras et fsassets connaissaient les métadonnées que les viewers ajoutent.

[12:30] Gavin.Hird @grid.xmir.org:8002 : Je ne pense pas que le viewer ajoute des métadonnées aux données brutes de l'image.

[12:30] Ubit Umarov : ce sont des données j2000 et non des images brutes.

[12:31] Gavin.Hird @grid.xmir.org:8002 : vous comprenez ce que je veux dire.

[12:31] Ubit Umarov : ok :)

[12:31] Ubit Umarov : comme les données de création sur les zones d'information du j2k.

[12:33] Ubit Umarov : l'animation semble être juste une animation.

Conclusion

[12:34] Selby.Evans @grid.kitely.com:8002 : au revoir à tous.

[12:34] Ubit Umarov : salut

[12:34] Andrew Hellershanks : Une autre demi-heure s'est écoulée. Je dois y aller, alors je vais clore la réunion d'aujourd'hui. Je vous remercie tous d'être venus. Nous nous reverrons la semaine prochaine.