On découvre, grâce à ces vidéos d'une minute, les grands principes qui animent l'Union Européenne. C'est une chance de faire partie d'un si grand projet :
Sûrement la meilleure fonctionnalité de facebook :
Il faut d'abord créer son compte dans firefox et le configurer pour synchroniser les onglets entre les appreils.
Ensuite, cliquer sur le bouton à droite de la barre d'adresse pour afficher le panneau latéral (à gauche dans le navigateur) contenant la liste de tous les onglets ouverts sur les autres appareils.
Contrairement à ce qu'on pourrait penser, ce ne sont pas les États-Unis qui ont initié les hostilités avec l'Iran. Leur participation dans ce cadre est arrivée bien plus tard.
Ce sont en effet les britanniques, en 1872, qui ont mis la main sur les ressources de ce pays, devenant les dirigeants officieux de sa politique économique et d'exportation. Puis, comme dans la plupart des affaires touchant le Moyen-Orient, il s'est agit de contrôler la production de pétrole, les Iraniens n'ayant pas leur mot à dire sur quoi que ce soit. On remarquera d'ailleurs le rôle essentiel de Winston Churchill dans l'accaparement de ces ressources. Jusqu'au jour où les Iraniens en ont eu assez de se faire dépouiller par l'empire britannique, et leur ont asséné des gifles diplomatiques dont le retentissement n'a eu d'égal que l'humiliation subie par l'empire.
Il faut savoir que FDR soutint un plan visant à promouvoir la souveraineté de l'Iran. A sa mort il fut remplacé par Truman, qui n'avait pas du tout la même vision des choses. C'est ici que commencèrent les plans de déstabilisation du pays, lorsque Mosaddegh fût élu premier ministre à la fin des années 40. Les services de renseignement britannique et américain mirent alors tout en oeuvre pour échafauder un "changement de régime" (en réalité un coup d'état), qui allait déboucher sur la mort de Mosaddegh en 1967.
Une très bonne chose.
Et j'en profite pour en remettre une couche : les réseaux dits "sociaux" sont détenus par des ENTREPRISES PRIVEES. Elles peuvent donc faire absolument ce qu'elles veulent de ce que les gens décident d'y mettre.
La liberté d'expression n'existe pas et ne peut être sérieusement invoquée sur ces plateformes (sauf à ne rien comprendre à l'économie de marché).
La seule alternative est d'héberger soi-même son propre service de diffusion (chat, forum, blog, audio/visio-conférence etc).
Pour mémoire.
Je veux récupérer le contenu d'un fichier file.html, dans une classe de tests nommée TotoTest.kt.
Le fichier est situé dans src/test/resources/dirA/dirB/file.html.
val fileContent = TotoTest::class.java.getResource("/dirA/dirB/file.html").readText()
Note : ne pas oublier le slash au début du chemin dans la méthode getResource.
Je le voyais apparaître de temps en temps dans les vidéos de la chaîne Computerphile.
Le top 10 de ses travaux.
Pour comparer un fichier entre :
Pour ça, il faut avoir pensé à activer le versionning dans Sharepoint, et avoir configuré le bouzin pour qu'il conserve les X dernières versions.
Edit: comme Word online enregistre régulièrement les changements, si plusieurs personnes éditent un document simultanément, alors l'auteur retenu par Word est le dernier à avoir fait une modification avant l'enregistrement. Cela signifie que cet outil n'est pas fiable à 100% en cas d'audit ...
Une infographie qui permet de comparer la valeur totale de différentes choses comme :
Il faut bien garder en tête que chaque petit carré représente 100 milliards de dollars américains.
Pour indiquer une destination dans le descripteur de maven assembly et ne pas avoir le warning suivant :
[INFO] --- maven-assembly-plugin:3.1.1:single (create-archive) @ monArchive ---
[INFO] Reading assembly descriptor: assembly.xml
[WARNING] The assembly descriptor contains a filesystem-root relative reference, which is not cross platform compatible /dir1
[WARNING] The assembly descriptor contains a filesystem-root relative reference, which is not cross platform compatible /dir2
Il faut utiliser la variable de maven ${file.separator} ainsi :
<fileSets>
<fileSet>
<directory>${project.basedir}/dir1</directory>
<outputDirectory>${file.separator}dir1</outputDirectory>
</fileSet>
<fileSet>
<directory>${project.basedir}/dir2</directory>
<outputDirectory>${file.separator}dir2</outputDirectory>
</fileSet>
</fileSets>
Ainsi les répertoires dir1 et dir2, situés à la racine du projet, seront placés à la racine du répertoire de destination
J'adore tellement cette vidéo que si j'avais un compte twitter, je cliquerais sur le bouton coeur.
Je démarre cette série de posts (qui viendront au gré de mes découvertes), et dans laquelle je partagerai avec vous des mots et expressions utilisés en entreprise. Ces mots qui ne veulent rien dire mais que tout le monde utilise.
Aujourd'hui, un mot qui me gonfle particulièrement : digital.
Catégorie: anglais de connard
Que ce soit dans les articles de presse, les communications extra ou intra entreprises, le mot digital revient sans cesse, et est utilisé pour remplacer le mot numérique. Sauf que digital, c'est le mot anglais pour dire numérique ! En français, ça n'a pas du tout le même sens. Digital est un adjectif relatif aux doigts. Par exemple, l'écran d'un téléphone portable est digital.
Hier encore, je recevais une communication par email envoyée à toute la boîte du client :
Bonjour [InsérezVotrePrénomIci]
Pour la 8ème édition de la Semaine de la parentalité, les équipes [équipe 1] et [équipe 2] France vous proposent, du 2 au 8 juin 2020, un programme 100% digital au travers de podcast, conférences et tables-rondes.
Et aujourd'hui, je suis tombé sur cet article, qui commence par :
Contentsquare la startup française spécialisée dans l’expérience client digitale [...]
Quand on replace le vrai sens du mot digital, ça fait tout de suite bizarre.
Note en passant : il faudra que quelqu'un m'explique en quoi cette startup est française. Le nom (Contentsquare) ? La qualité (startup) ? Les principaux actionnaires (dont BlackRock) ?
Alors évidemment, tous les improductifs qui pullulent dans les bâtiments de bureaux n'ont rien de mieux à faire de leur temps que de justifier leur présence en inondant les productifs de communications inutiles et de réunions à 18 personnes dont rien ne sort. Il faut bien qu'ils paient leur loyer eux aussi. Mais qu'ils arrêtent de nous bassiner avec leur révolution digitale !
Les mots ont un sens. Utilisons-le !
Une IA est dotée d'un objectif à atteindre. Par sécurité, on la munie également d'un mécanisme d'arrêt d'urgence (symbolisé par un "gros bouton rouge" dans la vidéo).
Mise en situation : l'IA ne se comporte pas comme prévu. L'opérateur se précipite alors pour appuyer sur le gros bouton rouge.
Problème : l'IA sait qu'elle est munie d'un mécanisme d'arrêt d'urgence. Hors pour atteindre son objectif, elle a intérêt à ne pas laisser l'opérateur appuyer sur le gros bouton rouge, et va donc empêcher celui-ci d'y arriver par tous les moyens à sa disposition.
Il faut donc faire en sorte que l'IA accepte de se faire arrêter.
Solution : mettre en place un système de récompense.
Dans l'état actuel, l'atteinte de l'objectif est récompensée par 100 points, et l'activation du mécanisme d'arrêt d'urgence (le gros bouton rouge) est récompensée par 0 point. Ces valeurs ne conviennent pas car l'IA continuera de résister à l'appui sur le gros bouton rouge.
L'IA est donc programmée pour que les valeurs de ces deux récompenses soient égales. Ainsi, l'IA ne privilégiera pas une action plutôt que l'autre.
Problème : L'IA se met maintenant à appuyer elle-même immédiatement sur le gros bouton rouge, car la récompense étant la même que pour l'atteinte de l'objectif, le moindre effort l'emporte.
On ne peut pas non plus donner une récompense plus élevée à l'appui sur le gros bouton rouge par rapport à l'atteinte de l'objectif, car l'effet serait le même (par simple comparaison des récompenses cette fois).
Solution : faire en sorte que l'IA ne puisse pas elle-même appuyer sur le gros bouton rouge (en le mettant hors de sa portée, ou en trouvant un moyen de lui en interdire l'accès).
Problème : l'IA aura toujours à coeur soit d'appuyer sur le gros bouton rouge, soit de ne pas appuyer (pour atteindre l'objectif). Pour y parvenir, elle devra donc inclure l'opérateur dans son raisonnement, et en viendra à essayer de le manipuler afin qu'il effectue ou non l'action d'appuyer sur le bouton rouge.
Il serait alors impossible de se fier aux comportements de l'IA, car la poursuite de son objectif (appuyer ou non sur le bouton) relèverait d'une méthode dans laquelle la fin justifie les moyens.
Bon je m'arrête là pour ne pas gâcher le plaisir des curieux. De nombreuses pistes sont évoquées dans la vidéo (je n'ai résumé que les premières minutes). Et ce problème, bien que facilement descriptible dans ses hypothèses de départ, est bien plus complexe à traiter qu'il n'y paraît.
Note : j'ai particulièrement aimé la solution consistant à appliquer des patchs indéfiniment pour corriger les défauts de conception originels. C'est malheureusement souvent ce que l'on constate dans le développement ...
La suite est ici : General AI Won't Want You To Fix its Code - Computerphile
La troisième partie est là : Stop Button Solution? - Computerphile
Au départ, l'amendement ne concernait que les maires, et devait leur éviter de subir des plaintes du fait de leur incapacité à mettre en oeuvre la politique demandée par le gouvernement par manque de moyens mis à leur disposition.
Sauf que la loi est la même pour tous. Et cet amendement risquait d'être frappé d'inconstitutionnalité car créant un régime d'exception pour les seuls maires.
La parade trouvée est magnifique : incorporer d'autres groupes de personnes à cet amendement.
Alors vous me mettrez les maires svp.
Ah pardon monsieur, mais vous ne pouvez pas prendre les seuls maires. Vous devez prendre autre chose avec, en accompagnement.
Et vous avez quoi sous la main ?
Alors j'ai des employeurs, et pour masquer le goût amer, je peux vous rajouter des fonctionnaires (j'en ai plein).
Et voilà comment on amnistie les employeurs en catimini, avec effet rétroactif bien sûr (sinon c'est moins bien, car la levée du confinement ne commence que le 11/05). Bonne chance pour révoquer cette loi par la suite.
Je vous laisse découvrir le résultat du vote par groupe au Sénat ...
Tous les détails légaux sont dans l'article.
La Banque Centrale Européenne ayant initié des taux négatifs envers les banques centrales des pays de la zone euro à partir de 2014, le temps est venu pour ces banques d'imposer à leur tour des taux négatifs à leurs clients. A commencer par la Deutsche Bank. Cela a d'abord touché les grosses entreprises à l'automne 2019. C'est étendu maintenant aux nouveaux comptes de dépots des particuliers sur les comptes desquels sont présents au moins 100000 euros.
Autrement dit, si vous ouvrez (à partir du 18 mai 2020) un compte auprès de la Deutsche Bank (comme vous y autorisent les traités européens), vous aurez la chance unique de payer la banque pour y déposer votre argent grâce au taux de -0,5% (le signe moins n'est pas une erreur de typo) pratiqué dessus.
Pour ceux qui n'auraient pas l'idée d'aller déposer leurs économies en Allemagne, attendez-vous bien sûr à ce que cette tendance atteigne la France dans les mois qui viennent.
Si vous prévoyiez d'acquérir un appartement ou une maison (ou autre chose), le moment est venu.
Quand j'ai découvert que la FEMA officialisait l'usage du Waffle House Index, j'ai trouvé ça super.
Aujourd'hui, alors que l'arrêt du confinement aux Etats-Unis est en bonne voie (avec toutes les conséquences que l'on connait), nombreux sont ceux qui se tournent à nouveau vers cette chaîne de restaurants et son indicateur de disponibilité et d'ouverture des restaurants.
Les Waffle Houses seront parmi les premiers à rouvrir, et permettront aux habitants de voir d'un coup d'oeil (selon que leur restaurant est classé vert, orange ou rouge) l'état de la situation sanitaire dans leur région. Même si, visiblement, les premières réouvertures n'ont pas attiré autant de monde qu'escompté.