Cet épisode discute du retour d’experience Java de Netflix, de jQuery, de gouvernance open source, d’Elon Musk, de Kubernetes, de Mistral (gagnant?), d’attaque des LLMs, de developpement de carrière et de Trouble du Déficit de l’Attention avec ou sans Hyperactivité.

Enregistré le 15 mars 2024

Téléchargement de l’épisode LesCastCodeurs-Episode-308.mp3

News

Les cast codeurs veulent essayer quelque chose de nouveau et le sondage montre que vous aussi. On lance donc une section Ask Me Anything, posez nous une question sur https://lescastcodeurs.com/ama et nous prendrons certaines questions pour donner notre réponse. Lancez-vous, on pense que cette section pourra être sympa :)

Langages

Retour d’experience de Netflix sur ZGC https://netflixtechblog.com/bending-pause-times-to-your-will-with-generational-zgc-256629c9386b

  • moins de tail latency ce qui veut dire moins de charge sur le systeme (moins de retry)
  • aussi plus facile de trouver les vrais probleme de latence (plus cachés dans les latences de GC)
  • et sans consommation superieure de CPU pour les memes perfs malgré les barrieres differentes de ZGC
  • pas de tuning explicit de leur part (enfin presque)
  • meme si les pointeurs ne sont pas compresses, l’efficacite du GC compense
Librairies

Sortie de Spock 2.4-M2 https://spockframework.org/spock/docs/2.4-M2/release_notes.html

  • Support de plusieurs librairies de mocking
  • Meilleur support dans les IDEs
  • Et plein d’autres petites améliorations

jQuery 4 est sorti ! jQuery est de retour ! https://www.infoq.com/news/2024/03/jquery-4-beta-release-note/

  • On parle régulièrement du dernier framework JavaScript à la mode, mais jQuery est toujours là
  • Première release majeure depuis 8 ans
  • Suppression de plein de features qui étaient deprecated et maintenant fournie souvent par défaut par les moteurs JavaScript des navigateurs
  • jQuery continue d’être téléchargé de plus en plus au fil du temps, mais peut-être parce qu’il bénéficie du succès des projets qui l’utilisent comme Cypress, WordPress ou Drupal)

Quarkus sort sa deuxieme LTS https://quarkus.io/blog/quarkus-3-8-released/

  • explique les changements importants depuis la LTS 3.2
Infrastructure

Linkerd ou plutôt la boîte derrière va faire payer pour accéder aux builds stable du projet. Cela crée des conversations au sein de la CNCF https://www.techtarget.com/searchitoperations/news/366571035/Linkerd-paywall-prompts-online-debate-CNCF-TOC-review

  • deploy envoy, c’est plus dur
  • Buyoant est le principal contributeur derriere Linkerd
  • et ils ont edcider de mettre les distributions stables derriere un paywall
  • pour les societes de plus de 50 employés ($2000 par cluster)
  • les gens se trouve floués par aider au succces et ensuite de trouver piégé
  • La license reste ASL mais la version stable est derriere un paywall, comme red hat enterprise linuix recemment
  • un autre exemple de projet open source qui vire commercial
  • questionne la gouvernance open source, la CNCF va inestiguer et peut etre durcir ces criteres de graduiation
  • Weavework (FLux) a fermé ces dernieres semaines aussi

Cloudflare a reecrit un proxy HTTP en rust https://blog.cloudflare.com/how-we-built-pingora-the-proxy-that-connects-cloudflare-to-the-internet/

  • ils ont utilise NGinx pendant longtemps
  • mais le single worker modele ne permetait pas ceratins optims
  • et ils ont des besolins specifiques
  • bref ils ont reecrit en rust, multi threaded et avec work stealing
  • et ils sont content

Le guide du “hater” sur Kubernetes https://paulbutler.org/2024/the-haters-guide-to-kubernetes/

  • L’auteur se plaint régulièrement de Kubernetes pour sa grande complexité mais reconnait que c’est quand même un grand morceau de technologie
  • A utiliser surtout quand on a besoin de :
    • Exécuter plusieurs processus/serveurs/tâches planifiées.
    • Les exécuter de manière redondante et répartir la charge entre eux.
    • Les configurer, ainsi que les relations entre eux, sous forme de code.
  • L’auteur liste ensuite les fonctionnalités qu’il utilise, qu’il fait attention quand il les utilise, et celles qu’il préfère éviter
    • Utilise : deployments, services, cron jobs, config maps et secrets
    • Attention : stateful set, persistent volume et RBAC
    • Evite : le YAML à la main, les opérateurs et resources customs, Helm, tout ce qui est mesh, les resources ingress, essayer de répliquer la stack K8S complète localement sur sa machine
Data et Intelligence Artificielle

Mistral AI et Microsoft font un accord sur le modele le plus puissant de Mistral et certains ne sont pas content https://www.latribune.fr/technos-medias/informatique/l-alliance-entre-mistral-et-micr[…]usion-de-l-independance-technologique-europeenne-991558.html

  • Mistral avancait son approche open source
  • mais son modele le plus puissant ne l’est pas
  • ils ont un partenariat exclusif avec Microsoft pour le distribuer
  • Et MS rentre dans le capital
  • Au revoir l’independance de l’IA européenne
  • Au revoir les modeles open source larges
  • cela va a l’encontre du loby et de son positinnement aupres de la commission europeenne
  • ca fait grincer des dents a bruxelles qui avait alléger les contraintes sur les modeles fondamentaux a la demande de Mistral qui menacait de de voir s’allier avec MS si ce n’était pas le cas.
  • Mistral était un fer de lance des modeles open sources pour eviter les biais
  • ils en garderont masi pas les modeles specialisés ou optimisés
  • cela reste une bonne decisione conomique pour Mistral

Infinispan 15 est sorti https://infinispan.org/blog/2024/03/13/infinispan-15

  • JDK 17
  • Redis Hot Replacement donnant: multi thread, clustering, replication cross site, diff stores de persistence en disk, avoir des caches differentes en namespace différentes avec des règles appliquées à chaque cas d’usage
  • Recherche Vectorielle et stockage des embeddings
  • Integration avec Langchain (Python), Langchain4j, et Quarkus Langchain
  • Améliorations du search, replication cross site, la console, tracing, l’Operateur Kubernetes …
  • Support du Protobuf 3 avec la release de Protostream 5 et meilleur API
Outillage

Ne pas signer ses commits cryptographiquement ? https://blog.glyph.im/2024/01/unsigned-commits.html

  • L’article cite comme seul avantage d’avoir le petit badge vert sur Github indiquant “vérifié”
  • Responsabilité future inconnue et potentiellement illimitée pour les conséquences de l’exécution du code dans un commit que vous avez signé.
  • Renforcement implicite de GitHub en tant qu’autorité de confiance centralisée dans le monde de l’open source.
  • Introduction de problèmes de fiabilité inconnus dans l’infrastructure qui repose sur les signatures de commit.
  • Une violation temporaire de vos identifiants GitHub entraîne désormais des conséquences potentiellement permanentes si quelqu’un parvient à y introduire une nouvelle clé de confiance.
  • Nouveau type de surcharge de processus continu : les clés de signature de commit deviennent une nouvelle infrastructure permanente à gérer, avec de nouvelles questions comme « que faire des clés expirées », « à quelle fréquence dois-je les renouveler », etc.
  • on peut empecher de pousser des commits non signés
Sécurité

Des modèles avec des backdoors uploadés sur hugging faces non détecté. https://arstechnica.com/security/2024/03/hugging-face-the-github-of-ai-hosted-code-that-backdoored-user-devices/

  • par les chercheurs de JFrog
  • Une centaine détectés dont 10 malicieux
  • Des tests de chercheurs mais un faisant un reverse ssh
  • S’appuye sur le format de serialisation pickle en python. Populaire mais connu comme dangereux

Une première side attack channel sur les LLMs https://arstechnica.com/security/2024/03/hackers-can-read-private-ai-assistant-chats-even-though-theyre-encrypted/

  • cela s’appuie sur la taille des packets chiffrés envoyés et leur timing pour détecter la longueur des tokens
  • Ensuite un LLM spécialisé reconstruit la suite de mots la plus probable vu la longueur
  • C’est du à l’UX qui envoie les tokens au fil de l’eau
  • Ć’est facilement corrigeable en rendant les paquets de taille fixe et en ajoutant du hasard de délai d’envoie.
  • Mais c’est rigolo comment les LLMs peuvent amplifier les side channel attacks
Architecture

Netflix et Java https://www.infoq.com/presentations/netflix-java/

  • Netflix est un java shop
  • La “stack NEtflix” connue du public a beaucoup evolué
  • Pleins de microservices
  • Gen1: groovy en gateway front end for backend , RxJava et Histrix
  • Gen2: GraphQL et GraphQL federé ; plus de reactif sand dans la gateway
  • Java 17 : 2800 apps java
  • utilisent Azul JDK
  • avait du Java 8 sur du guice et app custom
  • utilisent G1, Java 17 = -20% CPU et Shenandoah pour la gateway Zuul
  • Plans pour Java 21 (ZGC, virtual threads)
  • apres speculatif
  • Ils ont standardisé sur Spring Boot il n’y a pas si longtemps

Un long article sur les microservices https://mcorbin.fr/posts/2024-02-12-microservice/

  • encore un me direz vous
  • oui amis si vous etre en pleine crise existentielle avec votre equipe c’est du mon materiel
  • il va sur les points importants comme synchrone vs asynchrone, les patterns de communication, la copie de données, comment tester le “monotithe” ou plutot comment ne pas le faire etc
  • c’est un peu long mais ca recadre bien
Méthodologies

Opinion: est-ce qu’on peut devenir dev à partir de 40 ans https://www.codemotion.com/magazine/dev-life/can-you-become-a-programmer-after-40/?utm_source=ActiveCampaign&utm_medium=email&utm_content=5+Frontend+Trends+we+Didn+t+See+Coming+in+2024&utm_campaign=NL_EN_240215+%28Copy%29&vgo_ee=sFCRn4bbw8NuvJwlxj4PgXiVS4eICnA1ZPdkH4DGKyhNNwh6NQ%3D%3D%3Au3g96%2Fz3Uf7kZHAF7tezy9Y0ZJ6paAsE

  • programmeur de CSS a 40 ans, je sais pas :stuck_out_tongue_winking_eye:
  • l’auteur regrette les pubs pour devenir ev a 40 ansd facilement
  • developpeur c’est beaucoup de connaissance et de travail et doit etre un choix, pas un choix pas default ou facile
  • ils decrit certains biais comme un 20 ans sans experience est plus pardonné qu’à 40, le temps a y consacré est différent etc
  • compensé par des actes de motivation (GitHub, participation open source, meetups etc)
  • mais le temps d’apprendre de ces erreurs n’as pas vraiment de court circuit
  • bref une fonrmation c’est bien mais aps suffisant

Navigate your own way https://www.infoq.com/presentations/lessons-opportunities-carrier/

  • IBMer for 21 years. I’m a Java champion
  • Réfléchir à sa carrière en mode time box, chercher sa promotion ? Tu peux décider ton chemin
  • Momentum pandémie ça lui a fait bcp réfléchir sur sa vie et où elle était. Moment où elle quittait IBM pour aller vers RH (cœur se brise)
  • Essentiels pour prendre ton propre chemin
  • Se connaître soit même, reconnaître les différences avec les autres
  • connaître tes valeurs: c’est quoi important pour toi, c’est quoi qui te motive, ce qui te démotive. Écrire des mots
  • Se fixer des objectifs avec l’aide des autres
  • Repusher ses limites, sur des sujets dont tu penses que ce n’est pas possible pour toi
  • Participe activement, entoure toi bien
  • Un talk très personnel et inspirant

Un article sur le trouble TDAH chez le développeur adulte https://rlemaitre.com/fr/posts/2023/11/hacker-le-tdah-strat%C3%A9gies-pour-le-d%C3%A9veloppeur-moderne/

  • Diagnostiqué à 44 ans
  • Schéma d’inattention et d’hyperactivite/implusivite qui interfere avec le fonctionnement
  • Affecte le fonctionnement social scolaire ou professionnel
  • Non diagnistiqué: burn out anxiété ou depression
    • Souvent non diagnostiqué jusqu’à ce que se propres enfants soient diagnostiqués
  • Mais cela amène du positif: hyperfocus, resolution creative de problèmes, adaptation rapide aux changements qui sont du pain béni
  • Le négatif c’est la gestion du temps, organisation, instabilité
  • Discute ensuite les phénomènes dans le cerveau
  • Et donne des techniques et des pièges à éviter
  • Vous avez sûrement des collègues TDAH ou l’êtes-vous meme
Conférences

La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :

Nous contacter

Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs Faire un crowdcast ou une crowdquestion Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/