Published: March 19, 2024, 11:48 a.m.
Cet \xe9pisode discute du retour d\u2019experience Java de Netflix, de jQuery, de gouvernance open source, d\u2019Elon Musk, de Kubernetes, de Mistral (gagnant?), d\u2019attaque des LLMs, de developpement de carri\xe8re et de Trouble du D\xe9ficit de l\u2019Attention avec ou sans Hyperactivit\xe9.
Enregistr\xe9 le 15 mars 2024
T\xe9l\xe9chargement de l\u2019\xe9pisode 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\xe9ponse. Lancez-vous, on pense que cette section pourra \xeatre sympa :)
Langages
Retour d\u2019experience 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\xe9s dans les latences de GC)
- et sans consommation superieure de CPU pour les memes perfs malgr\xe9 les barrieres differentes de ZGC
- pas de tuning explicit de leur part (enfin presque)
- meme si les pointeurs ne sont pas compresses, l\u2019efficacite 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\u2019autres petites am\xe9liorations
jQuery 4 est sorti ! jQuery est de retour ! https://www.infoq.com/news/2024/03/jquery-4-beta-release-note/
- On parle r\xe9guli\xe8rement du dernier framework JavaScript \xe0 la mode, mais jQuery est toujours l\xe0
- Premi\xe8re release majeure depuis 8 ans
- Suppression de plein de features qui \xe9taient deprecated et maintenant fournie souvent par d\xe9faut par les moteurs JavaScript des navigateurs
- jQuery continue d\u2019\xeatre t\xe9l\xe9charg\xe9 de plus en plus au fil du temps, mais peut-\xeatre parce qu\u2019il b\xe9n\xe9ficie du succ\xe8s des projets qui l\u2019utilisent 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\xf4t la bo\xeete derri\xe8re va faire payer pour acc\xe9der aux builds stable du projet. Cela cr\xe9e 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\u2019est 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\xe9s ($2000 par cluster)
- les gens se trouve flou\xe9s par aider au succces et ensuite de trouver pi\xe9g\xe9
- 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\xe9 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 \u201chater\u201d sur Kubernetes https://paulbutler.org/2024/the-haters-guide-to-kubernetes/
- L\u2019auteur se plaint r\xe9guli\xe8rement de Kubernetes pour sa grande complexit\xe9 mais reconnait que c\u2019est quand m\xeame un grand morceau de technologie
- A utiliser surtout quand on a besoin de :
- Ex\xe9cuter plusieurs processus/serveurs/t\xe2ches planifi\xe9es.
- Les ex\xe9cuter de mani\xe8re redondante et r\xe9partir la charge entre eux.
- Les configurer, ainsi que les relations entre eux, sous forme de code.
- L\u2019auteur liste ensuite les fonctionnalit\xe9s qu\u2019il utilise, qu\u2019il fait attention quand il les utilise, et celles qu\u2019il pr\xe9f\xe8re \xe9viter
- Utilise : deployments, services, cron jobs, config maps et secrets
- Attention : stateful set, persistent volume et RBAC
- Evite : le YAML \xe0 la main, les op\xe9rateurs et resources customs, Helm, tout ce qui est mesh, les resources ingress, essayer de r\xe9pliquer la stack K8S compl\xe8te 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[\u2026]usion-de-l-independance-technologique-europeenne-991558.html
- Mistral avancait son approche open source
- mais son modele le plus puissant ne l\u2019est pas
- ils ont un partenariat exclusif avec Microsoft pour le distribuer
- Et MS rentre dans le capital
- Au revoir l\u2019independance de l\u2019IA europ\xe9enne
- Au revoir les modeles open source larges
- cela va a l\u2019encontre du loby et de son positinnement aupres de la commission europeenne
- ca fait grincer des dents a bruxelles qui avait all\xe9ger les contraintes sur les modeles fondamentaux a la demande de Mistral qui menacait de de voir s\u2019allier avec MS si ce n\u2019\xe9tait pas le cas.
- Mistral \xe9tait un fer de lance des modeles open sources pour eviter les biais
- ils en garderont masi pas les modeles specialis\xe9s ou optimis\xe9s
- 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\xe9rentes avec des r\xe8gles appliqu\xe9es \xe0 chaque cas d\u2019usage
- Recherche Vectorielle et stockage des embeddings
- Integration avec Langchain (Python), Langchain4j, et Quarkus Langchain
- Am\xe9liorations du search, replication cross site, la console, tracing, l\u2019Operateur Kubernetes \u2026
- 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\u2019article cite comme seul avantage d\u2019avoir le petit badge vert sur Github indiquant \u201cv\xe9rifi\xe9\u201d
- Responsabilit\xe9 future inconnue et potentiellement illimit\xe9e pour les cons\xe9quences de l\u2019ex\xe9cution du code dans un commit que vous avez sign\xe9.
- Renforcement implicite de GitHub en tant qu\u2019autorit\xe9 de confiance centralis\xe9e dans le monde de l\u2019open source.
- Introduction de probl\xe8mes de fiabilit\xe9 inconnus dans l\u2019infrastructure qui repose sur les signatures de commit.
- Une violation temporaire de vos identifiants GitHub entra\xeene d\xe9sormais des cons\xe9quences potentiellement permanentes si quelqu\u2019un parvient \xe0 y introduire une nouvelle cl\xe9 de confiance.
- Nouveau type de surcharge de processus continu : les cl\xe9s de signature de commit deviennent une nouvelle infrastructure permanente \xe0 g\xe9rer, avec de nouvelles questions comme \xab que faire des cl\xe9s expir\xe9es \xbb, \xab \xe0 quelle fr\xe9quence dois-je les renouveler \xbb, etc.
- on peut empecher de pousser des commits non sign\xe9s
S\xe9curit\xe9
Des mod\xe8les avec des backdoors upload\xe9s sur hugging faces non d\xe9tect\xe9. 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\xe9tect\xe9s dont 10 malicieux
- Des tests de chercheurs mais un faisant un reverse ssh
- S\u2019appuye sur le format de serialisation pickle en python. Populaire mais connu comme dangereux
Une premi\xe8re 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\u2019appuie sur la taille des packets chiffr\xe9s envoy\xe9s et leur timing pour d\xe9tecter la longueur des tokens
- Ensuite un LLM sp\xe9cialis\xe9 reconstruit la suite de mots la plus probable vu la longueur
- C\u2019est du \xe0 l\u2019UX qui envoie les tokens au fil de l\u2019eau
- \u0106\u2019est facilement corrigeable en rendant les paquets de taille fixe et en ajoutant du hasard de d\xe9lai d\u2019envoie.
- Mais c\u2019est 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 \u201cstack NEtflix\u201d connue du public a beaucoup evolu\xe9
- Pleins de microservices
- Gen1: groovy en gateway front end for backend , RxJava et Histrix
- Gen2: GraphQL et GraphQL feder\xe9 ; 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\xe9 sur Spring Boot il n\u2019y 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\u2019est du mon materiel
- il va sur les points importants comme synchrone vs asynchrone, les patterns de communication, la copie de donn\xe9es, comment tester le \u201cmonotithe\u201d ou plutot comment ne pas le faire etc
- c\u2019est un peu long mais ca recadre bien
M\xe9thodologies
Opinion: est-ce qu\u2019on peut devenir dev \xe0 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\u2019auteur regrette les pubs pour devenir ev a 40 ansd facilement
- developpeur c\u2019est 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\xe9 qu\u2019\xe0 40, le temps a y consacr\xe9 est diff\xe9rent etc
- compens\xe9 par des actes de motivation (GitHub, participation open source, meetups etc)
- mais le temps d\u2019apprendre de ces erreurs n\u2019as pas vraiment de court circuit
- bref une fonrmation c\u2019est bien mais aps suffisant
Navigate your own way https://www.infoq.com/presentations/lessons-opportunities-carrier/
- IBMer for 21 years. I\u2019m a Java champion
- R\xe9fl\xe9chir \xe0 sa carri\xe8re en mode time box, chercher sa promotion ? Tu peux d\xe9cider ton chemin
- Momentum pand\xe9mie \xe7a lui a fait bcp r\xe9fl\xe9chir sur sa vie et o\xf9 elle \xe9tait. Moment o\xf9 elle quittait IBM pour aller vers RH (c\u0153ur se brise)
- Essentiels pour prendre ton propre chemin
- Se conna\xeetre soit m\xeame, reconna\xeetre les diff\xe9rences avec les autres
- conna\xeetre tes valeurs: c\u2019est quoi important pour toi, c\u2019est quoi qui te motive, ce qui te d\xe9motive. \xc9crire des mots
- Se fixer des objectifs avec l\u2019aide des autres
- Repusher ses limites, sur des sujets dont tu penses que ce n\u2019est pas possible pour toi
- Participe activement, entoure toi bien
- Un talk tr\xe8s personnel et inspirant
Un article sur le trouble TDAH chez le d\xe9veloppeur adulte https://rlemaitre.com/fr/posts/2023/11/hacker-le-tdah-strat%C3%A9gies-pour-le-d%C3%A9veloppeur-moderne/
- Diagnostiqu\xe9 \xe0 44 ans
- Sch\xe9ma d\u2019inattention et d\u2019hyperactivite/implusivite qui interfere avec le fonctionnement
- Affecte le fonctionnement social scolaire ou professionnel
- Non diagnistiqu\xe9: burn out anxi\xe9t\xe9 ou depression
- Souvent non diagnostiqu\xe9 jusqu\u2019\xe0 ce que se propres enfants soient diagnostiqu\xe9s
- Mais cela am\xe8ne du positif: hyperfocus, resolution creative de probl\xe8mes, adaptation rapide aux changements qui sont du pain b\xe9ni
- Le n\xe9gatif c\u2019est la gestion du temps, organisation, instabilit\xe9
- Discute ensuite les ph\xe9nom\xe8nes dans le cerveau
- Et donne des techniques et des pi\xe8ges \xe0 \xe9viter
- Vous avez s\xfbrement des coll\xe8gues TDAH ou l\u2019\xeates-vous meme
Conf\xe9rences
La liste des conf\xe9rences provenant de Developers Conferences Agenda/List par Aur\xe9lie Vache et contributeurs :
Nous contacter
Pour r\xe9agir \xe0 cet \xe9pisode, 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 \xe9pisodes et toutes les infos sur https://lescastcodeurs.com/