Weekly Shaarli
Week 28 (July 11, 2022)
C'est exactement ça malheureusement.
Même avec un l'excellent ublock origin le Web actuel est full of garbage.
Un outil super utile de retouche photo pour enlever des objets simplement en traçant des rectangles autour!
Le protocol Matrix est à la messagerie ce que sont les protocol IMAP et SMTP au mail.
Ce protocol open source permet l'interoperabilité des échanges de messages instantanés entre plusieurs utilisateurs hébergeant leurs données sur plusieurs serveurs décentralisés !
Décentralisé, chiffré de bout en bout, souveraineté des données personnelles, texte, audio et vidéo, Matrix a tout pour plaire.
C'est pour ça qu'il a explosé en Ukraine à cause du risque de coupures d'internet ou qu'il est utilisé par l'État français après le scandale des Macron Leaks sur Telegram / WhatsApp.
Pour tester vous pouvez utiliser le client web Element et vous créer un compte sur l'instance principale matrix.org ou choisir un autre hébergeur. Envoyez moi un message à @aschen:matrix.domainepublic.net 😉
Un très bon retour d'expérience sur RabbitMQ pour un système de queuing robuste, scalable et surtout maintenable.
- Réalisez une expertise de votre solution pour en comprendre les limites (2000~3000€ bien investis)
- Configurez le cluster pour qu'il mette en pause les nœuds de la partition minoritaire en cas de désynchronisation réseau
RabbitMQ reste une très bonne alternative à la grosse usine à gaz Kafka qu'on sort à toutes les sauces.
Un outil pour gérer et centraliser les notifications envoyées.
Ça supporte un paquet de providers SMS et Email et en bonus ça propose des features comme d'envoyer une push notif si l'utilisateur est en ligne et de regrouper les notifications dans un email le cas échéant.
Ce qui est top c'est qu'ils proposent un SaaS bien sur mais aussi d'auto-héberger la solution !
Une solution de stockage des metrics aggrégées avec Prometheus:
- scalable horizontablement
- multi-tenants (super pour des metrics qui proviennent d'un SaaS)
Le framework pour application Tauri prend de plus en plus de maturité pour remplacer notamment Electron.
Concrètement le backend de l'application est à écrire en Rust et le frontend peut être en Javascript (React, Vue, Angular, etc).
Les deux vont communiquer via une API RPC:
// (Rust) Tauri command
#[tauri::command]
fn return_string(word: String) -> String{
return word
}
// (Javascript) Command invocation
const result = await invoke("return_string", {
word: "This is the argument"
});
J'espère sincèrement que ça prendra car les application Electron sont vraiment trop lourdes avec des appli comme Slack qui sont régulièrement à ~15-20% du CPU même en idle (!!).
Un système Turing-Complete signifie que l'on peut représenter n'importe quel programme avec le dit système.
Bien sur les langages de programmations sont Turing-Complete
Ici une liste de système qui sont Turing-Complete par "accident" !
J'aime beaucoup l'exemple de Typescript notamment
Un autre runtime Javascript côté serveur concurrent à Node.js.
C'est assez intéressant car Bun est développé from scratch (en Zig), et il n'est pas basé sur le moteur Javascript v8 de Chrome mais sur JavascriptCore, celui de Safari.
Dans les promesses de Bun:
- Plus rapide et moins de mémoire consommé que Node.js
- Transpiler et bundler intégré
- Compatible avec l'écosystème (node_modules et NPM)
Le projet est encore en cours de développement (voir ce qu'il manque) et donc pas encore recommandé pour de la production.