Weekly Shaarli

All links of one week in a single page.

Week 45 (November 7, 2022)

Le Fédivers est tellement plus grand que Mastodon
thumbnail

Une excellente explication du fonctionnement de Mastodon et des autres application fédérés comme PeerTube.

Contrairement à ce que raconte les ayatollah de la blockchain, le web 3.0 (et non pas web3) est bien dans ce genre d'alternatives et non dans la re-centralisation dans des blockchains et la monetisation de l'ensemble des transactions.

How to Build a Relational Database From Scratch
thumbnail

Un article qui explique pas à pas le fonctionnement d'une base de données relationnelle.

Il utilise l'algèbre relationnel pour décrire chaque opération.

Dans une DB relationnelle, chaque ligne peut-être considérée comme un vecteur à N dimensions (les dimensions sont les colonnes).

"Adrien", 29, "Minsk" est un vecteur à 3 dimension (nom, age, ville) qui représente une personne.

A partir du la on peut dérouler toutes les opérations comme la projection (SELECT), la selection (WHERE), le produit vectoriel (JOIN)

Le smartphone du chef d’entreprise piraté : « Ils m’ont pris 30 000 euros en quelques heures »
thumbnail

Une usurpation d'identité 100% online via un crack de mot de passe email et un changement d'opérateur téléphonique, ça fait peur!

Announcing Rome v10
thumbnail

Rome est un outil pour Javascript/Typescript qui sert de linter, formatter, bundler et test runner.

En gros ça remplace Eslint, Prettier, Webpack, Babel et Jest.

C'est écrit en Rust et beaucoup plus performant que les outils JS.

L'autre avantage est de n'avoir qu'un outil binaire plutôt que des centaines de dépendances et des centaines de méga-octets dans le dossier node_modules.

(Via Ludo)

Le Boss de LockBit donne son avis aprés l’arrestation d’un de ses membres
thumbnail

L'un des membre de l'équipe du ransomware LockBit aurait été arrêté par le Department of Justice, aux USA donc.

Il aurait entre autre été identifié via des transactions réalisées en Bitcoin.

LockBit est un Ransomware as a Service, c-a-d que les créateurs sont rémunérés lorsque d'autre pirates réussissent à soutirer des rançon en piratant des entreprises avec LockBit.

Microsoft sued for open-source piracy through GitHub Copilot
thumbnail

Ça devait arrivé, Copilot propose parfois en suggestion du code sous licence.

Ici un développeur s'en est rendu compte et Microsoft est attaqué en justic pour non respect des licences.

Manifesto for Minimalist Software Engineers

Un manifest qui va dans le sens du KISS (Keep It Simple, Stupid)

Mes préférés:

Synthesis is the key of communication. We have to write code for humans not machines.

Keep it plain. Try to keep your designs with few layers of indirection.

Isolate vocals, drums, bass, and other instrumental stems from any song
thumbnail

Un outil open source basé sur l'algorithme Demucs de Facebook pour isoler n'importe quelle partie d'un instrument de musique !

Génial pour s'entraîner sur ses morceaux préférés 😄

Thirteen Years of Go
thumbnail

Happy Birthday, Go!

13 ans déjà, le langage est beaucoup plus mature aujourd'hui et même si il n'a pas pris la place du C comme langage pour la programmation système (c'est plutôt Rust qui est en passe de le faire), Golang reste un des langage majoritaire dans les outils d'infrastructure aujourd'hui.

Kubernetes, Terraform, Traefik et de nombreux autres outils très populaires son écrit en Golang.

Une feature intéressante que je ne connaissais pas, le fuzzing intégré au langage pour tester le comportement de son programme avec des milliers d'inputs aléatoires !

Ditto, P2P and offline first database

Une base de données pee-to-peer, c-a-d qui permet de communiquer avec d'autres clients pour se synchroniser sur l'état commun partagé.

ça m'a l'air plutôt compliqué à gérer, surtout avec des clients malicieux mais par contre le côté offline first est toujours bon à prendre :-)

(Merci Pierre pour le partage)

EuRepoC: European Repository on Cyber Incidents

Des statistiques sur les attaques informatiques réalisées depuis plus de 20 ans.

On y voit l'évolution des types d'attaques mais aussi l'évolution du type de cible.

An animated guide for Node.js event loop
thumbnail

Une explication très clair du fonctionnement des executions asynchrones avec Node.js.

La plupart des opérations de type I/O (lire un fichier, faire une requête http, etc) sont réalisées en parallèle du reste du code dans une pool de thread gérée par la libuv.

Cela permet de ne pas bloquer le thread principal en attendant le retour d'une requête HTTP (qui est très long comparé à executer du code ou récupérer une donnée en RAM)

(Merci Ludo pour le partage)