Monthly Shaarli

All links of one month in a single page.

February, 2020

An intro to web components with otters – Monica Dinculescu
Unsafe as a Human-Assisted Type System

The cool things in Rust is that if there is a problem wit compiled code it will direct point to the unsafe parts of the code.

Use .bashrc.d directory instead of bloated .bashrc - Quentin ADAM - Medium

Done it. It will be easier to maintain the configuration of the shell ☺

TypeScript 3.8 intronise une nouvelle syntaxe pour l’import/export des types - Next INpact
Note: Use $HOME instead of ~ in bash script

My last example is with tmux: the .bashrc is not well and after investigating, it turns out "$HOME/toMyPath" solved my problem.

Pourquoi les tests sont importants - Get rich or dev tryin'
Je n’embauche jamais de poisson pané. Alors arrêtez de vous présenter comme tel.
Rien à cacher » Zone de non-droit

À propos du je n'ai rien à cacher

Early Impressions of Go from a Rust Programmer | TiDB
« Face à la crise écologique, la rébellion est nécessaire » – Appel de 1000 scientifiques
amos - Working with strings in Rust

Why String and &str with comparisons to C ? ^^

Tremble, HADOPI ! – La Quadrature du Net
Agile as Trauma — Dorian Taylor
Blog Stéphane Bortzmeyer: RFC 8656: Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)

Aller plus loin que STUN; avec les avantages et inconvénients que cela implique.

Comment modifier ou supprimer un fichier immuable sous Linux ? - Geeek.org

Je ne connaissais pas ce système d'immutabilité 😲

{Slack} – Sauvegarder automatiquement les messages envoyés & reçus | Dyrk
Interopérabilitay » Zone de non-droit
Simple Mobile Tools

Applications that works well without ads and trackers.

(shared by https://lehollandaisvolant.net/?id=20200221200958)

Ransomware : les ordinateurs de la Région Grand Est totalement paralysés par un virus | Lorraine Actu
Rust for Java Devs
Why is Rust the Most Loved Programming Language?
HTTPie – command line HTTP client

An alternative to curl and wget for the http requests. So easy to use <3
(shared by https://sebsauvage.net/links/?ptcFEQ)

Blog Stéphane Bortzmeyer: À propos du débat sur la 5G
GitHub - php-school/cli-menu: 🖥 Build beautiful PHP CLI menus. Simple yet Powerful. Expressive DSL.
L’écriture inclusive, mère de toutes les batailles? - Le Temps
Don't touch my clipboard · Caffeinspiration
foone sur Twitter : "So I learned of an amusing bug today: Docker for Windows won't run if you have the Razer Synapse driver management tool running. But the reason is the funny part... https://t.co/s42SeQ949z" / Twitter

LOL. Lesson : don't copy/paste without knowing what's happening
Explanations in french by Korben : Une erreur de code sur StackOverflow perpétue un bug depuis plus de 10 ans

refcards/FR.md at master · ineat/refcards · GitHub
aeris 🏳️‍🌈 on Twitter: "Mouimouimouimouimoui… 🤔 https://t.co/4Il7PhkqaP" / Twitter

If your survey is strictly anonymous; but binding the survey with these domain names such as :

  • fonts.googleapis.com
  • gstatic.com
  • fonts.google.com
  • segment.com
  • ( cdn.segment.com )

then your survey is not anonymous

Onedev – Une alternative légère à Gitlab – Korben
C’est quoi la fibre de carbone ? - Couleur-Science
Hitler uses Kubernetes - Invidious

I can finally ditch Go and use a real language: Rust

😁

refcards/FR.md at master · ineat/refcards · GitHub

French documentation on the use of git. It seems complete.

  • git clone --depth=3 will clone only the last 3 commits

À propos des différents rebase :

standard : synchroniser une branche par rapport à une autre
interactif : réécrire l'historique de la branche courante
onto : rattacher le premier commit d'une branche à la HEAD d'une autre branche

(shared by Riduidel : https://nicolas-delsaux.hd.free.fr/Shaarli/?TfMhpQ)

Diagrams · Diagram as Code

A python tool that generate beautiful diagrams from code

« Il ne faut plus avoir peur de devenir développeuse web »
4x academy award winner bong joon ho on Twitter: "chaotic good and chaotic evil readers https://t.co/QQM5RGYB4u" / Twitter

Sometimes lawful evil depending on circumstances; often a true neutral though.

But yet a lawful neutral thanks to Internet :D

The Difference Between Fault Tolerance, High Availability, & Disaster Recovery

Great metaphores :)

Plastic SCM blog: Merge recursive strategy
The Typestate Pattern in Rust - Cliffle
Custom Styling Form Inputs With Modern CSS Features | CSS-Tricks
Numérique ou Digital ?

(shared by aeris on Twitter)

Quand utiliser les assert en python ? -
Using NgOnDestroy with Services in Angular - Angular 7 | 8

Easy to understand ^^'

La recherche ne marche plus sur Windows 10 ? Vous n'êtes pas seuls - Tech - Numerama

Dans Windows 10, lorsque vous cherchez des fichiers présents sur votre ordinateur, le système fait appel aux serveurs de Bing. Donc lorsque Bing est en panne, vous ne pouvez plus rien retrouver sur votre poste. Comment a-t-on pu en arriver là ?

[fast-translate in english]

When you search for files on your computer with Windows 10, the system requests bing's servers. So when bing's servers are down, you can't search for anything on your PC. How did it come to this ?

(shared by @clochix on Twitter)

Windows, un système pour professionnel...
Bismatoj on Twitter: "Et ça, vraiment ça m'enrage. Ils nous méprisent tellement qu'ils nous croient même plus capables de vérifier la couleur d'un éléphant" / Twitter

À propos des congés portés à 12 jours...
Wesh

Enter The Eye - Open Directory Data Archive

140 To d'archives. De tout: musique, jeux, logiciels, bande dessinées...

(shared by Sebsauvage)

Google: Oops, we may have sent your private Google Photos videos to strangers

(via Sebsauvage)

Ian Coldwater on Twitter: "Dear app developers, If I download your app to try out and you want me to make an account before I can try it, I’m not going to make an account. I’m just going to delete your app." / Twitter
Git merge only commits within branch - Stack Overflow

Applying a range of commit in git : git cherry-pick fromCommit..ToCommit

Aral Balkan 🕷 (@aral@mastodon.ar.al) on Twitter: "Imagine the web without view source, where it’s an order of magnitude harder to filter surveillance, etc. That’s WebAssembly. Couple that with HTTP2/3 & you have a surveillance capitalist’s wet dream. Heck, it’s almost like they’re writing the standards. Wait a minute, they are! https://t.co/N1X4wAJrKG" / Twitter

Legit.
(shared by Riduidel)

Linux: htop Explained Visually - AhsenSaeed
Karol Kuczmarski's Blog – Terminating a Stream in Rust

About asynchronous streams: default behavior is that it terminates earlier when an error is generated by the stream. How to close the stream before returning the error ?

« On est aliéné parce qu’on se sent à la foi libre et perdu »

À partir du moment où on se demande ce que ça va donner en photo, alors l’expérience est tuée. La logique dominante devient : est-ce que ça ferait un bon post Instagram ?

9 Best Screen Recorders for Linux in 2020

just in case

Kleine Bilder … aber wie? – NOVATREND Blog

Ok, then use the WebP format if possible with a fallback to JPEG :

<picture>
<source srcset="/pfad/Katze.webp" type="image/webp">
<img src="/pfad/Katze.jpg"> <!-- fallback if webp not supported -->
</picture>

And how to convert images to webp with bash tools

Let's Encrypt a délivré plus d’un milliard de certificats - Next INpact
Rust in Python made easy - cupcakearmy

Binding python and rust

Production Oriented Development
Gagner en productivité avec Tmuxinator - Get rich or dev tryin'

Using Tmuxinator 🥰

“Oui mais tu peux configurer un script sh pour quand tu lances tmux toussa toussa”. Oui, j’ai pas ton temps, frère. Je suis là pour être productive et botter des culs avec mes nouvelles Doc Martens.

😎

Et l'autre manière est de scripter tout cela : un exemple de home.lord.

Guide to Internal Communication, the Basecamp Way
Comment rechercher des correspondances faciales comme la NSA ? – Korben
Ce qui menace nos libertés | Signaux Faibles
Addiction au jeu vidéo, attention à ne pas trop (s’)en faire ! – Le Super Media
"For every iPad that we buy kids at school, we could have bought more than 10 R-PIs and network switch, along with sensors, wifi, Ethernet, 16GB memory, LEDs, motors, etc ... and which could be replicated at home, and get parents involved. We have a whole lot of new inventors https://t.co/Y6LEH2It8W" / Twitter - Liens en vrac de sebsauvage

Mais OUI
(via Sebsauvage)

Green threads - Wikipedia

In computer programming, green threads are threads that are scheduled by a runtime library or virtual machine (VM) instead of natively by the underlying operating system (OS). [...]

Wikipedia ♥

Google accusé d'espionner les élèves américains | MacGeneration
🕉 Swâmi Petaramesh ⛱ on Twitter: "Je suis toujours aussi épastrouillé de voir mon #RaspberryPi 4 à 65€ booter @ManjaroLinux #ARM en 25 secondes jusqu'à l'ouverture de session graphique plus 20 secondes pour le démarrage complet de #KDE. Soit 45 secondes pour KDE quoi 🤩 REP A SA PC #WINDOWS à 1000 € 💪 https://t.co/O5t9wE7CF7" / Twitter

Des pc low-cost en perspective. Un RaspberryPi 4 qui boot sous KDE pour un démarrage en 45 secondes.

GitHub - chrislgarry/Apollo-11: Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules.

Source code of Appolo-11 ! Ok I understand nothing x)

Microsoft Surface Laptop 3 Screens Are Spontaneously Cracking

So professional as usual x)

Comprendre Terraform (infra-as-code) en 5 minutes - Je suis un dev
BZSt - Fehler im Formular:Finanzamtsuche

Useful to get the Finanzamt-Nummer

Programmation par Traits sous l'influence de la gestion mémoire (Didier Plaindoux) - Invidious
Blog Stéphane Bortzmeyer: BGP et le désormais célèbre attribut 99
Social Authentication With Masonite Framework - Hello Masonite- Webdevelopment with Masonite
👻🎃 Status Quo 🎃👻 on Twitter: "A list of useful tools more #rustlang developers should use." / Twitter
System32Comics on Twitter: "My love for you is like a Windows Update <3 https://t.co/DRLA6FxUmq" / Twitter
Les phrases de passe - Le blog de Genma

Avec l'article sur les phrases de passes : comment les générer et pourquoi ?

EDF et ENGIE : mises en demeure pour non-respect de certaines conditions de recueil du consentement concernant les données des compteurs communicants | CNIL

Mais quelle surprise ! Alors qu'on nous avais dis le contraire
(shared by le hollandais volant : https://www.cnil.fr/fr/edf-et-engie-mises-en-demeure-pour-non-respect-de-certaines-conditions-de-recueil-du-consentement)

Crypto AG — Wikipédia

If it's true, it's huge.
The swiss society Crypto AG has sold encryption equipment to 120 countries for decade, including armies (Latin America, India, Pakistan, the Vatican, etc.).
Except that the CIA has controlled this company since 1970. So they can decipher communications.
And that lasted until 2018.
(shared by sebsauvage : https://sebsauvage.net/links/?vOvAeQ)

Pour plus de développeuses - Je suis un dev
amos - Declarative memory management

[fiction] From C code with a lot of bugs to Rust with improvments

Is Having an RSS Feed Just Giving Content Away for Free? - Warrior du Dimanche

Récap en français du Warrior du Dimanche.

But the question seems uneccessary : yes RSS give content for free, but you can truncate the content and only give an overview. If you want to make money with it, install a paywall...
(via Warrior Du Dimanche)

The CSS Cascade

Priority order :

  • Importance
    1. transition
    2. !important
    3. animation
    4. normal rules
  • Origin
    1. Website
    2. User
    3. Browser
  • Specificity
    1. inline (within a style HTML property)
    2. id
    3. class | attribute | pseudo-class
    4. type | pseudo-element
  • Position --> Order of the rules (rules defined later are first applied)
Karol Kuczmarski's Blog – Unfolding a Stream of paginated items
amos - Huffman 101

About Huffman coding

Solving a biological puzzle: How stress causes gray hair: Scientists uncover link between the nervous system and stem cells that regenerate pigment -- ScienceDaily

(via sebsauvage)

GNU Recutils

Overview of the recutils tools to manage a database with plain text files

Why Discord is switching from Go to Rust - Discord Blog

To be clear, we don’t think you should rewrite everything in rust just because.

Tendance to RIIR x)

Karol Kuczmarski's Blog – Taking string arguments in Rust

&str, String or &String ?
In most cases, &str is what is needed.

Shaarli de Riduidel
Shaarli de sebsauvage
Shaarli de Orangina Rouge
Télétravail - ZythomZythom

Un bon retour d'expérience

À retenir :

  1. Avoir une pièce/un lieu dédié ;
  2. Se préparer à sa journée de TT comme un jour classique ;
  3. Conserver les même horaires ;
  4. Pendant les horaires de travail, travailler, et uniquement cela ;
  5. Gérer l'organisation de sa journée indépendamment des contraintes de la maison.
  6. Bonus : gérer la jalousie des collègues :-)

(shared by Orangina Rouge)

Rust testing, data generation and const asserts - The Startup - Medium

A list of useful crate for testing, particularly :

debug_assert() is run only in debug mode and removed in production builds.
The crate static_assertions with the macro const_assert! test const functions-and data during compilation.
(shared by Riduidel)

Volkswagen XL1 — Wikipédia - Shaarli ¦ Orangina Rouge

Une voiture qui consomme 1L/100km: qui roule à 158km/h avec boîte automatique et atteint les 100 km/h en 12s. Elle pèse ~800 kg.
(via Orangina Rouge)

Un chariot et 99 smartphones pour simuler des bouchons sur Google Maps - Next INpact

Avec l'article original. C'est quand même fun et ouvre la voie sur pleins de possibilité !

amos - Rust modules vs files

Thanks a lot for this post; it is much clearer in my mind.
And the explanation for the prelude module.

Des Français beaucoup plus solidaires qu’on ne le croit
Comprendre WebAssembly en 5 minutes - Je suis un dev
WikiArt.org - Encyclopédie des Arts Visuels

Ça a l'air passionant !

Addy Osmani sur Twitter : "@sundress I can indeed! Here's img:not([alt]) { filter: blur(5px); } https://t.co/KOyVeuclxS" / Twitter

Good idea ! Blur all images that doesn't have a alt attribute.


img:not([alt]) {
    filter: blur(5px);
}
Or you can set a `border: 5px solid red` too.
Feel free to highlight accessibility problems :)
[sticker] Code is art that does something

Crée par Bronco

Web performance : les nouvelles opportunités - Publicis Sapient Engineering - Engineering Done Right
Twemoji Awesome | Like Font Awesome, but for Twitter Emoji.
No syntax highlighting in tmux - Vi and Vim Stack Exchange

Away to fix it:
In .bashrc or .bash_profile : export TERM=xterm-256color
In .vimrc :

syntax enable
colorscheme YOUR_COLORSCHEME_NAME
set termguicolors
C’est la journée mondiale sans Facebook - Next INpact
Wi-Fi : une faille dans le WPA2 affecte plus d’un milliard d’appareils

It is hard to know if the equipment are patched... It's ugly; datas are not encrypted at a moment during transmission 😔
That's why end-to-end encryption is so important.
(via https://sebsauvage.net/links/?kbFs9w)

Visual Studio… Codium ! - Get rich or dev tryin'

TL;DR
Codium is the FLOSS of VScode. It is exactly the same software; without Microsoft trackers, ...

Web fonts, boy, I don't know – Monica Dinculescu

font-display property in a @font-face and loading stylesheet through XHR response

Excursion avec les développeur(euse)s nomades - Je suis un dev
Transparent Hugepages : mesurer l'impact sur les performances - Zwindler's Reflection
Trust on first use (TOFU) - Wikipedia
Brittney (she/her) 🧠👩🏾‍💻✊🏾💅🏾 sur Twitter : "Senior+ Devs -How many years have you been in the industry? -How many companies have you worked for? -What advice would you give junior and mid level Devs?" - Shaarli de Riduidel
Blog Stéphane Bortzmeyer: RFC 8489: Session Traversal Utilities for NAT (STUN)
RustLatam 2019 - Without Boats: Zero-Cost Async IO - YouTube
Vimium-FF – Get this Extension for 🦊 Firefox (en-US)

Currently testing this extension for Firefox (available for Chromium & co too). How much can the browser be "vimified" ? Simple cheatsheet in the descritption.
(shared by the Mastering Vim Quickly newsletter)

Join Your Threads
<input> I ♡ you, but you're bringing me down – Monica Dinculescu

About the messy implementations of <input>

Code reviews for fun and profit – Monica Dinculescu

This comes from the fact that any code changes need to be reviewed and blessed before they can land on the master branch. More eyes means less bugs means you’re less likely to commit broken code and break the internet.

monica.css – Monica Dinculescu
CAD97 on Twitter: "Drop order @rustlang poll { let a = PrintOnDrop("a"); a; print!("b"); } print!(" "); { let c = PrintOnDrop("c"); let _ = c; print!("d"); } No checking before answering the poll! This will print:" / Twitter

A poll about lifetime and when variables are dropped. And I failed for good

Google Station : c’est la fin des hotspots Wi-Fi gratuits - Next INpact
«Les gens doivent comprendre qu'ils ne sont pas en sécurité simplement parce qu'ils utilisent un Mac», pour la première fois les menaces adware détectées sur Mac sont supérieures à celles sur Windows

If someone says that MacOS is more secure, then this link will be useful

Downloading 100,000 Files Using Async Rust - Pat Shaughnessy
(1) Oriane on Twitter: "Le débat sur une technologie précise me saoule, mais j'ai un avis sur la *course* au débit. 3 mots sur ça du coup. Je souligne d'emblée *course*, parce que je vous connais hein." / Twitter

About 4G, 5G, 6G and the run to get more bandwidth

VƎX is not a Dimir Agent on Twitter: "I don't overthink things you overthink things https://t.co/PBNHHx9ihh" / Twitter

I try not to think about that :)

Foule sentimentale | Grise Bouille - Liens en vrac de sebsauvage

Comme Sebsauvage, j'ai aussi hurlé après avoir vu la popup "16,87 € remboursés" sur le ticket de voyage SNCF; avec les petites conditions en bas. L'absence de respect est flagrant. C'est prendre les voyageurs/clients pour des pigeons et du fric sur pattes.
Et tout les exemples sont pertinents en plus !
(via sebsauvage)

« Arnaquer une personne, c’est risqué, arnaquer des millions de personne, c’est un investissement. »

Rendre le monde inconfortable pour monétiser le confort...

Redis, MongoDB, RabbitMQ, désactiver les Transparent Huge Pages - Zwindler's Reflection
Un bug de Windows 7 empêche les utilisateurs d'arrêter ou de redémarrer des ordinateurs - ZDNet

(en) : A bug in Windows 7 precludes user from rebooting or stopping computers

er...LOL ?

Tomasz Łakomy on Twitter: "If JavaScript is garbage collected, why does it still exist?" / Twitter
Stop cherry-picking, start merging: Index | The Old New Thing

git merge-base branch1 branch2 will find the common ancestor commit of two branches.

Tip : check that only one commit is applied out of each command

git log branch1..common
git log branch2..common
  • Cherry-pick the fix commit in a new branch (based on a common ancestor of the 2 branches) which will be then merged into them.
  • Partial fix will be the same technique but the merge will be reverted in the feature branch before merging the feature branch in the master (see this)
» Voici les localisations réelles de millions d’Américains.

whooops

Nouvelle percée en traduction IA

DeepL is the reference now for automatic translations. I use it since 2 years and it has never failed me :)

Netflix Now Streaming AV1 on Android - Netflix TechBlog

(shared by sebsauvage)
Note : AV1 need 50% less bandwith than H264.
Wikipédia explains it very well

amos - Reading files the hard way - Part 1 (node.js, C, rust, strace)

strace programm allow us to figure out what a program does under the hood.

Part 2 (x86 asm, linux kernel)
Part 3 (ftrace, disk layouts, ext4)

Complément 107 : philosophie de comptoir – Le blog de Cyrille BORNE

J’ai peu d’amis, je dirais que je n’en ai qu’un vrai, et être un véritable ami prend du temps. J’évoquais la contraction du temps plus haut, nous avons bien plus de contacts qu’avant, les réseaux sociaux, la connexion permanente, pourtant il devient de plus en plus difficile de prendre le temps de s’intéresser réellement aux gens, de suivre leur vie pour de vrai. Je fais donc ce choix, comme je limite les loisirs, je limite mes relations avec les gens pour en avoir peu mais de qualité. Cela fait aussi partie des points sur lesquels je veux travailler, le mot peut vous paraître inapproprié mais c’est pourtant le cas, on travaille sa nature, essayer d’aider mes proches, le mieux possible, éviter au plus l’oisiveté.

Cette explication, mais c'est ma vie

amos - Recursive iterators in Rust

Solution : box the iterator and give the proper lifetime in signature function :

pub fn values<'a>(&'a self) -> Box<Iterator<Item = &i32> + 'a> {
        // ...
}
Déclaration sur les violences policières illégitimes | Legifrance

Headshot ?
(shared by aeris on Twitter)

noueP ʇueɹnɐl on Twitter: "Alors comment dire un dev qui en 2020 utilise cette Regex pour vérifier une adresse mail /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/ D'où vient-il quel est son réseau o_O @bortzmeyer @Sniperovitch @mguesdon" / Twitter

About regex for checking email addresses

Malgré la fin de la neutralité du Net aux États-Unis, les FAI investissent moins dans leur réseau - Next INpact

Surprise ! On ne s'y attendais pas dis donc

amos - Rust generics vs Java generics

reify (verb):to consider or represent (something abstract) as a material or concrete thing : to give definite content and form to (a concept or idea).
monomorphization is the term used in Rust.

About the classical couple heap/stack in rust, memory allocation, ... very instructive !

Karol Kuczmarski's Blog – Recap of the gisht project
seanmonstar/warp: A super-easy, composable, web server framework for warp speeds. - Shaarli de Riduidel

A new web framework for Rust; seems that Actix has suffered recently and other web framework in Rust are emerging