Un article qui va dans le sens inverse de la tendance actuelle autour de l'utilisation des Hooks dans React.
L'auteur disserte sur le non respect des principes SOLID par les Hooks et sur les problèmes de dettes technique que cela créé.
Les Hooks sont vraiment quelque chose d'étrange, ils ne respectent pas la programmation fonctionnelle, ni la programmation objet.
Ce sont juste des helpers pour écrire et lire de la donnée dans une sorte de gros objet global, l'avantage avec le système de props étant qu'on n'a pas besoin de les passer entre chaque composant.
Un autre article sur la recherche de memory leak en Javascript.
L'auteur utilise une fonctionnalité non documenté de Chrome qui permet d'afficher toutes les instances d'une classe.
class User {
//...
}
const user = new User();
// find all instances of User
queryObjects(User);
Ça ne marchera pas pour les POJO du coup mais c'est un bon outil supplémentaire pour aider dans la recherche des fuites mémoires.
Un bot qui s'occupe d'ouvrir des PRs pour mettre à jour les dépendances des projets. (Directement disponible sur Github)
Lorsqu'elles ne sont pas mises à jour, les dépendances font croître la dette technique.
Cela pose de potentiels problèmes de sécurité avec des failles non patché mais ça rend aussi plus complexe les mises à jour ultérieurs.
Un nouveau langage conçu pour être la relève du C++ avec une syntax proche, des performances équivalentes et surtout une compatibilité avec les libs C++ existante.
Le langage compile vers du bytecode LLVM et on profite donc de tous les outils de l'écosystème.
Encore une fois, c'est des ingénieurs de chez Google qui poussent pour un nouveau langage, c'est encore expérimental mais prometteur 👌
Très bon résumé sur les gaz à effets de serre et leur origine.
J'aime beaucoup ls changements de perspective sur les groupes de pays émetteurs en fonction de différents critères: émission de carbone vs empreinte carbone, total cumulé vs émission actuelle
Les 3 métiers du Product Management
- Product Manager
- Product Designer
- Product Owner
L'article parle des tâches et responsabilités de chaque rôle puis fait un focus sur les missions du Product Manager: concevoir, piloter et délivrer un produit.
C'est exactement ça malheureusement.
Même avec un l'excellent ublock origin le Web actuel est full of garbage.
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.
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 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 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 !
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
Une solution de stockage des metrics aggrégées avec Prometheus:
- scalable horizontablement
- multi-tenants (super pour des metrics qui proviennent d'un SaaS)
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.
Le NIST a choisi les algorithmes de cryptographie à clé publique que l'on pourra utiliser dans un monde post-quantique !
Ces algorithmes ont été selectionné suite à un concours organisé depuis 2016 par les USA.
C'est ce qui avait été fait pour le chiffrement symétrique AES (Advanced Encryption Standard), c'est l'algorithme Rijndael qui avait gagné le concours en 2001.
Ce sera donc:
C'est ensuite un chiffrement AES classique qui devrait être utilisé pour les données, comme c'est le cas aujourd'hui.
C'est une grande nouvelle car lorsque les calculateurs quantiques seront disponibles, ils mettront à mal la cryptographie à clé publique actuelle sur laquelle repose tous nos échanges.
Notamment via l'algorithme de Shor qui permet de factoriser en nombre en produit de facteurs premiers et donc de casser les crypto-systèmes basé sur RSA mais aussi les plus modernes utilisant ECDSA.
Maintenant que le NIST a choisi, il se passera très certainement plusieurs années avant que ces algorithmes ne soient mis en place pour nos échanges de clés.
Pour les plus curieux, une implémentation a déjà été faite par Cloudflare en Golang: Circl
Une comparaison entre Chrome, Firefox et Safari sur la rapidité de leurs moteurs de rendu CSS.
Firefox remporte haut la main avec son moteur Stylo avec des performances entre 25 et 100 ms
Chrome se situe plutôt entre 250 et 1000 ms ! (Sauf pour le Shadow DOM)
Le simple fait de chercher sur Google comment avorter peut être retenu à charge contre vous.
Dans le roman 1984 d'Orwell, le "crime de pensée" est un acte incriminant en soi, Big Brother en a rêvé, les États Unis et Google l'ont fait.
Encore un très bon exemple de l'importance du contrôle sur ses données personnelles, si vous n'avez rien à caché aujourd'hui ça ne sera peut-être pas le cas dans 10 ans lorsqu'un nouveau gouvernement sera en place.
Une enquête des journalistes de Blast sur des fonds qui auraient été distribués par le Quatar à des personnalités et des ONG:
- Carla Bruni Sarkozy: 6 millions d'euros en 2009
- Bernard-Henri Lévy: 9.1 millions d'euros en 2011
- Laurent Platini (le fils du footballeur): 9.1 millions d'euros en 2010
- Human Rights Watch: 3 millions d'euros en 2018
Ce qui est rigolo c'est si on replace ces dons dans un contexte historique.
Bernard-Henri Lévy pendant les révolutions arabes, avant l'offensive Française en Libye pour laquelle il a fait du lobbying et qui à priori arrangeait les qatari pour étendre leur zone d'influence
Laurent Platini avant que la FIFA se réunisse pour voter l'attribution de la coupe du monde 2022.
Human Rights Watch qui a par la suite publié des rapports faisant l'éloge des "progrès" du Qatar en termes de droits humains.
Un jeu pour apprendre à utiliser Git !
Ce qui est génial c'est de pouvoir visualiser l'évolution des structures internes à chaque commande 😄
Un autre excellent site pour apprendre Git visuellement: https://learngitbranching.js.org/
Et un autre site pédagogique visuel en mode bac à sable: https://git-school.github.io/visualizing-git/
Ce sont ceux que j'utilisais lorsque je donnais des cours mais aujourd'hui je conseillerais d'utiliser Oh My Git plutôt :-)