CIWIDGET
Le plugin CIWIDGET permet d’ajouter des widgets dans le texte des articles.
CIWIDGET
Le plugin CIWIDGET permet d’ajouter des widgets dans le texte des articles.
Fonctionnement technique de la vérification des affichages conditionnels des saisies
Une documentation technique, qui explique comment le plugin Saisies vérifie les affichages conditionnels des saisies.
▻https://contrib.spip.net/Fonctionnement-technique-de-la-verification-des
Where to put #buttons on #forms
▻https://adamsilver.io/articles/where-to-put-buttons-in-forms
Align the primary button to the left edge of the inputs
illuminate a clear path to completion. Aligning inputs and actions with a strong vertical axis clearly communicates how to go about completing a form."
This layout also helps screen magnifier users to see it without having to pan across.
Les boutons des formulaires de #SPIP seraient mal placés ?
exemple de résultats du « Eye tracking » pour le premier point : ▻https://www.lukew.com/ff/entry.asp?571
C’est la rentrée chez ODGPROD, hop un ty dub pour la route :)
▻https://soundcloud.com/soulprodz/sets/soulprodz-travelz-odgprod2019
download par ici : ▻http://odgprod.com/2019/09/09/soulprodz-travelz
#son
#Simplicity (II)
▻https://bastianallgeier.com/notes/simplicity-part-2
When you ever had to fix just a few lines of CSS and it took two hours to get an ancient version of Gulp up and running, you know what I’m talking about.
Yes, I know, there’s Docker and if you are a real professional you would put everything in containers. But don’t ever tell me that this is making your life as easy as editing a plain HTML or CSS file.
less code === less potential issues
Automatically #compress #images on Pull Requests
▻https://calibreapp.com/blog/compress-images-in-prs
Calibre’s new #GitHub Action allows you to compress raster images with minimal setup automatically. Never ship unoptimised graphics again.The action uses the most efficient, lossless compression libraries—mozjpeg and libvips that work with PNGs and JPGs.
Priority Guides : A Content-First Alternative to Wireframes – A List Apart
►https://alistapart.com/article/priority-guides-a-content-first-alternative-to-wireframes
Une manière de commencer l’ergonomie uniquement sur une liste de contenus ordonnés, hiérarchisés. On se focalise sur la hiérarchie du contenu, sans préjuger du placement (je ne parle même pas des styles mais bien même pas du placement, layout, maquettes filaires). En plus c’est directement mobile-first, puisque juste en une longue colonne.
Du coup, en allant même plus loin que ce que montre l’article, cela peut se faire uniquement en texte amélioré (markdown par ex), et donc dans un pad commun à plusieurs. Cela permet de valider avec les propriétaires du site/clients le « qu’est-ce qu’on décide de mettre dans chaque page », sans du tout passer des heures à discuter de l’affichage.
Can I email… Support tables for #HTML and #CSS in #emails
▻https://www.caniemail.com
A site that offers support info on more than 50 HTML and CSS features tested across 25 email clients.
Proposition de loi de M. Daniel Fasquelle portant sur le rachat des
start-up financées par les aides publiques
« Lorsque la start-up rachetée par un très grand groupe a bénéficié
des aides publiques réservées aux jeunes pousses, le bénéficiaire
final de l’aide publique n’est autre que le groupe qui l’absorbe – et
ce, parfois peu d’années après que la start-up a bénéficié de fonds
publics.
Il est donc proposé que la plus-value réalisée à l’occasion de telles
acquisitions revienne à la puissance publique dans une proportion
correspondant à la part du financement public dans le financement
initial total de la start-up.
Cette règle aurait l’avantage majeur d’assurer à la collectivité
publique un juste retour sur investissement, tout en évitant qu’un
groupe ultra-dominant ne soit à brève échéance le bénéficiaire final
de l’investissement public. Le système serait tempéré par une
dégressivité : plus les créateurs de la start-up conservent celle-ci
longtemps, moins la somme à reverser à la puissance publique est
importante. (…)
▻http://www2.assemblee-nationale.fr/documents/notice/15/propositions/pion2235/(index)/depots
Alternative narratives visualization archive
▻https://alternative-narratives-vis-archive.com
This is an open, ongoing, and collaborative archive of data visualizations in online projects that showcase alternative narratives.
Flexbox ou Grid Layout ? - Alsacreations
▻https://www.alsacreations.com/article/lire/1794-flexbox-ou-grid-layout.html
CSS : combiner Flexbox et Grid layout pour l’organisation des pages web.
Voir aussi :
– ▻https://bigint.fr/blog/2018-12-19/CSS-Grid-ou-Flexbox-les-deux-bien-sr
– ▻https://la-cascade.io/utiliser-grid-ou-flexbox
– sur MDN :
. ressources pour grid layout :
concepts de base : ▻https://developer.mozilla.org/fr/docs/Web/CSS/CSS_Grid_Layout/Basic_Concepts_of_Grid_Layout
Références : ▻https://developer.mozilla.org/fr/docs/Web/CSS/CSS_Grid_Layout
Exemples : ►https://gridbyexample.com/examples
. ressources pour flexbox : ▻https://developer.mozilla.org/fr/docs/Web/CSS/CSS_Flexible_Box_Layout
A Twitter employee asked why their employer won’t ban neo Nazi tweets like they banned ISIS tweets.
The answer is that if you teach an AI to ban Nazis, it bans a lot of Republicans.
▻https://www.yahoo.com/entertainment/twitter-won-t-autoban-neo-193850606.html?guccounter=1&guce_referrer=aHR0cHM6L
C’est assez rigolo, mais en même temps, il y a cette phrase qui suggère que le filtrage par AI par particulièrement approximatif :
With every sort of content filter, there is a tradeoff, [the executive] explained. When a platform aggressively enforces against ISIS content, for instance, it can also flag innocent accounts as well, such as Arabic language broadcasters.
Si « Arabic language broadcasters » te classe dans la censure automatique anti-ISIS – mais « la société est prête à l’accepter » (quelle société, si ce n’est la société islamophobe et raciste du shithole country ?) –, le fait que des républicains soient confondus avec des néo-nazis ne m’apparaît plus si défendable (même si, bon quand même…).
Ce qui est vraiment consternant c’est que ce type de raisonnement est à la base des logiques de détection algorithmique que ça s’appelle IA, statistiques ou toute autre méthode qu’on voudra bien utiliser. Toute méthode produit des #erreurs (de 1ère espèce, faux positifs ou de 2nde espèce, faux négatifs) et, à l’usage, et on l’évalue en fonction de l’occurrence de la prévalence de l’élément que l’on cherche à détecter dans la population (resp. % de terroristes dans la population d’arabophones, % de néo-nazis chez les républicains).
Pour une intro de base, voire #Sensibilité et #Spécificité chez WP
▻https://fr.wikipedia.org/wiki/Sensibilité_et_spécificité
ou encore #courbe_ROC, #AUC, …
▻https://fr.wikipedia.org/wiki/Courbe_ROC
Après ces bases statistiques – toujours remarquablement absentes dès qu’on parle d’étendre un dispositif de surveillance/détection – mais après seulement, on peut parler en terme de coût (financier ou social) des erreurs des deux types. Et donc, ce que dit @arno, ce qui est socialement acceptable :
• vu la prévalence de l’islamo-terroriste et quels que soient les performances des détecteurs, on est pratiquement assuré que (presque) tous les positifs seront des faux positifs (et on s’en fout…)
• pour les néo-nazis, on risque surtout de buter sur l’endroit où on met la limite (et il n’est même pas avéré que les faux positifs soient fâchés de l’erreur de classification…)
@arno @simplicissimus Je dois être bouché à l’émeri, je comprends super mal vos deux raisonnements, mais tellement super mal que pour celui de @simplicissimus j’ai cherché le bouton « traduire ». C’est moi où les choses peuvent être dites avec clarté. J’ai vraiment essayé.
L’attrait de l’article, c’est l’idée que d’« après Twitter », s’ils censurent automatiquement les contenus néo-nazis, ils vont se retrouver à censurer des élus républicains (« faux positifs »), et ça nous fait à tous un peu plaisir de penser que ça confirme que les élus républicains ne sont pas bien loins des néo-nazis white-power. Si on résume cette logique : « la censure par l’AI de Twitter confirme que les républicains sont des fachos ».
Le problème, c’est que le même article signale que quand ils filtrent avec la même AI les contenus pro-ISIS, ça met dans le tas des contenus totalement innocents au motif que le simple fait de parler en arabe est un marqueur fort pour l’AI (faux positifs donc aussi).
Donc l’intérêt – a priori assez plaisant – de l’article, comme quoi les « erreurs » de l’AI de Twitter démontreraient ce qu’on pense déjà, c’est-à-dire que les républicains sont des fascistes, hé ben ça ne tient pas (sinon on accepte l’idée que les gens qui s’expriment en arabe sont pro-ISIS, puisque c’est ce que fait la même AI).
merci @arno, je vais te sous-traiter les réécritures de mes écrits « technique »…
Les mots sont « techniques », mais le principe est assez simple. Un « classificateur binaire » auquel fait référence WP, ça veut juste dire qu’on trie une population en 2 tas ; pour faire simple des « méchants » et des « gentils ». Ça marche pour plein de trucs : un œuf pourri dans la production d’un poulailler, un monsieur avec du plastic dans ses semelles parmi les passagers embarquant à Roissy, un « pas gentil » parmi les trombines des passants dans une rue, etc.
Toute méthode, automatisée ou pas, appliquée systématiquement produira des erreurs ; erreurs de DEUX types :
• un « gentil » pris pour un « méchant » (faux positif)
• un « méchant » pris pour un « gentil » (faux négatif)
et donc sera associée à DEUX risques, le risque des erreurs de la première espèce ET le risque des erreurs de la seconde espèce (au passage, ce sont les termes techniques).
Dans la plupart des méthodes, tu disposes (d’au moins) un paramètre qui te permet d’arbitrer entre ces deux risques. Ainsi, si tu ne veux pas avoir de faux positif, il suffit de décider que tout le monde est gentil ; le hic c’est que ta méthode n’interceptera plus aucun méchant. Et tu peux échanger entre les deux risques.
Typiquement, dans les exemples statistiques qui vont bien (en contrôle qualité, p. ex.) on considère des risques d’erreur de l’ordre de 5% à 10%. Prenons, p. ex. 5% pour le premier et 10% pour le second) au passage, dans la plupart des méthodes de surveillance, on en est très loin. Ainsi dans cet exemple pointé récemment, ▻https://seenthis.net/messages/799826, on trouve 19% des individus identifiés correctement ; on ne sait pas très bien à quoi ça correspond par rapport aux risques ci-dessus, mais on voit que 81% (le complément à 100%) des individus ne sont pas correctement reconnus.
Gardons 5% et 10%. Le dernier paramètre important pour modéliser le fonctionnement du système de surveillance, c’est le pourcentage a priori de « méchants » dans la population totale. Avec ça, tu vas pouvoir calculer combien, en moyenne, ton système produit d’erreurs et de quels types. Je prends par exemple, les passagers transitant à Roissy tous les jours, ça nous en fait environ 200 000, on peut raisonner « en moyenne ».
Si tu as en gros 30% de méchants dans la population, tu en vois passer 60 000 dont tu laisseras passer 10% (2ère espèce) de faux négatifs (6000) et dont tu arrêteras le reste, soit 54 000.
Sur les 140 000 gentils (les pas méchants, si tu préfères) 5% (1ère espèce) seront arrêtés, soit 7 000 et 133 000 passeront sans encombre.
Bilan : tous les jours tu interceptes 61 000 personnes dont 54 000 à juste titre et 7 000 par erreur. C’est encore admissible…
Mais 30% de méchants, c’est ÉNORME. Mettons en 1% (et c’est encore gigantesque) et refaisons les calculs.
2 000 méchants par jour, dont 200 passent au travers du filet et 1800 sont arrêtés
198 000 gentils dont 9900 sont arrêtés à tort.
Bilan : tu as arrêté 10 100 personnes dont 200 vrais méchants. De ce fait, outre le bazar que tu mets à l’embarquement, (pratiquement) toutes les personnes retenues le sont à tort, résultat, très vite, on ne s’occupera plus des alarmes.
Conclusion, très générale : quand ce que tu cherches est très peu fréquent dans la population, les méthodes de contrôle systématiques en population générale (càd appliquées à tout le monde) ne peuvent pas marcher. Toute personne affirmant le contraire est au mieux un ignare au pire un escroc manipulant les ignares. Ce qui marche (éventuellement) ce sont des méthodes spécifiques (par exemple un indic – on a aussi un exemple tout frais) appliquées sur des populations ciblées (càd où, a priori, le taux de méchants est plus élevé qu’en population générale). La seule justification (?) d’un contrôle systématique de disposer d’une gigantesque base de données qui te permet, quand tu connais le méchant de pouvoir le retrouver dans ta base).
OK, si tu souffres d’aritmophobie tu auras décroché très rapidement, mais la logique de ce type de calcul est assez simple et imparable, même si c’est un peu long à développer (ce qui fait que ça ne l’est rigoureusement jamais…)
PS : je sais que j’ai déjà développé ce genre de choses (au moins…) une fois ici.
@arno , @simplicissimus Comme je suis super content d’avoir osé dire (après une longue hésitation) que j’avais rien capté, parce que maintenant j’ai compris et je trouve cela vraiment très intéressant, je regrette même de ne l’apprendre que maintenant tant ce raisonnement des faux positifs et des faux négatifs m’aurait été tellement utile quand je travaillais dans l’informatique et que je me battais contre les avalanches de fausses alertes en tentant de faire remonter qu’elles étaient factrices de vraies alertes manquées.
Avouez que vous êtes l’un et l’autre nettement plus clairs dans vos deuxièmes contributions dont je vous remercie tous les deux.
Mais ça continue de me faire sourire qu’on confonde les Républicains avec des Nazis. Parce que c’est la même chose non ?
Diala a un geste, apparemment libanais, pour qualifier ma façon d’expliquer les choses : ça consiste à se boucher l’oreille gauche avec la main droite en faisant tout le tour de la tête.
Une amie proche de la famille avait un jour statué sur le fait que pour mes enfants la vraie punition c’était la longueur de l’explication. Ça nous avait beaucoup fait rire et cela avait été l’occasion d’une sérieuse remise en question paternelle, depuis quand je dois expliquer quelque chose à mes enfants on négocie avant l’explication le temps qui m’est imparti et on se sert d’un compte-minute.
▻http://desordre.net/photographie/numerique/divers/videos/20181014_pendule.mp4
en allant sur twittoland n’oublie pas ton bullshit detector @philippe_de_jonckheere
ПОДЛОГ | JARS => noise rock qui envoie bien du pâté !
we are jars you’re worse than us
▻https://jars.bandcamp.com/album/--2
▻https://jars.bandcamp.com/album/ii
#son
plus de titre de Jars, bien présent sur #bandcamp.
▻https://jars.bandcamp.com/music
▻https://siyanie.bandcamp.com
Siyanie publishing house, un label indépendant de l’ancienne #URSS. Dans le bloc de l’est #musique & production indépendante ont sûrement plus de sens qu’à l’ouest. De ce côté-ci, tout produit culturel (musique, bande dessinée, film...) avec une étiquette « indé » me semble suspect, voire du foutage de gueule.
Издательство Сияние - независимый рекорд-лейбл, занимающийся музыкой на территории бывшего СССР и Восточного блока. Нас не интересует жанр, стиль или формат музыки. Для нас важна самобытность и уникальность.
Мы выросли на музыке советских панк-групп типа Гражданской Обороны, групп 90-ых типа Химеры, советских рок-групп типа Аквариума и Аукцыона, российского хардкора типа Skygrain и Проверочной Линейки, советских и российских пост-панк групп типа Хуго-Уго и Петли Пристрастия.
У отечественной музыки есть свое собственное лицо, а у отечественных музыкантов - свой путь. Наша задача - показать его вам.
Siyanie Publishing House est une maison d’édition indépendante spécialisée dans la musique sur le territoire de l’ancienne URSS et du bloc de l’Est. Nous ne sommes pas intéressés par le genre, le style ou le format de la musique. L’identité et le caractère unique sont importants pour nous.
Nous avons grandi avec la musique de groupes punk soviétiques comme Civil Defense, de groupes des années 90 comme Chimera, de groupes de rock soviétique comme Aquarium et Auction, du hardcore russe type Skygrain et Checking Line, de groupes post-punk soviétiques et russes comme Hugo-Ugo et le Pretty Loop.
La musique russe a son propre visage, et les musiciens russes ont leur propre façon. Notre tâche est de vous le montrer.
▻http://izd-siyanie.ru
▻https://vk.com/izd.siyanie
source : Издательство Сияние sur discogs.com
@b_b il y a 2 mois, je partais en Chine avec @klaus
▻https://seenthis.net/messages/790041
belle série photographique de Igor Mukhin de keupons au pays des soviet.
▻https://camarademocratica.blogspot.com/search/label/IGOR%20MUKHIN
Installer LineageOS sur son appareil Android - LinuxFr.org
▻https://linuxfr.org/news/installer-lineageos-sur-son-appareil-android
#ordiphone #lineageOS #plus_de_liberté (mais la couche matérielle...)
Un super papier, pédagogique et tout.
Pas tout à fait un mode d’emploi mais ça se trouve sur d’autres site, dont celui de LineageOS.
Tri des articles par rubrique
Quand on veut afficher les articles dans un ordre différent selon les rubriques, par exemple des actualités par date anti-chronologique, un glossaire par ordre alphabétique, et d’autres rubriques par numéro d’article, il faut définir tous ces cas particuliers dans les squelettes. Ce plugin permet de simplifier tout cela et de définir dans l’espace privé le tri des articles, rubrique par rubrique.
Makicatta : redesign de l’interface de l’espace privée
Ce plugin propose un rafraîchissement de l’interface privée de SPIP en se basant sur AdminLTE tout en gardant un maximum de compatibilité avec les plugins. Le but est aussi d’apporter une interface responsive pour permettre aux utilisateurs d’éditer leur site SPIP sur mobile.
La saisie calcul
La saisie « calcul » prend automatiquement comme valeur le résultat d’un calcul dépendant des valeurs d’autres saisies.
Plugin Logos Multiples : disposez d’autant de logos que vous voulez
Ce plugin permet d’avoir plus de deux logos par objet éditorial.
Comment déclarer un modèle pour le plugin « Insérer Modèles »
Décrit le formulaire permettant de saisir les arguments d’un modèle monmodele
à l’aide d’un fichier YAML à placer dans le répertoire modeles/.
▻https://contrib.spip.net/Comment-declarer-un-modele-pour-le-plugin-Inserer
Spectral (HTML5UP)
Squelette adapté du thème Spectral de HTML5 UP ayant de nombreux effets « wahouuu » et un menu latéral droit en javascript en plus d’être en responsive design.
MARTINI stands for Mapbox’s Awesome Right-Triangulated Irregular Networks, Improved.
It’s an experimental JavaScript library for real-time #terrain mesh generation from height data. Given a (2k+1) × (2k+1) terrain grid, it generates a hierarchy of triangular meshes of varying level of detail in milliseconds. A work in progress.
See the algorithm in action and read more about how it works at ▻https://observablehq.com/@mourner/martin-real-time-rtin-terrain-mesh
To render terrain in #3D, you need a triangular mesh — a set of 3D triangles representing the surface. The easiest way to get one from height data is a uniform grid (two triangles per pixel), but that’s a lot of triangles. For fast rendering, we want to reduce this amount by adapting the mesh to the surface — using bigger triangles in relatively smooth areas, and smaller ones where there’s a lot of detail.
▻https://github.com/mapbox/martini
#map
Remote Triggering of Earthquakes
▻https://www.williamrchase.com/vizrisk/vizrisk_main/#close
Could one earthquake trigger another on the other side of the world?
The Invention of Africa by Franco & T.P.OK Jazz - Ntone Edjabe by PAN AFRICAN SPACE STATION | Mixcloud
Un programme radio génial et légèrement déjanté conçu par l’ami Ntone Edjabe de Chimurenga (Afrique du Sud) qu’on salue chaleureusement.
▻https://www.mixcloud.com/chimurenga/the-invention-of-tpok-jazz-dj-ntone
The Invention of Africa by Franco & T.P.OK Jazz - Ntone Edjabe
Ho oui du Franco, c’est parti pour deux heures de plaisir, merci @reka :)
Révision 116199 – SPIP-ZONE
▻https://zone.spip.net/trac/spip-zone/changeset/116199/spip-zone
Documentation provisoire du plugin SPIP « filtres_images_vectorise » qui propose 3 types de filtres de vectorisation d’images bitmaps en SVG.
Utilise soit la lib GeometrizePHP soit la lib PotRace soit une combinaison des 2.
Voir aussi :
– ▻https://github.com/Cerdic/geometrize-php pour GeometrizePHP
– ►https://github.com/Otamay/potracio (+ ►https://seenthis.net/messages/645575) pour PotRace
Ca va dépoter les SVG dans SPIP :-) !
#SVG #vectoriser #PHP #SPIP #filtres_images_vectorise #plugin
C’est beau :)
<BOUCLE_docs(DOCUMENTS){id_document IN 8,9}>
[(#FICHIER|image_reduire{#GET{taille}})]
[(#FICHIER|image_reduire{#GET{taille}}|image_geometrize)]
[(#FICHIER|image_reduire{#GET{taille}}|image_potrace)]
[(#FICHIER|image_reduire{#GET{taille}}|image_geopotrize)]
<hr/>
</BOUCLE_docs>
Par contre on dirait qu’il y a un petit glitch avec image_geopotrize
par défaut.
PS : le glitch est corrigé et c’est encore plus beau :)