Monthly Shaarli

All links of one month in a single page.

December, 2021

Accessibilité : conformité vs. réalité – 24 jours de web

Un taux de conformité sur la base de RGAA est nécessaire d'après un decret de 2019.

Limitations entre le niveau de conformité et l'expérience utilisateur:

  • Le RGAA évolue sur deux principes: la présence d'éléments "accessibles" et leurs pertinences.
  • Un critère non conforme avec une seule erreur a exactement le même poids dans le calcul des taux que ce même critère non conforme avec une multitude d’erreurs
  • À moins d’être à 100 %, sans aucune exemption ni dérogation, un taux de conformité ne peut pas révéler un niveau d’accessibilité pour l’utilisatrice ou l’utilisateur car il n’intègre aucune évaluation de criticité: un bouton login inaccessible aura un énorme impact ! Cette notion de « missions premières » d’un site n’est pas prise en compte dans le calcul de ses taux de conformité.

De plus:

  • le niveau d'accessibilité est évalué à un instant T. Qu'en est-il après ?
  • des environnements de tests sont utilisés: dernière version d'un navigateur + NVDA/JAWS/VoiceOVer. D'autres environnements sont utilisés par les utilisateurs, qui sont en dehors de la couverture de test
  • la complexité intrinsèque du site peut rendre son utilisation complexe, et donc être moins accessible.
  • les appelations « Accessibilité: totalement conforme » (100%), « Accessibilité : partiellement conforme » (50-99%), « Accessibilité : non conforme » (<50%) prennent une place prépondérante. On parle plus de score, pourcentage et points que de l'accessibilité concrète des personnes. L'objectif est bien souvent d'être alors partiellement conforme, ce qui représente une faible accessibilité en soi (cf:article).
Pixel Art to CSS
Conditional Props • REPL • Svelte

A way to render conditionally the attributes of a tag.

Creating an object and setting the attributes as prop of the object if they should be rendered. Then use the spread operator on it:

<script>
    export let value = "";
    export let id = "";
    export let placeholder = "";
    export let type = "text";

  let conditionalAttributes = {};

  if (id) conditionalAttributes.id = id;
  if (placeholder) conditionalAttributes.placeholder = placeholder;
  if (type) conditionalAttributes.type = type;
</script>

<input {...conditionalAttributes} bind:value={value} />
Contrast Finder, find correct color contrasts for web accessibility (WCAG)

A great tool !
It finds the contrast automatically :)

Color Contrast Checker - TPGi

Make it available for Linux !

Home | OpenDyslexic

A font for people with dislexia 👍‍

CSS Grid Level 2: Here Comes Subgrid — Smashing Magazine

Now I understand how it is useful 👍‍

true-myth/true-myth: A library for safer and smarter error- and "nothing"-handling in TypeScript.

True Myth provides standard, type-safe wrappers and helper functions to help help you with two extremely common cases in programming:

  • not having a value
  • having a result where you need to deal with either success or failure
samir : Coffee → Software on Twitter: "I was just reminded that @sandimetz’s iconic statement, “duplication is far cheaper than the wrong abstraction”, applies just as much to teams and process as it does to code." / Twitter

"duplication is far cheaper than the wrong abstraction" applies just as much to teams and process as it does to code.

But also duplication is far more expensive than the right abstraction, and that is a far more common problem

If you see a process problem, solve it in one place first. Then solve it, separately, in another place.

Once you’ve solved it a few times, you can start to factor out commonalities. Early optimisation will probably just help you do the wrong thing faster.

Stack Overflow Launches – Joel on Software

The original post announcing StackOverflow.

And how to earn points :)

The ethics of Pull Requests, being the “Author” | werner-dijkerman.nl

Guidelines:

  • don't make it personal
  • don't fall in love with your code
  • reviewer is not alwyas right
  • Do make sure the why
  • Do make your own comments
Accessibility Myths
Cooklang: recipe markup language

Easy to use. It could be useful :)

So you can write and store your own recipes.

Usbek & Rica - « Le but du Métavers est clair : évincer petit à petit Facebook des projets de l’entreprise de Mark Zuckerberg »

Le métavers apporte une solution au Homeoffice, en étant connecté dans une pièce virtuelle commune de chez soi.

Les NFTs et produits virtuels prendront donc de la valeur pour sûr, puisque les gens y "vivent".

Mais ce futur est désirable pour qui ?


Éric Sadin, dans son ouvrage La Siliconisation du monde, définit cette nouvelle économie comme une « industrie de la vie ». Selon lui, l’industrie de la vie se définit comme le fait de « capitaliser sur les moindres manifestations de la vie, faisant émerger une économie adossée aux flux ininterrompus de la vie et du monde ». Avec, comme objectif, à terme, « que la quasi-totalité des gestes individuels et collectifs génère des données (…) faisant l’objet de multiples exploitations, d’ordre prioritairement commercial ».

CovidTracker - Suivez l'épidémie de Covid19 en France et dans le monde
Peut-on recommander Linux à tout le monde ?

TL;DR >OUI Linux est utilisable au quotidien MAIS qu’on pouvait quand même expérimenter des bugs au quotidien COMME pour Windows ou Mac MAIS QUE, de mon expérience, on rencontre quand même plus de désagrément sur Linux.

Le narcissisme, le feu et le protocole · Boris Schapira
Perma.cc

Perma.cc helps scholars, journals, courts, and others create permanent records of the web sources they cite.

The Rotting Internet Is a Collective Hallucination - The Atlantic

Points raised:

Les liens sont de plus en plus temporaires.
75% des liens cités de 1994 sont

Les connaissances scientifiques publiées sont gardées par des entreprises dont il faut payer un abonnement pour y accéder.

As the digital is the primary source of thruth, it easily allow to rewrite the content.

The case of the Kindle books is cited for many examples.

The links themselves are less used. There is an example of a district-court opinion pointing to a tiktiok video !

“A May 2020 TikTok video featuring the Reversible Octopus Plushies now has over 1.1 million likes and 7.8 million views. The video can be found at Girlfriends mood #teeturtle #octopus #cute #verycute #animalcrossing #cutie #girlfriend #mood #inamood #timeofmonth #chocolate #fyp #xyzcba #cbzzyz #t (tiktok.com).”

Again, the stunning success of the improbable, eccentric architecture of our internet came about because of a wise decision to favor the good over the perfect and the general over the specific. (called procrastination principle).
At some point, the procrastination principle paid off.

Some thoughts about the Wayback Machine and the Internet Archive 👍‍

A similar project: perma captures a webpage at a given point of time a provide a new URL in https//perma.cc/xxxx to access to it.

About restricted area that keeps record of dangerous or censored content. In those cases, there should be a means of record-keeping that, while unavailable to the public in just a few clicks, should be available to researchers wanting to understand the dynamics of online censorship. There is a restricted section in Howgwards btw.

In the same way, what happens when the InternetArchive forgets too ?

Facebook  : 2,9 milliards d’utilisateurs actifs par mois, avec un revenu moyen de 10 dollars chacun

2.9 milliards d'utilisateur sur Facebook, avec 1.9 milliards d'utilisateur actifs.
3.58 milliard d'utilisateurs sur Meta (+12%).

Le revenu moyen par utilisateur est de 10 dollars en moyenne. 52 dollars aux US et Canada, 16.,5 en Europe.

Stéphane Bortzmeyer on Twitter: "@DevelopHeure C'est pour éviter que des gens ne cliquent par accident sans faire attention (c'est une technique courante quand on donne l'URL d'un site Web malveillant)." / Twitter

Donner l'adresse du site en
hxxps://ludovic-bois.com/index.php
afin d'éviter que les gens cliquent sur ce lien rapidement et qu'il soit référencé dans les moteurs de recherche.

A challenger to the throne of vector graphics. SVG is dead, long live TinyVG! - Zig NEWS

A smaller format than SVG. It is a side project for now, but it looks promising.

I see IconVG in the comments too.

File:Senden, Schloss Senden -- 2020 -- 0486-90.jpg - Wikimedia Commons

Le château Senden

Contexte: senden signifie "Envoyer" en allemand. Ce mot est utilisé pour envoyer un message, lettre, email, formulaire. Le nombre de blague possible !

securite [Wiki de sebsauvage.net]

Une faille de sécurité concernant ZeroBin et la suppression d'un document via un token dans l'URL.

dzc34/headingsMap

Create and check the outline of a webpage.

EDIT: Since this extension is not maintained anymore, it could be useful to improve it, fix some bugs if there is some and make it even better :)

Note: Générer et valider automatiquement la structure parsé par des screen readers

En se basant sur A11y Outline, tester et valider cette structure de manière reproductible.

Avoir une extension plus propre et claire :D

Uncomfortable Truths in Software Engineering • Buttondown
  1. ... true at some point
  2. IDK
  3. TRUE. I see it between Typescript and Javascript. If you know how TS works, then
  4. I don't have enough experience about this to know if it is right to me
  5. Except with regulations
  6. True, but the API seems to be easier and more powerful over time. You can do now things that are more powerful than before.
  7. pairing +1
  8. YES
  9. Maybe. I am currently satisfied with the new cli tools (fd, exa, bat, nvim ...)
  10. Maybe
  11. They can be improved
  12. True as the companies does not want to get involved. But how to blame if your products are going to be more expensive than others.
  13. True. We need regulations. The GDPR in Europe or the accessibility laws in the US lead the way.
Professional maintainers: a wake-up call
RedWedgeX on Twitter: "My wife right now, I'm betting. https://t.co/cq3RNYJ2l5" / Twitter
  • I bet he's thinking about other women
  • log4j log4j log4j log4j log4j log4j log4j log4j log4j log4j log4j log4j
Christmas New Year Pixel Perfect Line icons FREE - Kit8.net
Free Christmas/New Year Icons by Cvijovic Zarko on Dribbble

Stamps, icon stamps !

20 Free Christmas Icons Pack | ZippyPixels
Blog Stéphane Bortzmeyer: Saisie de noms de domaine par Microsoft

TL;DR
Certains noms de domaine utilisent abusivement l'adresse et les coordonnées de Microsoft dans leur registre. Alors Microsoft a saisi la justice et a récupéré ces noms de domaine.

L'article de Bortzmeyer corrige à l'occasion les articles de ArsTechica et de Microsoft sur cette situation.

Abcde (prénom) — Wikipédia

A real lastname !

The ethics of Pull Requests, improving the Pull Requests process | werner-dijkerman.nl

Guidelines:

  • make small changes in each PR
  • precommit hooks
  • pair programming
Règles de programmation pour le développement sécurisé de logiciels en langage C | Agence nationale de la sécurité des systèmes d'information
Firefox is the Only Alternative - (think)

TL;DR;
all mainstream webbrowsers except Firefox are running on chromium

In the mean time every competitor that Google converts to Chromium strengthens their position and increases the influence they have over the future of web standards. Even today they can do pretty much everything they want to, but things can get even worse if they get to 95%+ of Chromium market share.

So Chromium is the new IE.

So Firefox is the currently the only "right" choice to make. More in the articles.

Today the browser [Firefox] is sleek, fast and resource-efficient.

Instant Messaging is no longer 'instant'

Three features are the source of an increasing amount of anxiety when it comes to instant messaging: read receipts, online status, and what I call "typing now... don't hold your breath" mode

What Read Receipts do accomplish is to tell the recipient that the sender now knows you have seen their message. Thus, the clock begins to tick to when you, per some unwritten social norm — which differs by sender and group — should reply or else you are ignoring that person.

About the feature "online status":

But now, everyone is essentially online all the time. There is nothing unique about it and you may don't want to reveal others that you are awake at 2am.

About the "is writing back" feature:

This is partially why I call it the "don't hold your breath" feature. You could be waiting, staring at your phone, ignoring the many other things you could do in that 30 seconds, and for your troubles get exactly... nothing.

How does this add real value to anyone?

These 3 annoying points are already solved by emails as it does not exist at all.

Le code du jeu Zelda 64 a fait l'objet d'une rétro-ingénierie réussie, rendant possibles les mods et les portages < News < Puissance Nintendo

The Legend of Zelda: Ocarina of Time !

(2) Marko ⚡ Denic on Twitter: "HTML tips you won't see in most tutorials. 🧵" / Twitter
  1. loading=lazy attribute to defer the loading of the image until the user scrolls to them
  2. <datalist> element to create native HTML autocomplete
  3. Email, call and SMS links
  4. Ordered lists start attribute to change the starting point of an ordered list.
  5. <input type="reset" /> to get a clear button for the forms
  6. <meter> element to display quantities
  7. window.opener returns the original page of a target="_blank". This can have security and performance implications. Include rel="noopener" or rel="noreferrer" to prevent this.
  8. <base target="_blank"> in the <head> to open all links in the document in a new tab.
  9. Favicon cache busting by adding a ?v=2 to the link of the favicon
  10. <details><summary>Summary</summary><p>Details</p></details>
  11. download attribute to a link download the file instead of navigating to it
  12. Use the webp image format to boost performance
  13. Use the poster attribute to specify an image to be shown while the video is downloading, or until the user hits the play button
  14. Use the spellcheck attribute to define whether the element may be checked for spelling errors.

👍‍

Low budget P2P content distribution with git - Gemini Portal

Use git to push and pull to get content, share them.

The author compares git repositories with the RSS feeds: a git repository is more versatile.

text is small.

👍‍

La DINUM | numerique.gouv.fr

La direction interministérielle du numérique permet de travailler sur du logiciel libre, pour l'intérêt des citoyens français.

Elle recrute: https://www.numerique.gouv.fr/rejoignez-nous

How to get a job as a remote software developer
'Re: Why Git is so fast (was: Re: Eric Sink's blog - notes on git,' - MARC

Some examples of why C is faster than Java, because C and algorithms

BrowserFrame | Wrap screenshots in browser frames
Renovate - Pour être toujours à jour dans vos dépendances

Utiliser Renovate pour gérer la mise à jour de ses dépendances. Sur Github et Azur, cela se fait en un clic. Ici pour Gitlab, une installation préalable est nécessaire.

Contre le typage statique dans Python

Les arguments relevés semblent pertinent:

D’où vient cette &é’çà& de requête ? – Carnet de notes

Comment pister l'origine d'une requête dans une BDD

Accueil| Les petits MO

Visiter le musée d'Orsay virtuellement. On y découvre des œuvres d'arts Ce site est dédié aux enfants.

Headless CMS: Organize your content for the world - Storyblok

Free for community. Up to 10 user seats.

It has a great interface with Vue 3 and Nuxt : https://www.storyblok.com/mp/storyblok-meets-vue3-nuxt3

xi/a11y-outline: web extension to navigate document outlines easily

Bring up a list of landmarks, headings or links as the screen readers does.

The extension is available for Firefox ou chrome (and related browsers ?).

HTML Standard

THE HTML standard.
Reading it from time to time can only help to become a better web developer.

Blog Stéphane Bortzmeyer: Log4shell, et le financement du logiciel libre

Un point de vue plus que justifié sur le mode de financement du logiciel libre.
Ce billet fait suite à la faille dans la bibliothèque Log4j.

Small, Non-Trivial Projects for Learning — Sympolymathesy, by Chris Krycho

A little project with a quasi daily positive impact. True Myth export 3 types: Maybe, Result and Unit.

J'aime [toujours] ma stack • Billets • Zeste de Savoir

Un retour d'expérience sur le développement d'un jeu, 1 an et demi après.

Voici le retour:

Microservices vs. Monolithe n'est pas la question: dans tous les cas, votre soucis le plus immédiat est d’isoler les composants chacun derrière des interfaces publiques clairement définies. Avoir un binaire par tâche ou plusieurs dépend en réalité du nombre de personnes et d'équipes qui travaillent sur le projet.

À voir le projet gRPC afin de faire communiquer les différentes interfaces. Pourquoi gRPC ? Pour générer automatiquement le code d'un service lorsque celui-ci se content d'exposer des méthodes CRUD sur une simple entité dans une base de données SQL.
Qui finalement s'est révélé moins pratique à la longue lorsque les requêtes se sont complexifiées.

Contrairement au dicton qu'il ne faut pas réinventer la roue, certaines valent mieux être réinventée. Ici:

  • l'ORM gorm par une bibliothèque plus bas niveau: sqlx
  • testify remplacé par rien

Finalement, ce n'est pas une réinvention, mais un débarras de surcouche en complexité.

Le mantra d'E.W. Djikstra:

Are you quite sure that all those bells and whistles, all those wonderful facilities of your so called powerful programming languages, belong to the solution set rather than the problem set?

la maîtrise du problème est beaucoup plus importante que la solution qu’on lui apporte

Concernant les tests: l'auteur recommande le TDD pour développer ce qui est utile uniquement.

Enfin il s'agit surtout de maîtriser le problème afin de parvenir à une excellente solution.

Cedille

Generate and improve your french texts

(via https://nicolas-delsaux.hd.free.fr/Shaarli/?WfrdOg)

Signal >> Blog >> Become a Signal Sustainer

Signal tends to have their incomes from their users. Users donating will be awarded of a badge on their profile. This will allow them to be consistent with their principles and to be independent, while giving reputation to their financial contributors.

We will see how this evolve :)

yt-dlp/yt-dlp: A youtube-dl fork with additional features and fixes

An active fork of youtube-dl as youtube-dl is now inactive.

Install (or update):

sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp

The commands remain the same.

(via the shaarli of Orangina Rouge)

Dislikes about email are Questionable

Email is unreliable for communication, no because:

  • can bounce around all sorts of broken internet issues for quite a while
  • it's a formal internet standard that does not rely upon a single failure point like most alternatives to email (Facebook Messenger, Slack, Skype, Discord, etc...)
  • yes there is no reliable "read" indicator, but it is the case for every app
  • the error messages are more detailed than "failed to send"

Email the a one-line replies doesn't add value:

  • it is the same for messaging apps :)
  • email does not quash or control the types of communication you can send

Email always top-quote:

  • you can reply the way you want. The message can be at the top of the previous message. You can also break up the original email and put the replies in-between.

De facto oligopoly of email providers:

  • same arguments as for other messaging apps
  • you can communicate between email providers, thing that you can not between messaging apps

Span and abuse:

  • same as other applications
  • but you don't have to do an outright block or mute notifications, you can put these emails into a buried folders or creating another rule: set up on auto-reply for it :)

Filters and organisation of email is often difficult. The tools provided are not always well suited for the task:

  • first is only learning simple rules
  • you are allow to filter and organize as you wish.
  • you are able to switch of email providers if the tools does not fit for your usage.

Threading is unreliable:

  • does not work at all on modern apps. Except Discord but it is confusing.

Email addresses are too tightly tied to your identity.

  • Seriously ?
  • You don't have to.

Searching is often inadequate

  • Tru about 20 years ago. Now it is powerful!