Monthly Shaarli

All links of one month in a single page.

March, 2023

Elasticsearch Indexing Strategy in Asset Management Platform (AMP)

Une histoire d'optimisation d'un cluster Elasticsearch.

Le problème chez Netflix venait d'une mauvaise allocation des shards des indices, tous les indices avaient le même nombre de shards et donc certains noeuds se retrouvent à héberger des shards contenant des millions de documents.

Leur stratégie a été de distribuer les documents non pas par type mais par date de création (time buckets) en utilisant des index template pour la création automatique et des alias pour la recherche (comme pour l'ingestion des logs donc).

Thousands scammed by AI voices mimicking loved ones in emergencies
thumbnail

Les scammeurs utilisent des IA pour générer la voie d'une personne connue afin de soutirer de l'argent.

On entre dans une nouvelle ère du scam, c'est inquiétant

Executive Onboarding: Shishir's Tips & Best Practices
thumbnail

Onboarder une personne avec une position "haute" dans la hiérarchie n'est jamais simple.

Il est crucial de passer les premières semaines à apprendre et à appliquer les méthodes actuelles avant d'essayer de lancer ses propres méthodes.

Aussi, il est préférable de commencer par résoudre un problème mineur plutôt que de se casser les dents sur le problème majeur.

Nomic v1.1.10: Apache Arrow support
thumbnail

Nomic supporte maintenant le format Apache Arrow.

C'est véritablement entrain de devenir le standard de l'industrie data!

Nomic est une lib python qui permet d'intéragir avec de très gros jeux de données dans son navigateur.

Exemple avec une carte de 5.4 million de tweets

Collaborative data platform and canvas | Observable
thumbnail

Observable est une plateforme de dataviz qui propose des notebooks en Javascript.

C'est du même gout que Jupyter Notebook, très facile à manipuler et à créer, même pour des personnes pour qui le frontend n'est pas la compétence principale.

Des fractales
Tous les tirs de LeBron James

Automate your browser with GPT-4
thumbnail

Une extension navigateur qui permet de manipuler les site web avec le langage naturel.

Voir aussi:

Une introduction complète aux composants web en 2023
thumbnail

Un récapitulatif très complet sur les web component et ce qu'il est possible de faire avec.

Apache Arrow, A cross-language development platform for in-memory analytics
thumbnail

Apache Arrow est un projet qui développe des SDK dans la plupart des langages afin de manipuler efficacement des données tabulaires (vecteurs, matrices) en RAM.

Ils ont notamment des optimisations des calculs spécialement conçues pour les CPU et les GPU.

Par exemple, les données sont regroupées pour éviter les "jump" CPU et tenter de les faire tenir dans les différents caches.

Pour les GPU, Arrow utilise CUDA afin de paralléliser les calculs.

C'est utilisé dans la nouvelle version 2.0 de Pandas, la lib de référence en Python pour manipuler les données.

Les performances peuvent être jusqu'à 25x supérieurs (!)

(Merci Ocav pour le partage)

Want an unfair advantage in your tech career? Consume content meant for other roles
thumbnail

Très bon conseil pour booster une carrière.

Il est important de rester curieux et de s'intéresser aux autres métiers de la tech (product, management, marketing, sales), c'est ce qui permet d'avoir une meilleure compréhension de l'ensemble d'une entreprise et d'améliorer la qualité de ses contributions.

Les personnes ayant été à des rôles de manager et d'individual contributor sont très souvent plus ouvertes car elles connaissent les deux côtés de la barrière.

Arrêtez de révéler tous vos secrets à ChatGPT, vous mettez votre entreprise en danger
thumbnail

Attention car OpenAI conserve toutes vos données et pourrait les ressortir dans d'autres conversations!

programming war crimes 2 - YouTube
thumbnail

Des codes qui feront hurler n'importe quel développeur, mais que fait la cour de justice internationale!

(Merci Yannick)

Losing Signal
thumbnail

Excellent article de Ploum sur les problèmes inévitables de la centralisation.

Seastar - High performance server framework

Un framework C++ pour construire des application server performantes.

Au menu:

  • sharding
  • network stack
  • futur et promises (JS like <3)
  • message passing pour le multithread (afin d'éviter les couteux lock)

ScyllaDB est écrit avec

OpenAI Is Now Everything It Promised Not to Be: Corporate, Closed-Source, and For-Profit
thumbnail

Tout est dans le titre, OpenAI a beaucoup changé depuis 2015.

Les modèles ne sont plus ouverts, les investisseurs privés affluent, la rapidité prime sur la qualité, bref une entreprise tout ce qu'il y a de plus capitaliste et pas du tout dans le goût de la fondation créée au départ.

Introducing ChatGPT and Whisper APIs
thumbnail

Les nouvelles API de OpenAI sont disponibles.

Notamment celle de ChatGPT (gpt-3.5) avec un coût par token 10x inférieur!

Whisper est une quand à elle une API de text to speech

How to reduce coupling in your React app

Un article sur l'utilisation de React Context dans une app pour partager facilement des informations entre les composants plutôt que les passer dans les props.

L'utilisation est un peu complexe et s'apparente à de l'injection de dépendances.

On fournit les contextes en encapsulant l'application dans des balises donc attention à l'utilisation de plusieurs contextes qui s'encapsulent entre eux et réintroduisent du couplage.

// ContainerContext a besoin de LangContext

<LangContext.Provider value={translate}>
  <ContainerContext.Provider value={findTasks}>
    <TodoList/>
  </ContainerContext.Provider>
</LangContext.Provider>
Half-Life 2: VR Mod on Steam
thumbnail

Un mod de Half-life 2 en VR!

19 ans après sa sortie, Half-life 2 reste un monument incontournable du jeux vidéo

A Gentle Introduction to CRDTs - vlcn.io
thumbnail

Excellent article sur les CRDTs (Conflict Free Replicated Data types).

Un CRDT c'est une structure de données qui

  • peut être copiée sur plusieurs clients (souvent en p2p)
  • peut être modifiée sans coordination par plusieurs clients
  • chaque copie peut être mergée sur chaque client afin de former un état final déterministe

C'est ce qui est utilisé pour les outils de collaboration type Google Doc pour résoudre les conflits par exemple.

Cerebras-GPT: A Family of Open, Compute-efficient, Large Language Models - Cerebras
thumbnail

Cerebras, une entreprise qui fait aussi des supercalculateurs, a publié en Open Source un modèle LLM avec le code ET le modèle entrainé!

C'est le premier modèle 100% open source en licence Apache 2.

Arquero, query processing and transformation of array-backed data tables.
thumbnail

Arquero est une librairie Javascript qui permet de manipuler des données tabulaires en RAM.

Elle supporte l'algèbre relationnelle comme pour une base SQL.

C'est du même genre que Pandas en Python mais du coup pour faire de la datascience directement en Javascript!

Derrière les performances de la lib on retrouve encore une fois le format binaire Arrow

beers
  .orderby(aq.desc('ibu'))
  .select('name', 'style', 'ibu')
  .filter(d => op.includes(op.lower(d.name), 'hop'))
  .view()
Dorik - Simple & affordable No-Code website building platform
thumbnail

Un builder de site vitrine / landing page en no-code

scrapeghost

Une lib de scrapping qui utilise GPT pour extraire les informations voulues depuis une page web.

Ça fonctionne assez bien et ça permet de réduire le coût total en faisant un clean sur le HTML.

Un peut spécifier un budget de token et le scrapper s'arrête une fois le budget consommé.

The BigScience RAIL License for AI
thumbnail

Responsive AI Licence (RAIL) est une licence pour les modèles entraînés (weight) que l'ont pourrait considérer comme Open Source.

Elle permet la réutilisation, la modification, même dans un contexte commercial tout comme la licence Apache 2.

Néanmoins elle restreint l'usage du modèle à des utilisation "harmful" qui restent à la discrétion des créateurs en fonction des usages qui apparaîtront.

L'autre différence est son caractère copyleft (ou "viral") comme les licences GPL car un modèle dérivé doit reproduire la licence

Implementing an event-driven serverless story generation application with ChatGPT and DALL-E
thumbnail

Une application de bout en bout qui créé des histoires pour les enfants en utilisant des services AWS et OpenAI.

Ça génère l'histoire, l'audio, une image de couverture et sauvegarde le tout.

Write a title and a rhyming story on 2 main characters called Parker and Jackson. The story needs to be set within the scene haunted woods and be at least 200 words long

The Implications of Today's HUGE AI Announcements
thumbnail

Google met des IA génératives dans sa suite Google Workspace donc dans Docs, Sheet, Slides etc

Des centaines de millions d'utilisateurs à travers le monde vont avoir accès à une IA générative pour écrire leur contenu.

GPT-4
thumbnail

GPT-4 commence à être rendu disponible sur liste d'attente.

Ils ont fait passé des examens non corrigés sur une vingtaine de sujets et GPT-4 a obtenu la moyenne dans 12 sujets sur 26!

Une autre nouveauté, GPT-4 peut aussi accepter les images en complément du texte.

ControlNet - let us control image diffusion models!
thumbnail

ControlNet permet de controller la génération d'images faite avec StableDiffusion.

C'est notamment utilisé pour générer des création cohérentes entre elles par exemple dans un jeu vidéo.

How Discord Stores Trillions of Messages
thumbnail

Un retour d'expérience sur l'utilisation de Cassandra à un très haut niveau chez Discord.

Des problèmes de maintenance majoritairement liés à la manière dont ils utilisaient Cassandra car des ralentissements en lecture sur un noeud impactaient tout le cluster car la lecture/écriture se fait en quorum.

La "compaction" (réindexation) des tables par Cassandra et le GC de la JVM causaient aussi des problèmes de latence.

Ils ont décidé de migrer toutes leurs DB vers ScyllaDB qui est compatible Cassandra mais en C++ donc plus rapide et pas de GC!

Il n'ont pas réglé leur problème qu'avec une nouvelle base de données mais aussi avec des middleware de cache écrit en Rust pour la performance C++ et la sureté mémoire.

La migration fut aussi très compliqué et les premières prévisions étaient extrèmement longues (3 mois) mais la encore un rewrite du connecteur en Rust sauve la mise (9 jours!)

Conclusions:

  • plus de stabilité
  • 177 noeuds Cassandra à 72 ScyllaDB
  • latence p99 40-125ms avec Cassandra et 15ms avec ScyllaDB
Improve chunking performance by lukastaegert · rollup/rollup
thumbnail

Une belle performance algorithmique sur l'algorithme de chunking de Rollup avec 3.3s au lieu de 2 heures pour la génération du plus petit nombre de chunks.

L'auteur utilise un seul BigInt et manipule directement les bits au lieu de manipuler un Set.

ROFL with a LOL: rewriting an NGINX module in Rust
thumbnail

Un retour d'expérience de Cloudflare sur la ré-écriture d'un module Nginx en Rust.

3CX : une attaque par supplychain
thumbnail

Analyse de l'attaque qui a touché les utilisateurs de la téléphonie IP 3CX.

Une attaque supply chain bien organisé qui avait le potentiel d'ouvrir des backdoor chez les 12 millions d'utilisateurs de 3CX.

Tracking the Fake GitHub Star Black Market with Dagster, dbt and BigQuery
thumbnail

Superbe démonstration pas à pas d'utilisation de la data science au travers d'une suite de suppositions pour détecter les faux comptes Github.

Par exemple, en analysant les comptes qui agissent les même jours on a plus de chance de détecter des comptes instrumentés par des scripts.

Generative AI Won’t Revolutionize Search — Yet
thumbnail

Un article plus posé sur l'éventuel remplacement des moteurs de recherche par des LLM.

Il faut considéré les problèmes de biais induit par les données sur lesquels les modèles sont entrainés mais il faut surtout prendre en compte le coût d'entrainement et de génération d'une réponse.

Pour avoir un modèle à jour, il faut constamment l'entrainer et ça coûte très cher.
Pareil pour une réponse qui coûte beaucoup plus cher à générer (Google traite ~10 000 requêtes/sec)

A priori, les LLM vont surtout être utilisé pour répondre à des sujets précis. Par exemple, entrainer un LLM sur toutes les publications relatives au cancer des 20 dernières années.

Lunii, Storyteller to develop kids imagination

Un jouet pour enfant low-tech sans écran ni connexion internet qui raconte des histoires.

Il est possible de personnaliser les histoires en choisissant le héro, le lieu, etc

Microsoft Ads In The New Bing Chat Interface
thumbnail

Bon c'était plus ou moins sur qu'on se retrouve avec de la publicité dans toutes ces réponses générées par des IA.

Daftpage
thumbnail

Un autre outil no-code de création de site web.

Un peu à la Notion mais avec un grand canvas.

Enquête : derrière l’IA, les travailleurs précaires des pays du Sud

La face cachée de l'IA qui est loin d'être aussi magique qu'on le croit.

Des milliers de travailleurs en provenances des pays moins développés ont pour tâche d'annoter les datasets pour entrainer les grands modèles des GAFAM et startups.

Database-like ops benchmark

Un benchmark des librairies et bases de données (en RAM) pour traiter des données tabulaires dans le genre de Pandas.

Polars remporte haut la main le benchmark, c'est une lib écrite en Rust et qui utilise aussi le standard Arrow

Web Streams Everywhere (and Fetch for Node.js)
thumbnail

Très bon article qui récapitule l'utilisation des streams avec l'API fetch incluse dans Node.js 18.

The Age of AI has begun
thumbnail

Le point de vu de Bill Gates sur les récentes avancées en IA.

Selon lui les IA vont notamment permettre de grandes avancées dans la productivité, la santé et l'éducation.

Your version control system contains valuable insights

Un très bon article de l'équipe tech de Malt sur l'observabilité code/équipe en utilisant Git.

Cela permet d'identifier:

  • les dépendances entre services
  • les "hot spots" fréquemment édités
  • les personnes ayant la meilleur connaissance de portions du code
Les meilleures communautés Slack par métier en startup
thumbnail

Une liste de Slack communautaires sur pleins de sujets!

Docker is deleting Open Source organisations - what you need to know
thumbnail

Whoa Docker lâche un pavé dans la marre, c'est la fin des organisations open source qui publient leurs images sur Docker Hub. (ou alors il faut payer 420$/an)

Github est une solution de remplacement.. Jusqu'au jour où ils feront aussi payer !

EDIT: Docker a depuis fait marche arrière

Stanford Alpaca, and the acceleration of on-device large language model development
thumbnail

Des modèles concurrents de GPT-3 commencent à émerger.

Celui-ci est même capable de tourner sur un téléphone (26sec/token) ou un raspberry pi! (ça sera très lent)

Il est intéressant de voir qu'ils ont pu fine-tune le modèle pour un coup assez bas, 600$ (de cloud j'imagine)

À noter, ce modèle n'est pas utilisable sous licence commerciale.

ACT-1: Transformer for Actions

Une IA qui est capable de manipuler le navigateur depuis des instructions en langage naturel.

Par exemple, elle est capable de rechercher une location sur un site comme Airbnb simplement depuis une demande comme "trouver une maison pour 6 personnes à Houston pour maximum 600$"

Google et son robot pipoteur(*), selon Doctorow
thumbnail

Excellent article de Cory Doctorow traduit par Framablog sur la situation actuelle de Microsoft et surtout Google par rapports aux IA génératrices de texte.

Outre la critique des ces IA qui ne seraient pas prêtes à remplacer les moteurs de recherche et les humains, Google est aussi descendu de son piédestal et ramené à une société financière incapable d'innover et qui rachète d'autres entreprise pour ça.

Prompt Injections are bad, mkay?

Injection de contexte dans le prompt de Bing Chat pour demander à l'utilisateur des informations personnelles.

Ces info sont ensuite retransmises à un serveur distant.

Outils gratuits d'intelligence artificielle pour détecter le contenu généré via ChatGPT
thumbnail

Des outils pour détecter si un texte a été généré par une IA du style de GPT-X