Les Cast Codeurs Podcast

Les Cast Codeurs Podcast

By Emmanuel Bernard, Guillaume, Antonio, Arnaud, KatiaNewsTech News
Download on the App Store

Les Cast Codeurs Podcast episodes

  • LCC 304 - Dark punk

    Dans cet épisode, Katia, Arnaud et Emmanuel discutent les nouvelles de cette fin 2023. Le gatherer dans les stream Java, les exceptions, JavaScript dans la JVM, recherche vectorielle, coût du cloud, Gemini, Llama et autres animaux fantastiques et pleins d'outils sympathiques pour fêter la fin de l'année.

    Enregistré le 15 décembre 2023

    Téléchargement de l'épisode LesCastCodeurs-Episode-304.mp3

    News

    Aide Les Cast Codeurs et remplis un petit formulaire pour nous guider l'année prochaine https://lescastcodeurs.com/sondage

    Langages

    Avec JEP 461, arrivée dans en preview dans Java 22 de la notion de "gatherer" pour les streams https://groovy.apache.org/blog/groovy-gatherers

    • dans cet article de Paul King, de l'équipe Groovy, il montre et contraste ce que l'on pouvait faire en Groovy depuis des années, comme des sliding windows, par exemple
    • explique l'approche des gatherers avec ses opérations intermédiaires
    • gatherer sont des operations intermediaires custom qui prennent un etat et le prochain element pour decided quoi faire, et meme changer le stream d'elements suivants (en publier) (via la fonction integrate
    • certains peuvent permettre de combiner les resultats intermediaires (pour paralleliser)
    • Examples : fenetres de taille fixe, fenettres glissantes

    Joe Duffy, qui est CEO de Pulumi, mais qui avait travaillé chez Microsoft sur le project Midori (un futur OS repensé) parle du design des exceptions, des erreurs, des codes de retour https://joeduffyblog.com/2016/02/07/the-error-model/

    • Il compare les codes d'erreurs, les exceptions, checked et non-checked
    • il separe les bugs des erreurs attendues (bugs doivent arreter le process)
    • il raconte l'histoire des unchecked exception et leurs problemes et des checked exceptopns et poourquoi les developeurs java les detestent (selon lui)
    • long article maisn interessant dans ses retours
    • mais lon je ne suis pas allé au bout :smile:

    Après la disparition de Nashorn dans le JDK, on peut se tourner vers le projet Javet https://www.caoccao.com/Javet/index.html

    • Javet permet d'intégrer JavaScript avec le moteur V8
    • Mais aussi carrément Node.js
    • c'est super comme capacité car on a les deux mielleurs moteurs, par contre le support hors x86 est plus limité (genre arm sous windows c'est non)
    Librairies

    Une partie de l'équipe Spring se fait lourder après le rachat effectif de Broadcom https://x.com/odrotbohm/status/1729231722498425092?s=20

    • peu d'info en vrai à part ce tweet
    • mais l'acquisition Broadcome n'a pas l'air de se faire dans le monde des bisounours

    Marc Wrobel annonce la sortie de JBanking 4.2.0 https://www.marcwrobel.fr/sortie-de-jbanking-4-2-0

    • support de Java 21
    • possibilité de générer aléatoirement des BIC
    • amélioration de la génération d'IBAN
    • jbanking est une bibliotheque pour manipuler des structures typiques des banques comme les IBAN les BIC, les monnaies, les SEPA etc.

    Hibernate Search 7 est sorti https://in.relation.to/2023/12/05/hibernate-search-7-0-0-Final/

    • Support ElasticSearch 8.10-11 et openSearch 2.10-11
    • Rebasé sur Lucerne 9.8
    • support sur Amazon OpenSearch Serverless (experimental)
    • attention sous ensemble de fonctionnalités sur Serverless, c'est un API first search cluster vendu a la lambda
    • En lien aussi sur la version 7.1 alpha1

    Hibernate ORM 6.4 est sorti https://in.relation.to/2023/11/23/orm-640-final/

    • support pour SoftDelete (colonne marquant la suppression)
    • support pour les operations vectorielles (support postgreSQL initialement)
    • les fonctions vectorielles sont particulièrement utilisées par l'IA/ML
    • événement spécifiques JFR

    Intégration de citrus et Quarkus pour les tests d'intégrations de pleins de protocoles et formats de message https://quarkus.io/blog/testing-quarkus-with-citrus/

    • permet de tester les entrees / sorties attendues de systèmes de messages (HTTP, Kafka, serveur mail etc)
    • top pour tester les application Event Driven
    • pas de rapport mais Quarkus 3.7 ciblera Java 17 (~8% des gens utilisaient Java 11 dans les builds qui ont activé les notifications)

    Hibernate Search 7.1 (dev 7.1.0.Alpha1) avec dernière version de Lucene (9.8), Infinispan rajoute le support pour la recherche vectorielle.

    • https://hibernate.org/search/releases/7.1/
    • https://infinispan.org/blog/2023/12/13/infinispan-vector-search
    • Hibernate Search permet maintenant la recherche vectorielle
    • La dernière version est intégrée en Infinispan 15 (dev) qui sortira
    • La recherche vectoriolle et stockage de vecteurs, permettent convertir Infinispan en Embedding Store (langchain)
    Cloud

    Comment choisir sa region cloud https://blog.scottlogic.com/2023/11/23/conscientious-cloud-pick-your-cloud-region-deliberately.html

    • pas si simple
    • le coût
    • la securité légale de vos données
    • la consommation carbone de la région choisie (la France est top, la Pologne moins)
    • la latence vs où sont vos clients
    • les services supportés
    Web

    Vers une standardisation des Webhooks ? https://www.standardwebhooks.com/

    • Des gens de Zapier, Twilio, Ngrok, Kong, Supabase et autres, se rejoignent pour essayer de standardiser l'approche des Webhooks
    • La spec est open source (Apache) sur Github https://github.com/standard-webhooks/standard-webhooks/blob/main/spec/standard-webhooks.md
    • Les objectifs sont la sécurité, la reliabilité, l'interopérabilité, la simplicité et la compatibilité (ascendante / descendante)
    • sans la spec, chaque webhook est different dans son comportement et donc les clients doivent s'adapter dans la sematique et les erreurs etc
    • la (meta-) structure de la payload, la taille, la securisation via signature (e.g. hmac), les erreurs (via erreurs HTTP), etc
    Data et Intelligence Artificielle

    Google annonce Gemini, son nouveau Large Language Model https://blog.google/technology/ai/google-gemini-ai/#sundar-note

    • modèle multimodal qui peut prendre du texte, en entrée, mais aussi des images, du son, des vidéos
    • d'après les benchmarks, il est largement aussi bon que GPT4
    • plusieurs tailles de modèles disponible : Nano pour être intégré aux mobiles, Pro qui va être utilisé dans la majeure partie des cas, et Ultra pour les besoins de réflexion les plus avancés
    • Android va rajouter aussi des librairies AICore pour utiliser Gemini Nano dans les téléphones Pixel https://android-developers.googleblog.com/2023/12/a-new-foundation-for-ai-on-android.html
    • Gemini Pro va être disponible dans Bard (en anglais et dans 170 pays, mais l'Europe va devoir attendre un petit peu pour que ce soit dispo)
    • Gemini Ultra devrait aussi rejoindre Bard, dans une version étendue https://blog.google/products/bard/google-bard-try-gemini-ai/
    • Gemini va être intégré progressivement dans plein de produits Google
    • DeepMind parlant de Gemini https://deepmind.google/technologies/gemini/#introduction
    • Un rapport de 60 pages sur Gemini https://storage.googleapis.com/deepmind-media/gemini/gemini_1_report.pdf
    • Gemini a permis aussi de pouvoir développer une nouvelle version du modèle AlphaCode qui excelle dans les compétitions de coding https://storage.googleapis.com/deepmind-media/AlphaCode2/AlphaCode2_Tech_Report.pdf
    • Liste de petites vidéos sur YouTube avec des interviews et démonstrations des capacités de Gemini https://www.youtube.com/playlist?list=PL590L5WQmH8cSyqzo1PwQVUrZYgLcGZcG
    • malheureusement certaines des annonces sont un peu fausse ce qui a amené un discrédit (non du) sur Gemini
    • par exemple la video "aspirationelle" était vendue comme du réel mais ce n'est pas le cas. et ultra n'est pas disponible encore
    • ausso la comparaison de ChatGPT sur la page (initialement au moins) comparait des choux et des carottes, meme si le papier de recherche était correct

    Avec la sortie de Gemini, Guillaume a écrit sur comment appeler Gemini en Java https://glaforge.dev/posts/2023/12/13/get-started-with-gemini-in-java/

    • Gemini est multimodèle, donc on peut passer aussi bien du texte que des images, ou même de la vidéo
    • Il y a un SDK en Java pour interagir avec l'API de Gemini

    Facebook, Purple Llama https://ai.meta.com/blog/purple-llama-open-trust-safety-generative-ai/

    • Opensource https://ai.meta.com/llama/
    • dans l'optique des modeles GenAI ouverts, Facebook fournit des outils pour faire des IA responsables (mais pas coupables :wink: )
    • notament des benchmarks pour evaluler la sureté et un classifier de sureté, par exemple pour ne pas generer du code malicieux (ou le rendre plus dur)
    • llama purple sera un projet parapluie
    • D'ailleurs Meta IBM, Red Hat et pleins d'autres ont annoncé l'AI Alliance pour une AI ouverte et collaborative entre académique et industriels. Sont notammenrt absent Google, OpenAI (pas ouvert) et Microsoft
    • Juste une annouce pour l'instant mais on va voir ce que ces acteurs de l'AI Alliance feront de concret
    • il y a aussi un guide d'utilisateur l'usage IA responsable (pas lu)

    Apple aussi se met aux librairies de Machine Learning https://ml-explore.github.io/mlx/build/html/index.html

    • MLX est une librairie Python qui s'inspire fortement de NumPy, PyTorch, Jax et ArrayFire
    • Surtout, c'est développé spécifiquement pour les Macs, pour tirer au maximum parti des processeurs Apple Silicon
    • Dans un des repos Github, on trouve également des exemples qui font tourner nativement sur macOS les modèles de Llama, de Mistral et d'auters https://github.com/ml-explore/mlx-examples
    • non seulement les Apple Silicon amis aussi la memoire unifiee CPU/GPU qui est une des raisons clés de la rapidité des macs

    Faire tourner Java dans un notebook Jupyter https://www.javaadvent.com/2023/12/jupyter-notebooks-and-java.html

    • Max Andersen explore l'utilisation de Java dans les notebooks Jupyter, au lieu du classique Python
    • il y a des kernels java selon vos besoins
    • mais il faut les installer dans la distro jupyter qu'on utilise
    • et c'est la que jbang installable via pip vient a la rescousse
    • il installe automatiquement ces kernels en quelques lignes
    Outillage

    Sfeir liste des jeux orientés développeurs https://www.sfeir.dev/tendances/notre-selection-de-jeux-de-programmation/

    • parfait pour Noël
    • mais c'est pour ceux qui veulent continuer a challenger leur cerveau après le boulot
    • jeu de logique, jeu de puzzle avec le code comme forme, jeu autour du machine learning, jeu de programmation assembleur

    Les calendriers de l'Avent sont populaires pour les développeurs ! En particulier avec Advent of Code https://adventofcode.com/

    • Mais il y a aussi l'Advent of Java https://www.javaadvent.com/
    • Ou un calendrier pour apprendre les bases de SVG https://svg-tutorial.com/
    • Le calendrier HTML "hell" https://www.htmhell.dev/adventcalendar/ qui parle d'accessibilité, de web components, de balises meta, de toutes les choses qu'on peut très bien faire en HTML/CSS sans avoir besoin de JavaScript
    • Pour les développeurs TypeScript, il y a aussi un calendrier de l'Avent pour vous ! https://typehero.dev/aot-2023

    Un super thread de Clara Dealberto sur le thème de la "dataviz" (data visualization) https://twitter.com/claradealberto/status/1729447130228457514

    • Beaucoup d'outil librement accessibles sont mentionnés pour faire toutes sortes de visualisations (ex. treemap, dendros, sankey…) mais aussi pour la cartographie
    • Quelques ressources de site qui conseillent sur l'utilisation du bon type de visualisation en fonction du problème et des données que l'on a
    • notemment celui du financial time qui tiens dans une page de PDF
    • Bref c'est cool mais c'est long a lire

    Une petite liste d'outils sympas - jc pour convertir la sortie de commandes unix en JSON https://github.com/kellyjonbrazil/jc - AltTab pour macOS pour avoir le même comportement de basculement de fenêtre que sous Windows https://alt-tab-macos.netlify.app/ - gron pour rendre le JSON grep-able, en transformant chaque valeur en ligne ressemblant à du JSONPath https://github.com/tomnomnom/gron - Marker, en Python, pour transformer des PDF en beau Markdown https://github.com/VikParuchuri/marker - n8n un outil de workflow open source https://n8n.io/

    • gron en fait montre des lignes avec des assignments genre jsonpath = value
    • et tu peux ungroner apres pour revenir a du json
    • Marker utilise du machine learning mais il halklucine moins que nougat (nous voilà rassuré)

    Docker acquiert Testcontainers https://techcrunch.com/2023/12/11/docker-acquires-atomicjar-a-testing-startup-that-raised-25m-in-january/

    • Annonce par AtomicJar https://www.atomicjar.com/2023/12/atomicjar-is-now-part-of-docker/
    • Annonce par Docker https://www.docker.com/blog/docker-whale-comes-atomicjar-maker-of-testcontainers/
    Architecture

    Comment implémenter la reconnaissance de chanson, comme Shazam https://www.cameronmacleod.com/blog/how-does-shazam-work

    • il faut d'abord passer en mode fréquence avec des transformées de Fourrier pour obtenir des spectrogrammes
    • puis créer une sorte d'empreinte qui rassemble des pics de fréquences notables à divers endroits de la chanson
    • d'associer ces pics pour retrouver un enchainement de tels pics de fréquence dans le temps
    • l'auteur a partagé son implémentation sur Github https://github.com/notexactlyawe/abracadabra/blob/e0eb59a944d7c9999ff8a4bc53f5cfdeb07b39aa/abracadabra/recognise.py#L80
    • Il y avait également une très bonne présentation sur ce thème par Moustapha Agack à DevFest Toulouse https://www.youtube.com/watch?v=2i4nstFJRXU
    • les pics associés sont des hash qui peut etre comparés et le plus de hash veut dire que les chansons sont plus similaires
    Méthodologies

    Un mémo de chez ThoughtWorks à propos du coding assisté par IA https://martinfowler.com/articles/exploring-gen-ai.html#memo-08

    • Avec toute une liste de questions à se poser dans l'utilisation d'un outil tel que Copilot
    • Il faut bien réaliser que malheureusement, une IA n'a pas raison à 100% dans ses réponses, et même plutôt que la moitié du temps, donc il faut bien mettre à jour ses attentes par rapport à cela, car ce n'est pas magique
    • La conclusion est intéressante aussi, en suggérant que grosso modo dans 40 à 60% des situations, tu peux arriver à 40 à 80% de la solution. Est-ce que c'est à partir de ce niveau là qu'on peut vraiment gagner du temps et faire confiance à l'IA ?
    • Ne perdez pas trop de temps non plus à essayer de convaincre l'IA de faire ce que vous voulez qu'elle fasse. Si vous n'y arrivez pas, c'est sans doute parce que l'IA n'y arrivera même pas elle même ! Donc au-delà de 10 minutes, allez lire la doc, chercher sur Google, etc.
    • notamment, faire genrer les tests par l'IA dans al foulée augmente les risques surtout si on n'est pas capable de bien relire le code
    • si on introduit un choix de pattern genre flexbox en CSS, si c'est sur une question de sécuriter, vérifier (ceinture et bretelle)
    • est-ce le framework de la semaine dernière? L'info ne sera pas dans le LLM (sans RAG)

    Quelles capacités sont nécessaires pour déployer un projet AI/ML https://blog.scottlogic.com/2023/11/22/capabilities-to-deploy-ai-in-your-organisation.html

    • C'est le MLOps et il y a quelques modèles end to end Google, IBM mais vu la diversité des organisations, c'est difficile a embrasser ces versions completes
    • ML Ops est une métier, data science est un metier, donc intégrer ces competences
    • sachez gérer votre catalogue de données
    • Construire un process pour tester vos modèles et continuellement
    • La notion de culture de la recherche et sa gestion (comme un portefeuille financier, accepter d'arrêter des experience etc)
    • la culture de la recherche est peu présente en engineering qui est de construire des choses qui foncitonnent
    • c'est un monde pre LLM

    Vous connaissez les 10 dark patterns de l'UX ? Pour vous inciter à cliquer ici ou là, pour vous faire rester sur le site, et plus encore https://dodonut.com/blog/10-dark-patterns-in-ux-design/

    • Parmi les dark patterns couverts
      • Confirmshaming
      • Fake Urgency and the Fear of Missing Out
      • Nagging
      • Sneaking
      • Disguised Ads
      • Intentional Misdirection
      • The Roach Motel Pattern
      • Preselection
      • Friend Spam
      • Negative Option Billing or Forced Continuity
    • L'article conclut avec quelques pistes sur comment éviter ces dark patterns en regardant les bons patterns de la concurrence, en testant les interactions UX, et en applicant beaucoup de bon sens !
    • les dark patterns ne sont pas des accidents, ils s'appuient sur la psychologie et sont mis en place specifiquement

    Comment choisir de belles couleurs pour la visualisation de données ? https://blog.datawrapper.de/beautifulcolors/

    • Plutôt que de penser en RGB, il vaut mieux se positionner dans le mode Hue Saturation Brightness
    • Plein d'exemples montrant comment améliorer certains choix de couleurs
    • Mieux vaut éviter des couleurs trop pures ou des couleurs trop brillantes et saturées
    • Avoir un bon contraste
    • Penser aussi aux daltoniens !
    • j'ai personnellement eu toujours du mal avec saturationm vs brightness
    • faire que les cloueirs en noir et blanc soient separees evant de le remettre (en changeant la brightness de chaque couleur) ca aide les daltoniens
    • eviter les couleurs aux 4 coins amis plutot des couleurs complementaires (proches)
    • rouge orange et jaune (non saturé) et variations de bleu sont pas mal
    • les couleurs saturées sont aggressives et stressent les gens

    Pourquoi vous devriez devenir Engineering Manager? https://charity.wtf/2023/12/15/why-should-you-or-anyone-become-an-engineering-manager/

    • L'article parle de l'évolution de la perception de l'engineering management qui n'est plus désormais le choix de carrière par défaut pour les ingénieurs ambitieux.
    • Il met en évidence les défis auxquels les engineering managers sont confrontés, y compris les attentes croissantes en matière d'empathie, de soutien et de compétences techniques, ainsi que l'impact de la pandémie de COVID-19 sur l'attrait des postes de management.
    • L'importance des bons engineering mnanagers est soulignée, car ils sont considérés comme des multiplicateurs de force pour les équipes, contribuant de manière significative à la productivité, à la qualité et au succès global dans les environnements organisationnels complexes.
    • L'article fournit des raisons pour lesquelles quelqu'un pourrait envisager de devenir Engineering Manager, y compris acquérir une meilleure compréhension de la façon dont les entreprises fonctionnent, contribuer au mentorat et influencer les changements positifs dans la dynamique des équipes et les pratiques de l'industrie.
    • Une perspective est présentée, suggérant que devenir Engineering manager peut conduire à la croissance personnelle et à l'amélioration des compétences de vie, telles que l'autorégulation, la conscience de soi, la compréhension des autres, l'établissement de limites, la sensibilité à la dynamique du pouvoir et la maîtrise des conversations difficiles. L'article encourage à considérer la gestion comme une occasion de développer et de porter ces compétences pour la vie.
    Sécurité

    LogoFAIL une faille du bootloader de beaucoup de machines https://arstechnica.com/security/2023/12/just-about-every-windows-and-linux-device-vulnerable-to-new-logofail-firmware-attack/

    • en gros en changeant les eimages qu'on voit au boot
    • permet d'executer du code arbitraire au tout debuit de la securisation du UEFI (le boot le plus utilisé)
    • donc c'est game over parce que ca demarre avant l'OS
    • c'est pas une exploitation a distance, il faut etre sur la machine avec des droits assez elevés deja mais ca peut etre la fin de la chaine d'attaque
    • et comme d'hab un interpreteur d'image est la cause de ces vulnerabilités
    Conférences

    L'IA au secours de conférences tech: rajoute des profile tech femme comme speaker au programme pour passer le test diversité online via des profiles fake. https://twitter.com/GergelyOrosz/status/1728177708608450705 https://www.theregister.com/2023/11/28/devternity_conference_fake_speakers/ https://www.developpez.com/actu/351260/La-conference-DevTernity-sur-la-technologie-s-e[…]s-avoir-cree-de-fausses-oratrices-generees-automatiquement/

    • j'avais lu le tweet du createur de cette conf qui expliquait que c'etait des comptes de tests et que pris dans le rush ils avaient oublié de les enlever
    • mais en fait les comptes de tests ont des profils "Actifs" sur le reseaux sociaux apparemment donc c'était savamment orchestré
    • Au final beaucoup de speakers et des sponsors se desengagent

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

    • 31 janvier 2024-3 février 2024 : SnowCamp - Grenoble (France)
    • 1 février 2024 : AgiLeMans - Le Mans (France)
    • 6 février 2024 : DevFest Paris - Paris (France)
    • 8-9 février 2024 : Touraine Tech - Tours (France)
    • 15-16 février 2024 : Scala.IO - Nantes (France)
    • 6-7 mars 2024 : FlowCon 2024 - Paris (France)
    • 14-15 mars 2024 : pgDayParis - Paris (France)
    • 19 mars 2024 : AppDeveloperCon - Paris (France)
    • 19 mars 2024 : ArgoCon - Paris (France)
    • 19 mars 2024 : BackstageCon - Paris (France)
    • 19 mars 2024 : Cilium + eBPF Day - Paris (France)
    • 19 mars 2024 : Cloud Native AI Day Europe - Paris (France)
    • 19 mars 2024 : Cloud Native Wasm Day Europe - Paris (France)
    • 19 mars 2024 : Data on Kubernetes Day - Paris (France)
    • 19 mars 2024 : Istio Day Europe - Paris (France)
    • 19 mars 2024 : Kubeflow Summit Europe - Paris (France)
    • 19 mars 2024 : Kubernetes on Edge Day Europe - Paris (France)
    • 19 mars 2024 : Multi-Tenancy Con - Paris (France)
    • 19 mars 2024 : Observabiity Day Europe - Paris (France)
    • 19 mars 2024 : OpenTofu Day Europe - Paris (France)
    • 19 mars 2024 : Platform Engineering Day - Paris (France)
    • 19 mars 2024 : ThanosCon Europe - Paris (France)
    • 19-21 mars 2024 : IT & Cybersecurity Meetings - Paris (France)
    • 19-22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France)
    • 26-28 mars 2024 : Forum INCYBER Europe - Lille (France)
    • 28-29 mars 2024 : SymfonyLive Paris 2024 - Paris (France)
    • 4-6 avril 2024 : Toulouse Hacking Convention - Toulouse (France)
    • 17-19 avril 2024 : Devoxx France - Paris (France)
    • 18-20 avril 2024 : Devoxx Greece - Athens (Greece)
    • 25-26 avril 2024 : MiXiT - Lyon (France)
    • 25-26 avril 2024 : Android Makers - Paris (France)
    • 8-10 mai 2024 : Devoxx UK - London (UK)
    • 16-17 mai 2024 : Newcrafts Paris - Paris (France)
    • 24 mai 2024 : AFUP Day Nancy - Nancy (France)
    • 24 mai 2024 : AFUP Day Poitiers - Poitiers (France)
    • 24 mai 2024 : AFUP Day Lille - Lille (France)
    • 24 mai 2024 : AFUP Day Lyon - Lyon (France)
    • 2 juin 2024 : PolyCloud - Montpellier (France)
    • 6-7 juin 2024 : DevFest Lille - Lille (France)
    • 6-7 juin 2024 : Alpes Craft - Grenoble (France)
    • 27-28 juin 2024 : Agi Lille - Lille (France)
    • 4-5 juillet 2024 : Sunny Tech - Montpellier (France)
    • 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online
    • 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium)
    • 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France)
    • 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France)
    • 17-18 octobre 2024 : DevFest Nantes - Nantes (France)
    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/

    1 hr 40 min
  • LCC 303 - Interview sur Vert.x 4.5 avec Julien Viet

    Ce qui a commencé comme un crowdcast a fini en interview de Julien Viet sur Vert.x 4.5.

    Enregistré le 23 novembre 2023

    Téléchargement de l'épisode LesCastCodeurs-Episode-303.mp3

    Interview Ta vie ton oeuvre (présentation de l'interviewé)

    Le site de Julien Viet X (ancien twitter)

    Vert.x 4.5

    Vert.X 4.5 est sorti https://vertx.io/blog/whats-new-in-vert-x-4-5/

    • support des thread virtuels qui permet d'écrire le code synchrone pour des cas complexes et utiliser les thread locaux dans ces cas la. Cela ne remplacement pas le code de process des événements
    • le code put faire des future await qui ne bloqueront pas le thread principal
    • connection SQL dynamique: quand le host change dynamiquement dans l'application
    • support des proxies de niveau 7 pour les clients SQL
    • rotation certificats a chaud
    • des builders (HTTP, SQL connection)
    • extensions pour utiliser les coroutines kotlin
    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/

    48 min
  • LCC 302 - Amour, Gloire et OpenAI

    Dans cet épisode, Emmanuel, Guillaume et Katia abordent les nouveautés Java, le lancement du langage Misty par Douglas Crockford, l'arrivée de WasmGC dans Chrome, la sortie de Spring Framework 6.1, des évolutions dans les bibliothèques comme Vert.x 4.5, et des conseils sur la création de langages de programmation. L'épisode couvre également des actualités dans les domaines de l'infrastructure avec le premier ordinateur cloud commercial par Oxide, des annonces sur les frameworks web comme Angular v17, des réflexions sur les architectures monolithiques versus microservices, et sans oublier le soap Opéra du moins de novembre avec OpenAI en vedette.

    Enregistré le 23 novembre 2023

    Téléchargement de l'épisode LesCastCodeurs-Episode-302.mp3

    News Langages

    Recap Javaiste https://www.infoq.com/news/2023/10/java-news-roundup-oct09-2023

    • la JEP 454 sur l'appel a la memoire et les API dites natives passera en target pour JDK 22 avec une façon d'ajouter les appels de méthodes restreintes sans le flag --enable-native-access (via un manifeste dans le JAR)
    • JDK 22 prévu pour mars 2024
    • Spring Framework 6.1 est sorti (RC2)
    • Tomcat a quelques CVE donc mettez à jour

    Douglas Crockford, le papa de JSON, sort un nouveau langage dénommé Misty https://www.crockford.com/misty/

    • Utilise des caractères unicodes pour définir des chaînes de caractères avec des chevrons, ou pour les opérateurs de base (comparison, and/or)
    • Support de programmation concurrente avec les actors

    WasmGC arrive dans Chrome, par l'intermédiaire de v8 https://v8.dev/blog/wasm-gc-porting

    • historiquement il fallait compiler le port du langage lui meme (et donc son GC)
    • Maintenant on peut compiler le code (java) dans des primitives Wasm et WasmGC
    • Java python et co ont des VM qui sont compilées pour toutes les architecture cibles (ARM, x86 etc) y compris le JIT, AOT
    • donc on peut définir comme backend WASM lui meme, c'est l'approche classique
    • WasmGC définit des structs et des array avec des champs dans lesquels on peut créer des instances, lire/écrire les champs, caster dans d'autres types et ces objects sont managés par WasmGC lui meme. on a un système de type du coup et des relations entre ces types
    • Donc on représenterait les objets Java en objets Wasm
    • avantage et inconvenient des deux approches
    • tous les codes de management d'objets ne sont plus nécessaires (y compris malloc) -> gain memoire
    • en mode GC dans le langage les liens object langage <-> objets Wasm sont inefficaces car le lien langage -> wasm définissent l'instance entière Wasm, donc des gros cycles d'objets ne sont pas GCed
    • Wasm sandbox empêche d'inspecter la stack et d'éliminer des objets plus efficacement, et il n'y a pas d'API pour aider donc seul WasmGC peut utiliser cet avantage.
    • un seul GC a des avantages: meilleure gestion de la pression memoire
    • mais on réutilise le GC du web (genre V8) vs celui de Java. (c'est moins un problème pour les autres langages avec des gc moins sophistiqués)
    • fragmentation memoire, est plus proéminent quand on a des modules de type C qui peur garder des gros blocs memoire "quasi vide" (opaque). c'est managé plus finement en WasmGC
    • Sémantiques de langage est plus dur a achevé vu qu'on map en concepts WasmGC, il y a de la transformation.
    • sémantiques chaine de caractère, nombres, etc peuvent être un peu ajusté
    • un port utilisant WasmGC n'est pas une réécriture de tout mais un gros morceau de la VM du langage cible est a réécrire
    • WasmGC peut optimiser comme les patterns en JVM mais en WasmMVP c'est la toolchain avant qui fait le travail d'optimisation (e.g. LLVM)
    • donc avec WasmGC, la toolchain fera les optimisations de langage et WasmGC fera les optimisations low level (inlining, constant propagation, dead code elimination)
    • puis d'autres optimisation specific a WasmGC comme les escape analysis,
    • et ils parlent d'optimisations dans V8 pour approcher les appels dynamique a la Java (pas défini a la compilation)

    Ecrire un langage de programmation… ça prend du temps… beaucoup de temps https://yorickpeterse.com/articles/a-decade-of-developing-a-programming-language/

    • Évitez le gradual typing
    • Évitez le boostrapping de votre compilateur
    • Évitez d'écrire votre propre générateur de code, linker, etc
    • Évitez de tergiverser trop longtemps sur la syntaxe
    • La prise en charge multiplateforme est un défi
    • Les livres sur les compilateurs compilateurs ne valent pas l'argent que vous dépenserez dessus
    • Faire grandir et évoluer un langage de programmation est difficile
    • La meilleure suite de tests est une application réelle
    • Ne privilégiez pas les performances sur les fonctionnalités.
    Librairies

    Spring Boot rajoute le hot reload des certificats SSL pour embedded Netty et Tomcat https://spring.io/blog/2023/11/07/ssl-hot-reload-in-spring-boot-3-2-0

    • utilisez reload-on-update: true
    • et écoute les changements de fichiers
    • pas mal dans les déploiements non immuables (pas comme kubernetes)

    VertX 4.5 est sorti https://vertx.io/blog/whats-new-in-vert-x-4-5/

    • support des thread virtuels qui permet d'écrire le code synchrone pour des cas complexes et utiliser les thread locaux dans ces cas la. Cela ne remplacement pas le code de process des événements
    • le code put faire des future await qui ne bloqueront pas le thread principal
    • connection SQL dynamique: quand le host change dynamiquement dans l'application
    • support des proxies de niveau 7 pour les clients SQL
    • rotation certificats a chaud
    • des builders (HTTP, SQL connection)
    • extensions pour utiliser les coroutines kotlin

    Integration declarative de Langchain4j dans Quarkus https://quarkus.io/blog/quarkus-meets-langchain4j/

    Infrastructure

    Oxide sort le premier ordinateur cloud disponible commercialement https://oxide.computer/blog/the-cloud-computer

    • pas facile de séparer le buzz de la réalité
    • on dirait un ordi purpose built avec l'efficience et le cote compact en tete
    • ils poussent contre le mode location uniquement des cloud providers
    • en gros inspire des cloud providers qui construisent leurs propres ordis (et meme CPUs maintenant !)
    • construit le hardware et le software en co optimisation
    • c'est un rack entier, peu de bruit de ventilateur
    • pas de cable (seul E/S du rack)
    • donc ils ont leurs propres switch
    • compliqué de différencier l'avantage du désavantage

    Les leçons tirées de 20 de Site Reliability Engineering par Google https://sre.google/resources/practices-and-processes/twenty-years-of-sre-lessons-learned/

    • Le risque d'une mitigation doit être proportionné à la gravité de la panne
    • Les mécanismes de récupération doivent être entièrement testés avant une urgence
    • Canarisez tous les changements
    • Avoir un "gros bouton rouge"
    • Les tests unitaires ne suffisent pas, des tests d'intégration sont également nécessaires
    • CANAUX DE COMMUNICATION ! ET CANAUX DE SECOURS !! ET DES SAUVEGARDES POUR CES CANAUX DE SECOURS !!!
    • Modes de dégradation intentionnelle des performances
    • Tester la résilience aux catastrophes
    • Automatisez vos mitigations
    • Réduisez le temps entre les déploiements, afin de diminuer la probabilité que le déploiement tourne mal
    • Une seule version matérielle globale est un point de défaillance unique

    Karpenter une evolution de autoscaler pour les cluster kubernetes https://blog.ippon.fr/2023/11/07/mettez-a-lechelle-vos-clusters-kubernetes-de-maniere-efficace-et-faites-des-economies-avec-karpenter/

    • fonctionne uniquement pour AWS aujourd'hui et un projet AWS donc a voir la portabilité
    • permet d'ajouter ou de supprimer des noeuds au cluster kubernetes en dynamique pour right sizer ses clusters
    • bypass les API kube pour la creation d'instance et utilise les APIs AWS EC2 directement
    • permet des noeuds hétérogènes (pas homogène comme autoscaler)
    • et se right size rapidement (e.g. 30s pour éteindre un noeud)
    • besoin d'applis cloud native par elles vont être baladées
    Web

    Deno! https://www.infoq.com/news/2023/10/deno-jupyter-integration

    • Dev experience, jupyter notebook integration
    • Améliorations sur Visual Studio Code extension (compatible avec NodeJS)
    • Exec native sur Jupyter de javascript et typescript permet d'effectuer des analyses de données, construire des modèles d'apprentissage automatique et générer des rapports interactifs avec Deno
    • Visualisation dynamiques avec D3 dans le notebook
    • Connection à Deno KV
    • Plusieurs améliorations sur le testing, APIs etc

    Lancement du nouveau site angular.dev et de la version v17 du framework https://blog.angular.io/announcing-angular-dev-1e1205fa3039

    • nouvelle doc, nouveaux tutoriels, et bac à sable
    • un nouveau logo aussi
    • mais cette version v17 est la continuation d'Angular, pas une toute nouvelle version qui casse tout
    • le nouveau "control flow" devient GA, et propose des conditionals (if, else…) https://blog.angular.io/meet-angulars-new-control-flow-a02c6eee7843
    • le blog d'Angular mentionne les nouveautés, au-delà du revamp de la documentation https://blog.angular.io/introducing-angular-v17-4d7033312e4b
    • Cédric Exbrayat mets les mains dans le cambouis et couvre les nouveautés techniques dans le blog des Ninja Squad https://blog.ninja-squad.com/
    • Et les nouveautés aussi du côté de la CLI https://blog.ninja-squad.com/2023/11/09/angular-cli-17.0/
    • beaucoup de focus sur l'apprentissage et la manipulation concrete avec le bac a sable et les tutoriaux
    • le site lui meme est maintenant open source (il ne l'était pas avant?)
    • le logo est nouveau et adaptable par les communautés
    Outillage

    Il est possible de signer et notariser des applications pour macOS sur des machines non-Apple https://gregoryszorc.com/blog/2022/08/08/achieving-a-completely-open-source-implementation-of-apple-code-signing-and-notarization/

    • implémenté en Rust
    • pratique pour son pipeline CI/CD basé sur Linux
    • a priori, il y a des outils similaires pour le monde Windows, qui permet de signer sur une machine non-Windows https://github.com/mtrojnar/osslsigncode

    Lors de son Github Universe, Copilot fait le show ! https://github.blog/2023-11-08-universe-2023-copilot-transforms-github-into-the-ai-powered-developer-platform/

    • Copilot Chat sera GA en décembre, il utilise GPT4, il permet de guider le développeur, de générer du code, de détecter des erreurs et aide à les corriger, d'expliquer le code
    • Intégration à venir de Copilot Chat dans les IDEs de JetBrains
    • Copilot Chat va être intégrer sur github.com et dans l'appli mobile aussi
    • Introduction de GitHub Copilot Enterprise pour les sociétés, qui permettra de spécialisé le modèle sur le code de l'entreprise
    • Intégration de Copilot ans Workspace, donc quand on voudra adresser un bug, créer un pull request, Copilot pourra nous aider étape par étape, suggérer un plan d'action
    • Copilot Enterprise permettra de faire des recherches avec le contexte entier du code de l'entreprise, donc idéalement meilleur que le focus sur un repo de Copilot

    Un guide sur OpenRewrite https://feeds.feedblitz.com//819402521/0/baeldungA-Guide-to-OpenRewrite

    • permet de refactorer le code via des règles
    • mise a jour de dependences, enlever usage d'api dépréciées, migration d'une bibliothèque a une autre, etc
    • migration java, migration framework, transformations spécifiques a votre société
    • OpenRewrite vient avec un écosystème de recettes
    • intégration via maven ou gradle
    • la suite montre des examples de migrations
    Architecture

    Article interessant sur Monolithe vs Microservices ! https://www.infoq.com/articles/monolith-versus-microservices/

    • Le débat monolithe vs microservices. Les monolithes reviennent, par exemple spring-modulith https://spring.io/projects/spring-modulith
    • Les microservices sont la solution à la complexité plutôt que la cause de celle-ci. Toutes les applications deviendront complexes ; au-delà d'un certain point, les microservices nous aideront à gérer cette complexité.
    • Les microservices comportent des coûts et des avantages. Si les avantages ne l'emportent pas sur les coûts, vous n'aurez pas une expérience positive avec les microservices.
    • Nous pouvons arrêter notre transition vers les microservices quelque part au milieu du spectre, ce que j'aime appeler le modèle hybride. À ce stade, nous pouvons avoir quelques gros services mélangés à quelques petits services. Nous pouvons avoir le meilleur des deux mondes : la simplicité et la commodité du monolithe combinées à la flexibilité et à la scalabilité des microservices.
    • Il n'y a pas de choix binaire entre monolithique et microservices. En réalité, il existe un spectre de possibilités entre les deux. Si vous vous êtes fixé à l'une des extrémités du spectre, vous passez à côté de la grande variété d'architectures intermédiaires.
    • Nous devrions cesser de parler de monolithe contre microservices et plutôt avoir un débat plus nuancé sur la taille appropriée des services.
    • les microservices mettent sur le devant de la scene la complexification du système, les monolithes le cachent sous le tapis
    • les microservices permette de manager cette complexité
    • automatisation est la clés dans l'adoption des microservices
    • bien aligner son architecture et son domain ou alors la douleur arrive
    Sécurité

    Une explication de la CVE sur HTTP/2 https://quarkus.io/blog/cve-2023-44487/

    • en fonction de l'implémentation, le risque est plus ou moins grand (de plus de CPU a un full DDOS)
    • au cœur du problème est la capacité d'envoyer pleins de requêtes en parallèle sur le meme pipeline HTTP/2
    • les serveurs ont en general une limite au streams en parallèle (genre 100)
    • la CVE est exploitée cote client en ouvrant et fermant rapidement une stream, c'est plus léger sur le client, le serveur a un delai dans sont processing
    • ce qui permet de bypasser la limit et affamer les resources du serveur
    • c'es catastrophique en cas de one thread per request (thread starvation)
    • en event loop, c'est une queue plus grande (donc le cas de quarkus)
    • pour mitiger, quarkus regarde le nombre de stream close requests par seconde pour détecter les abus (200 requêtes de fermeture sur une fetnetre de 30s)
    Data / IA

    Elon Musk annonce son LLM, appelé Grok https://x.ai/

    • Connectivité en temps réel avec Twitter !
    • Fenêtre de contexte de 25k characters
    • Le LLM garderait le contexte de la conversation (au lieu d'avoir à toujours renvoyer toute la discussion dans le contexte, à cause du côté sans état des LLMs habituellement)
    • Le style, la personnalité, du LLM, serait assez humoristique, voire carrément sarcastique, à la Musk… et déjà sur Twitter une personne commentait en disant que c'était le LLM "anti-woke"
    • Grok serait disponible pour les utilisateurs payants de Twitter

    OpenAI fait 4 nouvelles annonces https://openai.com/blog/new-models-and-developer-products-announced-at-devday

    • GPT-4 Turbo : leur dernier et plus puissant LLM. Il offre un contexte de 128k tokens, des prix plus bas et des quotas plus élevés. 128k c'est comme Claude
    • Assistants API : une solution permettant de créer des mini assistants personnalisés et de les exposer via une API. L'objectif est de faciliter l'intégration des solutions GenAI dans les applications, avec des fonctionnalités de gestion des conversations, d'interprétation de code et de RAG.
    • API pour DALL•E 3 : un modèle de 3e génération pour la génération d'images.
    • GPTs : des versions personnalisées de ChatGPT, faciles à développer même sans compétences en programmation. Une place de marché sera disponible pour monétiser ces "GPTs".
    • Merci Didier et son X de résumer
    • un article plus complet de SFEIR https://www.sfeir.dev/ia/quand-lesprit-de-noel-sinvite-a-lopenai-devday/
    • Protection juridique en cas d'attaque de droits d'auteur
    Loi, société et organisation

    Les acteurs et la IA, deal pour arrêter a grève https://www.bbc.com/news/entertainment-arts-67364587

    • Les acteurs et les grands studios d'Hollywood ont conclu un accord le 8 novembre pour mettre fin à une grève qui a paralysé la production de films et de séries aux États-Unis pendant plusieurs mois.
    • L'accord prévoit une nouvelle convention collective de trois ans pour les acteurs (hormis les vedettes, les acteurs n'arrivent pas à gagner leur vie avec le streaming)
    • Revalorisation importante des salaires minimums ainsi que des des garde-fous contre le IA. Un système de primes pour les rediffusions en streaming.
    • Double mouvement social historique : acteurs sont entrés en grève mi-juillet, les scénaristes depuis début mai. La paralysie du secteur a coûté au moins 6 milliards de dollars.
    • Les acteurs craignaient que les studios utilisent l'IA pour cloner leur voix et leur image, les réutiliser à perpétuité, sans compensation ni consentement. Les conditions entourant les droits des studios sur l'image des acteurs stars après leur mort a été négocié.

    Chute de WeWork, dépôt de bilan https://www.maddyness.com/2023/11/06/wework-impact-coworking-france/

    • La disparition annoncée du géant mondial du coworking marque un tournant pour le secteur, y compris en France.
    • Asphyxié par une dette de près de 3 milliards de dollars
    • Chute interminable entamée en 2019
    • WeWork était le leader mondial du secteur et, de par son statut de pionnier du coworking
    • WeWork propose 15 établissements en France, tous situés à Paris
    • Pourtant la demande pour le coworking ne cesse d'exploser
    • Startups domicilient leur siège (Qonto par exemple) dans un espace de co-working
    • Le modèle du coworking n'est pas remis en cause. WeWork, c'est un phénomène à part. Il y a eu une mauvaise gestion de départ d'une licorne qui croît à toute vitesse, en ne faisant absolument pas attention à son modèle économique de base (dit Clément Alteresco CEO de Morning)
    • Mauvaise publicité pour le marché et les concurrents, mais considèrent qu'ils vont s'en sortir

    Les français, les utilisateurs twitter le plus violents d'Europe? https://www.huffingtonpost.fr/france/article/les-francais-sont-les-utilisateurs-de-twitter-les-plus-violents-d-europe_225331.html#:~:text=2023%2023%3A57-,Les%20Fran%C3%A7ais%20sont%20les%20utilisateurs%20de%20Twitter%20les%20plus%20violents,'Allemagne%20et%20l'Espagne.

    • Les signalements de contenus, suppressions et suspensions pour propos violents et haineux au sein de X sont les plus nombreux en France, loin devant l'Allemagne et l'Espagne.
    • 16.288 suppressions de messages contre 7.160 en Allemagne et 7.743 en Espagne
    • X explique avoir une « équipe internationale et inter-fonctionnelle » de « modérateurs humains », qui travaillent « 24 heures sur 24 avec la capacité de couvrir plusieurs langues ».

    Sam Altman PDG d'OpenAI est débarqué par son conseil de surveillance https://thealgorithmicbridge.substack.com/p/why-openai-fired-sam-altman-and-what

    • ça a surpris le monde la silicone valley dans lequel Altman est adulé.
    • N ancien cofondateur a aussi été écarté à un poste périphérique mais a décidé de quitter le navire.
    • C'est du à des tensions dans la boîte entre la partie lucrative et non lucrative d'OpenAI.
    • Le conseil travail pour une AI sûre et pour le bien de l'humanité
    • Sam Altman avait fait prendre le virage for du business depuis quelques années
    • Il n'a selon le communiqué pas été franc et transparent avec son conseil de surveillance.
    • Microsoft qui a misé sur ce cheval (OpenAI) n'était pas au courant, ni la plupart des employés d'OpenAI
    • Quelques employés de OpenAI ont déjà démissionné
    • la reduction des recherches fondamentales vs la productization a joué un role surement
    • Et il n'est pas le seul à partir https://x.com/hellokillian/status/1725797467315486902?s=46&t=GLj1NFxZoCFCjw2oYpiJpw
    • Encore mieux que Dallas le board négocie son retour au bout de 24h https://www.theverge.com/2023/11/18/23967199/breaking-openai-board-in-discussions-with-sam-altman-to-return-as-ceo
    • Et le board saute: https://twitter.com/rowancheung/status/1726342477874102604?s=21&t=O1MqQ7XEw5hIAezn-npoQA
    • Finalement, Satya Nadella annonce que Sam Altman et Greg Brockman rejoignent Microsoft dans une nouvelle équipe de recherche IA https://twitter.com/satyanadella/status/1726509045803336122
    • et finalement avec un nouveau board, Sam Altman retourne chez open AI https://x.com/sama/status/1727207458324848883?s=20

    Les groupes "Responsible AI" chez Google, Microsoft et plus récemment Meta https://www.theverge.com/2023/11/18/23966980/meta-disbanded-responsible-ai-team-artificial-intelligence?utm_source=substack&utm_medium=email sont détruits

    • meme débat chez OpenAI en fait.
    • difficile de comprendre les raisons, à part que la course s'est accélérée
    • l'article site les gouvernements qui veulent réguler mais je ne comprends pas en quoi cela influence
    Conférences

    Retrouvez les conférences sur le site Developers Conferences Agenda/List par Aurélie Vache.

    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/

    1 hr 35 min
  • LCC 301 - Minoritaire ou majoritaire, là est la question!

    Dans cet épisode, Emmanuel et Guillaume reviennent sur les nouveautés de l'écosystème Java (Java 21, SDKman, Temurin, JBang, Quarkus, LangChain4J, …) mais aussi sur des sujets plus généraux comme Unicode, WebAssembly, les bases de données vectorielles, et bien d'autres sujets orientés IA (LLM, ChatGPT, Anthropic, …).

    Enregistré le 20 octobre 2023

    Téléchargement de l'épisode LesCastCodeurs-Episode-301.mp3

    News Langages

    Gérer facilement des versions multiples de Java grâce à SDKman https://foojay.io/today/easily-manage-different-java-versions-on-your-machine-with-sdkman/

    • sdkman support java mais aussi graalVM, jbang, Quarkus, Micronaut etc (les CLIs)
    • la CLI UI est toujours un peu chelou donc cet article est utile pour un rappel

    Tous les changements de Java 8 à Java 21 https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-21/

    • Nous avons déjà partagé ce lien par le passé, mais l'article est mis à jour à chaque release majeure de Java pour couvrir les dernières nouveautés. Et en particulier, Java 21 qui vient de sortir.

    Eclipse Temurin ne va pas sortir son Java 21 tout de suite https://adoptium.net/en-GB/blog/2023/09/temurin21-delay/

    • Apparemment, une nouvelle licence pour le TCK (qui valide la compliance) doit être approuvée
    • Oracle semble avoir sorti de nouveaux termes, à quelques jours de la sortie officielle de Java 21
    • la mise a jour du TCK est arrivée le 9 octobre.
    • comment Microsoft a pu sortir le sien avant?

    Le Financial Times propose un bel article avec des animations graphiques expliquant le fonctionnement de l'architecture de réseau de neurones de type transformers, utilisé dans les large language model https://ig.ft.com/generative-ai/

    • LLM via relation entre les mots
    • notion de transformer qui parse les "phrases" entières ce qui capture le contexte
    • discute le beam search vs greedy search pour avoir pas le prochain mot mais l'ensemble de prochains mots
    • parle d'hallucination
    • l'article parle de texte/vector embeddings pour représenter les tokens et leurs relations aux autres
    • il décrit le processus d'attention qui permet aux LLM de comprendre les associations fréquentes entre tokens
    • le sujet des hallucinations est couvert
    • et pour éviter des hallucinations, utilisation du "grounding"

    The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 https://tonsky.me/blog/unicode/

    • Un bel article qui explique Unicode, les encodings comme UTF-8 ou UTF-16, les code points, les graphèmes, les problèmes pour mesurer une chaîne de caractères, les normalisation de graphèmes pour la comparaison de chaîne
    • Si vous voulez mieux comprendre Unicode, c'est l'article à lire !
    • unicode c'est un mapping chiffre - caractère en gros
    • 1,1 millions disponibles dont 15% définis et 11% pour usage privé, il reste de la place. Et non les meojis ne prennent pas beaucoup de place.
    • usage prive est par exemple utilise par apple pour délivrer le logo apple dans les fonts du mac (mais pas ailleurs)
    • UTF est l'encoding du chiffre de l'unicode
    • UTF-32: 4 bytes tout le temps, UTF-8, encodage variable de 1 a 4 bytes (compatible avec ASCII) ; il a aussi un peu de détection d'erreurs (prefix des bytes différents),
    • optimise pour le latin et les textes techniques genre HTML
    • problème principal, on peut pas déterminer la taille en contant les bytes ni aller au milieu d'une chaine directement (variable)
    • UTF-16 utilise 2 ou plus de bytes et est plus sympa pour les caractères asiatiques
    • un caractère c'est en fait un graphème qui peut être fait de plusieurs codepoints : é = e U+0065 + ´ U+0301 ; ☹️ (smiley qui pleure) is U+2639 + U+FE0F
    • D'ailleurs selon le langage ":man-facepalming::skin-tone-3:".length = 5, 7 (java) ou 17 (rust) ou 1 (swift). Ça dépend de l'encodage de la chaine (UTF-?).
    • ""I know, I'll use a library to do strlen()!" — nobody, ever."
    • En java utiliser ICU https://github.com/unicode-org/icu
    • Attention java.text.BreakIterator supporte une vieille version d'unicode donc c'est pas bon.
    • Les règles de graphème change a chaque version majeure d'unicode (tous les ans)
    • certains caractères comme Å ont plusieurs représentations d'encodage, donc il ya de la normalisation: NFD qui éclate en pleins de codepoints ou NDC qui regroupe au max
    • normaliser avant de chercher dans les chaines
    • certains unicode sont représentés différemment selon le LOCALE (c'est la life)
    • et ça continue dans l'article

    JBang permet d'appeler Java depuis Python via un pypi https://jbang.dev/learn/python-with-jbang/

    • c'est particulièrement interessant pour appeler Java de son Jupyter notebook
    • ça fait un appel a un autre process (mais installe jbang et java au besoin)
    Librairies

    Quarkus 3.4 est sorti https://quarkus.io/blog/quarkus-3-4-1-released/

    • un CVE donc mettez a jour vos Quarkus
    • support de Redis 7.2
    • plus de granularité sur la desactivation de flyway globalement ou par data source. Depuis l'activation transparente et automatique en 3.3
    • quarkus update est l'approche recommandée pour mettre à jour.

    Comment tester si un thread virtuel "pin" https://quarkus.io/blog/virtual-threads-3/

    • exemple avec quarkus
    • comment générer la stackstrace
    • et un utilitaire JUnit qui fait échouer le test quand le thread pin
    • une série d'articles de Clements sur les threads virtuels et comment les utiliser dans quarkus https://quarkus.io/blog/virtual-thread-1/

    À la découverte de LangChain4J, l'orchestration pour l'IA générative en Java https://glaforge.dev/posts/2023/09/25/discovering-langchain4j/

    • Guillaume nous parle du jeune projet LangChain4J, inspiré du projet Python LangChain, qui permet d'orchestrer différents composants d'une chaine d'IA générative
    • Grâce à ce projet, les développeurs Java ne sont pas en reste, et n'ont pas besoin de se mettre à coder en Python
    • LangChain4J s'intègre avec différentes bases vectorielles comme Chroma ou WeAviate, ainsi qu'une petite base en mémoire fort pratique
    • LangChain4J supporte l'API PaLM de Google, mais aussi OpenAI
    • Il y a différents composants pour charger / découper des documents et pour calculer les vector embeddings des extraits de ces documents
    • Vidéo enregistrée à Devoxx sur ce thème : https://www.youtube.com/watch?v=ioTPfL9cd9k
    Infrastructure

    OpenTF devient OpenTofu https://www.linuxfoundation.org/press/announcing-opentofu

    Dans les Dockerfiles, on peut utiliser la notation "heredocs" https://www.docker.com/blog/introduction-to-heredocs-in-dockerfiles/

    • C'est comme faire un seul RUN avec des commandes séparées par des &&, mais en plus sympa parce que ça ressemble à un script bash classique
    • Par contre, c'est spécifique Docker et n'est pas portable sur podman ou autre

    Docker annonce un nouveau protocole pour signer ses images OpenPubkey https://www.linuxfoundation.org/press/announcing-openpubkey-project

    • sigstore répond https://blog.sigstore.dev/openpubkey-and-sigstore/
    • OpenPubkey s'appuie sur OIDC
    • c'est un repo GitHub pour l'instant
    • pas de partie de confiance en dehors du OIDC provider.
    • OIDC lie une identité a une clé de chiffrement via une extension du id token.
    • OIDC devient une preuve de possession
    • purement client side via la signature du id token
    • ils utilisent le nonce pour stocker la clé publique et la signer cryptographiquement
    • vs Sigstore: plus d'élément central comme le transparency log et l'autorité de certification
    • pour le projet sigstore, ils n'ont pas utilisé cette architecture parce que la privacy des identités notamment en cas de renommage et sur le long terme n'est pas respecté
    • la rotation de clés et la partie client side devient beaucoup plus complexe (OIDC quoi) et ouvre des risques de sécurité (bugs d'implémentation)
    • la clé des OIDC providers est rotaté et ce n'est pas expliqué dans le flow OpenPubkey
    • la complexité passe de server side a client side (vu que le nonce est la clé du système)
    • le client notamment va devoir tracker les clés de signature des providers OIDC tout le temps (ou un system devra le faire)
    • le id token typiquement a plus d'infos qui vont leaké en tant que certificat du truc signé (privacy)
    Cloud

    Oracle Cloud rajoute GraalOS https://blogs.oracle.com/java/post/introducing-graalos

    • plateforme serverless sans container
    • application native
    • en fait des applis compilées avec GraalVM native image
    Web

    Comment créer le plus petit conteneur qui sert du contenu statique https://lipanski.com/posts/smallest-docker-image-static-website

    • en utilisant les images Busybox
    • on peut descendre à environ 150kb
    • a voir la scalabilité
    • et les CVEs

    The state of WebAssembly in 2023 https://blog.scottlogic.com/2023/10/18/the-state-of-webassembly-2023.html

    • Rust et JavaScript voient leur popularité lorsqu'ils ciblent wasm
    • Wasm est toujours beaucoup utilisé pour le développement web, mais aussi pour le serverless ou comme host pour système de plugins
    • L'étude montre que les développeurs sont intéressés par les threads, le garbage collection et le nouveau modèle de composants
    • Côté WASI, toutes les propositions sur le thème I/O retiennent l'attention, comme : le support de HTTP, du filesystem, ou les sockets… pourtant, c'est ce que l'approche WASIX proposait, même si elle n'a pas été très bien reçue par la communauté
    Data & IA

    AWS investit 4 milliars dans Anthropic.ai et devient actionnaire minoritaire https://twitter.com/didiergirard/status/1706226172428701896?s=61&t=cvEVELchNh1NmF0qxg2GgA

    • Depuis quelque temps, beaucoup de personnes se demandaient où en était AWS dans le domaine GenAI. La réponse vient de tomber.
    • Plutôt que de développer sa propre technologie comme le fait Google, Amazon adopte la stratégie de Microsoft avec OpenAI en investissant dans un pure player en lui fournissant de la puissance de calcul.
    • AWS deviendra le principal fournisseur cloud d'Anthropic, en fournissant son infrastructure à base de puces AWS Trainium et Inferentia
    • La technologie d'Anthropic sera ajoutée au catalogue d'Amazon Bedrock. Les entreprises pourront personnaliser et affiner les modèles sur AWS
    • Claude 2 propose une fenêtre contextuelle de 100 000 tokens, que les entreprises pourront utiliser.
    • Dans le cadre de cet investissement, Amazon acquiert une participation minoritaire dans @AnthropicAI. La structure de gouvernance d'Anthropic reste inchangée
    • l'annonce https://www.anthropic.com/index/anthropic-amazon
    • merci Didier Girard pour ce résumé

    Article d'opinion : les bases de données vectorielles ne sont pas une catégorie de base de donnée séparée https://nextword.substack.com/p/vector-database-is-not-a-separate

    • On a vu l'émergence de nouvelles bases de données de type vectoriel ces deux dernières années : Pinecone, Milvus, Weaviate, Qdrant, etc
    • Mais les DB existantes sont toutes en train de rajouter le support des vecteurs dans leur moteur
    • Pour la "data gravity" : c'est plus facile d'avoir ses données au même endroit que d'en avoir dans différentes bases malgré leur corrélation
    • Pour capturer le use case de "Retrieval Augmented Generation", en utilisant les Large Language Model pour récupérer de l'info dans ces bases de données vectorielles
    • Je pense qu'on verra aussi les DB vectorielles ajouter également plus de fonctionnalités de requêtage qui leur manquent

    Chat GPT: voix et image https://openai.com/blog/chatgpt-can-now-see-hear-and-speak

    • OpenAI a annoncé de nouvelles fonctionnalités vocales et d'image pour ChatGPT
    • OpenAI a publié un article décrivant leurs efforts de test avec GPT-4V. Ils ont utilisé le modèle dans un outil appelé Be My AI, qui aide les personnes malvoyantes en décrivant le contenu des images: https://cdn.openai.com/papers/GPTV_System_Card.pdf
    • L'article résume l'évaluation du modèle GPT-4V par OpenAI, qui inclut des tests de comportement, de sécurité, et de capacité médicale, mais conclut que le modèle n'est pas approprié pour des fonctions médicales.

    L'IA c'est pas rentable https://www.tomshardware.com/news/microsoft-lost-money-on-ai

    • copilot dépense 20$ par utilisateur qui ramène 10$
    • donc il va y avoir de la rationalisation après l'acquisition rush d'utilisateurs
    • En augmentant les prix
    • en mettant des limites plus restrictives
    • En utilisant des modèles plus simples et plus légers
    • peut être avec du hardware plus optimisé en coût
    • c'est intéressant que l'IA est déjà trop puissante pour son coût et pas encore assez pour être suffisante. Loi de Moore ?
    • MS dit que ce chiffre est faux mais ne donne pas le vrai chiffre.
    Outillage

    Amazon acquiert Fig https://techcrunch.com/2023/08/29/amazon-fig-command-line-terminal-generative-ai/

    • on en parlait recemment
    • C'est un terminal boosté à l'IA

    Introduction de TestContainer Desktop https://www.infoq.com/news/2023/09/testcontainers-desktop/

    • vient de l'appli proprio TestContainer Cloud Descktop donnée
    • permet de mettre les ports fixes (plus facile a debuger)
    • le gel des container pour laisser le container tourner pour l'inspection
    • supporte les moteurs de containers alternatifs a Docker (dont podman et d'autres que je ne connaissais pas)

    Nouvelle version 1.7 de jq, l'outile de ligne de commande pour examiner / modifier vos documents JSON https://github.com/jqlang/jq/releases

    • utilisation des nombres décimaux pour ne pas perdre de précision
    • une fonction pick(stream) pour faire des projections et ne garder que les champs qui nous intéressent
    • une fonction debug() pour logguer des message sur stderr
    • une fonction abs() pour calculer la valeur absolue
    • et plein d'autres petits raffinements et correctifs de bugs
    • la version d'avant datait de novembre 2018

    Pratiques de Dogfooding: utiliser tes propres outils comme GitHub utilise GitHub actions pour son propre système CI https://www.infoq.com/news/2023/10/running-GitHub-using-actions/

    • avoir des runners plus larges
    • donner l'acces a des resources privées au runner via une gateway qui reçoit un token OIDC specific au runner
    • workflow réutilisables
    • sortie de workflow réutilisable pour optimiser si le git id est le meme qu'un run ancien

    Sondage de la communauté TestContainer https://www.atomicjar.com/2023/09/state-of-local-development-and-testing-2023/

    • TestContainer pour plus de 10 languages, pas juste Java
    • RDBMS puis message brokers et les bases nosql sont la majorite des usages
    • mais pas que (serveur web, emulateur de cloud, microservices internes)
    • 40% des utilisateurs utilisent autres chose que Docker Desktop (docker engine, podman, rancher etc)
    • testcontainer au moment du dev et pas que pour les tests
    Architecture

    Vous êtes plutôt logging ou plutôt tracing ? https://andydote.co.uk/2023/09/19/tracing-is-better/

    • l'article essaie de démontrer que le tracing, c'est mieux que le logging
    • l'imbrication des traces permet de mieux voir la corrélation que des logs
    • les traces donnent des informations de durées, pas que des timestamp
    • on peut rajouter des attributs à ses traces, ce qui rend plus facile le requettage, plutôt que de faire des greps sur des messages de log
    Méthodologies

    On a construit un produit top et ca a échoué Earthly.dev raconte https://earthly.dev/blog/shutting-down-earthly-ci/

    • outil de CI/CD qui evite de repeter les taches etc
    • comme startup tu ne release aps un produit mature et complet en fonctionalité
    • mais peut etre 10x sur une chose specifique qui peut faire oublier les manques a certains
    • quand tu captures ces premiers, tu investis et etend, et tu repetes
    • si au debut ce differentiateur n'attire personne, ajouter des features ne va pas aider, c'est une recette pour construire quelque chose que personne ne veut
    • ils ont construit leur plan de domination en etapes independantes, des pproduits plus focalisés
    • et le premier produit "gratuit" ne canibalisait pas les seconds produits car ils addressaient des problemes differents (donc pas de risque sur le business model)
    • le premier produit construit par une personne a ete beaucoup adopté
    • le deuxieme (remote workers) a aaussi été adopté avec des gens qui faisaient en DIY, et quand ils ont fait une offre managée, les gens sont venus
    • les CI traditionels lancaient le job et le reste était délégué a Earthly et Earthly Sattelite (le coeur du build)
    • il ne restait plus qu'a allumer le troisieme etage Earthly CI mais c'est parti en cacahuete
    • la population interessée n'était pas des fans qui avaient deja fait le job du produit, ils demandaient en quoi la CI etait differente et le cout de migration et ils n'ont jamais pu gagner
    • au lieu d'une grass root install, il y avait un long mur de migration a passer
    • la clé c'est que vendre aux devs avec un GTM direct ne marche aps, ils doivent essayer et adopter par eux meme
    • developpeurs vont acheter un outil de dev mais tu ne peux pas leur vendre

    horcrux : chiffrer un fichier en plusieurs morceaux, et il faut avoir un certain nombre de fragments pour rassembler le fichier entier, mais ne nécessite aucun mot de passe https://github.com/jesseduffield/horcrux

    Sécurité

    Des pseudos chercheurs en sécurité utilisent Bard pour reporter un CVE pour le projet cURL https://hackerone.com/reports/2199174

    • Heureusement, Daniel Steinberg (le créateur de cURL) et les mainteneurs du projet ont rapidement détecté la supercherie
    • Les LLMs sont super créatifs : ils ont déjà vu dans leur corpus d'entrainement des pages de CVE, et sont donc capables d'en imaginer aussi !
    • Mais imaginez le temps perdu par les mainteneurs de projet OSS s'ils doivent du coup perdre leur temps à vérifier de telles inepties ?
    • au nez et à la bard de l'IA
    Loi, société et organisation

    Cisco achète Splunk pour 28 milliards https://techcrunch.com/2023/09/21/cisco-to-acquire-splunk-in-28b-mega-deal/

    • bouge cisco plus dans le software
    • "synergetique"
    • Objectif, un geant de l'obnservabilité et la sécurité
    • avec de l'IA parce que c'est comme ca qu'on justifie ces achats
    • encore a valider cet achat par les autorités concurencielles
    • quelque part en 2024

    Les fondations comme Eclipse ont peur du Cyber Résilience Act Européen tel que présenté jusqu'à présent https://newsroom.eclipse.org/news/announcements/cra-should-support-open-practices-open-source-and-development-european-open

    • ils demandent une clarification sur les contraintes réglementaires
    • notamment d'exclure les fondation / associations et laisser le poids sur les sociétés qui fourniraient les projet open sources des fondations dans le cadre d'un accord commercial, pas juste de le fournir en téléchargement
    • réutiliser la validation de compliance des sociétés commerciales par les fondations
    • autre article de la linux foundation https://www.linuxfoundation.org/blog/understanding-the-cyber-resilience-act
    • fourniture de matchs, auditing, fournir des mises a jour
    • bouge responsabilité de l'utilisateur vers le développeur du logiciel
    • un individu qui ne reçoit pas de contribution ni ne fait de consulting > exclu
    • fondations et sociétés commerciales, inclues
    • défini des classes de logiciels de non critique a classe 1 et 2
    • doit faire un risk assessment avant de livrer (pas de bug de sécurité, secure par défaut, security update)
    • de la doc sur le process d'évaluation des risques et un SBOM notamment
    • notifier d'ici 24h d'une vulnerabilité
    • il y a une campagne #fixthecra

    Des protestations contre l'ouverture des modèles d'IA de Meta https://spectrum.ieee.org/meta-ai

    • ouvrir les modèles et leurs poids permets aux acteurs de bypasser les restrictions (biais etc)
    • donc des gens de Meta protestent contre la politique open source de Meta dans ce domaine
    • l'argument c'est qu'un modele derrière une API peut êtres éteint
    • les partisans de l'avis contraire pointent que contourner les restrictions de ChatGPT ont été triviales jusqu'à présent
    • et que l'obscurité amène a un déficit de transparence, de connaissance du public.
    • va affecté les chercheurs indépendants
    • cela dit ce n'est pas open source pur car les sources et comment le modele est entrainé est peu publié
    • OSI travaille a une définition d'OpenSource AI

    Un site pour mettre une pause à l'IA: https://pauseai.info/

    • NOUS RISQUONS DE PERDRE LE CONTRÔLE
    • NOUS RISQUONS L'EXTINCTION DE L'HUMANITÉ
    • NOUS AVONS BESOIN D'UNE PAUSE
    • NOUS DEVONS AGIR IMMÉDIATEMENT
    • Il y a un agenda des manifestations a travers le monde (Londres, Bruxelles, SFO… mais où est Paris?)
    • Twitter/Discord/Facebook/TikTok/LinkedIn
    • Alors qui va gagner la course à l'extinction de l'humanité? la guerre, le réchauffement climatique ou l'IA?
    • Sarah Connor !!!
    Outils de l'épisode

    Un querty adapté pour les lettres à accent https://altgr-weur.eu/ (via Thomas Recloux)

    Conférences

    Toutes les vidéos de Devoxx Belgique sont disponibles https://www.youtube.com/@DevoxxForever

    Hacktoberfest, édition 10 https://hacktoberfest.com/

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

    • 26 octobre 2023 : Codeurs en Seine - Rouen (France)
    • 26-27 octobre 2023 : Agile Tour Bordeaux - Bordeaux (France)
    • 26-29 octobre 2023 : SoCraTes-FR - Orange (France)
    • 30-31 octobre 2023 : Asynconf Event - Paris (France) & Online
    • 2-3 novembre 2023 : Agile Tour Nantes - Nantes (France)
    • 3 novembre 2023 : XCraft - Lyon (France)
    • 7 novembre 2023 : DevFest Sophia-Antipolis - Sophia-Antipolis (France)
    • 10 novembre 2023 : BDX I/O - Bordeaux (France)
    • 15 novembre 2023 : DevFest Strasbourg - Strasbourg (France)
    • 16 novembre 2023 : DevFest Toulouse - Toulouse (France)
    • 18-19 novembre 2023 : Capitole du Libre - Toulouse (France)
    • 23 novembre 2023 : DevOps D-Day #8 - Marseille (France)
    • 23 novembre 2023 : Agile Grenoble - Grenoble (France)
    • 30 novembre 2023 : PrestaShop Developer Conference - Paris (France)
    • 30 novembre 2023 : WHO run the Tech - Rennes (France)
    • 6-7 décembre 2023 : Open Source Experience - Paris (France)
    • 6-8 décembre 2023 : API Days Paris - Paris (France)
    • 7 décembre 2023 : Agile Tour Aix-Marseille - Gardanne (France)
    • 7-8 décembre 2023 : TechRocks Summit - Paris (France)
    • 8 décembre 2023 : DevFest Dijon - Dijon (France)
    • 31 janvier 2024-3 février 2024 : SnowCamp - Grenoble (France)
    • 1 février 2024 : AgiLeMans - Le Mans (France)
    • 15-16 février 2024 : Touraine Tech - Tours (France)
    • 6-7 mars 2024 : FlowCon 2024 - Paris (France)
    • 14-15 mars 2024 : pgDayParis - Paris (France)
    • 19-22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France)
    • 28-29 mars 2024 : SymfonyLive Paris 2024 - Paris (France)
    • 17-19 avril 2024 : Devoxx France - Paris (France)
    • 18-20 avril 2024 : Devoxx Greece - Athens (Greece)
    • 25-26 avril 2024 : MiXiT - Lyon (France)
    • 25-26 avril 2024 : Android Makers - Paris (France)
    • 8-10 mai 2024 : Devoxx UK - London (UK)
    • 24 mai 2024 : AFUP Day Nancy - Nancy (France)
    • 24 mai 2024 : AFUP Day Poitiers - Poitiers (France)
    • 24 mai 2024 : AFUP Day Lille - Lille (France)
    • 24 mai 2024 : AFUP Day Lyon - Lyon (France)
    • 6-7 juin 2024 : DevFest Lille - Lille (France)
    • 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online
    • 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium)
    • 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France)
    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/

    1 hr 46 min
  • LCC 300 - Interview de Jean-Michel Doudoux sur Java 21 par Charles Sabourdin

    Dans cet épisode Charles Sabourdin interview Jean-Michel Doudoux sur la sortie de la nouvelle version LTS de Java en 2023: Java 21.

    Enregistré le 5 septembre 2023

    Téléchargement de l'épisode LesCastCodeurs-Episode-300.mp3

    Java 21

    The art of long-term support and what LTS means for the Java ecosystem

    JDK 21
    • 444: Virtual Threads
    • 453: Structured Concurrency (Preview)
    • 446: Scoped Values (Preview)
    • 440: Record Patterns
    • 441: Pattern Matching for switch
    • 430: String Templates (Preview)
    • 443: Unnamed Patterns and Variables (Preview)
    • 445: Unnamed Classes and Instance Main Methods (Preview)
    • 431: Sequenced Collections
    • 439: Generational ZGC
    • 451: Prepare to Disallow the Dynamic Loading of Agents
    • 452: Key Encapsulation Mechanism API
    • 442: Foreign Function & Memory API (Third Preview)
    • 448: Vector API (Sixth Incubator)
    • 449: Deprecate the Windows 32-bit x86 Port for Removal
    À propos de Jean-Michel Doudoux
    • Développons en Java
    • https://www.jmdoudoux.fr
    • http://blog.sciam.fr/.
    À propos de ParisJug
    • https://www.parisjug.org/
    • https://www.jchateau.org/
    • https://javaday.parisjug.org/
    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/

    1 hr 27 min
  • LCC 299 - Katia est dans la place !

    Dans cet épisode de rentrée, Antonio et Arnaud ont le plaisir d'accueillir Katia Aresti dans l'équipe. Ils passent en revue les dernières nouveautés et sujets chauds de cette rentrée, notamment la sortie de Java 21, les nouvelles versions de Quarkus, Micronaut, Hibernate, NodeJS, Redis, et bien d'autres encore. Ils discutent de sujets plus généraux tels que l'observabilité, la nouvelle tendance "Platform Engineering", et la productivité des développeurs. Ils abordent aussi les sujets sur la sécurité, tels que les failles sur les CPUs Intel et AMD, ainsi que la vie privée, avec les Tracking APIs de Chrome, Firefox et le projet de loi SREN. Le tout est agrémenté de sa dose d'IA, avec des librairies telles que Semantic Kernel, ainsi que des sujets plus haut niveau tels que Google Gemini, Meta GPT, LLama 2, et les biais et la consommation énergétique de l'IA.

    Enregistré le 8 septembre 2023

    Téléchargement de l'épisode LesCastCodeurs-Episode–299.mp3

    News Langages

    Apache Groovy a 20 ans! https://twitter.com/ApacheGroovy/status/1695388098950217909

    • L'annonce du lancement du projet par James Strachan https://web.archive.org/web/20030901064404/http://radio.weblogs.com/0112098/2003/08/29.html
    • Le projet a depuis énormément évolué et après plusieurs vies a été adopté par la fondation Apache en 2015

    Java 21 arrive le 19 septembre https://www.infoworld.com/article/3689880/jdk–21-the-new-features-in-java–21.html.

    • C'est la nouvelle LTS
    • Pas mal de nouvelles fonctionnalités comme les virtual threads, le pattern matching sur les switch, sequenced collections …
    • Retrouvez le 19 septembre une interview de Jean-Michel Doudoux par Charles Sabourdin pour l'épisode 300 des castcodeurs!
    Librairies

    Semantic Kernel pour Java est (en train de) sorti: https://devblogs.microsoft.com/semantic-kernel/introducing-semantic-kernel-for-java/

    • Framework OSS pour faire de l'IA
    • .Net et Python
    • Java 0.2.7 Alpha est publié
    • Kernel car il est tout petit
    • Se connecte à plusieurs fournisseurs (aujourd'hui OpenAI, Azure AI, Hugging Face), plusieurs DB vectorielles, plusieurs template de prompt (suit la specification de OpenAI)

    OpenSSL qui committe https://www.openssl.org/blog/blog/2023/07/17/who-writes-openssl/

    • en majorité des OSS payés
    • puis des gens payés par leur boite
    • et enfi des contributeurs non payés
    • c'est ne passant rapide mais ca montre que depuis heartbleed, ca a changé

    Micronaut 4.1.0 https://micronaut.io/2023/09/01/micronaut-framework–4–1–0-released/

    • Bean Mappers pour créer automatiquement une correspondance entre un type et un autre
    • un Introspection Builder l'annotation @Introspected pour générer un builder dynamique si un type ne peut être construit que via un modèle builder
    • améliorations pour les développeurs utilisant Kotlin Symbol Processing (KSP)

    Quarkus 3.3.1 / 3.3.2

    https://quarkus.io/blog/quarkus–3–3–1-released/

    https://quarkus.io/blog/quarkus–3–3–2-released/

    • Pas mal de fixes
    • https://github.com/quarkusio/quarkus/releases/tag/3.3.1
    • https://github.com/quarkusio/quarkus/releases/tag/3.3.2
    • Il est important de noter qu'un problème de dégradation des performances et de la mémoire a été introduit dans Quarkus 3.3. Ce problème est corrigé dans Quarkus 3.3.2.

    Hibernate ORM 6.3.0 et 6.2.8 https://hibernate.org/orm/ et Hibernate Reactive 2.0.5

    • un support initial de la spécification Jakarta Persistence 3.2
    • Un nouveau guide d'introduction Hibernate 6, un nouveau guide de syntaxe et de fonctionnalités pour le langage de requête Hibernate (Hibernate Query Language)
    • Annotation @Find sur des méthodes -> créer des méthodes de recherche similaires aux méthodes de requête
    • Reactive compatible avec Hibernate ORM 6.2.8.Final, certains changements d'api
    Infrastructure

    Une série d'articles sur l'observabilité par Mathieu Corbin

    • Observability: tout ce que vous avez toujours voulu savoir sur les métriques: https://www.mcorbin.fr/posts/2023–07–04-metriques/

    • Tracing avec Opentelemetry: pourquoi c'est le futur (et pourquoi ça remplacera les logs): https://www.mcorbin.fr/posts/2023–08–20-traces/

    • L'auteur reprend les bases sur l'observabilité.

    • Qu'est ce qu'une métrique ? Les labels, les cardinalités

    • Les types de métriques (Compteurs, jauges, quantiles et histogrammes)

    • C'est quoi le tracing ?

    • Traces, Spans, Resources, Scopes qu'est ce que c'est?

    • Les Events pour remplacer les logs?

    Web

    NodeJS 20.6.0 est disponible et ajoute le support des fichiers .env https://philna.sh/blog/2023/09/05/nodejs-supports-dotenv/

    • Configurable avec l'option --env-file
    • Le fichier .env peut contenir des variables d'environnement et commentaires #
    • Attention par contre: pas de lignes multiples ni d'extension de variables
    • Vous pouvez par exemple configurer NODE_OPTIONS avec ce système
    Data

    Redis 7.2 est sorti ! https://redis.com/blog/introducing-redis–7–2/

    • Auto-tiering : cette nouvelle fonctionnalité permet de stocker les données sur des supports de stockage différents, en fonction de leur importance et de leur fréquence d'accès. Cela permet d'améliorer les performances et la scalabilité de Redis.
    • RESP3 : cette nouvelle version du protocole RESP permet une communication plus efficace entre Redis et les clients.
    • Improvements to performance : de nombreuses améliorations de performances ont été apportées à Redis 7.2, notamment pour les opérations de lecture et d'écriture.
    • New commands : plusieurs nouvelles commandes ont été ajoutées à Redis 7.2, notamment :
    • CLIENT NO-TOUCH : cette commande permet d'empêcher un client d'être touché par une opération AOF ou RDB.
    • WAITAOF : cette commande permet d'attendre que l'AOF soit écrite avant de poursuivre l'exécution.

    Dans le podcast sont cités les hot replacement des Redis, comme https://www.dragonflydb.io/

    Architecture

    Article sur Google Gemini et sa capacité a battre ChatGPT https://www.semianalysis.com/p/google-gemini-eats-the-world-gemini

    • Google a raté les premiers pas (ils avient le meilleur LLM public avant ChatGPT 3)
    • ET les chercheurs qui invente le champs des LLMs
    • Google va 5x ChatGPT–4 avant al fin de l'année, mais vont-il les publier
    • les chercheurs se tirent la bourre sur le nombre de GPU (H100) auxquels ils ont accès ; ce sont lers grosses orga comme Meta OpenAI Google
    • et les autres qui lutent avec des GPU qui n'ont pas assez de VRAM et ce qu'ils vont faire c'est de la merde et sans consequence
    • le peuple utilise le modele dense de LLAMA mais pour les environnements contraints ca serait mieux des sparse models et du speculative decoding.
    • ils devraient se concentre sur la performance de modele qui utilise plus de compute et memoire en evitant de consommer de la bande passante de memoire, c'est ce que l'edge a besoin
    • les benchmarks public ne mesurent pas des choses utiles
    • meme hugging faces est dans la category des pauvres de GPU
    • Nvidia est entrain de se construire une machine de guerre (service)
    • la chine et les us vont etre en competition mais l'europe qui fait du GPU pauvre ne va pas s'en sortir
    • les startups ne peuvent pas payer les GPU en actiosn, il faut du cash
    • Tout le monde rempli les poches de NVidia, sand Google
    • Gogole grossi exponentiellement ses propres GPUs

    Meta GPT https://www.infoq.com/news/2023/08/metagpt-agent-collaboration/

    IA: les biais et énergie qui consomme par Leslie Miley tech advisor du CTO de Microsoft https://www.infoq.com/presentations/ai-bias-sustainability

    • nouvels infranstructures
    • consommation énergétique et d'eau des data center pour IA est terriblement coûteuse
    • l'impact des infrastructures sur les comunautés (bruit)
    • explique bien son point de vu sur les problèmes d'amplification des biais du IA
    • propose des stratégies pour mitiger l'impact negatif

    Kubeflow toolkit pour deployer machine learning (ML) workflow en Kubernetes est accepté par la CNCF (Cloud Native Computing Foundation) https://www.infoq.com/news/2023/08/kubeflow-cncf-project

    Méthodologies

    Measuring developer productivity? A response to McKinsey by Kent Beck and Gergely Orosz (pragmaticengineer.com) https://tidyfirst.substack.com/p/measuring-developer-productivity

    • McKinsey a sorti un article où ils expliquent la recette miracle recherchée par tous les managers comme le graal: Comment mesurer la productivité des développeurs? (faut bien vendre du conseil)
    • Kent et Gergely partent d'un model mental de description de la création de valeur par le développeur pour ensuite voir quels sont les besoins de mesurer la productivité et comparent cela avec d'autres secteurs (la vente, le support, le recrutement).
    • Ils concluent cette première partie avec les compromis à faire pour que ce type de mesures ait un intérêt sans impacter trop négativement les développeurs
    • un autre article dans la même lignée de Martin Fowler https://martinfowler.com/bliki/CannotMeasureProductivity.html

    Et si on parlait de Platform Engineering ?

    • DevOps vs. SRE vs. Platform Engineering (humanitec.com)

    • What is platform engineering? (gartner.com) / What is platform engineering? (platformengineering.org)

    • Internal Developer Platform

    • Cognitive load

    • Team topologies

    • Engineering Effectiveness (thoughtworks.com) and Maximize your tech investments with Engineering Effectiveness (thoughtworks.com)

    • Ces différents articles retracent la génèse du concept de Platform Engineering

    • L'activité de Platform Engineering vient en réponse à la charge cognitive rajoutée aux équipes techs dans des transitions DevOps loupées (You build it, you run it … et vous vous débrouillez).

    • Cela conduit à la création de golden paths et d'une Internal Developers Platform qui doit proposer en interne les services nécessaires aux équipes pour livrer leurs produits le lus efficacement possible tout en suivant les critères de qualité, de compliance de l'entreprise.

    • Pour en savoir plus, une table ronde à laquelle Arnaud a participé en Juillet : https://youtu.be/N-tN7HUA4No?si=2P0wSqG32MLWUlGq

    On call Process (Astreinte) , startup TinyBird par VP Engineering Félix López (ex google, ex eventbrite) https://thenewstack.io/keeping-the-lights-on-the-on-call-process-that-works/

    • Si votre produit est SAAS, on doit avoir des astreintes. Cela impose un lourd fardeau à ceux qui doivent être en astreinte,, surtout en petite entreprise
    • Petites entreprises évitent avoir un processus d'astreinte formel pour éviter le stress. Cela crée dans la pratique plus de stress: Si personne n'est responsable, tout le monde est responsable.
    • Tinybird est la plateforme de données en temps réel pour les développeurs et les équipes de données. Pré création du process formel chez Tinybird: désorganisé, non structuré et stressant
    • Mise en place: Principes fondamentaux d'un processus d'astreinte: L'astreinte n'est pas obligatoire, minimiser le bruit, pas seulement pour les SRE, alert = runbook, avoir des backups pour la personne en astreinte, appeler quelqu'un devrait être la dernière solution, minimiser le temps en astreinte
    • L'article explique comment ils sont passé regarder chaque alerte (comprehensible?, exploitable?), puis avoir un board grafana pour chacune et plan spécifique. Une fois le tri fait, tout migré vers un seul channel de com, et manuel d'astreinte pour chaque alerte. Itérer.
    • Multiples benefices sur le long terme: rapports d'incident ouvert, atténuer les problèmes futurs, renforcement la propriété et les connaissances du code et systèmes au sein de toute l'équipe etc.
    Sécurité

    Downfall, une nouvelle faille de sécurité sur les processeurs intel ( https://www.lemondeinformatique.fr/actualites/lire-la-faille-downfall-met-a-mal-des-milliards-de-processeurs-intel–91247.html ) et AMD ne fait pas mieux avec une faille nommée Inception (https://www.lemondeinformatique.fr/actualites/lire-les-puces-amd-vulnerables-a-la-faille-inception–91273.html)

    • Downfall, La vulnérabilité est due à des fonctions d'optimisation de la mémoire dans les processeurs Intel qui révèlent involontairement les registres matériels internes aux logiciels. Cela permet à des logiciels non-fiables d'accéder à des données stockées par d'autres programmes, qui ne devraient normalement pas être accessibles. Tous les PC ou ordinateurs portables équipés de processeurs Intel Core de la 6e génération Skylake jusqu'aux puces Tiger Lake de 11e génération incluses contiennent cette faille. Les derniers processeurs Core 12e et 13e génération d'Intel ne sont pas concernés.
    • Inception, nécessite un accès local au système pour être potentiellement exploité ce qui en limite de fait la portée. Tous les processeurs AMD depuis 2017 sont touchés, incluant les derniers modèles Zen 4 Epyc et Ryzen

    Comment désactiver le nouveau tracking publicitaire ciblé sur Chrome https://www.blogdumoderateur.com/chrome-comment-desactiver-tracking-publicitaire-cible/

    • Google a annoncé en juillet le déploiement de sa nouvelle API Topics, permettant « à un navigateur de partager des informations avec des tiers sur les intérêts d'un utilisateur tout en préservant la confidentialité ».
    • C'est cette API, incluse dans la version Chrome 115 de juillet 2023, qui est censée remplacer les cookies tiers.
    Loi, société et organisation

    Une nouvelle definition d'open pour Llama 2? https://opensourceconnections.com/blog/2023/07/19/is-llama–2-open-source-no-and-perhaps-we-need-a-new-definition-of-open/

    • c'est relativement "open" mais il y a des restrictions donc pas open source
    • pas plus de 700 M d'utilisateurs par mois
    • pas le droit d'utiliser Llama pour améliorer d'autres modèles autres que dse dérivés de Llama
    • et c'est le modele final qui est ouvert, pas la sauce pour le construire, donc pas de maven build ni le "source code" pour y arriver "from scratch"
    • attention au risuqe de sacrivier open source pour avoir l'IA plus vite, plus facile

    HashiCorp passe tous ses projets open source en BSL, comme Confluent, Mongo, Redis, Elastic, etc https://thenewstack.io/hashicorp-abandons-open-source-for-business-source-license/

    • Couverture par InfoQ https://www.infoq.com/news/2023/08/hashicorp-adopts-bsl/
    • Fork de Terraform : OpenTF, avec pour objectif de rejoindre la CNCF https://opentf.org/announcement

    Stack overflow annonce Overflow AI https://www.infoq.com/news/2023/09/stackoverflow-overflowai/

    • l'intégration de l'IA générative dans leur plateforme publique, Stack Overflow for Teams, ainsi que de nouveaux domaines de produits
    • IA/ML aident à générer des balises initiales et à suggérer des paires question-réponse, permettant aux développeurs de se concentrer sur l'amélioration et la précision
    • Amélioration des Capacités de Recherche
    • Les forums de questions-réponses basés sur la communauté sont le cœur battant de Stack Overflow. Selon Prashanth Chandrasekar, PDG de Stack Overflow, l'objectif d'OverflowAI est d'améliorer la communauté de diverses manières plutôt que de la remplacer complètement.

    Vous avez entendu parler du projet de loi SREN ? http://share.mozilla.org/817319645t

    • Le gouvernement français prépare une loi qui pourrait menacer la liberté sur Internet. Le projet de loi visant à sécuriser et réguler l'espace numérique (SREN) obligerait les navigateurs web, comme Mozilla Firefox, à bloquer des sites web directement au niveau du navigateur.
    • Mozilla lance une pétition pour retirer cette n-ieme solution stupide pour censurer Internet
    Conférences

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

    • 8 septembre 2023 : JUG Summer Camp - La Rochelle (France)
    • 14 septembre 2023 : Cloud Sud - Toulouse (France) & Online
    • 18 septembre 2023 : Agile Tour Montpellier - Montpellier (France)
    • 19 septembre 2023 : Salon de la Data Nantes - Nantes (France) & Online
    • 19–20 septembre 2023 : Agile en Seine - Paris (France)
    • 21–22 septembre 2023 : API Platform Conference - Lille (France) & Online
    • 22 septembre 2023 : Agile Tour Sophia Antipolis - Valbonne (France)
    • 25–26 septembre 2023 : BIG DATA & AI PARIS 2023 - Paris (France)
    • 28–30 septembre 2023 : Paris Web - Paris (France)
    • 2–6 octobre 2023 : Devoxx Belgium - Antwerp (Belgium)
    • 6 octobre 2023 : DevFest Perros-Guirec - Perros-Guirec (France)
    • 10 octobre 2023 : ParisTestConf - Paris (France)
    • 11–13 octobre 2023 : Devoxx Morocco - Agadir (Morocco)
    • 12 octobre 2023 : Cloud Nord - Lille (France)
    • 12–13 octobre 2023 : Volcamp 2023 - Clermont-Ferrand (France)
    • 12–13 octobre 2023 : Forum PHP 2023 - Marne-la-Vallée (France)
    • 13–14 octobre 2023 : SecSea 2K23 - La Ciotat (France)
    • 17–20 octobre 2023 : DrupalCon Lille - Lille (France)
    • 19–20 octobre 2023 : DevFest Nantes - Nantes (France)
    • 19–20 octobre 2023 : Agile Tour Rennes - Rennes (France)
    • 26 octobre 2023 : Codeurs en Seine - Rouen (France)
    • 30 septembre 2023 : ScalaIO - Paris (France)
    • 26–27 octobre 2023 : Agile Tour Bordeaux - Bordeaux (France)
    • 26–29 octobre 2023 : SoCraTes-FR - Orange (France)
    • 10 novembre 2023 : BDX I/O - Bordeaux (France)
    • 15 novembre 2023 : DevFest Strasbourg - Strasbourg (France)
    • 16 novembre 2023 : DevFest Toulouse - Toulouse (France)
    • 18–19 novembre 2023 : Capitole du Libre - Toulouse (France)
    • 23 novembre 2023 : DevOps D-Day #8 - Marseille (France)
    • 23 novembre 2023 : Agile Grenoble - Grenoble (France)
    • 30 novembre 2023 : PrestaShop Developer Conference - Paris (France)
    • 30 novembre 2023 : WHO run the Tech - Rennes (France)
    • 6–7 décembre 2023 : Open Source Experience - Paris (France)
    • 7 décembre 2023 : Agile Tour Aix-Marseille - Gardanne (France)
    • 7–8 décembre 2023 : TechRocks Summit - Paris (France)
    • 8 décembre 2023 : DevFest Dijon - Dijon (France)
    • 31 janvier 2024–3 février 2024 : SnowCamp - Grenoble (France)
    • 6–7 mars 2024 : FlowCon 2024 - Paris (France)
    • 19–22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France)
    • 28–29 mars 2024 : SymfonyLive Paris 2024 - Paris (France)
    • 17–19 avril 2024 : Devoxx France - Paris (France)
    • 25–26 avril 2024 : MiXiT - Lyon (France)
    • 25–26 avril 2024 : Android Makers - Paris (France)
    • 6–7 juin 2024 : DevFest Lille - Lille (France)
    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/

    1 hr 20 min
  • LCC 298 - De l'IA à toutes les sauces

    Dans cet épisode estival Guillaume, Emmanuel et Arnaud parcourent les nouvelles du début d'été. Du Java, du Rust, du Go du coté des langages, du Micronaut, du Quarkus pour les frameworks, mais aussi du WebGPU, de l'agilité, du DDD, des sondages, de nombreux outils et surtout de l'intelligence artificielle à toutes les sauces (dans les bases de données, dans les voitures…).

    Enregistré le 21 juillet 2023

    Téléchargement de l'épisode LesCastCodeurs-Episode-298.mp3

    News Langages

    La release candidate de Go 1.21 supporte WASM et WASI nativement https://go.dev/blog/go1.21rc

    StringBuilder ou contatenation de String https://reneschwietzke.de/java/the-stringbuilder-advise-is-dead-or-isnt-it.html

    • StringBuilder était la recommendation ca cela créait moins d'objects notamment.
    • Mais la JVM a évolué et le compilateur ou JIT remplace cela par du code efficace
    • Quelques petites exceptions
    • le code froid (e.g. startup time) qui est encore interprété peut beneficier de StringBuilder
    • autre cas, la concatenation dans des boucles où le JIT ne pourrait peut etre pas optimiser
    • le StringBuilder "fluid" est plus efficace (inliné?)
    • ces regles ne changement pas si des objects sont stringifié pour etre concaténés

    GPT 4 pas une revolution https://thealgorithmicbridge.substack.com/p/gpt-4s-secret-has-been-revealed

    • rumeur ca beaucou de secret
    • pas u modele a 1 trillion de parametres maus 8 a 220 Milliards
    • combinés intelligeament
    • les chercheurs attendaient un breakthrough amis c'est une envolution et pas particulierement nouveau
    • methode deja implem,entee par des cherchers chez google (maintenant chez ooenai
    • ils ont retarde la competition avec ces rumeurs de breakthrough amis 8 LLaMA peut peut etre rivaliser avec GPT4

    Le blog Open Source de Google propose un article sur 5 mythes ou non sur l'apprentissage et l'utilisation de Rust https://opensource.googleblog.com/2023/06/rust-fact-vs-fiction-5-insights-from-googles-rust-journey-2022.html

    • Il faut plus de 6 mois pour apprendre Rust : plutôt faux; quelques semaines à 3-4 mois max
    • Le compilateur Rust est pas aussi rapide qu'on le souhaiterait — vrai !
    • Le code unsafe et l'interop sont les plus gros challanges — faux, c'est plutôt les macros, l'owernship/borrowing, et la programmation asynchrone
    • Rust fournit des messages d'erreur de compilation géniaux — vrai
    • Le code Rust est de haute qualité — vrai

    InfoQ sort un nouveau guide sur le Pattern Matching pour le switch de Java https://www.infoq.com/articles/pattern-matching-for-switch/

    • Le pattern matching supporte tous les types de référence
    • L'article parle du cas de la valeur null
    • L'utilisation des patterns "guarded" avec le mot clé when
    • L'importance de l'ordre des cases
    • Le pattern matching peut être utilisé aussi avec le default des switchs
    • Le scope des variables du pattern
    • Un seul pattern par case label
    • Un seul case match-all dans un bloc switch
    • L'exhaustivité de la couverture des types
    • L'utilisation des generics
    • La gestion d'erreur avec MatchException
    Librairies

    Sortie de Micronaut 4 https://micronaut.io/2023/07/14/micronaut-framework-4-0-0-released/

    • Langage minimal : Java 17, Groovy 4 et Kotlin 1.8
    • Support de la dernière version de GraalVM
    • Utilisation des GraalVM Reachability Metadata Repository pour faciliter l'utilisation de Native Image
    • Gradle 8
    • Nouveau Expression Language, à la compilation, pas possible au runtime (pour des raisons de sécurité et de support de pré-compilation)
    • Support des Virtual Threads
    • Nouvelle couche HTTP, éliminant les stack frames réactives quand on n'utilise pas le mode réactif
    • Support expérimental de IO Uring et HTTP/3
    • Des filtres basés sur les annotations
    • Le HTTP Client utilise maintenant le Java HTTP Client
    • Génération de client et de serveur en Micronaut à partir de fichier OpenAPI
    • L'utilisation YAML n'utilise plus la dépendance SnakeYAML (qui avait des problèmes de sécurité)
    • Transition vers Jackarta terminé
    • Et plein d'autres mises à jour de modules
    • Couverture par InfoQ https://www.infoq.com/news/2023/07/micronaut-brings-virtual-thread/

    Quarkus 3.2 et LTS https://quarkus.io/blog/quarkus-3-2-0-final-released/ https://quarkus.io/blog/quarkus-3-1-0-final-released/ https://quarkus.io/blog/lts-releases/

    Infrastructure

    Red Hat partage les sources de sa distribution au travers de son Customer Portal, et impacte la communauté qui se base dessus https://almalinux.org/blog/impact-of-rhel-changes/

    • RedHat a annoncé un autre changement massif qui affecte tous les rebuilds et forks de Red Hat Enterprise Linux. À l'avenir, Red Hat publiera uniquement le code source pour les RHEL RPMs derrière leur portail client. Comme tous les clones de RHEL dépendent des sources publiées, cela perturbe encore une fois l'ensemble de l'écosystème Red Hat.

    Une analyse du choix de red hat sur la distribution du code source de rhel https://dissociatedpress.net/2023/06/24/red-hat-and-the-clone-wars/

    Une reponse de red hat aux feux démarrés par l'annonce de la non distribution des sources de RHEL en public https://www.redhat.com/en/blog/red-hats-commitment-open-source-response-gitcentosorg-changes et un lien vers une de ces feux d'une personne proheminente dans la communauté Ansible https://www.jeffgeerling.com/blog/2023/im-done-red-hat-enterprise-linux

    Oracle demande a garder un Linux ouvert et gratuit https://www.oracle.com/news/announcement/blog/keep-linux-open-and-free-2023-07-10/

    • Suite à l'annonce d'IBM/RedHat, Oracle demande à garder Linux ouvert et gratuit
    • IBM ne veut pas publier le code de RHEL car elle doit payer ses ingénieurs
    • Alors que RedHat a pu maintenir son modèle économique durante des années
    • L'article revient sur CentOS qu'IBM "a tué" en 2020
    • Oracle continue ses éfforts de rendre Linux ouvert et libre
    • Oracle Linux continuera à être compatible avec RHEL jusqu'à la version 9.2, après ça sera compliqué de maintenir une comptabilité
    • Oracle embauche des dev Linux
    • Oracle demande à IBM de récupérer le downstream d'Oracle et de le distribuer

    SUSE forke RHEL https://www.suse.com/news/SUSE-Preserves-Choice-in-Enterprise-Linux/

    • SUSE est la société derrière Rancher, NeuVector, et SUSE Linux Enterprise (SLE)
    • Annonce un fork de RHEL
    • $10M d'investissement dans le projet sur les prochaines années
    • Compatibilité assurée de RHEL et CentOS
    Web

    Google revent sont service de nom de domaine a Squarespace https://www.reddit.com/r/webdev/comments/14agag3/squarespace_acquires_google_domains/

    • et c'était pas gratuit donc on n'est pas censé etre le produit :wink:
    • Squarespace est une entreprise américaine spécialisée dans la création de site internet
    • Squarespace est un revendeur de Google Workspace depuis longtemps
    • La vente devrait se finaliser en Q3 2023

    Petite introduction à WebGPU en français https://blog.octo.com/connaissez-vous-webgpu/

    Data

    Avec la mode des Large Language Models, on parle de plus en plus de bases de données vectorielles, pour stocker des "embeddings" (des vecteurs de nombre flottant représentant sémantiquement du texte, ou même des images). Un article explique que les Vecteurs sont le nouveau JSON dans les bases relationnelles comme PostgreSQL https://jkatz05.com/post/postgres/vectors-json-postgresql/

    • L'article parle en particulier de l'extension pgVector qui est une extension pour PostgreSQL pour rajouter le support des vectors comme type de colonne https://github.com/pgvector/pgvector
    • Google Cloud annonce justement l'intégration de cette extension vectorielle à CloudSQL pour PostgreSQL et à AlloyDB pour PostgreSQL https://cloud.google.com/blog/products/databases/announcing-vector-support-in-postgresql-services-to-power-ai-enabled-applications
    • Il y a également une vidéo, un notebook Colab, et une article plus détaillé techniquement utilisant LangChain https://cloud.google.com/blog/products/databases/using-pgvector-llms-and-langchain-with-google-cloud-databases
    • Mais on voit aussi également Elastic améliorer Lucene pour utiliser le support des instructions SIMD pour accélérer les calculs vectoriels (produit scalaire, distance euclidienne, similarité cosinus) https://www.elastic.co/fr/blog/accelerating-vector-search-simd-instructions
    Outillage

    Le sondage de StackOverflow 2023 https://survey.stackoverflow.co/2023/

    • L'enquête a été réalisée auprès de 90 000 développeurs dans 185 pays.
    • Les développeurs sont plus nombreux (+2%) que l'an dernier à travailler sur site (16% sur site, 41% remote, 42% hybrid)
    • Les développeurs sont également de plus en plus nombreux à utiliser des outils d'intelligence artificielle, avec 70 % d'entre eux déclarant les utiliser (44%) ou prévoyant de les utiliser (25) dans leur travail.
    • Les langages de programmation les plus populaires sont toujours JavaScript, Python et HTML/CSS.
    • Les frameworks web les plus populaires sont Node, React, JQuery.
    • Les bases de données les plus populaires sont PostgreSQL, MySQL, et SQLite.
    • Les systèmes d'exploitation les plus populaires sont Windows puis macOS et Linux.
    • Les IDE les plus populaires sont Visual Studio Code, Visual Studio et IDEA IntelliJ.

    Les différents types de déplacement dans Vim https://www.barbarianmeetscoding.com/boost-your-coding-fu-with-vscode-and-vim/moving-blazingly-fast-with-the-core-vim-motions/

    JetBrains se mets aussi à la mode des assistants IA dans l'IDE https://blog.jetbrains.com/idea/2023/06/ai-assistant-in-jetbrains-ides/

    • une intégration avec OpenAI mais aussi de plus petits LLMs spécifiques à JetBrains
    • un chat intégré pour discuter avec l'assistant, puis la possibilité d'intégrer les snippets de code là où se trouve le curseur
    • possibilité de sélectionner du code et de demander à l'assistant d'expliquer ce que ce bout de code fait, mais aussi de suggérer un refactoring, ou de régler les problèmes potentiels
    • on peut demander à générer la JavaDoc d'une méthode, d'une classe, etc, ou à suggérer un nom de méthode (en fonction de son contenu)
    • génération de message de commit
    • il faut avoir un compte JetBrains AI pour y avoir accès

    Des commandes macOS plus ou moins connues https://saurabhs.org/advanced-macos-commands

    • caffeinate — pour garder le mac éveillé
    • pbcopy / pbpaste — pour interagir avec le clipboard
    • networkQuality — pour mesurer la rapidité de l'accès à internet
    • sips — pour manipuler / redimensionner des images
    • textutil — pour covertir des fichers word, texte, HTML
    • screencapture — pour faire un screenshot
    • say — pour donner une voix à vos commandes

    Le sondage de la communauté ArgoCD https://blog.argoproj.io/cncf-argo-cd-rollouts-2023-user-survey-results-514aa21c21df

    Un client d'API open-source et cross-platform pour GraphQL, REST, WebSockets, Server-sent events et gRPC https://github.com/Kong/insomnia

    Architecture

    Moderniser l'architecture avec la decouverte via le domain driven discovery https://www.infoq.com/articles/architecture-modernization-domain-driven-discovery/?utm_source=twitter&utm_medium=link&utm_campaign=calendar

    • Un article très détaillé pour moderniser son architecture en utilisant une approche Domain-Driven Discovery qui se fait en 5 étapes:
      • Encadrer le problème – Clarifier le problème que vous résolvez, les personnes touchées, les résultats souhaités et les contraintes de solution.
      • Analyser l'état actuel – Explorer les processus opérationnels et l'architecture des systèmes existants afin d'établir une base de référence pour l'amélioration.
      • Explorer l'état futur – Concevoir une architecture modernisée fondée sur des contextes délimités, établir des priorités stratégiques, évaluer les options et créer des solutions pour l'état futur.
      • Créer une feuille de route – Créer un plan pour moderniser l'architecture au fil du temps en fonction des flux de travail ou des résultats souhaités.

    Récemment, Sfeir a lancé son blog de développement sur https://www.sfeir.dev/

    • plein d'articles techniques
    • sur de nombreux thèmes : front, back, cloud, data, AI/ML, mobile
    • aussi des tendances, des success stories
    • par exemple dans les derniers articles : on parle d'Alan Turing, du Local Storage en Javascript, des la préparation de certifications React, l'impact de la cybersécurité sur le cloud

    Demis Hassabis annonce travailler sur une IA nommée Gemini qui dépassera ChatGPT https://www.wired.com/story/google-deepmind-demis-hassabis-chatgpt/

    • Demis Hassabis CEO de Google DeepMind créateur de AlphaGOet AlphaFold
    • Travaille sur une IA nommé Gemini qui dépasserait ChatGPT de OpenAI
    • Similair à GPT-4 mais avec des techniques issues de AlphaGO
    • Encore en developpement, va prendre encore plusieurs mois
    • Un remplaçant a Bard?
    Méthodologies

    Approcher l'agilité par les traumatismes (de developement) passés des individus https://www.infoq.com/articles/trauma-informed-agile/?utm_campaign=infoq_content&utm_source=twitter&utm_medium=feed&utm_term=culture-methods

    • Nous subissons tous un traumatisme du développement qui rend difficile la collaboration avec d'autres - une partie cruciale du travail dans le développement de logiciels agiles.
    • Diriger d'une manière tenant compte des traumatismes n'est pas pratiquer la psychothérapie non sollicitée, et ne justifie pas les comportements destructeurs sans les aborder.
    • Être plus sensible aux traumatismes dans votre leadership peut aider tout le monde à agir de façon plus mature et plus disponible sur le plan cognitif, surtout dans des situations émotionnellement difficiles.
    • Dans les milieux de travail tenant compte des traumatismes, les gens accordent plus d'attention à leur état physique et émotionnel.
    • Ils s'appuient aussi davantage sur le pouvoir de l'intention, fixent des objectifs d'une manière moins manipulatrice et sont capables d'être empathiques sans s'approprier les problèmes des autres.
    Loi, société et organisation

    Mercedes va rajouter de l'intelligence artificielle dans ses voitures https://azure.microsoft.com/en-us/blog/mercedes-benz-enhances-drivers-experience-with-azure-openai-service/

    • Programme béta test de 3 mois pour le moment
    • Assistance vocale "Hey Mercedes"
    • Permet de discuter avec la voiture pour trouver son chemin, concocter une recette, ou avoir tout simplement des discussions
    • Ils travaillent sur des plugin pour reserver un resto, acheter des tickets de cinéma

    Free software vs Open Source dans le contexte de l'intelligence artificielle par Sacha Labourey https://medium.com/@sachalabourey/ai-free-software-is-essential-to-save-humanity-86b08c3d4777

    • on parle beaucoup d'AI et d'open source
    • mais il manque la dimension de controle des utilisateurs finaux
    • Stallman a crée la FSF par peur de la notion d'humain augmenté par des logiciels qui sont controllés par d'autres
    • (implants dans le cerveau etc)
    • d'ou la GPL et sa viralité qui propage la capacité a voir et modifier le conde que l'on fait tourner
    • dans le debat AI, ce n'est pas seulement open source (casser oligopolie) mais aissu le free software qui est en jeu

    La folie du Cyber Resilience Act (CRA) europeen https://news.apache.org/foundation/entry/save-open-source-the-impending-tragedy-of-the-cyber-resilience-act

    • Au sein de l'UE, la loi sur la cyber-résilience (CRA) fait maintenant son chemin à travers les processus législatifs (et doit faire l'objet d'un vote clé le 19 juillet 2023). Cette loi s'appliquera à un large éventail de logiciels (et de matériel avec logiciel intégré) dans l'UE. L'intention de ce règlement est bonne (et sans doute attendue depuis longtemps) : rendre le logiciel beaucoup plus sûr.
    • Le CRA a une approche binaire: oui/non et considère tout le monde de la même manière
    • Le CRA réglementerait les projets à source ouverte à moins qu'ils n'aient « un modèle de développement entièrement décentralisé ». Mais les modèles OSS sont de complexes mélanges de pur OSS et éditeurs de logiciels
    • les entreprises commerciales et les projets open source devront être beaucoup plus prudents quant à ce que les participants peuvent travailler sur le code, quel financement ils prennent, et quels correctifs ils peuvent accepter.
    • Certaines des obligations sont pratiquement impossibles à respecter, par exemple l'obligation de « livrer un produit sans vulnérabilités exploitables connues ».
    • Le CRA exige la divulgation de vulnérabilités graves non corrigées et exploitées à l'ENISA (une institution de l'UE) dans un délai mesuré en heures, avant qu'elles ne soient corrigées. (complètement opposé aux bonnes pratiques de sécu)
    • Une fois de plus une bonne idée à l'origine mais très mal implémentée qui risque de faire beaucoup de dommages

    Octave Klaba, avec Miro, son frère, et la Caisse des Dépôts, finalisent la création de Synfonium qui va maintenant racheter 100% de Qwant et 100% fe Shadow. Synfonium est détenue à 75% par Jezby Venture & Deep Code et à 25% par la CDC. https://twitter.com/i/web/status/1673555414938427392

    • L'un de rôles de Synfonium est de créer la masse critique des utilisateurs et des clients B2C & B2B qui vont pouvoir utiliser tous ces services gratuits et payants
    • Vous y retrouverez le moteur de recherche, les services gratuits, la suite collaborative, le social login, mais aussi les services de nos partenaires tech.
    • Le but est de créer une plateforme dans le Cloud SaaS EU qui respectent nos valeurs et nos lois européennes

    Yann LeCun : «L'intelligence artificielle va amplifier l'intelligence humaine» https://www.europe1.fr/emissions/linterview-politique-dimitri-pavlenko/yann-lecun-li[…]gence-artificielle-va-amplifier-lintelligence-humaine-4189120

    Conférences

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

    • 2-3 septembre 2023 : SRE France SummerCamp - Chambéry (France)
    • 6 septembre 2023 : Cloud Alpes - Lyon (France)
    • 8 septembre 2023 : JUG Summer Camp - La Rochelle (France)
    • 14 septembre 2023 : Cloud Sud - Remote / Toulouse (France)
    • 18 septembre 2023 : Agile Tour Montpellier - Montpellier (France)
    • 19-20 septembre 2023 : Agile en Seine - Paris (France)
    • 19 septembre 2023 : Salon de la Data Nantes - Nantes (France) & Online
    • 21-22 septembre 2023 : API Platform Conference - Lille (France) & Online
    • 22 septembre 2023 : Agile Tour Sophia Antipolis - Valbonne (France)
    • 25-26 septembre 2023 : BIG DATA & AI PARIS 2023 - Paris (France)
    • 28-30 septembre 2023 : Paris Web - Paris (France)
    • 2-6 octobre 2023 : Devoxx Belgium - Antwerp (Belgium)
    • 6 octobre 2023 : DevFest Perros-Guirec - Perros-Guirec (France)
    • 10 octobre 2023 : ParisTestConf - Paris (France)
    • 11-13 octobre 2023 : Devoxx Morocco - Agadir (Morocco)
    • 12 octobre 2023 : Cloud Nord - Lille (France)
    • 12-13 octobre 2023 : Volcamp 2023 - Clermont-Ferrand (France)
    • 12-13 octobre 2023 : Forum PHP 2023 - Marne-la-Vallée (France)
    • 19-20 octobre 2023 : DevFest Nantes - Nantes (France)
    • 19-20 octobre 2023 : Agile Tour Rennes - Rennes (France)
    • 26 octobre 2023 : Codeurs en Seine - Rouen (France)
    • 25-27 octobre 2023 : ScalaIO - Paris (France)
    • 26-27 octobre 2023 : Agile Tour Bordeaux - Bordeaux (France)
    • 26-29 octobre 2023 : SoCraTes-FR - Orange (France)
    • 10 novembre 2023 : BDX I/O - Bordeaux (France)
    • 15 novembre 2023 : DevFest Strasbourg - Strasbourg (France)
    • 16 novembre 2023 : DevFest Toulouse - Toulouse (France)
    • 23 novembre 2023 : DevOps D-Day #8 - Marseille (France)
    • 30 novembre 2023 : PrestaShop Developer Conference - Paris (France)
    • 30 novembre 2023 : WHO run the Tech - Rennes (France)
    • 6-7 décembre 2023 : Open Source Experience - Paris (France)
    • 7 décembre 2023 : Agile Tour Aix-Marseille - Gardanne (France)
    • 8 décembre 2023 : DevFest Dijon - Dijon (France)
    • 7-8 décembre 2023 : TechRocks Summit - Paris (France)
    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/

    1 hr 44 min
  • LCC 297 - Lockless design

    Guillaume, Arnaud et Emmanuel discutent des nouvelles de mai et juin. La communauté Rust, WebAssembly. Guava, Debezium, Kafka, de flame graph, d'open source et bien sûr les large language models. On répond aussi à la question fondamentale: mais pourquoi Maven n'a pas de fichier .lock ?

    Enregistré le 9 juin 2023

    Téléchargement de l'épisode LesCastCodeurs-Episode-297.mp3

    News Langages

    Lors de Microsoft BUILD 2023, un des fondateurs de OpenAI a fait une excellente présentation de Large Language Models, des GPT https://build.microsoft.com/en-US/sessions/db3f4859-cd30-4445-a0cd-553c3304f8e2

    • Il parle du fonctionnement des LLM, comment/pourquoi ils arrivent à générer ce qu'ils génèrent
    • Le fine-tuning, l'apprentissage renforcé avec feedback humain, l'art du prompting
    • Des patterns comme Chain of Thought (CoT) ou ReAct (Reflect then Act)

    Leaning Technologies annonce l'arrivée prochaine de CheerpJ 3 : le retour de Java dans la navigateur, grâce à WebAssembly https://leaningtech.com/announcing-cheerpj-3-0-a-jvm-replacement-in-html5-and-webassembly-to-run-java-applications-and-applets-on-modern-browsers/

    • Avant la version 3.0, CheerpJ utilisait une approche AOT (ahead of time compilation) qui nécessitait aussi une étape d'intégration continue pour transformer aussi toutes les dépendances JAR associées à un projet
    • Avec la version 3.0, qui devrait sortir cet été, CheerpJ adopte une approche JIT (Just In Time compilation) qui ressemble plus à l'approche de Java lui même
    • Plus besoin non plus de version custom d'OpenJDK
    • Les Applets vous avaient manqué ? Elles sont de retour avec WebAssembly :smile:

    Communauté RUST: Il y a de l'eau dans le gaz https://www.jntrnr.com/why-i-left-rust/

    • Plus d'infos https://gist.github.com/fasterthanlime/42da9378768aebef662dd26dddf04849
    • lié au backchannel et un petit groupe qui essaie de faire les choses bien mais qui derappe de l'exterieur
    • en gros ils ont un process interne pour prendre des decisions
    • avec ce process ils ont invité une personne pas super pro Rust a faire la keynote a RustConf
    • d'autres du commité ont vu ca et on discuté en backchannel pour revenir en arriere de la decision (sans suivre le process)
    • il y a eu une semaine de pause avant action mais pas annoncé
    • le speaker a ete dé keynoté et a donc refusé de venir a la conf
    • et paf, ca enerve des gens decisionaire et ils demissionnent
    • Bref des gens qui veulent faire le bien mais en cercle un peu trop ferné et paf

    Les gens de Wasmer étendent WASI avec WASIX, on rajoutant le support POSIX, les threads… permettant de compiler vers WASM plein de projet C/C++ ou Rust, comme cURL ou autre https://wasmer.io/posts/announcing-wasix

    • ca frotte un oeu entre innovation et standardisation dans la communaite WASM
    • WASMER sont un peu les cowboys startuper
    • par exemple ils ont essayé de deposer la marque WebAssemble au nez et à la barbe de la communauté
    • donc la reaction du coeur de la communauté a cette annonce est plutôt calme
    • WASI c'est standard mais ca prend du temps a maturer
    • WASIX c'est cool et dispo maintenant mais c'est un produit d'une société spécifique, donc pas de portabilité
    Librairies

    Guava 32 est sorti et beaucoup de choses annotées en @Beta ne le sont plus https://www.reddit.com/r/java/comments/13w2l8w/guava_320_released_today_and_the_beta_annotation/

    • ont eu des API en @Beta pendant longtemps pour proteger des risques de changements
    • en pratique quasi personne ne se limitait au non beta, et elles n'ont pas bougé ces API ou peu
    • donc ils ont enlevé @Beta de la plupart
    • beaucoup de parties de Guava sont dans le JDK, le cache est dans Caffeine
    • des bons echanges dans les commentaires entre les utilisateurs et Kevin un des mainteneurs chez Google

    Comment démarrer avec l'API PaLM de Google, mais en Java! https://glaforge.dev/posts/2023/05/30/getting-started-with-the-palm-api-in-the-java-ecosystem/

    • Guillaume a écrit une petite application qui génère des histoires pour enfants avec un Large Language Model (l'API PaLM)
    • https://bed-time-stories.web.app/
    • Le code est dispo sur Github https://github.com/glaforge/bedtimestories
    • Il explique également le processus incrémentale des prompts qui aident à générer aussi le contenu de l'application https://glaforge.dev/posts/2023/06/08/creating-kids-stories-with-generative-ai/
    Infrastructure

    Debezium 2.2 https://debezium.io/blog/2023/04/20/debezium-2-2-final-released/

    • Experimental, opt-in Parallel Snapshots
    • Incremental snapshots with surrogate keys
    • Quarkus 3 support
    • Ingestion of Oracle changes from logical standby instances
    • Google Spanner improvementsNew Debezium Server sinks for Infinispan, RabbitMQ, and RocketMQ
    • New Storage APIs for Amazon S3 and RocketMQ
    • Many MongoDB improvements
    • Cassandra connector for Cassandra Enterprise

    Un article sur l'utilisation de Kafka par CloudFlare https://www.infoq.com/articles/kafka-clusters-cloudflare/?utm_campaign=infoq_content&utm_source=twitter&utm_medium=feed&utm_term=architecture-design

    • c'est du "classique" mais bon de se le faire rappeler
    • beaucoup d'evenements CloudFlare passent pas Kafka pour processing
    • Kafka en tant que bus generique
    • Ils ont imposé un message unique par topic via protobuf
    • ils sont une Application Service team (internal developer platform) depuis peu de temps
    • gitops pour creation de topic etc
    • développé un connector framework declaratif pour étendre le pannel de patrons d'architecture disponibles
    • developé des SDKs d'access a KAfka avec monitoring (prometheus)
    • sympa a lire

    Post mortem du problème chez datadogHQ https://www.datadoghq.com/blog/2023-03-08-multiregion-infrastructure-connectivity-issue/

    • data dog a perdu tous ces services dans la plupart ou toutes ses regions pendant 3 heures avant la premiere recuperation et 10 heures au total pour la recuperation totale
    • Equipe : 10 senior engineering leaders, about 70 local incident commanders and a pool of 450 to 750 incident responders active throughout the incident, which required four shifts to bring the incident to full resolution.
    • cause: une mise a jour de systemd appliqué sur la plupart de leurs VM en quasi parallele qui a effacer les routes des container et ne les a aps remis ; c'est un cas qui n'arrive pas au reboot d'un noeud (init sequence)
    • des 10000s noeuds impactés
    • en general ils font du rollout par region en enlevant les noeuds etc mais le base os avait un legacy update channel activé (vs gere pas les equipes de datadog manuellement)
    • les noeuds de controlleurs qui sont cense recycler les noeuds n'ont pu le faire vu le volume de noeud et surtout parce qu'eux meme étaient effectés
    • l'autre article
    Cloud

    Le data center parisien europe-west9-a est en panne depuis 3 semaines https://www.lebigdata.fr/data-center-panne

    • un feu s'est déclenché qui a touché une zone
    • le DC reste opérationnel sur les zones non touchée sauf BigTable qui a besoin de la zone touchée
    • les autres services fonctionnent
    • sauf les applis utilisateurs qui ne tournaiuent que sur la zone affecté
    Outillage

    Podman Desktop 1.0 est sorti https://podman-desktop.io/blog/podman-desktop-release-1.0

    • pas grand chose a dire que c'est la 1.0
    • "Works on my machine"

    Contract testing with Pact https://hollycummins.com/contract-testing-devoxx-greece/

    • Conference
    • quand on change un microservice l'autre casse
    • les tests d'integration sont lent, instable et demande des grosses machines ou des environnements remote de dev
    • mock / unit tests ne sont pas vraiment le code de l'autre équipe
    • D'où Contract test qui vit entre les end to end et les unit tests.
    • Peut partir d'un test mock et rempalcer avec pact cote consommateur
    • en faisait tourner, un pack listener enregistre la declaration (le DSL) et le retours attendus / generés par l'appel du test
    • copier ce fichier vers le producteur
    • copier a la main, dans le repo, via a broker
    • ajoute un test pact cote producteur qui va exercer le JSON et verifier que cela marche
    • tests de pack sont plus profonds qu'un test OPENAPI
    • consommateur utilise pact comme mock et verifie le provider wrt le contract du mock

    Pourquoi Maven n'a pas de fichier lock ? https://www.reddit.com/r/Maven/comments/vkcmys/why_maven_doesnt_have_a_lock_file_like/?utm_source=share&utm_medium=ios_app&utm_name=ioscss&utm_content=1&utm_term=9

    • conversation interessance sur les fichiers .lock dans les builds
    • Par exemple ruby a le Gemfile.lock, npm pareil mais pas Java?
    • Fondamentalement c'est du aux valeurs par defaut initiales et à la culture de la communauté
    • les version range sont peu ou pas utilisés en Maven
    • alors que le default dans d'autres plateformes
    • la poule et l'oeuf

    Simplifier les flame graph avec jbang https://someth2say.wordpress.com/2023/06/04/jbang-and-flame-graphs/

    • discute les flame graph
    • pour le temps comsommé et pas un call graph
    • hauteur c'est la profondeur d'appel
    • ne regarder que la largeur, pas l'ordre
    • pas quand et ou une action est faite mais qui l'a fait
    • reste discute comment utiliser jbang pour lancer le prgramme et le javaagent

    Les modérateurs de Stack Overflow en greve contre le flux de réponses d'intelligence artificeille https://openletter.mousetail.nl/

    • le ban des contenus generes par l'IA a ete levé discrètement par stack overflow
    • peur du flux de données massif et des hallucinations difficiles à détecter sans passer du temps
    • pas de consensus communautaire
    • stackoverflow est une des sources trustées pour les LLM des intelligences arificielles generatives (serpent qui se mord la queue)
    • les modérateurs font tourner l'anti spam, gere les flag levés, ferment ou effacent les entrées, genre les bots qui detectent le plagiat etc.
    • 414 votants des les premiers heures

    Just, un petit outil en ligne de commande avec une syntaxe inspirée de make, pour exécuter des commandes fréquentes dans nos projets https://glaforge.dev/posts/2023/06/07/just-a-handy-command-line-tool/

    • Syntaxe proche de celle de make
    • Possibilité de définir des dépendances entre tâches
    • Support de paramètres
    • Peut charger des fichier .env
    • S'installe sur tous les systèmes d'exploitation qu'on aime bien et qu'on n'aime pas aussi
    Méthodologies

    AWS retire ses documentations en Open Source https://www.infoq.com/news/2023/06/aws-documentation-github/

    • ils ont open sourcé en espérant des contributions il y a deux ans
    • mais sans changer les approche en interne
    • resultat copie de repo de l'interieur vers l'exterieur
    • tracker de travail interne != externe
    • c'était plus compliqué
    • leçon, embrace entièrement sinon les frictions sont compliquées

    Un guide pour communiquer avec l'IA: https://learnprompting.org/

    • Gratuit et open source
    • Prompt Engineering ou comment rédiger vos prompts
    • Plusieurs niveau (Basic, Intermediaire, Avancé..)
    • Défini plein de concepts: Prompt, Few Shot Prompt, LLMs…
    Loi, société et organisation

    Migration de Twitter vers Mastodon (ou plutôt "dual run") https://glaforge.dev/talks/2023/06/09/from-bird-to-elephant-starting-a-new-journey-on-mastodon/

    • Présentation de Guillaume à Devoxx France et Grèce
    • Avec code sur Github pour un bot Mastodon: https://github.com/glaforge/stootistics
    • Et un service en ligne pour voir la popularité de ses derniers posts sur Mastodon https://stootistics.web.app/
    Conférences

    Aurelie Vache publie sont agenda des conferences via le site: https://developers.events/

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

    • 14-15 juin 2023 : OW2 openSource Conf - Paris (France)
    • 14-17 juin 2023 : VivaTech (Viva Technology) - https://vivatechnology.com/) - Paris (France)
    • 15-16 juin 2023 : Le Camping des Speakers - Baden (France)
    • 15-17 juin 2023 : Pas Sage En Seine - Choisy-le-Roi (France)
    • 20 juin 2023 : Mobilis in Mobile - Nantes (France)
    • 20 juin 2023 : Cloud Est - Villeurbanne (France)
    • 20-22 juin 2023 : Adeo DevSummit - Lille (France)
    • 21-23 juin 2023 : Rencontres R - Avignon (France)
    • 23 juin 2023 : Unconf HackYourJob - Région lyonnaise (France)
    • 28-30 juin 2023 : Breizh Camp - Rennes (France)
    • 29 juin 2023 : Google Cloud Summit France - Paris (France)
    • 29-30 juin 2023 : Sunny Tech - Montpellier (France)
    • 29-30 juin 2023 : Agi'Lille - Lille (France)
    • 7-9 juillet 2023 : Nantes Maker Campus - Nantes (France)
    • 2-3 septembre 2023 : SRE France SummerCamp - Chambéry (France)
    • 6 septembre 2023 : Cloud Alpes - Lyon (France)
    • 8 septembre 2023 : JUG Summer Camp - La Rochelle (France)
    • 14 septembre 2023 : Cloud Sud - Remote / Toulouse (France)
    • 18 septembre 2023 : Agile Tour Montpellier - Montpellier (France)
    • 19-20 septembre 2023 : Agile en Seine - Paris (France)
    • 19 septembre 2023 : Salon de la Data Nantes - Nantes (France) & Online
    • 21-22 septembre 2023 : API Platform Conference - Lille (France) & Online
    • 25-26 septembre 2023 : BIG DATA & AI PARIS 2023 - Paris (France)
    • 28-30 septembre 2023 : Paris Web - Paris (France)
    • 2-6 octobre 2023 : Devoxx Belgium - Antwerp (Belgium)
    • 6 octobre 2023 : DevFest Perros-Guirec - Perros-Guirec (France)
    • 10 octobre 2023 : ParisTestConf - Paris (France)
    • 11-13 octobre 2023 : Devoxx Morocco - Agadir (Morocco)
    • 12 octobre 2023 : Cloud Nord - Lille (France)
    • 12-13 octobre 2023 : Volcamp 2023 - Clermont-Ferrand (France)
    • 12-13 octobre 2023 : Forum PHP 2023 - Marne-la-Vallée (France)
    • 19-20 octobre 2023 : DevFest Nantes - Nantes (France)
    • 19-20 octobre 2023 : Agile Tour Rennes - Rennes (France)
    • 26 octobre 2023 : Codeurs en Seine - Rouen (France)
    • 25-27 octobre 2023 : ScalaIO - Paris (France)
    • 26-27 octobre 2023 : Agile Tour Bordeaux - Bordeaux (France)
    • 10 novembre 2023 : BDX I/O - Bordeaux (France)
    • 15 novembre 2023 : DevFest Strasbourg - Strasbourg (France)
    • 16 novembre 2023 : DevFest Toulouse - Toulouse (France)
    • 6-7 décembre 2023 : Open Source Experience - Paris (France)
    • 7-8 décembre 2023 : TechRocks Summit - Paris (France)
    • 31 janvier 2024-3 février 2024 : SnowCamp - Grenoble (France)
    • 19-22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France)
    • 28-29 mars 2024 : SymfonyLive Paris 2024 - Paris (France)
    • 17-19 avril 2024 : Devoxx France - Paris (France)
    • 25-26 avril 2024 : MiXiT - Lyon (France)
    • 25-26 avril 2024 : Android Makers - Paris (France)
    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/

    1 hr 14 min
  • LCC 296 - Interview Google IA IA I/O 2023

    Dans cet épisode, Antonio, Emmanuel et Guillaume reviennent sur les nouveautés et annonces faites à Google I/O 2023 : de nouveaux téléphones Pixel qui se plient ou pas, et surtout de l'intelligence artificielle du sol au plafond ! Que ce soit dans Android, dans Google Workspace, dans Google Cloud, une tonne de produits passe en mode survitaminé à l'IA. Guillaume, Antonio et Emmanuel discutent aussi de l'impact qu'ils voient sur l'AI, et de comment les Large Language Models sont raffinés et pourquoi on les fait halluciner, de subtilités du langage des signes.

    Enregistré le 23 mai 2023

    Téléchargement de l'épisode LesCastCodeurs-Episode-296.mp3

    Google I/O 2023

    Site web : https://io.google/2023/

    Keynote principale : https://io.google/2023/program/396cd2d5-9fe1-4725-a3dc-c01bb2e2f38a/

    Keynote développeur : https://io.google/2023/program/9fe491dd-cadc-4e03-b084-f75e695993ea/

    Vidéo résumée en 10 minutes de toutes les annonces : https://www.youtube.com/watch?v=QpBTM0GO6xI&list=TLGGCy91ScdjTPYxNjA1MjAyMw

    Vidéo de toutes les sessions techniques : https://io.google/2023/program/?q=technical-session

    Google I/O s'est tenu il y a 10 jours en Californie, dans l'amphithéâtre de Shoreline, près du campus de Google.

    Seulement 2000 personnes sur place, un chat et un jeu en ligne pour assister à distance.

    Jeu en ligne I/O Flip créé avec Flutter, Dart, Firebase, et Cloud Run, et tous les assets graphiques générés par Generative AI https://blog.google/technology/ai/google-card-game-io-flip-ai/

    Des Pixels plein les yeux !

    Des détails sur le design des nouveaux appareils : https://blog.google/products/pixel/google-pixel-fold-tablet-7a-design/

    Pixel Fold

    Article : https://blog.google/products/pixel/google-pixel-fold/

    • Premier téléphone foldable de Google (après Samsung et Oppo)
    • Un écran sur le dessus, et un grand écran pliable à l'intérieur
      • Pratique pour la traduction où peut voir une discussion traduire en deux langues d'un côté sur un écran et dans l'autre langue sur l'autre
    • Utilisation créative de la pliure : mode "laptop", pour les selfies, pour poser l'appareil pour des photos de nuit
    • Par contre… pas disponible en France, et tout de même presque 1900€ !
    Pixel Tablet

    Article : https://blog.google/products/pixel/google-pixel-tablet/

    • Une belle tablette de 11 pouces, avec un dock de recharge avec enceinte intégrée
    • Processeur Tensor G2, Chromecast intégré
    • C'est un peu comme le Google Nest Hub Max mais avec un écran détachable
    • Une coque pratique avec un trépied intégré et qui n'empêche pas de recharger la tablette sur le dock
    • En mode dock, c'est comme l'écran du Google Home App, et dès qu'on la décroche, on est en mode multi-utilisateur, chacun avec son profil
    Pixel 7a

    Article : https://blog.google/products/pixel/pixel-7a-io-2023/

    • Écran de 6 pouces
    • Triple appareil photo (grand angle, principal, et photo avant pour les selfies)
    • 509 euros
    • Magic Eraser pour effacer les trucs qu'on veut pas dans la photo, Magic Unblur pour rendre une photo floue plus nette, Real Tone pour rendre les peaux foncées plus naturelles
    Android

    Article quoi de neuf dans Android : https://blog.google/products/android/android-updates-io-2023/

    • Dans Messages, Magic Compose dans les conversations, l'IA nous aide à concevoir nos messages, dans différents styles (plus pro, plus fun, dans le style de Shakespeare)
    • Android 14 devrait arriver un peu plus tard dans l'année, avec plus de possibilités de customisation (fond d'écran généré par Gen AI, fond d'écran Emojis, couleurs associées, fond d'écran 3D issus de ses photos) https://blog.google/products/android/new-android-features-generative-ai/
    • StudioBot : un chatbot intégré à Android Studio pour aider au développement d'applis Android https://io.google/2023/program/d94e89c5-1efa-4ab2-a13a-d61c5eb4e49c/
    • 800 millions d'utilisateurs sont passés à RCS pour le messaging
    • Adaptation de 50 applications Android pour s'adapter aux foldables https://blog.google/products/android/android-app-redesign-tablet-foldable/
    • Wear OS 4 va rajouter le backup restore quand on change de montre et autres nouveautés https://blog.google/products/wear-os/wear-os-update-google-io-2023/
    • 800 chaînes TV gratuites dans Google TV sur Android et dans la voiture
    • Android Auto va être disponible de 200 millions de voitures https://blog.google/products/android/android-auto-new-features-google-io-2023/
    • Waze disponible globalement sur le playstore dans toutes les voitures avec Android Auto
    Google Maps

    Article : https://blog.google/products/maps/google-maps-updates-io-2023/

    • Maps propose 20 milliards de km de direction tous les jours
    • Immersive View for Routes
    • 15 villes : Amsterdam, Berlin, Dublin, Florence, Las Vegas, London, Los Angeles, Miami, New York, Paris, San Francisco, San Jose, Seattle, Tokyo et Venice
    • Possibilité pour les développeurs de s'intégrer et rajouter des augmentations 3D, des marqueurs
    Google Photos

    Article Magic Editor : https://blog.google/products/photos/google-photos-magic-editor-pixel-io-2023/

    • Magic Editor survitaminé à l'IA pour améliorer les photos, en déplaçant des gens, en rajoutant des parties coupées, ou bien rendre le ciel plus beau
    • Possible que ce soit limité aux téléphones Pixel au début
    Projets expérimentaux
    • Project Starline (écran avec caméra 3D qui donne un rendu 3D de son interlocuteur comme s'il était en face de soi) a été amélioré pour prendre moins de place https://blog.google/technology/research/project-starline-prototype/
    • Universal Translator : une nouvelle expérimentation pour faire du doublage et traduction automatique avec synchronisation des mouvements des lèvres
    • Project Tailwind, une sorte de notebook dans lequel on peut rajouter tous ses documents à partir de drive, et poser des questions sur leur contenu, proposer des résumés, de faire du brainstorming sur ces thèmes https://thoughtful.sandbox.google.com/about
    • MusicLM : un large language model pour générer de la musique à partir d'un texte de prompt (waitlist pour s'inscrire) https://blog.google/technology/ai/musiclm-google-ai-test-kitchen/
    • Project Gameface : utilisation des expressions du visage pour commander une souris et un ordinateur, pour les personnes qui ont perdu leur mobilité https://blog.google/technology/ai/google-project-gameface/
    • VisualBlocks : pour expérimenter dans une interface drag'n drop avec le développement de modèles pour Tensorflow lite et js https://visualblocks.withgoogle.com/
    • MakerStudio : pour les bidouilleurs et développeurs https://makersuite.google.com/ https://developers.googleblog.com/2023/05/palm-api-and-makersuite-moving-into-public-preview.html
    Search Labs

    Article : https://blog.google/products/search/generative-ai-search/

    • Expérimentations pour rajouter l'IA générative dans Google Search
    • Faire des recherches avec des requêtes avec des phrases plus complexes, en intégrant des réponses comme Bard, avec des liens, des suggestions d'autres recherches associées
    • Mais aussi proposer des publicités mieux ciblées
    • On peut s'inscrire à Search Labs pour tester cette nouvelle expérience, mais au début juste en Anglais et juste pour les US
    • Des intégrations avec Google Shopping pour proposer et filtrer des produits qui correspondent à la requête
    • Recherche à l'aide d'image, avec Google Lens : 12 milliards de recherches visuelles par mois
    Palm et Bard
    • Annonce du modèle LLM Palm 2 utilisé dans Bard et dans Google Cloud https://blog.google/technology/ai/google-palm-2-ai-large-language-model/
    • PaLM 2 est en cours d'intégration dans 25 produits de Google
    • Supportera 100 langues différentes (pour l'instant seulement l'anglais, japonais et coréen), avec déjà les 40 langues les plus parlées d'ici la fin de l'année
    • Maintenant disponible dans 180 pays… sauf l'Europe !!!
    • Capacité de raisonnement accrue
    • Peut coder dans une vingtaine de langages de programmation différents dont Groovy
    • Différentes tailles de modèles : Gecko, Otter, Bison et Unicorn, mais le nombre de paramètres n'est pas communiquée, comme pour GPT-4 d'OpenAI
    • Utilisable pour des requêtes et pour du chat
    • Des modèles dérivées fine-tunés Med-PaLM 2 sur du savoir médical, sur l'analyse visuelle des radios et Sec-PaLM, entrainé sur des cas d'utilisation sur le thème de la cybersécurité, pour aider à déceler des scripts malicieux, des vecteurs d'attaque
    • Sundar Pichai a aussi annoncé que Google travaillait déjà sur la prochaine évolution de ses LLM avec un modèle appelé Gemini. Peu de détails à part qu'il sera multimodal (en particulier recherche combinée image et texte par ex.)
    • Partenariat et intégration de Adobe Firefly dans Bard pour générer des images https://blog.adobe.com/en/publish/2023/05/10/adobe-firefly-adobe-express-google-bard
    Duet AI pour Google Workspace

    Article : https://workspace.google.com/blog/product-announcements/duet-ai

    • Dans Gmails et Docs, propose d'aider à la rédaction de vos emails et documents
      • une extension de "smart compose" qui va permettre de générer des emails entiers, d'améliorer le style, de corriger la grammaire, éviter les répétitions de texte
    • Dans Docs, des nouveaux "smart chips" pour rajouter des variables, des templates
    • Dans Slides, rajouter des images générées par IA
    • Des prompts dans Sheets pour générer un draft de table
    • Dans Google Meet, possibilité de créer une image de fond customisée avec Generative AI
    • Ces améliorations font parties de Workspace Labs auquel on peut s'inscrire dans la liste d'attente https://workspace.google.com/labs-sign-up/
    Google Cloud

    Intégration de Generative AI partout https://cloud.google.com/blog/products/ai-machine-learning/google-cloud-launches-new-ai-models-opens-generative-ai-studio

    • Nouvelles VM A3 avec les GPUs H100 de Nvidia, idéal pour l'entrainement de modèles de machine learning, avec 26 exaFlops de performance https://cloud.google.com/blog/products/compute/introducing-a3-supercomputers-with-nvidia-h100-gpus
    • Trois nouveaux modèles LLM dans Vertex AI : Imagen (private preview) pour générer des images, Codey pour la génération de code, et Chirp pour la génération de la parole supportant 100 langues différentes avec 2 milliards de paramètres vocaux
    • Model Garden : avec les modèles de machine learning y compris externes et open sources
    • Ajout des embeddings pour le texte et l'image
    • RLHF, Reinforcement Learning from Human Feedback bientôt intégrer pour étendre Vertex AI tuning et prompt design avec une boucle de feedback humaine
    • Generative AI Studio pour tester ses prompts zero-shot, one-shot, multi-shots
    • Duet AI pour Google Cloud https://cloud.google.com/blog/products/application-modernization/introducing-duet-ai-for-google-cloud
    • Assistance de code dans VSCode et bientôt les IDEs JetBrains grâce au plugin Cloud Code, et dans Cloud Workstations.
    • Intégration dans les IDEs d'un chat pour comme un compagnon pour discuter d'architecture, trouver les commandes à lancer pour son projet
    • Le modèle de code de Codey fonctionne sur une vingtaine de languages de programmation, mais un modèle fine-tuné a été entrainé sur toute la doc de Google Cloud, donc pourra aider en particulier sur l'utilisation des APIs de Google Cloud, ou l'utilisation de la ligne de commande gcloud
    • Duet AI est aussi dans App Sheet, la plateforme low/no-code, et permettra de chatter avec un chatbot pour générer une application App Sheet
    • Quoi de neuf dans Firebase https://firebase.blog/posts/2023/05/whats-new-at-google-io
    Web

    Article : https://developers.googleblog.com/2023/05/io23-developer-keynote-recap.html

    • Flutter 3 et Dart 3.10 https://io.google/2023/program/7a253260-3941-470b-8a4d-4253af000119/
    • WebAssembly https://io.google/2023/program/1d176349-7cf8-4b51-b816-a90fc9d7d479/
    • WebGPU https://io.google/2023/program/0da196f5-5169-43ff-91db-8762e2c424a2/
    • Baseline https://io.google/2023/program/528a223c-a3d6-46c5-84e4-88af2cf62670/ https://web.dev/baseline/
    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/

    1 hr 45 min
  • LCC 295 - La librairie rentre dans le cadre

    Dans cet épisode, Arnaud, Antonio et Emmanuel décortiquent les nouvelles d'avril et mai. On y discute Java 20, ecrire un profiler de zéro, Quarkus 3 (encore !), Micronaut 4, Podman, JReleaser, GitHub, CloudEvent, GraphQL, licenciements (encore !), et de la question a 1000 francs: librarie vs framework, quelle différence? Mais pas que.

    Enregistré le 12 mai 2023

    Téléchargement de l'épisode LesCastCodeurs-Episode–295.mp3

    News Langages

    Un descriptif du changement de paiement d'Oracle JDK https://horstmann.com/unblog/2023–02–23/

    • Cay Horstmann
    • Explique OpenJDK avec plusieurs distributeurs
    • Prefère Adoptium dont celle par défaut est Eclipse Temurin
    • Pour Oracle, beaucoup d'options de licenses (no-fee, binary code, OTM license)
    • Oracle depense beaucoup pour Java
    • La license en discussion est Java SE Universal Subscription Licensing
    • passage de license par CPU (Java SE advanced) vers license par employé (et une assiete large)
    • Bref si vous êtes concernés, passer sur OpenJDK: Adoptium, ou d'autres vendeurs

    Java 20 est sorti : qu'y a t'il de nouveau dans Java 20 par rapport à Java 19 ? https://foojay.io/today/its-java–20-release-day-heres-whats-new/

    • L'article fait le point sur ce qu'il y a de nouveau par rapport à la précédente release :
    • 4ème preview du pattern matching pour switch
    • 2nde preview des record patterns
    • 2nde preview des virtual threads
    • incubation des scoped values (similaire au thread locals mais pour les virtual threads)
    • 2nde incubation de la structured concurrency
    • 2nd preview de foreign function et memory API
    • 5ème incubation de la vector API (pour utiliser les instructions vectorielles des processeurs)
    • La liste des JEPs : https://openjdk.org/projects/jdk/20/
    • Les release notes : https://jdk.java.net/20/release-notes
    • dans le pattern matching switch: guarde when
    • Record pattern: utilisation de var. utilisable dans les for aussi maintenant for (Delay(var timeInMS) : delays)
    • quelques changements autour de l'API Thread est non preview (main API)
    • Les ScopedValue sont comme les threadlocal par (virtual) thread mais elles sont immuables une fois écrites.
    • use cases: copie d'etat pour des données non changeantes pour le virtual thread
    • Serait interessant d'avoir des details dessus

    PDF 2.0 maintenant un vrai format ISO ouvert et gratuit https://www.pdfa.org/sponsored-standards/

    • standard dispo sans cout
    • versions precedentes étaient payantes
    • clarifications et corrections de beaucoup de corner cases
    Librairies

    Écrire un Profiler en 240 lignes de Java https://mostlynerdless.de/blog/2023/03/27/writing-a-profiler-in–240-lines-of-pure-java/

    • Ce n'est peut-être pas si compliqué d'écrire soi même un Java Profiler ! Et justement cet article nous montre comment le faire, en créant un Java Agent, en analysant les stacks d'appel, et à la fin en créant même un flame-graph en HTML
    • Très didactique !
    • fondamentallement: appeler Threads:getAlStackStrace reguilerement et faire une liste des methodes visibles et créer un flamegraph a partir de ces données

    L'équipe de Flutter partage les grands thèmes de sa roadmap https://flutter.dev/go/strategy–2023

    • Performance, interopérabilité, portabilité, écosystème, sécurité, fondamentaux (comme la documentation, la fidélité des UI natives, adresser les issues publiques)

    Quarkus 3 est sorti https://quarkus.io/quarkus3/

    • on a deja couvert
    • Hibernate ORM 6.2
    • nouvelle DevUI et admin sur un port different
    • Support for Pact
    • quarkus deply et extensibilite de la CLI avec des nouveaux verbes
    • dev services for Kubernetes simule un Kube pour tester les calls vers l'API Kube
    • Java 11 et 17 (recommendé)
    • Jakarta EE
    • Eclipse MicroProfile 6

    Une librairie en Java spécialement pour l'astronomie par Cédric Champeau https://melix.github.io/blog//2023/04–22-introducing-astro4j.html

    • différentes librairies et applications pour traiter les images issues de sol'ex qui permet de prendre des photos du soleil

    Micronaut 4 milestone 2 est sorti. Les nouveautés de Micronaut 4 https://docs.micronaut.io/4.0.0-M2/guide/index.html#whatsNew

    • Kotlin 1.8.0
    • Experimental Support for Kotlin Symbol Processing (KSP)
    • Apache Groovy 4.0
    • Core Changes
    • Java 17 Baseline
    • Improved Modularity
    • GraalVM Metadata Repository and Runtime Initialization
    • Completed javax to jakarta Migration
    • Expression Language
    • Injection of Maps
    • Arbitrary Nesting of Configuration Properties
    • Improved Error Messages for Missing Configuration
    • Improved Error Messages for Missing Beans
    • Tracking of Disabled Beans
    • HTTP Changes
    • Initial Support for Virtual Threads (Loom)
    • Rewritten HTTP layer
    • Annotation-Based HTTP Filters
    • JDK HTTP Client
    Infrastructure

    5 choses à savoir sur Podman Desktop pour un utilisateur Docker https://podman-desktop.io/blog/5-things-to-know-for-a-docker-user

    • Une UI unique pour travailler avec différents moteur de conteneurs, et pas uniquement Docker
    • Compatible avec Docker avec un mode adapté pour fonctionner aussi avec la docker CLI ou docker.sock pour les sockets
    • Support de Compose
    • Support de Kubernetes
    • Securité : on peut utilisé rootless sans avoir les privilèges root
    • socket est particulierement utile pour TestContainer
    • compose n'est pas supporte en tant que tel mais on pout faire utiliser podman par compose
    • podman peut emuiler / executer des definitions de pods
    • si besoin d'exposer des ports

    Keycloak rejoins la CNCF https://www.tfir.io/keycloak-cloud-native-iam-for-cloud-native-applications-joins-the-cncf/?utm_campaign=shareaholic&utm_medium=linkedin&utm_source=socialnetwork

    • IAM complete au sein de la CNCF
    • Keycloak sur base Quarkus : "cloud natif"
    Cloud

    Un petit article court de chez Baeldung qui liste des distributions Kubernetes légères () et partage leurs avantages et inconvénients respectifs https://www.baeldung.com/ops/kubernetes-lightweight-distributions

    • Minikube (que des clusters à noeud unique)
    • MicroK8S (à jour avec les releases Kubernetes, mais pas de support des CPUs ARM32)
    • Kind (conteneurs considérés comme des noeuds, plus difficile à configurer avec autre chose que Docker)
    • K3S (moins de consommation de resources)

    Il y a la liste des 100 trucs annoncés : https://blog.google/technology/developers/google-io–2023–100-announcements/

    • Bard, le concurrent de ChatGPT, disponible dans 180 pays… sauf les pays européens
    • Pixel 7a, Pixel Tablet et Pixel Fold
    • Plein d'annonces autour de l'AI avec l'API PaLM (utilisée dans Bard), plein de Generative AI de partout dans les produits (search, workspace,..), y compris un modèle de code (qui comprends même le Groovy) qui va être intégré aux IDE, VSCode, etc
    Outillage

    Connaissiez vous le flag –json de curl ? https://glaforge.dev/posts/2023/03/22/curl-s-json-flag/

    • Ca va simplifier nos interactions avec les APIs qui utilisent du JSON
    • Plus besoin de passer les headers de content-type et d'accept, c'est moins verbeux
    • Rajouté il y a un an dans curl 7.82 (pour info, sur mon mac, par exemple, je suis en 7.86)
    • curl --json '{ "drink": "coffe" }' [https://example.com](https://example.com) ou curl --json @prepared [https://example.com](https://example.com) pour pointer vers un fichier

    Rétropédalage chez Docker https://www.docker.com/blog/no-longer-sunsetting-the-free-team-plan/

    Github supprime le sponsoring par Paypal… et plein de développeurs Open Source perdent leurs sponsorships https://github.com/orgs/community/discussions/45183

    • Juste un très cours blog post dans le changelog indiquant ce changement https://github.blog/changelog/2023–01–23-github-sponsors-will-stop-supporting-paypal/
    • peut etre suite au piratage de Paypal et aux risques de paiements frauduleux et de réputation?

    Github a mis à jour sa clé RSA SSH Host https://github.blog/2023–03–23-we-updated-our-rsa-ssh-host-key/

    • Apparemment, ils ont committé brièvement leur clé privée, oops !
    • Potentielle disruption pour certains, avec impossibilité de committer son code
    • Il faut alors "oublier" l'ancienne clé publique et mémoriser la nouvelle
    • Personnellement, j'ai committé du code à partir de Visual Studio Code et je n'ai pas eu de soucis
    • que sur RSA et pas sur les clés a courbe elliptique
    • clef porivée aurait pu faire du spoofing ou de dechiffremetn de flux en ssh via RSA vers github

    2ème anniversaire de JReleaser https://andresalmiray.com/jreleasers-second-birthday/

    • jreleaser permet de publier sur plusieurs appstores (homebroew, jbang, etc)
    • publie sur maven central automatiquemenr
    • publie les annonces sur twotter zulip etc
    • publication de binaires (gitHub etc) et de changelogs
    Architecture

    Introduction à CloudEvents https://atamel.dev/posts/2023/04–03_cloudevents_basics/

    • decrire des evenement de données de manière commune
    • metadata standardisees pour le routage
    • en JSON ou en cloudevents+json
    • metadonnées incluent: id, source, type, sujet, time, type de contenu de donnée, scheme ade donnée et des extensions comme partitioning etc
    • binary mode: data dans le corps du message, et metadonnées en header. efficace pour parsing minimal
    • structured-mode: data et metadata dans la meme enveloppe
    • batch-mode: plusieurs evenements en un seul envoie
    • formats: JSON, protobuf, Avro et XML
    • protocoles: HTTP, AMQP, KAfka, MQTT, NATS, WebSocket
    • Des evolutions futures planifiées

    GraphQL, tout n'est pas si rose https://betterprogramming.pub/graphql-from-excitement-to-deception-f81f7c95b7cf

    • pour Facebook qui pense en tant que graph de données
    • Pour leur appli mobile qui devait etre a bande apssante limitée
    • choses positives: one requete pour plusieurs resources, selection des données dont on a besoin uniquement, typé (entre client et serveur), meilleur outilllage dev pour l'exploration, pas de soucis de version d'API?
    • equipe qui embrace GraphQL en 2019
    • les perf optimisées apr un choix de données ne s'set pas materialisé pour eux (sauf mobile, doncpas machine- mache et desktop)
    • la latence de REST reste mieux que GraphQL
    • en pratique desktop et mobile sont assez similaire en données fetchées
    • schemas apportaient des problemes en pratique ; synchro front et back, code first generation avait des problemes de qualite de code genere
    • schema -> code est meilleur mais synchro front back toujours un probleme en pratique
    • erreurs, plus simple en rest avec les codes HTTP a debugger et monitorer
    • version free est une mensonge, les schemas ne peuvent etre cassés
    • pagination est compliqué et non standard et caching est primitif comparé a REST
    • n+1 probleme comme dans les ORMs ou alors dataloaders qui amene de la complexité
    • securite est plus compliqué a cause de la nav libre de GraphQL
    • ecosysteme pas super mature pour les besoins encore et paradoxalement tres complexe
    Méthodologies

    Trends technologie et culture par InfoQ https://www.infoq.com/articles/culture-trends–2023/

    • les licenciement ont cassé les effets de psychological safety dans l'industrie
    • les IA genratives ont un impact fort sur la productivité du développeur mais aussi avec des faiblesses significatives
    • au dela du legal, les responsabilités societales deviennent plus importantes pour retenir employés et clients
    • Le travail asynchrone devient plus accepté socialement et adopter les practiques apportent des bénéfices réels
    • Le travail hybride devient la norme, amener les gens ensemble devient un choix délibéré, plus un horaire fixe
    Loi, société et organisation

    Red Hat fête ses 30 ans ! (limite, on n'était même pas nés, hein ?) https://www.redhat.com/en/blog/red-hat–30th-anniversary-celebrating-red-hat-day-north-carolina

    Red Hat licencie 4% de ses employés https://wraltechwire.com/2023/04/24/red-hat-cutting-hundreds-of-jobs-ceo-says-in-letter-to-employees/

    • IBM avait annoncé 3900 licenciements il y a peu et cela monte à 5000 avec les licenciements chez Redhat (les effectifs étaient de 2200 à Raleigh et 19000 à l'international)
    • Licenciements suite au contexte économique post Covid, les revenus trimestriels de redhat n.ont été que de 8% en Q1 alors que la croissance était de 15 depuis l'acquisition de redhat par ibm en 2019

    Crazy Bob est décédé :scream: https://www.sfgate.com/bayarea/article/mill-valley-man-killed-sf-stabbing–17878809.php

    • Annonce sur TechCrunch https://techcrunch.com/2023/04/05/bob-lee-creator-of-cash-app-and-former-cto-of-square-stabbed-to-death/
    • Il avait créé le framework Guice, d'injection de dépendance, mais aussi Dagger
    • Il a contribué aux librairies d'Android
    • Il avait proposé une syntaxe alternative aux lambda : CIC
    • Il a coécrit le livre Bitter EJB https://www.manning.com/books/bitter-ejb
    • Il avait des idées bien tranchées, anti-Spring, anti-Groovy (pro-BeanShell), anti-lambda (tels qu'on les connait aujourd'hui)
    • Guillaume l'avait rencontré pour la première fois en 2007 https://blog.octo.com/javaone–2007-et-groovy-chez-google/
    • Les gens partagent leurs souvenirs sur ce thread sur HackerNews https://news.ycombinator.com/item?id=35457341

    10 millions de comptes sur Mastodon https://mastodon.social/@mastodonusercount/110051957865629817

    • Peut-être pas 10 millions de comptes actifs, mais d'autres commentateurs estiment le nombre d'actifs serait plutôt de 6 à 7 millions actifs, pour effectivement 10 millions de comptes créés donc certains inutilisés ou disparus (serveur disparu)

    Gordon Moore meure à 94 ans https://www.lemonde.fr/economie/article/2023/03/26/mort-de-gordon-moore-entrepreneur-par-accident-et-cofondateur-d-intel_6167037_3234.html#xtor=AL–32280270-%5Bdefault%5D-%5Bios%5D

    • chimiste de formation, il refuse de bosser autour de la bombe atomique et fini dans la silicon valley
    • fonde un des premiers semiconducteurs (plusieurs transistors ensemble)
    • Intel sera un des rpemier a parier sur le silicium (pour construire de la mémoire) et un des premiers a faire une puce intégré regroupant plusieurs fonctions

    Twitter open source ses algorithmes de recommendation https://blog.twitter.com/engineering/en_us/topics/open-source/2023/twitter-recommendation-algorithm

    • on retrouve le code source sur Github https://github.com/twitter/the-algorithm-ml
    • et quelqu'un a déjà trouvé où il y a des clauses particulières pour le cas où un tweet vient d'Elon Musk, où un tweet vient d'un républicain ou d'un démocrate https://uwyn.net/@[email protected]/110119479811452246
    • L'algorithme de Twitter https://aakashgupta.substack.com/p/the-real-twitter-files-the-algorithm
    • analyse sans sensation
    • trois étapes: aggravation des données, construction des "features", mixage
    • Followers, nos tweets et nous
    • Plus gros booster likes 30x, puis retweet 20x
    • Features: SimCluster: groupe par categories/personnes le tweet
    • Feature: TwHIN: vecteur de prediction d'engagement pour un tweet donné
    • Features: RealGraph, prend le tweet, the tweeter et le tweeté et construit un graphe pondéré de potentiel d'interaction
    • Règles de confiance et securité: élimine certains sujets (cela censure plus depuis Elon Musk)
    • Mixer: prend tout et construit la "timeline"
    • Utilisateur répond aux réponses: x75
    • En fait que 80% du code ouvert

    The end of faking it in silicon valley https://www.nytimes.com/2023/04/15/business/silicon-valley-fraud.html

    • les startup qui brulaient du cash sans business model clair
    • proces et prisons pour falsification de données clients
    • le approches non etique ne sont plus ignorées
    • avant les investisseurs avaient peur de se mettre les createur de boite a dos, maintenant, l'argent vaut cher
    • "finding out who is swimming naked when the tide goes out" Warren Buffet
    • "It feels like we were in a nightclub and the lights just turned on"
    • ils vont evaluer plus exhaustivement les foundateurs
    • le probleme c'\est que VC c'est sur la confiance (one way au moins) et que la c'est cassé
    Rubrique débutant

    On parle souvent de librairies et de frameworks, mais c'est quoi la différence ? https://www.red-gate.com/simple-talk/development/other-development/the-difference-between-libraries-and-frameworks/

    • Une librairie est une collection de classes, de fonctions, de code, que l'ont peut utiliser pour des tâches spécifiques, pour éviter au développeur de réinventer la roue (par exemple une librairie comme Joda Time qui permet de simplifier / codifier la représentation du temps)
    • Il y a différents types de librairies : des librairies statiques ou dynamiques, suivant si elles sont chargées au runtime ou bien attachées au code que l'on compile. Il y a des librairies standards (comme celles venant du JDK et donc inclues avec lui) ou des librairies tierces (que l'on va par exemple trouver sur Maven Central)
    • Un framework (un "cadriciel" en bon françois) c'est aussi un ensemble de code, mais aussi de librairies, qui va offrir un cadre de développement pour ses applications.
    • Par exemple un framework web qui permet de créer des applications web plus facilement, ou Tensorflow pour développer de nouveaux algorithmes d'intelligence artificielle, ou Unity pour développer des jeux vidéos
    • Mais un framework est effectivement plus "cadrant" dans le sens où on doit suivre ses recommendations sur comment structurer son code, comment étendre des classes ou interfaces du framework, etc.
    • ainsi que les bonnes pratiques et parfois une boite a outil "prete a l'emploi vs assemblage
    • article decrit les pour et les contre
    Conférences

    Une liste de conférences Java https://javaconferences.org/

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

    • 10–12 mai 2023 : Devoxx UK - London (UK)
    • 12 mai 2023 : AFUP Day - Lille & Lyon (France)
    • 12 mai 2023 : SoCraTes Rennes - Rennes (France)
    • 25–26 mai 2023 : Newcrafts Paris - Paris (France)
    • 26 mai 2023 : Devfest Lille - Lille (France)
    • 27 mai 2023 : Polycloud - Montpellier (France)
    • 31 mai 2023–2 juin 2023 : Devoxx Poland - Krakow (Poland)
    • 31 mai 2023–2 juin 2023 : Web2Day - Nantes (France)
    • 1 juin 2023 : Javaday - Paris (France)
    • 1 juin 2023 : WAX - Aix-en-Provence (France)
    • 1–2 juin 2023 : Agile Tour Toulouse - Toulouse (France)
    • 2 juin 2023 : Flutter Connection - Paris (France)
    • 2–3 juin 2023 : Sud Web - Toulouse (France)
    • 7 juin 2023 : Serverless Days Paris - Paris (France)
    • 14–15 juin 2023 : OW2 openSource Conf - Paris (France)
    • 14–17 juin 2023 : VivaTech (Viva Technology) - https://vivatechnology.com/) - Paris (France)
    • 15–16 juin 2023 : Le Camping des Speakers - Baden (France)
    • 15–17 juin 2023 : Pas Sage En Seine - Choisy-le-Roi (France)
    • 20 juin 2023 : Mobilis in Mobile - Nantes (France)
    • 20 juin 2023 : Cloud Est - Villeurbanne (France)
    • 20–22 juin 2023 : Adeo DevSummit - Lille (France)
    • 21–23 juin 2023 : Rencontres R - Avignon (France)
    • 28–30 juin 2023 : Breizh Camp - Rennes (France)
    • 29 juin 2023 : Google Cloud Summit France - Paris (France)
    • 29–30 juin 2023 : Sunny Tech - Montpellier (France)
    • 29–30 juin 2023 : Agi'Lille - Lille (France)
    • 7–9 juillet 2023 : Nantes Maker Campus - Nantes (France)
    • 8 septembre 2023 : JUG Summer Camp - La Rochelle (France)
    • 18 septembre 2023 : Agile Tour Montpellier - Montpellier (France)
    • 19–20 septembre 2023 : Agile en Seine - Paris (France)
    • 19 septembre 2023 : Salon de la Data Nantes - Nantes (France) & Online
    • 21–22 septembre 2023 : API Platform Conference - Lille (France) & Online
    • 25–26 septembre 2023 : BIG DATA & AI PARIS 2023 - Paris (France)
    • 28–30 septembre 2023 : Paris Web - Paris (France)
    • 2–6 octobre 2023 : Devoxx Belgium - Antwerp (Belgium)
    • 6 octobre 2023 : DevFest Perros-Guirec - Perros-Guirec (France)
    • 10 octobre 2023 : ParisTestConf - Paris (France)
    • 11–13 octobre 2023 : Devoxx Morocco - Agadir (Morocco)
    • 12 octobre 2023 : Cloud Nord - Lille (France)
    • 12–13 octobre 2023 : Volcamp 2023 - Clermont-Ferrand (France)
    • 12–13 octobre 2023 : Forum PHP 2023 - Marne-la-Vallée (France)
    • 19–20 octobre 2023 : DevFest Nantes - Nantes (France)
    • 19–20 octobre 2023 : Agile Tour Rennes - Rennes (France)
    • 26 octobre 2023 : Codeurs en Seine - Rouen (France)
    • 25–27 octobre 2023 : ScalaIO - Paris (France)
    • 26–27 octobre 2023 : Agile Tour Bordeaux - Bordeaux (France)
    • 10 novembre 2023 : BDX I/O - Bordeaux (France)
    • 15 novembre 2023 : DevFest Strasbourg - Strasbourg (France)
    • 16 novembre 2023 : DevFest Toulouse - Toulouse (France)
    • 6–7 décembre 2023 : Open Source Experience - Paris (France)
    • 7–8 décembre 2023 : TechRocks Summit - Paris (France)
    • 31 janvier 2024–3 février 2024 : SnowCamp - Grenoble (France)
    • 19–22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France)
    • 28–29 mars 2024 : SymfonyLive Paris 2024 - Paris (France)
    • 17–19 avril 2024 : Devoxx France - Paris (France)
    • 25–26 avril 2024 : MiXiT - Lyon (France)
    • 25–26 avril 2024 : Android Makers - Paris (France)
    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/

    1 hr 33 min

About Les Cast Codeurs Podcast

From the publisher's feed

Les Cast Codeurs : le podcast en français de, par et pour les développeurs.

More shows like Les Cast Codeurs Podcast

Le rendez-vous Tech - RDV Tech by NotPatrick

Le rendez-vous Tech - RDV Tech

41 Listeners

Silence on joue ! by Libération

Silence on joue !

8 Listeners

Tech Café : tech & IA by Guillaume Vendé

Tech Café : tech & IA

11 Listeners

Le rendez-vous Jeux - RDV Jeux by NotPatrick

Le rendez-vous Jeux - RDV Jeux

16 Listeners

Affaires sensibles by France Inter

Affaires sensibles

230 Listeners

Tech&Co, la quotidienne by BFM Business

Tech&Co, la quotidienne

12 Listeners

Thinkerview by Thinkerview

Thinkerview

83 Listeners

Silicon Carne, un peu de picante dans un monde de Tech ! by Carlos Diaz

Silicon Carne, un peu de picante dans un monde de Tech !

76 Listeners

Message à caractère informatique by Clever Cloud

Message à caractère informatique

0 Listeners

Choses à Savoir TECH by Choses à Savoir

Choses à Savoir TECH

3 Listeners

HugoDécrypte - Actus et interviews by Hugo Décrypte

HugoDécrypte - Actus et interviews

97 Listeners

Underscore_ by Micode

Underscore_

18 Listeners

LEGEND by Guillaume Pley

LEGEND

158 Listeners

Laurent Baffie by /influx

Laurent Baffie

9 Listeners

Le code a changé by France Inter

Le code a changé

10 Listeners