LCC 304 - Dark punk

Épisode de Les Cast Codeurs Podcast par Emmanuel Bernard, Guillaume, Antonio, Arnaud, Katia · 18 décembre 2023 · 1 h 40 min

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/

Autres épisodes de « Les Cast Codeurs Podcast »

À propos du podcast

Les Cast Codeurs : le podcast en français de, par et pour les développeurs. Prenez connaissance des dernières nouvelles de la sphère Java et du développement en général. Plongez sur un sujet précis avec les épisodes interview. Supportez les radotages de vos hôtes : Emmanuel Bernard (ex Red Hat,…

Les Cast Codeurs Podcast

Épisodes similaires

Tous les épisodes de Les Cast Codeurs Podcast · Plus de podcasts Actualités