De l'IA à toutes les sauces

Les Cast Codeurs Podcast

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/pgvecto

To listen to explicit episodes, sign in.

Stay up to date with this show

Sign in or sign up to follow shows, save episodes and get the latest updates.

Select a country or region

Africa, Middle East, and India

Asia Pacific

Europe

Latin America and the Caribbean

The United States and Canada