Weekly Shaarli

All links of one week in a single page.

Week 29 (July 18, 2022)

How to drive away your best engineers
thumbnail

L'article revient sur toutes les raisons qui font partir les employés d'une organisation.

Les plus importantes de mon point de vu:

  • employer des managers qui ne savent pas faire de logiciels ou trop de managers
  • mauvaise specification des tâches
  • trop de réunions (voir manager vs maker schedule)
Tao of Node - Design, Architecture & Best Practices
thumbnail
Qui réchauffe le climat (et comment) ?
thumbnail

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

Craquage d'archives chiffrées (PKZIP: Zip ZipCrypto, Winzip: Zip AES, 7 Zip, RAR) - ACCEIS
thumbnail

Plusieurs méthodes pour attaquer un fichier .zip ayant été chiffré.

Le format obsolète ZipCrypto, utilisé par Windows, est le plus vulnérable à cause d'une attaque fonctionnant même pour des mots de passes forts.

Pour un chiffrement AES classique on en revient à un crack avec John The Ripper ou Hashcat

Can We All Just Admit React Hooks Were a Bad Idea?
thumbnail

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.

Carbon language, the C++ successor
thumbnail

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 👌

Why I Like Hexagonal Architecture
thumbnail

Un article sur l'architecture hexagonale qui explique notamment la distinction entre port et adapter.

L'auteur fait aussi un commentaire intéressant I’ve never applied these architectures to the letter, though.

Comme pour tout, il faut éviter de rentrer dans une application dogmatique de tel ou tel architecture, process, etc

L'architecture hexagonale offre un excellent moyen de structurer son code en modules indépendants mais elle doit être utilisée avec un regard critique et peut être contournée lorsque cela s'avère nécessaire.

Detect JavaScript Memory Leaks with queryObjects

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.

Renovabot, Universal dependency update tool that fits into your workflows
thumbnail

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.

Product Management : histoire, principes et fonctionnement
thumbnail

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.