Daily Shaarli

All links of one day in a single page.

July 27, 2022

Les algorithmes génétiques démystifiés

Une excellente suite d'articles sur les algorithmes génétiques.

Les algorithmes génétiques sont une famille d'algorithmes d'intelligence artificielle qui s'inspire du fonctionnement du vivant pour trouver une solution à un problème.

Individus adaptés, reproduction, mutations, c'est une reproduction de la théorie de l'évolution en informatique.

Une implémentation C++ 👉 https://github.com/Aschen/genetics-algo

J'ai eu l'occasion d'utiliser concrètement ce genre d'algorithmes pour un bot de trading, même si cela n'avait pas marché (sur-apprentissage) c'était quand même très instructif.

Top 10 Mistakes Organizations Make to Become Agile
thumbnail

Une liste des erreurs les plus courantes lors de la mise en place de processus Agiles.

Mon top:

  • Focus on output: ce qui compte c'est l'impact réalisé par les livrables et non les livrables eux-mêmes
  • Agile is IT only: l'ensemble des équipes (marketing, sales, product) doivent travailler en Agile
  • Implementing immutable processes and tools: la base de l'Agilité c'est justement la capacité à évoluer

Si on résume la pensée de l'article, être Agile c'est:

  • Focus sur la valeur ajoutée aux clients
  • Implication forte des équipes au plus prêt du produit
  • Être capable de constamment remettre en question le mode de fonctionnement
Deeper testing of Bun’s performance and compatibility against Node.js

On commence à voir des tests des performances de Bun par rapport à Node.js.

Pour l'instant il manque encore trop de compatibilité à Bun avec les lib Node.js pour pouvoir aller très loin (pas de child_process) par exemple.

Dans cet article, l'auteur note un gain sensible de performances avec Bun.

Taking a Look at the New Pipe Operator in JavaScript
thumbnail

Proposition d'un operateur pipe (|>) en Javascript.

Plutôt que d'encapsuler ou de chainer des appels à des fonctions, on pourrait utiliser l'opérateur pipe.

// Nesting
divide(half(convert('6')))

// Chaining
'6'.convert().half().divide(2)

// Pipe
6 |> convert(%) |> half(%) |> divide(%, 2)

Perso je suis pas vraiment pour rajouter des couches de complexité supplémentaire à un langage qui ressemble déjà au monstre de Frankenstein.

Ça va compliqué le boulot de tout ceux qui travaillent avec l'AST et rendre le langage plus difficile à aborder pour des nouveaux venu.

Critique of React Pure Hooks

Un autre article qui analyse les faiblesses des Hooks de React.

Une source de bug très courante est l'oubli d'une propriété dans le tableau de dépendances avec useEffect.

Le respect de la Règle des Hooks qui force le nombre de Hooks d'un composant à toujours être le même impose des architectures de composants contre nature.

L'auteur continue son raisonnement en avançant notamment que depuis les Hooks, React peut être utilisé comme un framework alors que ce n'était pas vraiment prévu, ce qui cause pleins de problèmes d'architectures.

State of PostgreSQL 2022 - 13 Tools That Aren't psql
thumbnail

Un ensemble d'outils pour PostgreSQL.

When the window is not fully open, your TCP stack is doing more than you think

Un article très (trop?) technique sur le fonctionnement des buffer TCP dans le kernel Linux.

Manticore: a faster alternative to Elasticsearch in C++ with a 21-year history

Une alternative à ES qui est un fork de Sphinx Search.

A priori ils proposent de meilleurs performances à la recherche et à l'indexation que Elasticsearch en plus de supporter une syntax SQL.

PRO:

  • meilleurs perfs de recherche et d'insertion
  • support SQL (syntax et clients existants)
  • 100% open source (GPLv2 + Apache 2)
  • recherche temps-réel (max 1sec avec ES)

CON:

  • obligé de définir le schéma à l'avance
  • moins de ressources dispo car moins populaire
  • robustesse du scaling à prouver
  • pas complètement intégré avec les autres outils de la suite Elastic

Si vous avez besoin d'ajouter un moteur de recherche et que vous n'avez ni besoin de fonctionnalités très avancé, ni de scale à plusieurs centaines de millions de documents alors c'est une alternative à creuser.