Monthly Shaarli

All links of one month in a single page.

January, 2022

Que fait la police ? Le pouvoir d’influence insoupçonné de la typographie

Helvetica est massivement utilisé pour ses qualités objectives: équilibre, clarté, lisibilité et neutralité.

Garamond est une police consomment peu d'encre à l'impression.

Pour le web, Verdana est considéré comme plus adapté et lisible sur petits écrans.

Quand l’État paie pour disparaître, par Arnaud Bontemps, Prune Helfter-Noah & Arsène Ruhlmann (Le Monde diplomatique, novembre 2021)
Gitlab - Monitorer le CI de plusieurs projets

Un projet dédié à été crée afin de monitorer le CI de plusieurs projets: https://github.com/mvisonneau/gitlab-ci-pipelines-exporter

Le reste de l'article explique comment faire :)

inorganik/countUp.js: Animates a numerical value by counting to it

#idea #project a component wrapper for svelte ;)

Character Name Generator • The ULTIMATE Bank of 2,000,000+ Names

Generate random character names :)

Browsh

A text-based web browser in the terminal. It uses Firefox under the hood.

(via https://sebsauvage.net/links/?1SkqUg)

Can You Block It ? - A Simple Ad Block Tester

Test how much type of ads you can block

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

Framadate, notre première contribution au logiciel libre - DesignGouv

L'état francais a donc contribué via DesignGouv à Framadate, et ce serais la première contribution d'autres à venir 👍‍

Announcing Parcel CSS: A new CSS parser, compiler, and minifier written in Rust!
Stagiaire développeur : Trouver un stage en 2022 – Alex so yes

TL;DR;

En attendant, l’autonomie c’est la première qualité que l’on recherche chez un stagiaire en développement.

mais

Encore une fois pas de stress, tu es là pour apprendre, alors apprends de tes erreurs.

Un stagiaire en dev web n’est pas obligé de facturer tout son temps au client, loin de là.

Il est avant tout là pour apprendre même s’il doit être un minimum productif.

Durant ce laps de temps, il est très important que le stagiaire progresse de manière rapide pour l’entreprise.

Du point du vue du stagiaire:

Qu'est-ce que je peux apporter à l'entreprise en tant que stagiaire ?

Damien de l’équipe WeLoveDevs te conseille la chose suivante
Si cela ne fonctionne pas avec les RHs, il faut passer par les managers et les devs dans les équipes. Cela fonctionne particulièrement dans les grosses boîtes. Ce sont les managers qui ouvrent les postes 90% du temps, pas les RHs.

Sur le long terme, c’est le stagiaire développeur avec le meilleur mindset qui devient meilleur.

Aussi,

Pour former quelqu'un pendant 6 mois et le laisser partir, il faut une bonne raison.

et cela continue, ce n'est plus un TL;DR; là x)

Make Beautiful Gradients in CSS, with linear-gradient, radial-gradient, or conic-gradient.

TL;DR; Use hsl isntead of RGB to create a gradient. This will avoid a grey zone. But using hsl is not available in CSS for now, so we can use a linear-gradient from a multiple of colors instead. Each color have to be similar to its neighbors... and it works !

and here the tool: https://www.joshwcomeau.com/gradient-generator/

Usbek & Rica - « La langue française est profondément vivante et il est normal que nous n’écrivions plus comme Chateaubriand »

peut-on encore légitimement parler « d’une langue française » ou doit-on désormais parler de « plusieurs » langues françaises ?

Mais notre réponse scientifique est qu’il existe bien un corpus de règles générales fondamentales, une matrice de base sur laquelle viennent se greffer tous les usages Concernant les expressions figées, qui semblent a priori les plus variables

Getting Started with Arduino 101 - UDOO X86 Docs

Fixed my issue on Arduino Genuino

20 Things I've Learned in my 20 Years as a Software Engineer - Simple Thread
  1. I still don't know very much.
  2. The hardest part of software is building the right thing.
  3. The best software engineers think like designers.
  4. The best code is no code, or code you don't have to maintain.
  5. Software is a means to an end.
  6. Sometimes you have to stop sharpening the saw, and just start cutting shit.
  7. If you don’t have a good grasp of the universe of what’s possible, you can’t design a good system.
  8. Every system eventually sicks, get over it.
  9. Nobody asks "why" enough.
  10. We should be far more focused on avoiding 0.1x programmers than finding 10x programmers.
  11. One of the biggest differences between a senior engineer and a junior engineer is that they’ve formed opinions about the way things should be.
  12. People don’t really want innovation.
  13. Your data is the most important part of your system.
  14. Look for technological sharks.
  15. Don't mistake humility for ignorance.
  16. Software engineers should write regularly.
  17. Keep your processes as lean as possible.
  18. Software engineers, like all humans, need to feel ownership.
  19. Interviews are almost worthless for telling how good of a team member someone will be.
  20. Always strive to build a smaller system.

A blog post as response to it ?

Les immigrés coûtent moins à l'Etat qu'ils ne contribuent par l'impôt et les cotisations, selon l'OCDE

Individuellement, ils sont plus au chômage, perçoivent plus d'allocations, c'est vrai. C'est le raccourci qui est souvent mis en avant pour dire qu'ils coûtent très cher à la France. Sauf que ce résultat individuel est compensé par une structure d'âge, avec des immigrés qui sont souvent dans la population active et qui donc cotisent beaucoup.

The most powerful Git client for Mac and Windows | Tower Git Client
A Deep CSS Dive Into Radial And Conic Gradients — Smashing Magazine

TL;DR but still interesting. In case I need it, I know how to find it

On s'en fout du bibliothécaire

Ranger les mots par index permet de décharger entre la demande de l'utilisateur et sa réponse.

Tout est dans l'image, plus efficace qu'une recherche humaine dans un dicitonnaire par ordre alphabétique (approximativement une recherche dichotomique): https://www.camilab.co/content/images/2021/12/dictionnaire.png

Cela se fait au détriment:

  • du temps de construction de l'index au départ → à faire qu'une seule fois
  • de l'espace de stockage pour cet index → OSEF car le stockage est peu coûteux
  • l'accès au disque sera toujours moins rapide que conserver les données en mémoire -→comment compresser l'index ?
Despite having just 5.8% sales, over 38% of bug reports come from the Linux community : gamedev

The next question is:

  • are linux users more tech-savvy and they will report bugs
  • are users more willing to report bugs because they are on linux

🤔

A Reality Where CSS And JavaScript Don’t Exist…? | Kev Quirk

I bookmark this post especially for this code snippet:

body {
    margin: 0 auto;
    max-width: 40rem; // can be bigger but not too much ! (<= 80 I think)
    font-size: 1.2rem;
}

It makes a HTML website directly readable :)

L'université de Kyoto, au Japon, perd 77 To de données de recherche à la suite d'une erreur de sauvegarde, son superordinateur Hewlett-Packard les aurait effacées malencontreusement

:o

loicsuberville on Twitter: "French makes absolutely no sense… https://t.co/Yf3aEZduOv" / Twitter

personne (adjectif) <-> une personne
louer (bailleur) <-> louer (locataire)
hôte (qui reçoit) <-> hôte (qui est reçu)
plus (+) <-> plus (rien) → "As the double negation vanishes in oral language, you have "J'en veux plus" (mute final S) which means the opposite of "J'en veux plus" (pronounced final S)." @GuigoDalphinus

Il s'agit d'énantiosémie

« Démission d’étudiants infirmiers : Véran essaie de comprendre »
Pourquoi dit-on que Telegram est moins sécurisé que Signal ? - Numerama
28 Days Of Inspiration (February 2022 Desktop Wallpapers Edition) — Smashing Magazine
Fusion nucléaire : comment ce « soleil artificiel » s'est-il approché du seuil d'ignition ? - Numerama
Nicolas Berrod on Twitter: "Le taux d'hospitalisation des vaccinés avec rappel est... •20 fois moins élevé chez les 20-39 ans •14 fois moins élevé chez les 40-59 ans •10 fois moins élevé chez les 60-79 ans •5 fois moins élevé chez les + de 80 ans ...que celui des non-vaccinés (au 16/01). #Covid 1/4 https://t.co/XougZW0kBk" / Twitter

Le taux d'hospitalisation des vaccinés avec rappel est...

•20 fois moins élevé chez les 20-39 ans
•14 fois moins élevé chez les 40-59 ans
•10 fois moins élevé chez les 60-79 ans
•5 fois moins élevé chez les + de 80 ans

...que celui des non-vaccinés (au 16/01).

Font Flipper - Find Free Fonts

Find the right font for your need

Ludovic Le Moan, Sigfox : "Bientôt, une plante pourra envoyer un tweet lorsqu'elle a soif" - Liens en vrac de sebsauvage

Maintenant en redressement judiciaire (https://www.journaldunet.com/ebusiness/internet-mobile/1508391-sigfox-place-en-redressement-judiciaire/). Dommage car le service proposé semble incroyablement utile pour l'IoT. Et peu cher (à partir de 3€ par an), donc accessible.

Publicité : Google met fin à FLoC et annonce Topics

floc has been blocked by a majority of services (framework such as sveltekit, ....). So Google comes back with a new one.

Topics looks better.

The operation appears simpler than FLoC. First, the browser collects the interests for the week. It stores the information locally for the last three weeks. It is not communicated to any server and is deleted after this period.

When the person visits a site, it can draw from the local pool. Only one interest per week, for a maximum of three. Via Topics, a site would not go any further.

Note: auf Anhieb
Visualizing the Length of the Fine Print, for 14 Popular Apps - Visual Capitalist
Actually, on Twitter: "this is the best opening to a technical book the world has ever seen and i will fight anyone who says otherwise https://t.co/t6QxTdbiXK" / Twitter

INTRODUCTION
WALTER PLECKER WAS AN ASSHOLE.

In the 1920s, he was registrar of Virginia’s Bureau of Vital Sta-
tistics, the state government office that controlled birth, death,
marriage, and divorce records (http://bkaprt.com/eia/o0-01/). As
a frothing-at-the-mouth white supremacist, Plecker was terri-
fied of interracial marriage. Its very existence, he insisted, was
the result of poor categorization: white people were marrying
non-white people only because the government hadn’t labeled
them “correctly.”

Plecker decided that he could use bureaucracy to change this,
and he was right: all he had to do was relabel Virginia’s racial
categories, and racist laws took care of the rest. He reduced the
number of racial identity categories to just two, then altered and
enforced documentation to reflect his definitions.

This meant that a very small and specific group of people
were labeled white, and everyone who fell outside of Plecker’s
narrow view were not—and their lives changed accordingly.
The government saw them differently, identified them dif-
ferently, treated them differently. They no longer had access
to the same public spaces, the same schools, the same ser-
vices and safety nets afforded to white people. Marriages were
invalidated. Children were separated from parents. Virginians
lost agency over who they were—all because Walter Plecker
changed a label.

Changing a label is a design decision—one calculated, in this
case, to disenfranchise specific human beings.

Now, most of us don’t have Walter Plecker’s job. We are,
instead, designers, developers, copywriters, strategists. We
work on the web, and we may not think our work carries that
same weight.

I'm here to argue that it does. Whatever our role, we are
designers of information. Our choices alter the presentation
and flow of human knowledge. We control how people find,
understand, and use information in every facet of their lives.

‘We must be very, very careful.

How designing information can change the lives and the world

DioxusLabs/dioxus: Elegant React-like library for building user interfaces for desktop, web, mobile, SSR, liveview, and more.
xkcd: Formatting Meeting

2/3/22 ... U.S. formatted or E.U. formatted x)

epilys/rsqlite3: sqlite3 Rewritten in Rust 🦀🦀🦀

:o

Pika Backup – La sauvegarde simple sous Linux

À utiliser pour sauvegarder de simples documents :)

Web Accessibility Evaluation Tools List

A list of evaluation tools recommended by the W3C-WAI.

GitKraken | Legendary Git Tools
nota-bene.org, chez Stéphane

Un exemple de site qui utilise des liens d'évitement visibles, et deux au lieu d'un: « aller au contenu », OK, mais aussi « aller à la navigation »

Why is my Rust build so slow?

Going down into the mechanics with interesting stuff indeed.

12 Rust Tips and Tricks you might not know yet - Federico Terzi - A Software Engineering Journey
The ultimate SQLite extension set

SQLite est un système de BDD super, mais simple. Cependant, des extensions ont été dévelopée :+1:

(via https://sebsauvage.net/links/?580nAA)

Covid-19 : la majorité des patients en réanimation sont bien non vaccinés

Leçon:
Il faut bien sûr regarder les proportions par rapport à la population au lieu de comparer les chiffres bruts uniquement.

Facebook Inc devient Meta, Frances Haugen auditionnée en France
Accueil - Plan d'action logiciels libres et communs numériques
JavaScript Sudoku solver

From brute-force to optimized algorithm

RemoteFR: Tous les jobs de développeur 100% remote
raspi3:dietpi [Wiki de sebsauvage.net]

Un OS frugal pour Raspberry Pi

Home - Authelia

With Authelia you can login once and get access to all your web apps safely from the Web thanks to two-factor authentication.

Authelia is an open source authentication and authorization server protecting modern web applications by collaborating with reverse proxies such as NGINX, Traefik and HAProxy. Consequently, no code is required to protect your apps.

My Evaluation of SvelteKit for Full-Stack Web App Development - Casey Primozic's Homepage

+1

Une astuce pour Github à connaître

Replace the .com in the project with .dev to open a VS code editor online.

Or the shortcut . (dot) to go straight to this editor !

In this editor you can obviously consult all the sources of the project, but also modify them and push your changes to the github directly.

Listen Notes: The best podcast search engine

Search a specific podcast through all platforms.

Available in RSS feeds et API too.

Web Content Accessibility Guidelines (WCAG) 2.1

Latest standard of the year 2022

myme.no - Dark Mode

How to program a dark theme for a website. It is easier than expected with @media (prefers-color-scheme: dark) and css variables !

Have Single-Page Apps Ruined the Web? | Transitional Apps with Rich Harris, NYTimes - YouTube

Transitional apps or the apps between SPA and MPA.
These apps can deliver dynamic rendered pages, static pages or js-free pages depending of the needs.

Quand les sportives de haut niveau subissent le diktat de la beauté physique, critère de visibilité et donc de performance
Pourquoi manger ce qu’on mange ? | 42, la réponse à presque tout | ARTE - YouTube

« Des études ont montré que les enfants se tournent vers des aliments variés. »

Curtis Einsmann on Twitter: "For me, this was a life changing VS code tip. "workbench.tree.indent": 20 Here's the before and after. I wish I'd known this months ago! It would've saved so many headaches. 🤣 https://t.co/1Aeytq7VrZ" / Twitter

In the configuration: "workbench.tree.indent": 20 (20 as an example of indent space amount).

Marcel on Twitter: "Personne ne sera surpris d’apprendre que cette dame qui explique posément qu’il ne faut pas contredire la parole officielle même quand c’est un énorme mensonge est la directrice de la rédaction de BFMTV… Via @NicolasVdrines1 #Propaganda #BFMent https://t.co/vDenCZ6Epy" / Twitter

Donc la directrice de la rédaction de BFMTV a dit:
« il ne faut pas trop aller à rebours de la parole officielle, puisque ce serais fragiliser un consensus social. »

Lights at sea

A map of the lighthouses around the world 👍‍

Reshot | Free icons, illustrations & photos [no attribution]
Three Insights I Gained While Researching Vue.js Accessibility — Smashing Magazine
  1. Using vue props to congru accessibility, such as headline elements
  2. Use component reusability to make an accessibility feature once: a raw aria-live, vue announcer, and read more on the WAI-ARIA Authoring Practices https://github.com/w3c/aria-practices/issues
    -View And Help Vue’s Accessibility Initiatives Grow and references are in the post
    • Learn From React Accessibility Leads
  3. Vue’s $refs Are Great For Focus Management
Le départ fulgurant d'un drone qui passe de 0 à 200 km/h en 1 seconde ! - YouTube
Que choisir entre Rust et Go - Blob Trotter

Critiquer Rust sous prétexte que c’est un langage complexe conduit à passer à côté de ce qui fait sa force : il est pensé pour être expressif, ce qui signifie qu’il y a beaucoup de fonctionnalités, et dans la majorité des cas c’est ce que vous attendez d’un langage de programmation.

L'article est bien complet !

Mon avis: utiliser Go pour le code qui doit être déployé demain, Rust pour le code qui devra rester en production tel quel pour les 5 prochaines années
—Grzegorz Nosek

AOS - Animate on scroll library

Display an item on scroll.

About Quarchive

A tool similar to Shaarli: a bookmarks service that provide magic link (permalink), categories, etc...

A Simple But Effective Mental Health Routine For Programmers — Smashing Magazine

Some are

Resting awareness

  • Meditation
  • Mindfulness
  • Reflection
  • Body scanning
  • Visualization
  • Note-taking
  • Mindful programming

and related tips for casual cases !

Funny as it may sound, sleep is a really good technique to refresh our minds and bodies.

🤣

Firefox 96 est disponible ! Quoi de neuf ? - Numétopia

La qualité des appels audio passé avec le navigateur devrait être de meilleure qualité. En effet, la suppression du bruit, le contrôle automatique du gain et l’annulation de l’écho connaissent des améliorations significatives pour offrir une meilleure expérience.

+1

Iconoir | Free Icons
Usbek & Rica - En dix ans, « toutes les formes d’activités sexuelles » ont décliné aux États-Unis
Free on Twitter: "Liberté, égalité, prix inchangés. https://t.co/n0IdhVaeCq" / Twitter

Le deepfake est bien réalisé, il faut oser prendre le président de la république dans une telle parodie.

Créer des cheat sheets avec GitLab (ou GitHub) - Ourson’s blog

Utiliser les issues de ces deux plateformes pour avoir des cheatsheets :)

dvd | F-Droid - Free and Open Source Android App Repository

Download video from the web on mobile phone. It uses yt-dlp (formerly youtube-dl) 👍‍

50 Resources And Tools To Turbocharge Your Copywriting Skills — Smashing Magazine

Mhmhmhm I will read it when I will need to improve my english for sure !

Fork - a fast and friendly git client for Mac and Windows
Retour sur 2 ans d’auto-hébergement avec Yunohost | L'arbre à bafouilles
Dev corrupts NPM libs 'colors' and 'faker' breaking thousands of apps
Moxie Marlinspike >> Blog >> My first impressions of web3

Mhmhmhm some truth:

  • People don't want to run their own servers, and never will.
  • A protocol (email encryption, video over IRC, ...) moves much more slowly than a platform (Whatsapp e2e encryption in a year)

A sure recipe for success has been to take a 90’s protocol that was stuck in time, centralize it, and iterate quickly.

there is nothing particularly “distributed” about the apps themselves: they’re just normal react websites. The “distributedness” refers to where the state and the logic/permissions for updating the state lives: on the blockchain instead of in a “centralized” database.

All the network diagrams are of servers, the trust model is between servers, everything is about servers.

And because people don't want to run their own servers, it is a problem. So here it comes:

but virtually all clients that wish to access it do so by simply trusting the outputs from these two companies without any further verification

and its thoughts to solve it

Free Software is an Abject Failure - paritybit.ca - Le Hollandais Volant

Au niveau de la liberté des licences:

WTFPL > MIT > Apache

Rendre le code libre mais limiter sa distribution est un contre-sens.

Je comprends parfaitement l’idée de RMS d’obliger les distributions d’un code libre a rester libres tout au long de chaîne : ça permet à toutes les modifs d’êtres publiques et disponibles par tous.

Mais cette obligation de liberté est en soi un privation d’une liberté (celle de faire du non libre). Si ton code était réellement libre, cette liberté ne me serait pas retirée.

Quand on est vraiment pour la liberté, on doit pouvoir accepter que son code soit utilisé pour des choses qu’on ne cautionne pas, ou distribués d’une façon qu’on ne cautionne pas.

Je ne dis pas que tout le monde devrait faire ça. Je dis juste que tout code qui ne respecte pas ça n’est pas véritablement libre.

Deep-copying in JavaScript using structuredClone

Problems with deepcloning with JSON.stringify() / JSON.parse():

  • Recursive data structures: JSON.stringify() will throw when you give it a recursive data structure. This can happen quite easily when working with linked lists or trees.
  • Built-in types: JSON.stringify() will throw if the value contains other JS built-ins like Map, Set, Date, RegExp or ArrayBuffer.
  • Functions: JSON.stringify() will quietly discard functions.

The solution: the function structuredClone.