Suite à cette discussion, je regardais comment le cas est géré en Java (je ne connais pas C++), et c’est intéressant parce que les deux méthodes génériques pour calculer le maximum d’un ensemble ont deux fonctionnements différents de par leur API, ce qui rejoint bien le propos de barmic ci-dessus.
L’API Collections (Java 1.2 et plus) a une méthode qui permet de calculer le maximum d’une collection d’éléments comparables. Si la collection fournie est vide, ça lance une NoSuchElementException (qui est une exception non-checkée, donc qu’il n’est pas obligatoire de gérer dans les couches supérieures). De plus, le code ne compilera pas si les éléments ne sont pas comparables, et renverra une ClassCastException (non-checkée) si on essaie de comparer des choux et des carottes.
Java depuis Java 8 contient aussi une API de streams, qui déteste les exceptions – le dédoublement du flux d’exécution est à peu près incompatible avec le concept même des streams. Donc il a fallu trouver une solution alternative.
Dans le cas des streams, le calcul du maximum renvoie un Optional, à charge de l’appelant de vérifier si cette valeur optionnelle est vide ou non. On peut facilement récupérer le comportement à exceptions en faisant : myStream.max().orElseThrow(NoSuchElementException::new) (là encore au choix de l’appelant).
Concernant Java, il y a un paradoxe assez étonnant qui fait que d’une part à peu près tout le monde considère que les checked exceptions sont une erreur de conception fondamentale du langage, mais en même temps que tout le monde les utilise. Même si depuis Java 8 et l’utilisation de plus en plus massive des streams, ce deuxième point est de moins en moins vrai.
Parce que je ne vois pas pourquoi les compositeurs qui voudraient faire du Creative Commons ne mettraient pas leur œuvres en Creative Commons. Si ils ne le font pas, perso je déduit qu'ils ne veulent pas contrairement à ce que toi tu imagines.
Une précision ici : en France, à partir du moment où tu as signé avec la SACEM, toute ta production doit passer par la SACEM. C’est dans le contrat.
Ça implique en particulier l’interdiction totale de faire de la musique libre tout en étant à la SACEM1. Ils se sont déjà « assouplis » il y a 10 ans en autorisant les licences Creative Commons non commerciales (et donc non libres). Comme la SACEM française dispose d’un monopole2 pour la gestion financière des droits d’auteurs musicaux en France, on peut supposer à priori qu’aucun auteur musical français ne produit de musique libre, sauf à vivre d’autre chose.
Le point important ici, c’est que certains compositeurs veulent faire du Creative Commons mais ne peuvent pas. Mais ça change rien aux questions légales pour l’auteur du sujet, puisqu’on ne peut pas choisir la licence pour des tiers.
La campagne concernait Microsoft 365. Cela dit, le sujet me semble assez rare (pour encore trop de monde, la double authentification c’est la solution de sécurité ultime inviolable), et l’article suffisamment bien traité pour être intéressant.
C’est aussi un rappel que la sécurité totale n’existe pas, y compris quand on est une entreprise gigantesque et qu’on a pris énormément de précautions.
Ou même dans la presse (dont les sites ont déjà un ratio signal/bruit assez catastrophique).
Par exemple, l’autre jour 20 minutes a fait un article sur « ce qui change à partir du 1er aout » dont les informations utiles n’étaient présentes que dans la vidéo jointe.
Quelque chose comme ça, oui, ou sa variante « J’ai payé pour pouvoir taper sur quelqu’un si ça ne fonctionne pas (résultats non garantis sauf si je paie beaucoup plus – et encore) ».
« on » comme « nous, en tant que société » (et donc avec une grosse responsabilité politique derrière, parce que c’est beaucoup plus difficile de faire changer les choses de manière rapide et importante sans l’appui du pouvoir en place).
Je ne comprends pas où tu veux en venir avec la seconde partie, je pense que tu as surinterprété. « Comment on pourrait ne pas le leur donner » s’applique dans le contexte : comment on fait pour baisser notre dépendance au pétrole.
Que les industries des fossiles se fassent des couilles en or (pardonnez l’expression, et ça ne doit pas être pratique) en vendant des quantités astronomiques de combustibles fossiles à des prix délirants dit aussi quelque chose que pas grand-monde ne semble vouloir voir.
C’est une jolie mesure de la dépendance de notre société à ces fossiles.
On est littéralement prêts à couvrir d’or les industries du fossile pour continuer à vivre aujourd’hui comme hier.
Et notre premier réflexe – très humain – c’est de s’indigner et de chercher à récupérer cet argent, avant de chercher à comprendre comment on pourrait ne pas leur donner.
Tiens, d’ailleurs, ça la décarbonation de l’économie, ça pourrait être une très bonne cible de tout cet argent qu’on a déjà dépensé dans du gaz, du pétrole et du charbon.
Sur Twitch, si la vidéo n'est pas affichée, elle passe automatiquement en passe qualité et revient à la qualité normale au réaffichage de la fenêtre. Le flux vidéo n'est pas totalement coupé pour éviter du noir au réaffichage de la fenêtre, je suppose. Ça fonctionne sur tous les navigateur et OS.
Donc au moins ce point est techniquement possible.
Twitch permet aussi de ne jouer que le son, sur une action volontaire de l'utilisateur.
En fait le comportement actuel de YouTube sur smartphone est bien pire que ça : ils détectent si la vidéo est affichée… pour interdire sa lecture si ça n'est pas le cas (cette possibilité est réservée aux clients payants – ou aux utilisateurs de Firefox mobile avec l'addon qui va bien).
PS : je ne crois pas que les codecs vidéo permettent de transmettre seulement une partie de l'image, surtout si elle n'est pas connue à l'avance.
Étant donné ce que j'ai vu au cours de mes différents boulots, "Utilisé en milieu professionnel" a depuis longtemps cessé d'être synonyme d'une quelconque forme de qualité pour moi '
Le problème n’est pas tellement d’avoir des faux positifs ou de ne pas avoir de faux négatifs, mais d’en avoir une quantité déraisonnable.
Par exemple, un « antivirus » qui lancerait une alerte sur tous les fichiers analysés aurait très exactement 0 % de faux négatifs et détecterait 100 % des virus… mais serait totalement inutilisable.
D’ailleurs, la gestion d’un arrêt d’urgence d’un système pareil (de tout système industriel ouvert en réalité) est un problème non-trivial. Est-ce qu’il faut bloquer tout mouvement – au risque de laisser coincé ce qui était déjà coincé ? Est-ce qu’on peut se contenter de couper les actionneurs – au risque que la gravité ou d’autres forces ne renvoient le système dans une position encore plus dangereuse ? Est-ce qu’on force une mise en position de sûreté – avec le risque de provoquer encore plus de dégâts dans la manœuvre ?
On considère généralement que l’arrêt d’urgence doit assurer la sécurité des personnes, ce qui implique presque toujours de couper toutes les énergies1. Mais « assurer la sécurité des personnes » est quelque chose qui dépend hautement de l’outil et de son contexte d’utilisation…
Dans le cas qui nous intéresse, peut-être que ce qui a été décidé c’est d’interrompre complètement le robot en le laissant en position, pour éviter de provoquer des dégâts supplémentaires en essayant de le mettre dans une éventuelle « position de sécurité ». Le robot a l’air de s’arrêter instantanément sur la vidéo, on ne sait pas si c’est une sécurité automatique ou s’il a été arrêté par un opérateur (ça n’est pas parce qu’on ne voit pas de gros bouton rouge qu’il n’y en a pas).
Bref, tout ça pour dire que : oui, il y a un comportement anormal du robot, mais que rien ne permet de dire si la réaction à ce comportement anormal est correcte ou non.
Il y a des exceptions, comme « empêcher le marteau-pilon de retomber tout seul sur la personne qui serait en-dessous », par exemple. ↩
On peut trouver plein de défauts au nucléaire civil sans avoir besoin d'en inventer. En particulier, ceci est faux, bien que répété en boucle par certaines associations :
et ceux éteints parce qu'il fait trop chaud (les rivières ne refroidissent plus correctement les réacteurs),
En France on a une législation très stricte sur la température des rejets d'eau dans les rivières pour éviter la perturbation de la faune locale. Il arrive que les exploitants de centrales thermiques (dont nucléaires mais pas que) demandent des dérogations pour passer outre ces limites, de façon à pouvoir continuer d'exploiter à pleine puissance malgré ces lois.
Ces dérogations sont très faibles et sont souvent inutilisées : elles ne peuvert l'être que si RTE (et pas l'exploitant de la centrale) décide que c'est indispensable d'avoir la pleine puissance sur une centrale touchée. De plus, on a des dérogations demandées… Parce que la température en amont est déjà supérieure à celle autorisée par les rejets.
En résumé, les dérogations sur les températures de rejets de centrale, c'est un problème de protection stricte de l'environnement et pas du tout un problème de sûreté.
Plus que diversifier pour diversifier, il fait surtout utiliser tous les leviers à notre disposition, parce que ça va déjà être assez compliqué et douloureux sans se priver d'outil pour des raisons dogmatiques. Et ici ça concerne les anti-nucléaires et les tout-nucléaire.
Au sujet de la pollution des ultra-riches, cette réflexion très intéressante nous montre surtout qu’on ne pourra – hélas – pas se contenter de ce levier là, et de loin.
À petite échelle, des "écoguerriers" posaient des pièges (principalement des pointes et des câbles en travers du chemin) en forêt de Fontainebleau il y a une vingtaine d'années, pour interdire l'accès aux promeneurs et aux VTT. Leur revendication : que la forêt "redevienne une zone naturelle" – ce qui est très ironique quand on sait que cette forêt a été plantée et entretenue pour les chasses du roi il y a fort longtemps sur des terrains impropres à l'agriculture, et si mauvais que sans entretien ladite forêt se clairsème et meurt.
Il s’agit de prendre une proposition de l’adversaire et d’en déformer l’esprit pour en tirer de fausses propositions, absurdes et dangereuses que sa proposition initiale n’incluait pas : cela donne l’impression que sa proposition a donné naissance à d’autres qui sont incompatibles entre elles ou défient une vérité acceptée. Il s’agit d’une réfutation indirecte, une apagogie, qui est une autre application de fallacia non causæ ut causæ. Arthur Schopenhauer, Dialectique éristique.
Le consensus scientifique n'est pas « la vérité » (et n'a jamais prétendu l'être), mais c'est généralement ce qui s'en approche de façon le plus crédible, et les meilleurs arguments (dans le sens : les plus plausibles, les plus reproductibles, ceux auxquels ont peut accorder le plus de crédit) sont souvent de son côté, d'autant plus que le consensus est solide.
D'ailleurs, ce consensus peut évoluer et parfois de façon très significative en fonction des découvertes nouvelles – au contraire des dogmes suscités, qui restent identiques malgré les avancées. Ce point est d'ailleurs un bon marqueur qu'on a affaire à un vrai consensus et pas une opinion préalable.
La crise du Covid est un bon exemple à propos du consensus scientifique : ledit consensus y a été très largement piétiné, ignoré, tourné en ridicule par des politiques et charlatans qui voulaient faire avancer leurs agendas au mépris de la santé publique. La « parole scientifique » accessible au public pendant la crise du Covid (et encore maintenant) s'est massivement faite à l'encontre du consensus scientifique. Ça a posé des tas de questions sur la qualité de la parole scientifique dans les médias et de sa prise en compte par les politiques, ça a posé des tas de questions sur la vulgarisation de la science au grand public, autant de sujets qu'il serait bon de traiter. Par contre, les plus grands scandales du Covid (la chloroquine, les masques, etc) se sont faits à l'encontre du consensus scientifique.
Le problème, c'est que depuis des décennies, l'écologie – en particulier l'écologie politique – a été la chasse gardée d'associations et de partis qui sont dans le dogme et pas dans le consensus scientifique. Pire, ces gens là ont tellement réussi à prendre l'ascendant sur le mot « écologie » que toute proposition, fusse-t-elle étayée, qui sort de leur dogme, est considérée comme hérétique et dénoncée comme telle en place publique – même si la voix de l'écologie à base scientifique se fait de plus en plus entendre. On parle ici de gens qui sont prêts à raconter absolument tout et n'importe quoi dans le but de soutenir leur lutte, et ce même si ça va à la fois contre le consensus scientifique et toute forme d'acceptabilité sociale. On parle ici de gens qui n'imaginent pas que l'on puisse penser comme eux, et qui ne sont pas dans une démarche positive, qui ne cherchent pas à convaincre et à montrer les aspects positifs des actions qu'ils préconisent ; non : pour eux, toute parole qui ne suit pas leur dogme doit être tue1, et si on pense différemment c'est obligatoirement qu'on a tord. Le fait de convaincre du bien-fondé des opinions, celui de rassurer sur le fait que certaines mesures n'auront pas les conséquences délétères que l'on pourrait imaginer surtout si on s'y mets tôt avec assez de moyens, rien de tout ça n'entre en ligne de compte, et pour cause : on est censés être déjà convaincu du bien-fondé de toutes ces mesures – ou être idiot.
Dans le cadre de l'écologie politique, c'est encore pire : à ces dogmes se superposent le dogme de l'opposition : « Puisque les écologistes proposent X et qu'on est dans l'opposition, alors on va proposer l'inverse de X » – et ce sans la moindre considération pour ce qui serait intéressant pour la population et les écosystèmes. C'est comme ça qu'on arrive à des « débats » dans lesquels, par exemple, certains soutiennent qu'il faut impérativement se débarrasser des centrales électriques nucléaires, d'autres qu'il faudrait arrêter d'investir dans les énergies renouvelables et construire massivement des centrales nucléaires… sans jamais que personne ne se rappelle que le vrai problème, c'est d'abord et avant tout de se débarrasser des énergies fossiles, l'électricité nucléaire ou les énergies renouvelables n'état qu'un moyen pour atteindre ce but.
Et donc on en arrive en effet à une situation extrêmement frustrante, une lutte complètement hypocrite, à base de dogmes sans trop de rapports avec le consensus scientifique, où chacun défend son bout de gras parce que c'est son_ bout de gras, et pas parce que c'est une solution pour le bien commun.
Heureusement on entends de plus en plus – mais toujours pas assez – des partisans d'une écologie scientifique, beaucoup moins dogmatique2 dans son approche du sujet. Certains ont fait une image pour présenter la différence :
L'une des différences majeures, c'est que l'écologie scientifique ne propose quasiment jamais une solution miracle, mais très souvent un ensemble de chemins possibles avec leurs avantages et inconvénients ; à la chose politique de choisir lequel de ces chemins emprunter à partir de ces données. Comme exemple, on pourrait donner les différents de production électrique en 2050 par RTE.
À titre personnel, autant je trouve l'écologie politique « traditionnelle » absolument insupportable, autant l'écologie scientifique me passionne. Si je devais donner un point d'entrée dans le sujet, ça serait sans doute l'excellente chaine Le Réveilleur.
Par exemple, en faisant en sorte que les réunions d'information du public ne puissent pas se tenir parce que les militants empêchent les différents orateurs de prendre la parole – c'est doublement pratique, parce que non seulement aucune voix discordante ne peut être tenue, mais en plus ça permet de râler sur le fait qu'aucune réunion d'information publique n'a été faite. ↩
Mais pas toujours dépourvue de dogmes. Par contre, je ne parle ici que d'une véritable écologie scientifique. Ceci, en particulier, en exclut les scientistes, des dogmatiques qui sont persuadés qu'on peut faire un peu n'importe quoi parce que « la science » apportera des solutions. Notez d'ailleurs que certains points de dogmes écologistes sont aussi scientistes, par exemple quand certaines solutions proposées impliquent la mise en service massive et rapide de technologies qui sont à peine à l'état du démonstrateur aujourd'hui – je pense par exemple au stockage massif de l'électricité. ↩
La question derrière ma remarque, c'est que je ne sais pas si Nashorn (ou Rhino) faisaient partie de l'API standard, ni si le tooling fait partie de l'API standard.
C'est une question ouverte, pas une affirmation, et je vois des arguments dans les deux sens.
Pour moi si tu faisais : java -jar appli.jar avec java8 et qu'en mettant à jour java la commande tel quelle ne fonctionne plus c'est un problème de rétrocompatibilité.
Dans ce cas pour moi on ne parle pas de la même chose. Je parle de la rétrocompatibilité des ABI et API uniquement, pas de la plateforme en entier.
Pour les sealed, tous les enum sont sealed. J'ai découvert pour l'occasion que tu pouvais mock un enum avant (et qu'on avait un test qui s'en servait), c'est une (très) mauvaise idée amha, mais tu ne peux plus à partir de java17.
On a jamais pu étendre un enum. Si un outil de test se servait d'une bidouille pour forcer quelque chose de normalement impossible (ici : créer une classe de mock qui étends l'enum) et que ça finit par péter, c'est pas de chance, mais pour moi c'est pas un problème de rétrocompatibilité : le comportement n'avait jamais été prévu ni officialisé.
Parce que non seulement ils cassent la compatibilité, mais en plus ils déprécient des parties (le plus connu c'est quand ils ont souhaité déprécier sun.misc.Unsafe).
Pour moi déprécier sun.** n'est pas « casser la rétrocompatibilité », puisque Sun puis Oracle ont toujours dit que ces packages étaient à usage interne, ne faisaient pas partie de l'API et ne devaient pas être utilisés. D'ailleurs des programmes qui utilisaient ces classes ne fonctionnaient pas sur des JVM non-Sun/Oracle, à commencer par la JVM d'IBM.
Mais du coup tu entends quoi par « sainte » ?
Le fait que Java n'hésite pas à faire des doublons d'API, mais surtout des montages compliqués, des tonnes de sucre syntaxique qui masquent des pièges et finissent par aboutir à des demi-solutions bancales et peu pratiques. Par exemple et sans réfléchir : tout le système de boxing/unboxing, le type erasure dans les generics, la (non) gestion des checked exceptions dans les lambda – qui en plus n'a pas de solution élégante dans l'API standard.
Quel est le remplacement de HashMap ?
En fait il fallait lire HashTable (qui a été remplacée par HashMap justement).
Pour Protégé, le problème vient en fait d'Apache Felix, une dépendance qu'ils ont dans une vieille version et qui a besoin d'une version spécifique pour fonctionner avec Java 9+. Alors pourquoi cette bibliothèque a besoin d'une version spécifique Java 9+ et n'est pas rétrocompatible ? C'est pas très clair, mais je dirais que c'est à cause des changements de comportements dans le classloader. Je me permet aussi d'émettre un doute sur la qualité du code de Protégé : le fichier de démarrage force la taille de la pile à 16 Mo (!) par défaut, ce qui est gigantesque et extrêmement inhabituel.
Pour ImageJ, ils utilisent assez massivement le moteur JS intégré à Java… qui a changé et finalement été supprimé. Là effectivement, c'est dommage, ils ont parié sur une solution non pérenne pour leur outil.
OMERO je ne sais pas, le projet a l'air assez verrouillé.
Freeplane, je n'ai pas trouvé de vrais tickets sur une incompatibilité avec Java 17. Ceux que je trouve sont soit des gens qui ont essayé de faire tourner ce programme graphique avec un JRE headless, soit des vérifications préliminaires qui plantent, mais qui ne semblent avoir été qu'une vérification un peu trop stricte du numéro de version de Java (le fait qu'il ne validait que 8, 11 à 16 me fait penser que les développeurs forçaient un peu violemment une version « officiellement supportée » du JRE).
Dans les deux premiers cas, on est un peu sur des cas aux limites : l'ABI est compatible, l'API est compatible, mais quelque chose dans les outils et/ou la configuration externe fait que ça ne fonctionne plus. C'est clairement une rupture de compatibilité, mais à quel point c'est imputable à une non rétrocompatibilité de l'ABI ou de l'API de Java ?
Même question que ci-dessus : est-ce que tu as des exemples ?
Je vois bien des problèmes de rétrocompatibilité (dans le sens : une vieille classe ne tourne plus sur une JVM récente) avec le passage de Java EE à Jakarta et le retrait de Nashorn.
Pour les modules et les sealed, je vois bien les problèmes de compatibilité mais je n'ai pas entendu parler de problèmes de _rétro_compatiblité au sens ci-dessus. Il y a bien des cas où tu es obligé d'ajouter des dépendances de modules d'API standard pour utiliser de vieilles classes dans un code récent qui utilise les modules, mais pour moi c'est un problème de compatibilité et pas de rétrocompatibilité, dans le sens où la vieille classe elle-même fonctionnera sans modification. Je n'ai pas non plus trouvé d'exemples après une recherche rapide ni n'en ait subi, donc si tu en as je prends.
Enfin et surtout, « sainte » ≠ « absolue » hein. Il y a des ruptures de compatibilité – il suffit d'aller sur les releases notes pour les voir, changez le numéro de version dans l'URL pour voir les autres, à partir de Java 10. Mais ça n'est que des changements dans les outils et options externes. Les rares changements d'API sont soit sur des API internes – je ne vais pas plaindre les gens dont le code a pété parce qu'ils utilisaient sun.misc.BASE64Decoder soit des trucs fondamentalement pétés depuis longtemps, soit des problèmes de sécurité, comme les récentes protections sur la réflexion, qui a bien mis le bazar dans les codes qui fonctionnaient précisément à cause de ce manque de protection, comme au hasard certains mods Minecraft.
Et surtout, je n'ai vu aucun changement d'ABI, ce qui est quand même le sujet d'origine.
Un truc qui me gonfle avec la gestion de la compatibilité de Java, c'est qu'il semble y avoir une horreur à déprécier officiellement des trucs malgré la présence de remplacements depuis des décennies. Aujourd'hui, mi-2022, tu peux écrire du code complet à base de Vector, HashMap, Date et autres objets qui ont des remplacements bien plus pratiques sans que le langage ne te sorte le moindre avertissement. Que ces antiquités soient conservées pour la compatibilité, OK, mais elles n'ont plus rien à faire dans un code actuel.
C'est peut-être ça qui manque à un langage qui veut garder autant de rétrocompatibilité que possible : un moyen de marquer une sorte de soft deprecated, qui indique que la fonctionnalité va être conservée pour compatibilité mais ne devrait plus être utilisée dans du code moderne – avec un indicateur la nouvelle méthode. Je pense que ça aiderait pas mal à améliorer la qualité de code, en particulier de tous les projets faits dans des usines à code où les développeurs n'en ont pas grand-chose à faire de suivre les nouveautés du langage.
[^] # Re: Juste mon point de vue
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à 5. Dernière modification le 08 août 2022 à 12:48.
Suite à cette discussion, je regardais comment le cas est géré en Java (je ne connais pas C++), et c’est intéressant parce que les deux méthodes génériques pour calculer le maximum d’un ensemble ont deux fonctionnements différents de par leur API, ce qui rejoint bien le propos de barmic ci-dessus.
L’API
Collections
(Java 1.2 et plus) a une méthode qui permet de calculer le maximum d’une collection d’éléments comparables. Si la collection fournie est vide, ça lance uneNoSuchElementException
(qui est une exception non-checkée, donc qu’il n’est pas obligatoire de gérer dans les couches supérieures). De plus, le code ne compilera pas si les éléments ne sont pas comparables, et renverra uneClassCastException
(non-checkée) si on essaie de comparer des choux et des carottes.Java depuis Java 8 contient aussi une API de streams, qui déteste les exceptions – le dédoublement du flux d’exécution est à peu près incompatible avec le concept même des streams. Donc il a fallu trouver une solution alternative.
Dans le cas des streams, le calcul du maximum renvoie un
Optional
, à charge de l’appelant de vérifier si cette valeur optionnelle est vide ou non. On peut facilement récupérer le comportement à exceptions en faisant :myStream.max().orElseThrow(NoSuchElementException::new)
(là encore au choix de l’appelant).Concernant Java, il y a un paradoxe assez étonnant qui fait que d’une part à peu près tout le monde considère que les checked exceptions sont une erreur de conception fondamentale du langage, mais en même temps que tout le monde les utilise. Même si depuis Java 8 et l’utilisation de plus en plus massive des streams, ce deuxième point est de moins en moins vrai.
La connaissance libre : https://zestedesavoir.com
# Une comparaison musicale
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à 3.
Pour certaines raisons, le ton de ce journal me fait penser au titre Institutionalized, dans sa version de Body Count.
La connaissance libre : https://zestedesavoir.com
[^] # Re: Statut des partitions
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Partage de partitions musicales. Évalué à 8. Dernière modification le 04 août 2022 à 16:51.
Une précision ici : en France, à partir du moment où tu as signé avec la SACEM, toute ta production doit passer par la SACEM. C’est dans le contrat.
Ça implique en particulier l’interdiction totale de faire de la musique libre tout en étant à la SACEM1. Ils se sont déjà « assouplis » il y a 10 ans en autorisant les licences Creative Commons non commerciales (et donc non libres). Comme la SACEM française dispose d’un monopole2 pour la gestion financière des droits d’auteurs musicaux en France, on peut supposer à priori qu’aucun auteur musical français ne produit de musique libre, sauf à vivre d’autre chose.
Le point important ici, c’est que certains compositeurs veulent faire du Creative Commons mais ne peuvent pas. Mais ça change rien aux questions légales pour l’auteur du sujet, puisqu’on ne peut pas choisir la licence pour des tiers.
On en avait déjà parlé ici en 2015. ↩
Un monopole de fait et pas de droit, mais constaté et acté comme tel par les jurisprudences FR et UE. ↩
La connaissance libre : https://zestedesavoir.com
# Je sais, c’est Microsoft
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au lien Retour sur une campagne de phishing qui a réussi à contourner la double authentification. Évalué à 5.
La campagne concernait Microsoft 365. Cela dit, le sujet me semble assez rare (pour encore trop de monde, la double authentification c’est la solution de sécurité ultime inviolable), et l’article suffisamment bien traité pour être intéressant.
C’est aussi un rappel que la sécurité totale n’existe pas, y compris quand on est une entreprise gigantesque et qu’on a pris énormément de précautions.
La connaissance libre : https://zestedesavoir.com
[^] # Re: Pire des options
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au lien GitLab plans to delete dormant projects in free accounts. Évalué à 6.
Et les dégâts en terme d’image sont tels que l’opération ne me semble clairement pas rentable.
La connaissance libre : https://zestedesavoir.com
[^] # Re: usage inapproprié
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Une idée pour économiser 2.21 gigowatts sur la bande passante de Youtube. Évalué à 8.
Ou même dans la presse (dont les sites ont déjà un ratio signal/bruit assez catastrophique).
Par exemple, l’autre jour 20 minutes a fait un article sur « ce qui change à partir du 1er aout » dont les informations utiles n’étaient présentes que dans la vidéo jointe.
La connaissance libre : https://zestedesavoir.com
[^] # Re: ClamAV est connu pour ses faux positifs
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Microsoft Visual C++ 2013 contenait-il un virus ?. Évalué à 4.
Quelque chose comme ça, oui, ou sa variante « J’ai payé pour pouvoir taper sur quelqu’un si ça ne fonctionne pas (résultats non garantis sauf si je paie beaucoup plus – et encore) ».
La connaissance libre : https://zestedesavoir.com
[^] # Re: Hypocrisie? OUI!
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Hypocrisie d'énergie . Évalué à 2.
« on » comme « nous, en tant que société » (et donc avec une grosse responsabilité politique derrière, parce que c’est beaucoup plus difficile de faire changer les choses de manière rapide et importante sans l’appui du pouvoir en place).
Je ne comprends pas où tu veux en venir avec la seconde partie, je pense que tu as surinterprété. « Comment on pourrait ne pas le leur donner » s’applique dans le contexte : comment on fait pour baisser notre dépendance au pétrole.
La connaissance libre : https://zestedesavoir.com
[^] # Re: Hypocrisie? OUI!
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Hypocrisie d'énergie . Évalué à 6. Dernière modification le 01 août 2022 à 15:15.
Que les industries des fossiles se fassent des couilles en or (pardonnez l’expression, et ça ne doit pas être pratique) en vendant des quantités astronomiques de combustibles fossiles à des prix délirants dit aussi quelque chose que pas grand-monde ne semble vouloir voir.
C’est une jolie mesure de la dépendance de notre société à ces fossiles.
On est littéralement prêts à couvrir d’or les industries du fossile pour continuer à vivre aujourd’hui comme hier.
Et notre premier réflexe – très humain – c’est de s’indigner et de chercher à récupérer cet argent, avant de chercher à comprendre comment on pourrait ne pas leur donner.
Tiens, d’ailleurs, ça la décarbonation de l’économie, ça pourrait être une très bonne cible de tout cet argent qu’on a déjà dépensé dans du gaz, du pétrole et du charbon.
La connaissance libre : https://zestedesavoir.com
# Twitch le fait déjà en partie
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Une idée pour économiser 2.21 gigowatts sur la bande passante de Youtube. Évalué à 10. Dernière modification le 30 juillet 2022 à 12:39.
Sur Twitch, si la vidéo n'est pas affichée, elle passe automatiquement en passe qualité et revient à la qualité normale au réaffichage de la fenêtre. Le flux vidéo n'est pas totalement coupé pour éviter du noir au réaffichage de la fenêtre, je suppose. Ça fonctionne sur tous les navigateur et OS.
Donc au moins ce point est techniquement possible.
Twitch permet aussi de ne jouer que le son, sur une action volontaire de l'utilisateur.
En fait le comportement actuel de YouTube sur smartphone est bien pire que ça : ils détectent si la vidéo est affichée… pour interdire sa lecture si ça n'est pas le cas (cette possibilité est réservée aux clients payants – ou aux utilisateurs de Firefox mobile avec l'addon qui va bien).
PS : je ne crois pas que les codecs vidéo permettent de transmettre seulement une partie de l'image, surtout si elle n'est pas connue à l'avance.
La connaissance libre : https://zestedesavoir.com
[^] # Re: ClamAV est connu pour ses faux positifs
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Microsoft Visual C++ 2013 contenait-il un virus ?. Évalué à 10.
Étant donné ce que j'ai vu au cours de mes différents boulots, "Utilisé en milieu professionnel" a depuis longtemps cessé d'être synonyme d'une quelconque forme de qualité pour moi '
La connaissance libre : https://zestedesavoir.com
[^] # Re: ClamAV est connu pour ses faux positifs
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Microsoft Visual C++ 2013 contenait-il un virus ?. Évalué à 6.
Le problème n’est pas tellement d’avoir des faux positifs ou de ne pas avoir de faux négatifs, mais d’en avoir une quantité déraisonnable.
Par exemple, un « antivirus » qui lancerait une alerte sur tous les fichiers analysés aurait très exactement 0 % de faux négatifs et détecterait 100 % des virus… mais serait totalement inutilisable.
La connaissance libre : https://zestedesavoir.com
[^] # Re: Je m'en fiche de plus en plus.
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Hypocrisie d'énergie . Évalué à 2.
L'ASN explique comment sont déterminées les modifications temporaires de limites de rejet thermiques et c'est encore plus strict que ce que je pensais. Et entre moins utilisé, aussi.
La connaissance libre : https://zestedesavoir.com
[^] # Re: c'est toujours la faute aux gosses
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au lien Échecs : un robot casse le doigt d'un joueur de 7 ans, l'organisation rejette la faute sur l'enfant. Évalué à 6.
D’ailleurs, la gestion d’un arrêt d’urgence d’un système pareil (de tout système industriel ouvert en réalité) est un problème non-trivial. Est-ce qu’il faut bloquer tout mouvement – au risque de laisser coincé ce qui était déjà coincé ? Est-ce qu’on peut se contenter de couper les actionneurs – au risque que la gravité ou d’autres forces ne renvoient le système dans une position encore plus dangereuse ? Est-ce qu’on force une mise en position de sûreté – avec le risque de provoquer encore plus de dégâts dans la manœuvre ?
On considère généralement que l’arrêt d’urgence doit assurer la sécurité des personnes, ce qui implique presque toujours de couper toutes les énergies1. Mais « assurer la sécurité des personnes » est quelque chose qui dépend hautement de l’outil et de son contexte d’utilisation…
Dans le cas qui nous intéresse, peut-être que ce qui a été décidé c’est d’interrompre complètement le robot en le laissant en position, pour éviter de provoquer des dégâts supplémentaires en essayant de le mettre dans une éventuelle « position de sécurité ». Le robot a l’air de s’arrêter instantanément sur la vidéo, on ne sait pas si c’est une sécurité automatique ou s’il a été arrêté par un opérateur (ça n’est pas parce qu’on ne voit pas de gros bouton rouge qu’il n’y en a pas).
Bref, tout ça pour dire que : oui, il y a un comportement anormal du robot, mais que rien ne permet de dire si la réaction à ce comportement anormal est correcte ou non.
Il y a des exceptions, comme « empêcher le marteau-pilon de retomber tout seul sur la personne qui serait en-dessous », par exemple. ↩
La connaissance libre : https://zestedesavoir.com
[^] # Re: Je m'en fiche de plus en plus.
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Hypocrisie d'énergie . Évalué à 10.
On peut trouver plein de défauts au nucléaire civil sans avoir besoin d'en inventer. En particulier, ceci est faux, bien que répété en boucle par certaines associations :
En France on a une législation très stricte sur la température des rejets d'eau dans les rivières pour éviter la perturbation de la faune locale. Il arrive que les exploitants de centrales thermiques (dont nucléaires mais pas que) demandent des dérogations pour passer outre ces limites, de façon à pouvoir continuer d'exploiter à pleine puissance malgré ces lois.
Ces dérogations sont très faibles et sont souvent inutilisées : elles ne peuvert l'être que si RTE (et pas l'exploitant de la centrale) décide que c'est indispensable d'avoir la pleine puissance sur une centrale touchée. De plus, on a des dérogations demandées… Parce que la température en amont est déjà supérieure à celle autorisée par les rejets.
En résumé, les dérogations sur les températures de rejets de centrale, c'est un problème de protection stricte de l'environnement et pas du tout un problème de sûreté.
En fait, on sait très bien faire tourner une centrale nucléaire en plein désert.
Ça donne aussi des situations où on préfère allumer 1 GW de fuel plutôt que d'augmenter un peu la température d'une rivière (est-ce écologique ? Vous avez deux heures).
Plus que diversifier pour diversifier, il fait surtout utiliser tous les leviers à notre disposition, parce que ça va déjà être assez compliqué et douloureux sans se priver d'outil pour des raisons dogmatiques. Et ici ça concerne les anti-nucléaires et les tout-nucléaire.
La connaissance libre : https://zestedesavoir.com
[^] # Re: Petits gestes et grand vide
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Hypocrisie d'énergie . Évalué à 2.
Au sujet de la pollution des ultra-riches, cette réflexion très intéressante nous montre surtout qu’on ne pourra – hélas – pas se contenter de ce levier là, et de loin.
La connaissance libre : https://zestedesavoir.com
[^] # Re: Je m'en fiche de plus en plus.
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Hypocrisie d'énergie . Évalué à 7.
À petite échelle, des "écoguerriers" posaient des pièges (principalement des pointes et des câbles en travers du chemin) en forêt de Fontainebleau il y a une vingtaine d'années, pour interdire l'accès aux promeneurs et aux VTT. Leur revendication : que la forêt "redevienne une zone naturelle" – ce qui est très ironique quand on sait que cette forêt a été plantée et entretenue pour les chasses du roi il y a fort longtemps sur des terrains impropres à l'agriculture, et si mauvais que sans entretien ladite forêt se clairsème et meurt.
La connaissance libre : https://zestedesavoir.com
[^] # Re: Je m'en fiche de plus en plus.
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Hypocrisie d'énergie . Évalué à 10.
Une communication politique, fusse-t-elle d'un ministre de la santé lui-même médecin, n'est pas le consensus scientifique.
C'est d'ailleurs l'un des gros problèmes de la gestion du Covid.
La connaissance libre : https://zestedesavoir.com
[^] # C’est une réponse sur ce que je n’ai pas écrit
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Hypocrisie d'énergie . Évalué à 6.
Et donc ça n’appelle pas de réponse.
La connaissance libre : https://zestedesavoir.com
[^] # Re: Je m'en fiche de plus en plus.
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Hypocrisie d'énergie . Évalué à 10. Dernière modification le 24 juillet 2022 à 23:43.
Le consensus scientifique n'est pas « la vérité » (et n'a jamais prétendu l'être), mais c'est généralement ce qui s'en approche de façon le plus crédible, et les meilleurs arguments (dans le sens : les plus plausibles, les plus reproductibles, ceux auxquels ont peut accorder le plus de crédit) sont souvent de son côté, d'autant plus que le consensus est solide.
D'ailleurs, ce consensus peut évoluer et parfois de façon très significative en fonction des découvertes nouvelles – au contraire des dogmes suscités, qui restent identiques malgré les avancées. Ce point est d'ailleurs un bon marqueur qu'on a affaire à un vrai consensus et pas une opinion préalable.
La crise du Covid est un bon exemple à propos du consensus scientifique : ledit consensus y a été très largement piétiné, ignoré, tourné en ridicule par des politiques et charlatans qui voulaient faire avancer leurs agendas au mépris de la santé publique. La « parole scientifique » accessible au public pendant la crise du Covid (et encore maintenant) s'est massivement faite à l'encontre du consensus scientifique. Ça a posé des tas de questions sur la qualité de la parole scientifique dans les médias et de sa prise en compte par les politiques, ça a posé des tas de questions sur la vulgarisation de la science au grand public, autant de sujets qu'il serait bon de traiter. Par contre, les plus grands scandales du Covid (la chloroquine, les masques, etc) se sont faits à l'encontre du consensus scientifique.
La connaissance libre : https://zestedesavoir.com
[^] # Re: Je m'en fiche de plus en plus.
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Hypocrisie d'énergie . Évalué à 10.
Le problème, c'est que depuis des décennies, l'écologie – en particulier l'écologie politique – a été la chasse gardée d'associations et de partis qui sont dans le dogme et pas dans le consensus scientifique. Pire, ces gens là ont tellement réussi à prendre l'ascendant sur le mot « écologie » que toute proposition, fusse-t-elle étayée, qui sort de leur dogme, est considérée comme hérétique et dénoncée comme telle en place publique – même si la voix de l'écologie à base scientifique se fait de plus en plus entendre. On parle ici de gens qui sont prêts à raconter absolument tout et n'importe quoi dans le but de soutenir leur lutte, et ce même si ça va à la fois contre le consensus scientifique et toute forme d'acceptabilité sociale. On parle ici de gens qui n'imaginent pas que l'on puisse penser comme eux, et qui ne sont pas dans une démarche positive, qui ne cherchent pas à convaincre et à montrer les aspects positifs des actions qu'ils préconisent ; non : pour eux, toute parole qui ne suit pas leur dogme doit être tue1, et si on pense différemment c'est obligatoirement qu'on a tord. Le fait de convaincre du bien-fondé des opinions, celui de rassurer sur le fait que certaines mesures n'auront pas les conséquences délétères que l'on pourrait imaginer surtout si on s'y mets tôt avec assez de moyens, rien de tout ça n'entre en ligne de compte, et pour cause : on est censés être déjà convaincu du bien-fondé de toutes ces mesures – ou être idiot.
Dans le cadre de l'écologie politique, c'est encore pire : à ces dogmes se superposent le dogme de l'opposition : « Puisque les écologistes proposent X et qu'on est dans l'opposition, alors on va proposer l'inverse de X » – et ce sans la moindre considération pour ce qui serait intéressant pour la population et les écosystèmes. C'est comme ça qu'on arrive à des « débats » dans lesquels, par exemple, certains soutiennent qu'il faut impérativement se débarrasser des centrales électriques nucléaires, d'autres qu'il faudrait arrêter d'investir dans les énergies renouvelables et construire massivement des centrales nucléaires… sans jamais que personne ne se rappelle que le vrai problème, c'est d'abord et avant tout de se débarrasser des énergies fossiles, l'électricité nucléaire ou les énergies renouvelables n'état qu'un moyen pour atteindre ce but.
Et donc on en arrive en effet à une situation extrêmement frustrante, une lutte complètement hypocrite, à base de dogmes sans trop de rapports avec le consensus scientifique, où chacun défend son bout de gras parce que c'est son_ bout de gras, et pas parce que c'est une solution pour le bien commun.
Heureusement on entends de plus en plus – mais toujours pas assez – des partisans d'une écologie scientifique, beaucoup moins dogmatique2 dans son approche du sujet. Certains ont fait une image pour présenter la différence :
L'une des différences majeures, c'est que l'écologie scientifique ne propose quasiment jamais une solution miracle, mais très souvent un ensemble de chemins possibles avec leurs avantages et inconvénients ; à la chose politique de choisir lequel de ces chemins emprunter à partir de ces données. Comme exemple, on pourrait donner les différents de production électrique en 2050 par RTE.
À titre personnel, autant je trouve l'écologie politique « traditionnelle » absolument insupportable, autant l'écologie scientifique me passionne. Si je devais donner un point d'entrée dans le sujet, ça serait sans doute l'excellente chaine Le Réveilleur.
Par exemple, en faisant en sorte que les réunions d'information du public ne puissent pas se tenir parce que les militants empêchent les différents orateurs de prendre la parole – c'est doublement pratique, parce que non seulement aucune voix discordante ne peut être tenue, mais en plus ça permet de râler sur le fait qu'aucune réunion d'information publique n'a été faite. ↩
Mais pas toujours dépourvue de dogmes. Par contre, je ne parle ici que d'une véritable écologie scientifique. Ceci, en particulier, en exclut les scientistes, des dogmatiques qui sont persuadés qu'on peut faire un peu n'importe quoi parce que « la science » apportera des solutions. Notez d'ailleurs que certains points de dogmes écologistes sont aussi scientistes, par exemple quand certaines solutions proposées impliquent la mise en service massive et rapide de technologies qui sont à peine à l'état du démonstrateur aujourd'hui – je pense par exemple au stockage massif de l'électricité. ↩
La connaissance libre : https://zestedesavoir.com
[^] # Re: C'est moi ou c'est idiot ?
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Google forke C++. Évalué à 2.
La question derrière ma remarque, c'est que je ne sais pas si Nashorn (ou Rhino) faisaient partie de l'API standard, ni si le tooling fait partie de l'API standard.
C'est une question ouverte, pas une affirmation, et je vois des arguments dans les deux sens.
La connaissance libre : https://zestedesavoir.com
[^] # Re: C'est moi ou c'est idiot ?
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Google forke C++. Évalué à 4.
Dans ce cas pour moi on ne parle pas de la même chose. Je parle de la rétrocompatibilité des ABI et API uniquement, pas de la plateforme en entier.
On a jamais pu étendre un enum. Si un outil de test se servait d'une bidouille pour forcer quelque chose de normalement impossible (ici : créer une classe de mock qui étends l'enum) et que ça finit par péter, c'est pas de chance, mais pour moi c'est pas un problème de rétrocompatibilité : le comportement n'avait jamais été prévu ni officialisé.
Pour moi déprécier
sun.**
n'est pas « casser la rétrocompatibilité », puisque Sun puis Oracle ont toujours dit que ces packages étaient à usage interne, ne faisaient pas partie de l'API et ne devaient pas être utilisés. D'ailleurs des programmes qui utilisaient ces classes ne fonctionnaient pas sur des JVM non-Sun/Oracle, à commencer par la JVM d'IBM.Le fait que Java n'hésite pas à faire des doublons d'API, mais surtout des montages compliqués, des tonnes de sucre syntaxique qui masquent des pièges et finissent par aboutir à des demi-solutions bancales et peu pratiques. Par exemple et sans réfléchir : tout le système de boxing/unboxing, le type erasure dans les generics, la (non) gestion des checked exceptions dans les lambda – qui en plus n'a pas de solution élégante dans l'API standard.
En fait il fallait lire
HashTable
(qui a été remplacée parHashMap
justement).La connaissance libre : https://zestedesavoir.com
[^] # Re: C'est moi ou c'est idiot ?
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Google forke C++. Évalué à 5.
Je suis curieux, alors j'ai creusé un peu.
Dans les deux premiers cas, on est un peu sur des cas aux limites : l'ABI est compatible, l'API est compatible, mais quelque chose dans les outils et/ou la configuration externe fait que ça ne fonctionne plus. C'est clairement une rupture de compatibilité, mais à quel point c'est imputable à une non rétrocompatibilité de l'ABI ou de l'API de Java ?
La connaissance libre : https://zestedesavoir.com
[^] # Re: C'est moi ou c'est idiot ?
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au journal Google forke C++. Évalué à 4.
Même question que ci-dessus : est-ce que tu as des exemples ?
Je vois bien des problèmes de rétrocompatibilité (dans le sens : une vieille classe ne tourne plus sur une JVM récente) avec le passage de Java EE à Jakarta et le retrait de Nashorn.
Pour les modules et les sealed, je vois bien les problèmes de compatibilité mais je n'ai pas entendu parler de problèmes de _rétro_compatiblité au sens ci-dessus. Il y a bien des cas où tu es obligé d'ajouter des dépendances de modules d'API standard pour utiliser de vieilles classes dans un code récent qui utilise les modules, mais pour moi c'est un problème de compatibilité et pas de rétrocompatibilité, dans le sens où la vieille classe elle-même fonctionnera sans modification. Je n'ai pas non plus trouvé d'exemples après une recherche rapide ni n'en ait subi, donc si tu en as je prends.
Enfin et surtout, « sainte » ≠ « absolue » hein. Il y a des ruptures de compatibilité – il suffit d'aller sur les releases notes pour les voir, changez le numéro de version dans l'URL pour voir les autres, à partir de Java 10. Mais ça n'est que des changements dans les outils et options externes. Les rares changements d'API sont soit sur des API internes – je ne vais pas plaindre les gens dont le code a pété parce qu'ils utilisaient
sun.misc.BASE64Decoder
soit des trucs fondamentalement pétés depuis longtemps, soit des problèmes de sécurité, comme les récentes protections sur la réflexion, qui a bien mis le bazar dans les codes qui fonctionnaient précisément à cause de ce manque de protection, comme au hasard certains mods Minecraft.Et surtout, je n'ai vu aucun changement d'ABI, ce qui est quand même le sujet d'origine.
Un truc qui me gonfle avec la gestion de la compatibilité de Java, c'est qu'il semble y avoir une horreur à déprécier officiellement des trucs malgré la présence de remplacements depuis des décennies. Aujourd'hui, mi-2022, tu peux écrire du code complet à base de
Vector
,HashMap
,Date
et autres objets qui ont des remplacements bien plus pratiques sans que le langage ne te sorte le moindre avertissement. Que ces antiquités soient conservées pour la compatibilité, OK, mais elles n'ont plus rien à faire dans un code actuel.C'est peut-être ça qui manque à un langage qui veut garder autant de rétrocompatibilité que possible : un moyen de marquer une sorte de soft deprecated, qui indique que la fonctionnalité va être conservée pour compatibilité mais ne devrait plus être utilisée dans du code moderne – avec un indicateur la nouvelle méthode. Je pense que ça aiderait pas mal à améliorer la qualité de code, en particulier de tous les projets faits dans des usines à code où les développeurs n'en ont pas grand-chose à faire de suivre les nouveautés du langage.
La connaissance libre : https://zestedesavoir.com