Virtual machine
POPULARITY
Categories
Join Dan Vega and DaShaun Carter for an insightful session with Bruno Borges, Principal Product Manager at Microsoft, as we dive into the next generation of AI-assisted development. In this episode, we explore the GitHub Copilot CLI and the new Copilot Java SDK, uncovering how these tools are transforming the terminal into a powerful environment for Spring developers. Learn how to go beyond simple autocomplete, using agentic workflows to automate complex tasks like upgrading Spring Boot versions, refactoring legacy code, and streamlining Azure deployments. We'll also discuss how the Copilot Java SDK allows developers to embed AI capabilities directly into their own JVM-based tooling and CI/CD pipelines. You can participate in our live stream to ask questions or catch the replay on your preferred podcast platform.Show Notes: Bruno on X/TwitterBruno on LinkedInGitHub CopilotCopilot SDK
В 87 выпуске подкаста Javaswag обсуждаем внутреннюю кухню создания языков, почему Java упрощает исходники и зачем крупным компаниям вроде Huawei свои языки программирования. 00:00 — Интро 01:58 — ZX Spectrum 48/128 и Basic 04:12 — Путь от анализа к компиляторам 06:56 — Красота и сложность разработки компиляторов 09:37 — Противостояние: Язык против Компилятора 13:00 — Зачем компаниям собственные языки? 22:17 — Инструменты и процесс раскрутки компиляторов 26:05 — Специфика OCaml и Lisp 31:22 — Huawei: Создание языка ArkTS 41:50 — Контроль кода и лекция Томпсона 45:55 — Психология фич: важность отказа 55:30 — Различия парсера и компилятора 01:00:09 — Обзор Javac 01:04:27 — Плюсы лямбд против минусов Java 01:09:24 — Язык Ficus: массивы и производительность 01:13:29 — Java 25 01:27:05 — Проект Axiom JDK 01:34:51 — Возможно ли ускорить Javac? 01:45:16 — Сообщество создателей языков программирования 01:48:32 — Применение ИИ в компиляторах 01:53:13 — Непопулярное мнение Гость: https://www.linkedin.com/in/dmitrysolomennikov/ Ссылки: Язык для разработки UI и обучающих систем Flow9 https://github.com/area9innovation/flow9/ Участие в разработке ArkTS (Раздел Contributors, стр. 333) Язык Тривиль https://compiler-potion-faculty.sourcecraft.site/trivil/ Язык Фикус https://compiler-potion-faculty.sourcecraft.site/ficus/ Проект “Языки выходного дня” преобразовался в “Факультет компилятороварения” https://compiler-potion-faculty.sourcecraft.site/ Упрощенные исходники (JEP-512) https://openjdk.org/jeps/512 https://habr.com/ru/companies/axiomjdk/articles/952826/ Запуск Java как скрипта https://openjdk.org/jeps/330 Причины делать новые языки https://habr.com/ru/articles/790422/ Проблемы импортозамещения (статья 2022 года) Импортозамещай это Видео выступления Упрощенные исходники (JEP-512) https://vkvideo.ru/playlist/-195063478_1/video-195063478_456239155?linked=1 Королевства Delphi давно нет, а статья сохранилась https://citforum.ru/programming/delphi/tpl_yacc/ Ссылки на подкаст: Сайт - https://javaswag.github.io/ Телеграм - https://t.me/javaswag Youtube - https://www.youtube.com/@javaswag Linkedin - https://www.linkedin.com/in/volyihin/ X - https://x.com/javaswagpodcast
This conversation was recorded at GOTO Copenhagen 2025.https://gotocph.comRod Johnson - Building the future of agent frameworks at EmbabelArjen Poutsma - Practical Insights from a Spring Framework VeteranTrisha Gee - Award-winning Engineer, Author and PC MemberRESOURCESRodhttps://twitter.com/springrodhttps://github.com/johnsonrhttps://www.linkedin.com/in/johnsonrodahttps://the-composition.com/@springrodArjenhttps://bsky.app/profile/poutsma.bsky.socialhttps://fosstodon.org/@poutsmahttps://github.com/poutsmahttps://www.linkedin.com/in/arjen-poutsma-288ba6Trishahttps://bsky.app/profile/trishagee.bsky.socialhttps://twitter.com/trisha_geehttps://github.com/trishageehttps://www.linkedin.com/in/trishageehttps://trishagee.comABSTRACTAsk me anything.Read the full abstract here:https://gotocph.com/2025/sessions/3927RECOMMENDED BOOKSRod Johnson • Expert One-On-One J2Ee Design and Development • https://amzn.to/48oCxAJJohnson, Höller, Arendsen, Risbert & Sampaleanu • Professional Java Development with the Spring Framework • https://amzn.to/44J4SRbTrisha Gee & Helen Scott • Getting to Know IntelliJ IDEA • https://amzn.to/3ZBgnGcKevlin Henney & Trisha Gee • 97 Things Every Java Programmer Should Know • https://amzn.to/3kiTwJJTrisha Gee, Kathy Sierra & Bert Bates • Head First Java • https://amzn.to/3k59BJ6BlueskyTwitterInstagramLinkedInFacebookCHANNEL MEMBERSHIP BONUSJoin this channel to get early access to videos & other perks:https://www.youtube.com/channel/UCs_tLP3AiwYKwdUHpltJPuA/joinLooking for a unique learning experience?Attend the next GOTO conference near you! Get your ticket: gotopia.techSUBSCRIBE TO OUR YOUTUBE CHANNEL - new videos posted daily!
Every six months, we get a new version of Java. Java 26 is just around the corner and will be released soon. But most companies stick to LTS (Long-Term Support) versions, which are maintained and receive security updates for many more years. Versions 8, 11, 17, 21, and 25 are such LTS versions. Hopefully, most of your systems are already on the latest versions and you are not stuck on 8 or earlier. As a reminder, 8 was released in 2014, so much has changed since then.If you are doubting moving from 21 to 25, or even from an earlier version to the latest LTS, this podcast is for you! Together with Jakob Jenkov, we discussed the most important changes, and this episode includes a few quotes from interviews recorded at conferences last year.GuestsJakob Jenkovhttps://www.linkedin.com/in/jakob-jenkov-4a3a8/Jonathan Vilahttps://www.linkedin.com/in/jonathanvila/Ryan Svihlahttps://www.linkedin.com/in/ryan-svihla-096752182/Mary Grygleskihttps://www.linkedin.com/in/mary-grygleski/Anton Arhipovhttps://www.linkedin.com/in/antonarhipov/Ronald Dehuysserhttps://www.linkedin.com/in/ronalddehuysser/Jonathan Ellishttps://www.linkedin.com/in/jbellis/Content00:00 Introduction of topic and guestTutorials by JakobPodcast #89: Quarkus and Agentic Commerce03:30 Bugfixes and performance improvements "under the hoods"Quote Jonathan Vila08:00 Java as a scripting languageQuote Ryan SvihlaCompact Source Files and Instance Main methodsLaunch Multi-File Source-Code Programshttps://www.jbang.dev/Quote Mary Grygleski15:03 GC ImprovementsGenerational ShenandoahTrash Talk - Exploring the JVM memory management by Gerrit GrunwaldWhat Should I Know About Garbage Collection as a Java Developer?19:44 Project Loom: Virtual Threads and Structured ConcurrencyQuote Anton Arhipov29:44 How Java evolves6-months release cycleHow incubator and preview features are used to get feedback from the communityLong-Term Support Short-Term Support versionsFoojay Podcast #28: Java 21 Has Arrived!Foojay Podcast #45: Welcome to Java 22Foojay Podcast #57: Welcome to OpenJDK (Java) 23Foojay Podcast #68: Welcome to OpenJDK (Java) 24Foojay Podcast #78: Welcome to OpenJDK 25!32:15 Project Leyden: Ahead-of-time featuresAhead-of-Time Command-Line ErgonomicsAhead-of-Time Method ProfilingAhead-of-Time Class Loading & Linking39:15 Project BabylonJava on CPU, GPU, FPGA?This is already possible with TornadoVMFoojay Podcast #82: OpenJDK Projects (Leyden, Babylon, Panama) and TornadoVM43:25 Class-File APIQuote Ronald DehuysserJavaFX In Action #22 with Matt Coley, diving into byte code and JARs with Recaf and JavaFX libraries49:20 Foreign Function and Memory APIThe FFM API: How OpenJDK Changed the Game for Native Interactions (And Made Pi4J Better!)jChampions Conference talk 'Foreign Function & Memory (FFM) API on Raspberry Pi'54:26 Vector APIQuote Jonathan Ellis + Ryan Svihla59:59 Removal of String templates01:00:26 Taking a look into the JVM of the future01:03:08 Conclusion
Sanny jämför talangen med Henrik Zetterberg och Svensson tycker JVM-backarna ska lånas ut ett helt år.
Frida Karlsson och Ebba Andersson är två av världens bästa skidåkare. Men vad tycker de om varandra – egentligen?Inför vinter-OS i Italien har Expressen Dok fått exklusiv access till två av våra mest älskade idrottare: Frida Karlsson och Ebba Andersson, båda från Sollefteå. I ett nära porträtt av Philip Gadd öppnar Frida och Ebba upp om rivaliteten som bidragit deras framgångar, men som också resulterat i många laddade rubriker i pressen. Du som har eller skaffar Expressen Premium kan lyssna på andra och tredje delen i serien redan nu, via Expressen.se eller direkt på Spotify genom att koppla ihop ditt Spotify-konto med Expressen Premium i några snabba steg. Klicka på hänglåset vid avsnittet på Spotify och följ instruktionerna. När Frida Karlsson kommer in på det prestigefyllda skidgymnasiet i Sollefteå är det inget snack om vem som är den stora stjärnan på skolan: den två år äldre Ebba Andersson. Ebba har redan som 18-åring debuterat i världscupen och tagit sin första mästerskapsmedalj på JVM. Frida drömmer om att liksom Ebba få dra på sig den vita landslagsdressen. När skoleleverna samlas för intervaller uppför Hallstaberget i Sollefteå, är det Ebbas rygg som Frida jagar. Inför VM i Seefeld 2019 blir både Frida och Ebba uttagna i truppen. Frågan är bara vem av dem som ska få det stora genombrottet?En dokumentärserie av Philip Gadd. Producent: Sigge Dabrowski. Klipp och ljudläggning: Tom Henley.Ansvarig utgivare: Klas Granström, Expressen AB.
This interview was recorded for the GOTO Book Club.http://gotopia.tech/bookclubCheck out more here:https://gotopia.tech/episodes/416Martin Štefanko - Quarkus Core Engineer at IBM & Co-Author of "Quarkus in Action"Jan Martiška - Software Engineer Quarkus at IBM & Co-Author of "Quarkus in Action"Holly Cummins - Senior Technical Staff Member, Quarkus at IBMRESOURCESMartinhttps://bsky.app/profile/xstefank.bsky.socialhttps://mastodon.cloud/@xstefankhttps://x.com/xstefankhttps://github.com/xstefankhttps://www.linkedin.com/in/martin-stefankoJanhttps://bsky.app/profile/janmartiska.bsky.socialhttps://x.com/janmartiskahttps://github.com/jmartiskhttps://www.linkedin.com/in/janmartiskaHollyhttps://hollycummins.comhttps://hollycummins.com/type/bloghttps://bsky.app/profile/hollycummins.comhttps://hachyderm.io/@holly_cumminshttps://twitter.com/holly_cumminshttps://github.com/holly-cumminshttps://linkedin.com/in/holly-k-cumminsLinkshttps://code.quarkus.iohttps://vaadin.comDESCRIPTIONHolly Cummins sits down with Martin Stefanko and Jan Martiška, authors of "Quarkus in Action", to discuss their journey writing this comprehensive guide to the Java framework. The authors share insights about Quarkus's developer experience, from its blazing-fast dev mode to native compilation capabilities, while revealing what they learned writing about 29 different extensions across 12 chapters.They discuss the book's structure - from getting started to deploying in the cloud- and offer practical advice on when to use JVM versus native compilation, making this essential reading for both Quarkus newcomers and experienced developers.RECOMMENDED BOOKSMartin Stefanko • Jan Martiska • Quarkus in Action • https://amzn.to/3K1En2zBen Evans & Jim Gough • Optimizing Cloud Native Java • https://amzn.to/41nivD9Kief Morris • Infrastructure as Code • https://amzn.to/4e6EBQcAlex Soto Bueno & Jason Porter • Quarkus Cookbook • https://amzn.to/4au3QfFBlueskyTwitterInstagramLinkedInFacebookCHANNEL MEMBERSHIP BONUSJoin this channel to get early access to videos & other perks:https://www.youtube.com/channel/UCs_tLP3AiwYKwdUHpltJPuA/joinLooking for a unique learning experience?Attend the next GOTO conference near you! Get your ticket: gotopia.techSUBSCRIBE TO OUR YOUTUBE CHANNEL - new videos posted daily!
Thomas "Tjomme" Johansson svarar på följarnas frågor och berättar även om hur det var att följa JVM på plats i USA. Hosted on Acast. See acast.com/privacy for more information.
An airhacks.fm conversation with Holly Cummins (@holly_cummins) about: first computer experience with her dad's Kaypro CPM machine and ASCII platform games, learning Basic programming on an IBM PC clone to build a recipe management system, studying physics at university with a doctorate in quantum computing, self-teaching Java to create 3D visualizations of error correction on spheres during PhD research, joining IBM as a self-taught programmer without formal computer science education, working on Business Event Infrastructure (BDI) at IBM, brief unhappy experience porting JMS to .net with Linux and VNC, moving to IBM's JVM performance team working on garbage collection analysis, creating Health Center visualization tooling for J9 as an alternative to JDK Mission Control, innovative low-overhead always-on profiling by leveraging JIT compiler's existing method hotness data, transitioning to WebSphere Liberty team during its early development, Liberty's architectural advantage of OSGi-based modular core enabling small fast startup while maintaining application compatibility, working on Apache Aries enterprise OSGi project and writing a book about it, discussion of OSGi's strengths in protecting internal APIs versus complexity costs for application developers, the famous OSGi saying about making the impossible possible and the possible hard, microservices solving modularity problems through network barriers versus class loader barriers, five years as IBM consultant helping customers adopt cloud-native technologies, critique of cloud-native terminology becoming meaningless when everything required the native suffix, detailed analysis of 12-factor app principles and how most were already standard Java practices, stateless processes as the main paradigm shift from JavaServer Faces session-based applications, joining Red Hat's quarkus team three and a half years ago through Erin Schnabel's recommendation, working on Quarkiverse community aspects and ecosystem development, leading energy efficiency measurements confirming Quarkus's sustainability advantages, current role as cross-portfolio sustainability architect for Red Hat middleware, writing Pact contract testing extension for Quarkiverse to understand extension author experience, re-architecting Quarkus test framework class loading to enable deeper extension integration, recent work on Dev Services lazy initialization to prevent eager startup of multiple database instances across test profiles, fixing LGTM Dev Services port configuration bugs for multi-microservice observability setups, upcoming JPMS integration work by colleague David Lloyd requiring class loader simplification, the double win of saving money while also reducing environmental impact, comparison of sustainability benefits to accessibility benefits for power users, mystery solved about the blue-haired speaker at European Java User Groups years ago Holly Cummins on twitter: @holly_cummins
For this episode of the Foojay Podcast, we invited the author of three recent posts published on Foojay. And he brought a colleague to get even more expert knowledge in this podcast! We talk about Quarkus, how it is "cloud-native", how it compares to other frameworks, the advantages for developers and managers, etc. We also discussed nano businesses and how they can serve as a model for paying creators of digital content, thanks to x402 and ERC-8004. Michal Maléřhttps://foojay.io/today/author/michal-maler/https://www.linkedin.com/in/michal-maléř-69344692/https://www.mickeymaler.com/Holly Cumminshttps://www.linkedin.com/in/holly-k-cummins/https://hollycummins.com/https://noti.st/holly-cumminsLinksQuarkus: A Runtime and Framework for Cloud-Native JavaOptimizing Java for the Cloud-Native Era with QuarkusNot a Lucid Web3 Dream Anymore: x402, ERC-8004, A2A, and The Next Wave of AI CommerceJ-Spring 2023: Five Tricks for Java - Holly Cummins: The code we write has a climate impact. But how big is that impact? How do we measure it? How do we reduce it? Is the cloud helping?JavaFX In Action #10 with Clément de Tastes about QuarkusFX, combining the strengths of Quarkus and JavaFXComparing a REST H2 Spring versus Quarkus application on Raspberry PiOpen Source CollectiveCommonhaus FoundationA fun trick for getting discovered by LLMs and AI toolsContent00:00 Introduction of topic and guests01:04 Why contribute to Foojay as an author01:33 What is Quarkus?02:56 Quarkus compared with other frameworks05:08 Quarkus a replacement for JVM?06:40 Build time optimization versus Ahead Of Time (AOT) versus Just In Time (JIT)12:53 Other important facts about Quarkus18:13 Impact on Cloud financial and ecological cost21:31 Vert.x reactive toolkit compared to Virtual Threads24:14 New features in Quarkus26:02 Is Quarkus more modern compared to other frameworks?27:13 What are chain transactions31:10 How can a (web) author earn from his content?35:54 How this can impact open-source development38:34 Will these open standards get adopted?39:47 How opensource can be funded (Commonhaus)43:00 How content creators could be funded and publish their content in the future46:01 MCP as content distribution (with Quarkus)?46:49 Conclusion
De retour à cinq dans l'épisode, les cast codeurs démarrent cette année avec un gros épisode pleins de news et d'articles de fond. IA bien sûr, son impact sur les pratiques, Mockito qui tourne un page, du CSS (et oui), sur le (non) mapping d'APIs REST en MCP et d'une palanquée d'outils pour vous. Enregistré le 9 janvier 2026 Téléchargement de l'épisode LesCastCodeurs-Episode-335.mp3 ou en vidéo sur YouTube. News Langages 2026 sera-t'elle l'année de Java dans le terminal ? (j'ai ouïe dire que ça se pourrait bien…) https://xam.dk/blog/lets-make-2026-the-year-of-java-in-the-terminal/ 2026: Année de Java dans le terminal, pour rattraper son retard sur Python, Rust, Go et Node.js. Java est sous-estimé pour les applications CLI et les TUIs (interfaces utilisateur terminales) malgré ses capacités. Les anciennes excuses (démarrage lent, outillage lourd, verbosité, distribution complexe) sont obsolètes grâce aux avancées récentes : GraalVM Native Image pour un démarrage en millisecondes. JBang pour l'exécution simplifiée de scripts Java (fichiers uniques, dépendances) et de JARs. JReleaser pour l'automatisation de la distribution multi-plateforme (Homebrew, SDKMAN, Docker, images natives). Project Loom pour la concurrence facile avec les threads virtuels. PicoCLI pour la gestion des arguments. Le potentiel va au-delà des scripts : création de TUIs complètes et esthétiques (ex: dashboards, gestionnaires de fichiers, assistants IA). Excuses caduques : démarrage rapide (GraalVM), légèreté (JBang), distribution simple (JReleaser), concurrence (Loom). Potentiel : créer des applications TUI riches et esthétiques. Sortie de Ruby 4.0.0 https://www.ruby-lang.org/en/news/2025/12/25/ruby-4-0-0-released/ Ruby Box (expérimental) : Une nouvelle fonctionnalité permettant d'isoler les définitions (classes, modules, monkey patches) dans des boîtes séparées pour éviter les conflits globaux. ZJIT : Un nouveau compilateur JIT de nouvelle génération développé en Rust, visant à surpasser YJIT à terme (actuellement en phase expérimentale). Améliorations de Ractor : Introduction de Ractor::Port pour une meilleure communication entre Ractors et optimisation des structures internes pour réduire les contentions de verrou global. Changements syntaxiques : Les opérateurs logiques (||, &&, and, or) en début de ligne permettent désormais de continuer la ligne précédente, facilitant le style "fluent". Classes Core : Set et Pathname deviennent des classes intégrées (Core) au lieu d'être dans la bibliothèque standard. Diagnostics améliorés : Les erreurs d'arguments (ArgumentError) affichent désormais des extraits de code pour l'appelant ET la définition de la méthode. Performances : Optimisation de Class#new, accès plus rapide aux variables d'instance et améliorations significatives du ramasse-miettes (GC). Nettoyage : Suppression de comportements obsolètes (comme la création de processus via IO.open avec |) et mise à jour vers Unicode 17.0. Librairies Introduction pour créer une appli multi-tenant avec Quarkus et http://nip.io|nip.io https://www.the-main-thread.com/p/quarkus-multi-tenant-api-nipio-tutorial Construction d'une API REST multi-tenant en Quarkus avec isolation par sous-domaine Utilisation de http://nip.io|nip.io pour la résolution DNS automatique sans configuration locale Extraction du tenant depuis l'en-tête HTTP Host via un filtre JAX-RS Contexte tenant géré avec CDI en scope Request pour l'isolation des données Service applicatif gérant des données spécifiques par tenant avec Map concurrent Interface web HTML/JS pour visualiser et ajouter des données par tenant Configuration CORS nécessaire pour le développement local Pattern acme.127-0-0-1.nip.io résolu automatiquement vers localhost Code complet disponible sur GitHub avec exemples curl et tests navigateur Base idéale pour prototypage SaaS, tests multi-tenants Hibernate 7.2 avec quelques améliorations intéressantes https://docs.hibernate.org/orm/7.2/whats-new/%7Bhtml-meta-canonical-link%7D read only replica (experimental), crée deux session factories et swap au niveau jdbc si le driver le supporte et custom sinon. On ouvre une session en read only child statelesssession (partage le contexte transactionnel) hibernate vector module ajouter binary, float16 and sparse vectors Le SchemaManager peut resynchroniser les séquences par rapport aux données des tables Regexp dans HQL avec like Nouvelle version de Hibernate with Panache pour Quarkus https://quarkus.io/blog/hibernate-panache-next/ Nouvelle extension expérimentale qui unifie Hibernate ORM with Panache et Hibernate Reactive with Panache Les entités peuvent désormais fonctionner en mode bloquant ou réactif sans changer de type de base Support des sessions sans état (StatelessSession) en plus des entités gérées traditionnelles Intégration de Jakarta Data pour des requêtes type-safe vérifiées à la compilation Les opérations sont définies dans des repositories imbriqués plutôt que des méthodes statiques Possibilité de définir plusieurs repositories pour différents modes d'opération sur une même entité Accès aux différents modes (bloquant/réactif, géré/sans état) via des méthodes de supertype Support des annotations @Find et @HQL pour générer des requêtes type-safe Accès au repository via injection ou via le métamodèle généré Extension disponible dans la branche main, feedback demandé sur Zulip ou GitHub Spring Shell 4.0.0 GA publié - https://spring.io/blog/2025/12/30/spring-shell-4-0-0-ga-released Sortie de la version finale de Spring Shell 4.0.0 disponible sur Maven Central Compatible avec les dernières versions de Spring Framework et Spring Boot Modèle de commandes revu pour simplifier la création d'applications CLI interactives Intégration de jSpecify pour améliorer la sécurité contre les NullPointerException Architecture plus modulaire permettant meilleure personnalisation et extension Documentation et exemples entièrement mis à jour pour faciliter la prise en main Guide de migration vers la v4 disponible sur le wiki du projet Corrections de bugs pour améliorer la stabilité et la fiabilité Permet de créer des applications Java autonomes exécutables avec java -jar ou GraalVM native Approche opinionnée du développement CLI tout en restant flexible pour les besoins spécifiques Une nouvelle version de la librairie qui implémenter des gatherers supplémentaires à ceux du JDK https://github.com/tginsberg/gatherers4j/releases/tag/v0.13.0 gatherers4j v0.13.0. Nouveaux gatherers : uniquelyOccurringBy(), moving/runningMedian(), moving/runningMax/Min(). Changement : les gatherers "moving" incluent désormais par défaut les valeurs partielles (utiliser excludePartialValues() pour désactiver). LangChain4j 1.10.0 https://github.com/langchain4j/langchain4j/releases/tag/1.10.0 Introduction d'un catalogue de modèles pour Anthropic, Gemini, OpenAI et Mistral. Ajout de capacités d'observabilité et de monitoring pour les agents. Support des sorties structurées, des outils avancés et de l'analyse de PDF via URL pour Anthropic. Support des services de transcription pour OpenAI. Possibilité de passer des paramètres de configuration de chat en argument des méthodes. Nouveau garde-fou de modération pour les messages entrants. Support du contenu de raisonnement pour les modèles. Introduction de la recherche hybride. Améliorations du client MCP. Départ du lead de mockito après 10 ans https://github.com/mockito/mockito/issues/3777 Tim van der Lippe, mainteneur majeur de Mockito, annonce son départ pour mars 2026, marquant une décennie de contribution au projet. L'une des raisons principales est l'épuisement lié aux changements récents dans la JVM (JVM 22+) concernant les agents, imposant des contraintes techniques lourdes sans alternative simple proposée par les mainteneurs du JDK. Il pointe du doigt le manque de soutien et la pression exercée sur les bénévoles de l'open source lors de ces transitions technologiques majeures. La complexité croissante pour supporter Kotlin, qui utilise la JVM de manière spécifique, rend la base de code de Mockito plus difficile à maintenir et moins agréable à faire évoluer selon lui. Il exprime une perte de plaisir et préfère désormais consacrer son temps libre à d'autres projets comme Servo, un moteur web écrit en Rust. Une période de transition est prévue jusqu'en mars pour assurer la passation de la maintenance à de nouveaux contributeurs. Infrastructure Le premier intérêt de Kubernetes n'est pas le scaling - https://mcorbin.fr/posts/2025-12-29-kubernetes-scale/ Avant Kubernetes, gérer des applications en production nécessitait de multiples outils complexes (Ansible, Puppet, Chef) avec beaucoup de configuration manuelle Le load balancing se faisait avec HAProxy et Keepalived en actif/passif, nécessitant des mises à jour manuelles de configuration à chaque changement d'instance Le service discovery et les rollouts étaient orchestrés manuellement, instance par instance, sans automatisation de la réconciliation Chaque stack (Java, Python, Ruby) avait sa propre méthode de déploiement, sans standardisation (rpm, deb, tar.gz, jar) La gestion des ressources était manuelle avec souvent une application par machine, créant du gaspillage et complexifiant la maintenance Kubernetes standardise tout en quelques ressources YAML (Deployment, Service, Ingress, ConfigMap, Secret) avec un format déclaratif simple Toutes les fonctionnalités critiques sont intégrées : service discovery, load balancing, scaling, stockage, firewalling, logging, tolérance aux pannes La complexité des centaines de scripts shell et playbooks Ansible maintenus avant était supérieure à celle de Kubernetes Kubernetes devient pertinent dès qu'on commence à reconstruire manuellement ces fonctionnalités, ce qui arrive très rapidement La technologie est flexible et peut gérer aussi bien des applications modernes que des monolithes legacy avec des contraintes spécifiques Mole https://github.com/tw93/Mole Un outil en ligne de commande (CLI) tout-en-un pour nettoyer et optimiser macOS. Combine les fonctionnalités de logiciels populaires comme CleanMyMac, AppCleaner, DaisyDisk et iStat Menus. Analyse et supprime en profondeur les caches, les fichiers logs et les résidus de navigateurs. Désinstallateur intelligent qui retire proprement les applications et leurs fichiers cachés (Launch Agents, préférences). Analyseur d'espace disque interactif pour visualiser l'occupation des fichiers et gérer les documents volumineux. Tableau de bord temps réel (mo status) pour surveiller le CPU, le GPU, la mémoire et le réseau. Fonction de purge spécifique pour les développeurs permettant de supprimer les artefacts de build (node_modules, target, etc.). Intégration possible avec Raycast ou Alfred pour un lancement rapide des commandes. Installation simple via Homebrew ou un script curl. Des images Docker sécurisées pour chaque développeur https://www.docker.com/blog/docker-hardened-images-for-every-developer/ Docker rend ses "Hardened Images" (DHI) gratuites et open source (licence Apache 2.0) pour tous les développeurs. Ces images sont conçues pour être minimales, prêtes pour la production et sécurisées dès le départ afin de lutter contre l'explosion des attaques sur la chaîne logistique logicielle. Elles s'appuient sur des bases familières comme Alpine et Debian, garantissant une compatibilité élevée et une migration facile. Chaque image inclut un SBOM (Software Bill of Materials) complet et vérifiable, ainsi qu'une provenance SLSA de niveau 3 pour une transparence totale. L'utilisation de ces images permet de réduire considérablement le nombre de vulnérabilités (CVE) et la taille des images (jusqu'à 95 % plus petites). Docker étend cette approche sécurisée aux graphiques Helm et aux serveurs MCP (Mongo, Grafana, GitHub, etc.). Des offres commerciales (DHI Enterprise) restent disponibles pour des besoins spécifiques : correctifs critiques sous 7 jours, support FIPS/FedRAMP ou support à cycle de vie étendu (ELS). Un assistant IA expérimental de Docker peut analyser les conteneurs existants pour recommander l'adoption des versions sécurisées correspondantes. L'initiative est soutenue par des partenaires majeurs tels que Google, MongoDB, Snyk et la CNCF. Web La maçonnerie ("masonry") arrive dans la spécification des CSS et commence à être implémentée par les navigateurs https://webkit.org/blog/17660/introducing-css-grid-lanes/ Permet de mettre en colonne des éléments HTML les uns à la suite des autres. D'abord sur la première ligne, et quand la première ligne est remplie, le prochain élément se trouvera dans la colonne où il pourra être le plus haut possible, et ainsi de suite. après la plomberie du middleware, la maçonnerie du front :laughing: Data et Intelligence Artificielle On ne devrait pas faire un mapping 1:1 entre API REST et MCP https://nordicapis.com/why-mcp-shouldnt-wrap-an-api-one-to-one/ Problématique : Envelopper une API telle quelle dans le protocole MCP (Model Context Protocol) est un anti-pattern. Objectif du MCP : Conçu pour les agents d'IA, il doit servir d'interface d'intention, non de miroir d'API. Les agents comprennent les tâches, pas la logique complexe des API (authentification, pagination, orchestration). Conséquences du mappage un-à-un : Confusion des agents, erreurs, hallucinations. Difficulté à gérer les orchestrations complexes (plusieurs appels pour une seule action). Exposition des faiblesses de l'API (schéma lourd, endpoints obsolètes). Maintenance accrue lors des changements d'API. Meilleure approche : Construire des outils MCP comme des SDK pour agents, encapsulant la logique nécessaire pour accomplir une tâche spécifique. Pratiques recommandées : Concevoir autour des intentions/actions utilisateur (ex. : "créer un projet", "résumer un document"). Regrouper les appels en workflows ou actions uniques. Utiliser un langage naturel pour les définitions et les noms. Limiter la surface d'exposition de l'API pour la sécurité et la clarté. Appliquer des schémas d'entrée/sortie stricts pour guider l'agent et réduire l'ambiguïté. Des agents en production avec AWS - https://blog.ippon.fr/2025/12/22/des-agents-en-production-avec-aws/ AWS re:Invent 2025 a massivement mis en avant l'IA générative et les agents IA Un agent IA combine un LLM, une boucle d'appel et des outils invocables Strands Agents SDK facilite le prototypage avec boucles ReAct intégrées et gestion de la mémoire Managed MLflow permet de tracer les expérimentations et définir des métriques de performance Nova Forge optimise les modèles par réentraînement sur données spécifiques pour réduire coûts et latence Bedrock Agent Core industrialise le déploiement avec runtime serverless et auto-scaling Agent Core propose neuf piliers dont observabilité, authentification, code interpreter et browser managé Le protocole MCP d'Anthropic standardise la fourniture d'outils aux agents SageMaker AI et Bedrock centralisent l'accès aux modèles closed source et open source via API unique AWS mise sur l'évolution des chatbots vers des systèmes agentiques optimisés avec modèles plus frugaux Debezium 3.4 amène plusieurs améliorations intéressantes https://debezium.io/blog/2025/12/16/debezium-3-4-final-released/ Correction du problème de calcul du low watermark Oracle qui causait des pertes de performance Correction de l'émission des événements heartbeat dans le connecteur Oracle avec les requêtes CTE Amélioration des logs pour comprendre les transactions actives dans le connecteur Oracle Memory guards pour protéger contre les schémas de base de données de grande taille Support de la transformation des coordonnées géométriques pour une meilleure gestion des données spatiales Extension Quarkus DevServices permettant de démarrer automatiquement une base de données et Debezium en dev Intégration OpenLineage pour tracer la lignée des données et suivre leur flux à travers les pipelines Compatibilité testée avec Kafka Connect 4.1 et Kafka brokers 4.1 Infinispan 16.0.4 et .5 https://infinispan.org/blog/2025/12/17/infinispan-16-0-4 Spring Boot 4 et Spring 7 supportés Evolution dans les metriques Deux bugs de serialisation Construire un agent de recherche en Java avec l'API Interactions https://glaforge.dev/posts/2026/01/03/building-a-research-assistant-with-the-interactions-api-in-java/ Assistant de recherche IA Java (API Interactions Gemini), test du SDK implémenté par Guillaume. Workflow en 4 phases : Planification : Gemini Flash + Google Search. Recherche : Modèle "Deep Research" (tâche de fond). Synthèse : Gemini Pro (rapport exécutif). Infographie : Nano Banana Pro (à partir de la synthèse). API Interactions : gestion d'état serveur, tâches en arrière-plan, réponses multimodales (images). Appréciation : gestion d'état de l'API (vs LLM sans état). Validation : efficacité du SDK Java pour cas complexes. Stephan Janssen (le papa de Devoxx) a créé un serveur MCP (Model Context Protocol) basé sur LSP (Language Server Protocol) pour que les assistants de code analysent le code en le comprenant vraiment plutôt qu'en faisant des grep https://github.com/stephanj/LSP4J-MCP Le problème identifié : Les assistants IA utilisent souvent la recherche textuelle (type grep) pour naviguer dans le code, ce qui manque de contexte sémantique, génère du bruit (faux positifs) et consomme énormément de tokens inutilement. La solution LSP4J-MCP : Une approche "standalone" (autonome) qui encapsule le serveur de langage Eclipse (JDTLS) via le protocole MCP (Model Context Protocol). Avantage principal : Offre une compréhension sémantique profonde du code Java (types, hiérarchies, références) sans nécessiter l'ouverture d'un IDE lourd comme IntelliJ. Comparaison des méthodes : AST : Trop léger (pas de compréhension inter-fichiers). IntelliJ MCP : Puissant mais exige que l'IDE soit ouvert (gourmand en ressources). LSP4J-MCP : Le meilleur des deux mondes pour les workflows en terminal, à distance (SSH) ou CI/CD. Fonctionnalités clés : Expose 5 outils pour l'IA (find_symbols, find_references, find_definition, document_symbols, find_interfaces_with_method). Résultats : Une réduction de 100x des tokens utilisés pour la navigation et une précision accrue (distinction des surcharges, des scopes, etc.). Disponibilité : Le projet est open source et disponible sur GitHub pour intégration immédiate (ex: avec Claude Code, Gemini CLI, etc). A noter l'ajout dans claude code 2.0.74 d'un tool pour supporter LSP ( https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md#2074 ) Awesome (GitHub) Copilot https://github.com/github/awesome-copilot Une collection communautaire d'instructions, de prompts et de configurations pour optimiser l'utilisation de GitHub Copilot. Propose des "Agents" spécialisés qui s'intègrent aux serveurs MCP pour améliorer les flux de travail spécifiques. Inclut des prompts ciblés pour la génération de code, la documentation et la résolution de problèmes complexes. Fournit des instructions détaillées sur les standards de codage et les meilleures pratiques applicables à divers frameworks. Propose des "Skills" (compétences) sous forme de dossiers contenant des ressources pour des tâches techniques spécialisées. (les skills sont dispo dans copilot depuis un mois : https://github.blog/changelog/2025-12-18-github-copilot-now-supports-agent-skills/ ) Permet une installation facile via un serveur MCP dédié, compatible avec VS Code et Visual Studio. Encourage la contribution communautaire pour enrichir les bibliothèques de prompts et d'agents. Aide à augmenter la productivité en offrant des solutions pré-configurées pour de nombreux langages et domaines. Garanti par une licence MIT et maintenu activement par des contributeurs du monde entier. IA et productivité : bilan de l'année 2025 (Laura Tacho - DX)) https://newsletter.getdx.com/p/ai-and-productivity-year-in-review?aid=recNfypKAanQrKszT En 2025, l'ingénierie assistée par l'IA est devenue la norme : environ 90 % des développeurs utilisent des outils d'IA mensuellement, et plus de 40 % quotidiennement. Les chercheurs (Microsoft, Google, GitHub) soulignent que le nombre de lignes de code (LOC) reste un mauvais indicateur d'impact, car l'IA génère beaucoup de code sans forcément garantir une valeur métier supérieure. Si l'IA améliore l'efficacité individuelle, elle pourrait nuire à la collaboration à long terme, car les développeurs passent plus de temps à "parler" à l'IA qu'à leurs collègues. L'identité du développeur évolue : il passe de "producteur de code" à un rôle de "metteur en scène" qui délègue, valide et exerce son jugement stratégique. L'IA pourrait accélérer la montée en compétences des développeurs juniors en les forçant à gérer des projets et à déléguer plus tôt, agissant comme un "accélérateur" plutôt que de les rendre obsolètes. L'accent est mis sur la créativité plutôt que sur la simple automatisation, afin de réimaginer la manière de travailler et d'obtenir des résultats plus impactants. Le succès en 2026 dépendra de la capacité des entreprises à cibler les goulots d'étranglement réels (dette technique, documentation, conformité) plutôt que de tester simplement chaque nouveau modèle d'IA. La newsletter avertit que les titres de presse simplifient souvent à l'excès les recherches sur l'IA, masquant parfois les nuances cruciales des études réelles. Un développeur décrit dans un article sur Twitter son utilisation avancée de Claude Code pour le développement, avec des sous-agents, des slash-commands, comment optimiser le contexte, etc. https://x.com/AureaLibe/status/2008958120878330329?s=20 Outillage IntelliJ IDEA, thread dumps et project Loom (virtual threads) - https://blog.jetbrains.com/idea/2025/12/thread-dumps-and-project-loom-virtual-threads/ Les virtual threads Java améliorent l'utilisation du matériel pour les opérations I/O parallèles avec peu de changements de code Un serveur peut maintenant gérer des millions de threads au lieu de quelques centaines Les outils existants peinent à afficher et analyser des millions de threads simultanément Le débogage asynchrone est complexe car le scheduler et le worker s'exécutent dans des threads différents Les thread dumps restent essentiels pour diagnostiquer deadlocks, UI bloquées et fuites de threads Netflix a découvert un deadlock lié aux virtual threads en analysant un heap dump, bug corrigé dans Java 25. Mais c'était de la haute voltige IntelliJ IDEA supporte nativement les virtual threads dès leur sortie avec affichage des locks acquis IntelliJ IDEA peut ouvrir des thread dumps générés par d'autres outils comme jcmd Le support s'étend aussi aux coroutines Kotlin en plus des virtual threads Quelques infos sur IntelliJ IDEA 2025.3 https://blog.jetbrains.com/idea/2025/12/intellij-idea-2025-3/ Distribution unifiée regroupant davantage de fonctionnalités gratuites Amélioration de la complétion des commandes dans l'IDE Nouvelles fonctionnalités pour le débogueur Spring Thème Islands devient le thème par défaut Support complet de Spring Boot 4 et Spring Framework 7 Compatibilité avec Java 25 Prise en charge de Spring Data JDBC et Vitest 4 Support natif de Junie et Claude Agent pour l'IA Quota d'IA transparent et option Bring Your Own Key à venir Corrections de stabilité, performance et expérience utilisateur Plein de petits outils en ligne pour le développeur https://blgardner.github.io/prism.tools/ génération de mot de passe, de gradient CSS, de QR code encodage décodage de Base64, JWT formattage de JSON, etc. resumectl - Votre CV en tant que code https://juhnny5.github.io/resumectl/ Un outil en ligne de commande (CLI) écrit en Go pour générer un CV à partir d'un fichier YAML. Permet l'exportation vers plusieurs formats : PDF, HTML, ou un affichage direct dans le terminal. Propose 5 thèmes intégrés (Modern, Classic, Minimal, Elegant, Tech) personnalisables avec des couleurs spécifiques. Fonctionnalité d'initialisation (resumectl init) permettant d'importer automatiquement des données depuis LinkedIn et GitHub (projets les plus étoilés). Supporte l'ajout de photos avec des options de filtre noir et blanc ou de forme (rond/carré). Inclut un mode "serveur" (resumectl serve) pour prévisualiser les modifications en temps réel via un navigateur local. Fonctionne comme un binaire unique sans dépendances externes complexes pour les modèles. mactop - Un moniteur "top" pour Apple Silicon https://github.com/metaspartan/mactop Un outil de surveillance en ligne de commande (TUI) conçu spécifiquement pour les puces Apple Silicon (M1, M2, M3, M4, M5). Permet de suivre en temps réel l'utilisation du CPU (E-cores et P-cores), du GPU et de l'ANE (Neural Engine). Affiche la consommation électrique (wattage) du système, du CPU, du GPU et de la DRAM. Fournit des données sur les températures du SoC, les fréquences du GPU et l'état thermique global. Surveille l'utilisation de la mémoire vive, de la swap, ainsi que l'activité réseau et disque (E/S). Propose 10 mises en page (layouts) différentes et plusieurs thèmes de couleurs personnalisables. Ne nécessite pas l'utilisation de sudo car il s'appuie sur les API natives d'Apple (SMC, IOReport, IOKit). Inclut une liste de processus détaillée (similaire à htop) avec la possibilité de tuer des processus directement depuis l'interface. Offre un mode "headless" pour exporter les métriques au format JSON et un serveur optionnel pour Prometheus. Développé en Go avec des composants en CGO et Objective-C. Adieu direnv, Bonjour misehttps://codeka.io/2025/12/19/adieu-direnv-bonjour-mise/ L'auteur remplace ses outils habituels (direnv, asdf, task, just) par un seul outil polyvalent écrit en Rust : mise. mise propose trois fonctions principales : gestionnaire de paquets (langages et outils), gestionnaire de variables d'environnement et exécuteur de tâches. Contrairement à direnv, il permet de gérer des alias et utilise un fichier de configuration structuré (mise.toml) plutôt que du scripting shell. La configuration est hiérarchique, permettant de surcharger les paramètres selon les répertoires, avec un système de "trust" pour la sécurité. Une "killer-feature" soulignée est la gestion des secrets : mise s'intègre avec age pour chiffrer des secrets (via clés SSH) directement dans le fichier de configuration. L'outil supporte une vaste liste de langages et d'outils via un registre interne et des plugins (compatibilité avec l'écosystème asdf). Il simplifie le workflow de développement en regroupant l'installation des outils et l'automatisation des tâches au sein d'un même fichier. L'auteur conclut sur la puissance, la flexibilité et les excellentes performances de l'outil après quelques heures de test. Claude Code v2.1.0 https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md#210 Rechargement à chaud des "skills" : Les modifications apportées aux compétences dans ~/.claude/skills sont désormais appliquées instantanément sans redémarrer la session. Sous-agents et forks : Support de l'exécution de compétences et de commandes slash dans un contexte de sous-agent forké via context: fork. Réglages linguistiques : Ajout d'un paramètre language pour configurer la langue de réponse par défaut (ex: language: "french"). Améliorations du terminal : Shift+Enter fonctionne désormais nativement dans plusieurs terminaux (iTerm2, WezTerm, Ghostty, Kitty) sans configuration manuelle. Sécurité et correction de bugs : Correction d'une faille où des données sensibles (clés API, tokens OAuth) pouvaient apparaître dans les logs de débogage. Nouvelles commandes slash : Ajout de /teleport et /remote-env pour les abonnés claude.ai afin de gérer des sessions distantes. Mode Plan : Le raccourci /plan permet d'activer le mode plan directement depuis le prompt, et la demande de permission à l'entrée de ce mode a été supprimée. Vim et navigation : Ajout de nombreux mouvements Vim (text objects, répétitions de mouvements f/F/t/T, indentations, etc.). Performance : Optimisation du temps de démarrage et du rendu terminal pour les caractères Unicode/Emoji. Gestion du gitignore : Support du réglage respectGitignore dans settings.json pour contrôler le comportement du sélecteur de fichiers @-mention. Méthodologies 200 déploiements en production par jour, même le vendredi : retours d'expérience https://mcorbin.fr/posts/2025-03-21-deploy-200/ Le déploiement fréquent, y compris le vendredi, est un indicateur de maturité technique et augmente la productivité globale. L'excellence technique est un atout stratégique indispensable pour livrer rapidement des produits de qualité. Une architecture pragmatique orientée services (SOA) facilite les déploiements indépendants et réduit la charge cognitive. L'isolation des services est cruciale : un développeur doit pouvoir tester son service localement sans dépendre de toute l'infrastructure. L'automatisation via Kubernetes et l'approche GitOps avec ArgoCD permettent des déploiements continus et sécurisés. Les feature flags et un système de permissions solide permettent de découpler le déploiement technique de l'activation fonctionnelle pour les utilisateurs. L'autonomie des développeurs est renforcée par des outils en self-service (CLI maison) pour gérer l'infrastructure et diagnostiquer les incidents sans goulot d'étranglement. Une culture d'observabilité intégrée dès la conception permet de détecter et de réagir rapidement aux anomalies en production. Accepter l'échec comme inévitable permet de concevoir des systèmes plus résilients capables de se rétablir automatiquement. "Vibe Coding" vs "Prompt Engineering" : l'IA et le futur du développement logiciel https://www.romenrg.com/blog/2025/12/25/vibe-coding-vs-prompt-engineering-ai-and-the-future-of-software-development/ L'IA est passée du statut d'expérimentation à celui d'infrastructure essentielle pour le développement de logiciels en 2025. L'IA ne remplace pas les ingénieurs, mais agit comme un amplificateur de leurs compétences, de leur jugement et de la qualité de leur réflexion. Distinction entre le "Vibe Coding" (rapide, intuitif, idéal pour les prototypes) et le "Prompt Engineering" (délibéré, contraint, nécessaire pour les systèmes maintenables). L'importance cruciale du contexte ("Context Engineering") : l'IA devient réellement puissante lorsqu'elle est connectée aux systèmes réels (GitHub, Jira, etc.) via des protocoles comme le MCP. Utilisation d'agents spécialisés (écriture de RFC, revue de code, architecture) plutôt que de modèles génériques pour obtenir de meilleurs résultats. Émergence de l'ingénieur "Technical Product Manager" capable d'abattre seul le travail d'une petite équipe grâce à l'IA, à condition de maîtriser les fondamentaux techniques. Le risque majeur : l'IA permet d'aller très vite dans la mauvaise direction si le jugement humain et l'expérience font défaut. Le niveau d'exigence global augmente : les bases techniques solides deviennent plus importantes que jamais pour éviter l'accumulation de dette technique rapide. Une revue de code en solo (Kent Beck) ! https://tidyfirst.substack.com/p/party-of-one-for-code-review?r=64ov3&utm_campaign=post&utm_medium=web&triedRedirect=true La revue de code traditionnelle, héritée des inspections formelles d'IBM, s'essouffle car elle est devenue trop lente et asynchrone par rapport au rythme du développement moderne. Avec l'arrivée de l'IA ("le génie"), la vitesse de production du code dépasse la capacité de relecture humaine, créant un goulot d'étranglement majeur. La revue de code doit évoluer vers deux nouveaux objectifs prioritaires : un "sanity check" pour vérifier que l'IA a bien fait ce qu'on lui demandait, et le contrôle de la dérive structurelle de la base de code. Maintenir une structure saine est crucial non seulement pour les futurs développeurs humains, mais aussi pour que l'IA puisse continuer à comprendre et modifier le code efficacement sans perdre le contexte. Kent Beck expérimente des outils automatisés (comme CodeRabbit) pour obtenir des résumés et des schémas d'architecture afin de garder une conscience globale des changements rapides. Même si les outils automatisés sont utiles, le "Pair Programming" reste irremplaçable pour la richesse des échanges et la pression sociale bénéfique qu'il impose à la réflexion. La revue de code solo n'est pas une fin en soi, mais une adaptation nécessaire lorsque l'on travaille seul avec des outils de génération de code augmentés. Loi, société et organisation Lego lance les Lego Smart Play, avec des Brique, des Smart Tags et des Smart Figurines pour faire de nouvelles constructions interactives avec des Legos https://www.lego.com/fr-fr/smart-play LEGO SMART Play : technologie réactive au jeu des enfants. Trois éléments clés : SMART Brique : Brique LEGO 2x4 "cerveau". Accéléromètre, lumières réactives, détecteur de couleurs, synthétiseur sonore. Réagit aux mouvements (tenir, tourner, taper). SMART Tags : Petites pièces intelligentes. Indiquent à la SMART Brique son rôle (ex: hélicoptère, voiture) et les sons à produire. Activent sons, mini-jeux, missions secrètes. SMART Minifigurines : Activées près d'une SMART Brique. Révèlent des personnalités uniques (sons, humeurs, réactions) via la SMART Brique. Encouragent l'imagination. Fonctionnement : SMART Brique détecte SMART Tags et SMART Minifigurines. Réagit aux mouvements avec lumières et sons dynamiques. Compatibilité : S'assemble avec les briques LEGO classiques. Objectif : Créer des expériences de jeu interactives, uniques et illimitées. Conférences La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 14-17 janvier 2026 : SnowCamp 2026 - Grenoble (France) 22 janvier 2026 : DevCon #26 : sécurité / post-quantique / hacking - Paris (France) 28 janvier 2026 : Software Heritage Symposium - Paris (France) 29-31 janvier 2026 : Epitech Summit 2026 - Paris - Paris (France) 2-5 février 2026 : Epitech Summit 2026 - Moulins - Moulins (France) 3 février 2026 : Cloud Native Days France 2026 - Paris (France) 3-4 février 2026 : Epitech Summit 2026 - Lille - Lille (France) 3-4 février 2026 : Epitech Summit 2026 - Mulhouse - Mulhouse (France) 3-4 février 2026 : Epitech Summit 2026 - Nancy - Nancy (France) 3-4 février 2026 : Epitech Summit 2026 - Nantes - Nantes (France) 3-4 février 2026 : Epitech Summit 2026 - Marseille - Marseille (France) 3-4 février 2026 : Epitech Summit 2026 - Rennes - Rennes (France) 3-4 février 2026 : Epitech Summit 2026 - Montpellier - Montpellier (France) 3-4 février 2026 : Epitech Summit 2026 - Strasbourg - Strasbourg (France) 3-4 février 2026 : Epitech Summit 2026 - Toulouse - Toulouse (France) 4-5 février 2026 : Epitech Summit 2026 - Bordeaux - Bordeaux (France) 4-5 février 2026 : Epitech Summit 2026 - Lyon - Lyon (France) 4-6 février 2026 : Epitech Summit 2026 - Nice - Nice (France) 5 février 2026 : Web Days Convention - Aix-en-Provence (France) 12 février 2026 : Strasbourg Craft #1 - Strasbourg (France) 12-13 février 2026 : Touraine Tech #26 - Tours (France) 19 février 2026 : ObservabilityCON on the Road - Paris (France) 6 mars 2026 : WordCamp Nice 2026 - Nice (France) 18-19 mars 2026 : Agile Niort 2026 - Niort (France) 20 mars 2026 : Atlantique Day 2026 - Nantes (France) 26 mars 2026 : Data Days Lille - Lille (France) 26-27 mars 2026 : SymfonyLive Paris 2026 - Paris (France) 26-27 mars 2026 : REACT PARIS - Paris (France) 27-29 mars 2026 : Shift - Nantes (France) 31 mars 2026 : ParisTestConf - Paris (France) 1 avril 2026 : AWS Summit Paris - Paris (France) 2 avril 2026 : Pragma Cannes 2026 - Cannes (France) 9-10 avril 2026 : AndroidMakers by droidcon - Paris (France) 16-17 avril 2026 : MiXiT 2026 - Lyon (France) 22-24 avril 2026 : Devoxx France 2026 - Paris (France) 23-25 avril 2026 : Devoxx Greece - Athens (Greece) 24-25 avril 2026 : Faiseuses du Web 5 - Dinan (France) 6-7 mai 2026 : Devoxx UK 2026 - London (UK) 22 mai 2026 : AFUP Day 2026 Lille - Lille (France) 22 mai 2026 : AFUP Day 2026 Paris - Paris (France) 22 mai 2026 : AFUP Day 2026 Bordeaux - Bordeaux (France) 22 mai 2026 : AFUP Day 2026 Lyon - Lyon (France) 29 mai 2026 : NG Baguette Conf 2026 - Paris (France) 5 juin 2026 : TechReady - Nantes (France) 5 juin 2026 : Fork it! - Rouen - Rouen (France) 6 juin 2026 : Polycloud - Montpellier (France) 11-12 juin 2026 : DevQuest Niort - Niort (France) 11-12 juin 2026 : DevLille 2026 - Lille (France) 12 juin 2026 : Tech F'Est 2026 - Nancy (France) 17-19 juin 2026 : Devoxx Poland - Krakow (Poland) 17-20 juin 2026 : VivaTech - Paris (France) 2 juillet 2026 : Azur Tech Summer 2026 - Valbonne (France) 2-3 juillet 2026 : Sunny Tech - Montpellier (France) 3 juillet 2026 : Agile Lyon 2026 - Lyon (France) 2 août 2026 : 4th Tech Summit on Artificial Intelligence & Robotics - Paris (France) 4 septembre 2026 : JUG Summer Camp 2026 - La Rochelle (France) 17-18 septembre 2026 : API Platform Conference 2026 - Lille (France) 24 septembre 2026 : PlatformCon Live Day Paris 2026 - Paris (France) 1 octobre 2026 : WAX 2026 - Marseille (France) 1-2 octobre 2026 : Volcamp - Clermont-Ferrand (France) 5-9 octobre 2026 : Devoxx Belgium - Antwerp (Belgium) Nous contacter Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs Contactez-nous via X/twitter https://twitter.com/lescastcodeurs ou Bluesky https://bsky.app/profile/lescastcodeurs.com 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/
Denna fredag gästas vi av SVT:s programledare Dusan Umicevic. Det blir till en början en summering av JVM-turneringen där Dusan får ge sin syn på guldet och svårigheterna med att jobba under ett känsloladdat mästerskap. Han ger oss även listan på de JVM-spelare som kommer att lyckas bäst i NHL. Sen blir det SHL för resten av slanten med start i Växjö där matchkvaliteten var låg, så låg att Jörgen Jönsson gick hårt åt sitt egna lag. En annan som var ordentligt irriterad igår var Robert Ohlsson som lämnade intervjun i TV4 efter att ha sett situationen som inte gav straff eller mål till Frölunda i slutskedet av matchen mot Luleå. Fortsatt oro för Djurgården som blev utbuat på hemmaplan igen. Örebro tog en viktig trea och Leksand närmade sig lagen ovanför i tabellen ytterligare. Trevlig helg! Programledare: Tobias Dahlberg I studion: Christopher Heino-Lindberg & Simon Norberg Gäst: Dusan Umicevic
Årets första podd!! Och som Andreas och Eric har mycket att prata om. JVM-guld, Italien, trimmade moppar och pinsamma pappor. Men framförallt skillnaden på gifts och maturity. God Lyssning!
Sverige är äntligen guldmedaljörer i JVM-ishockeyn. Stenberg, Frondell och Härenstam blev hjältar i ett LAG som nu skrivit in sig i hockeyhistorien. När hörde vi senast ett svenskt landslag sjunga ”Du gamla, du fria” med sådan passion? Lasse Granqvist, Tommy Åström och Jens Fjellström om vad som gjorde att Sverige bröt guldförbannelsen. Kärlek till Gabriel Landeskog, den tilltänkta OS-kaptenen i Tre Kronor, som efter sin sensationella skadeåterkomst nu åkt på en ny smäll och går en kamp mot klockan inför Milano. Världsidrottens ständiga successionsordning. Alcaraz/Sinner fyllde blixtsnabbt tennisens tomrum efter Federer/Nadal. Nu är det norrmannen Johan-Olav Botn som direkt blivit skidskyttets stora arvtagare. Till minne av Åke Fjellström, som avled häromdagen. Jens berättar om sin pappa och störste supporter, som samtidigt var en pionjär inom svensk idrottspsykologi. Hosted on Acast. See acast.com/privacy for more information.
Vi pratar förstås en massa JVM, men tuggar även igenom vad som hänt sedan sist i den otroligt jämna NHL-serien, beundrar Minnesotas dundertrade, klurar på vad det extra uppehållet kan innebära för spelarflyttar och tjurar för att Marcus Johansson inte får spela OS-hockey.
Vi vann! Guldet kommer hem till Sverige efter en gastkramning mot Tjeckien. Vi firar, utser MVP och lyssnar till de glada rösterna från mixade zonen. Kommer guldtrenden också att fortsätta framåt? SHL rullar på i samma höga takt med matcher utöver det vanliga. HV71 stod för en smått osannolik vändning uppe i Luleå när 4-0 blev 5-6. Vi hyllar insatsen från Anton Blomqvists gäng och sätter frågetecken kring Luleås ras. Linköping bröt Frölundas långa vinstsvit trots att serieledarna väl kvitterade? Målet dömdes bort och LHC tog en tung skalp. I botten har vi nu ett trelagsrace med Örebro som formsvagaste lag, vad är det som händer egentligen? Jumbon Leksand har börjat röra på sig och vi ringer upp Anton Johansson för att höra om den senaste tidens form, brorsans JVM-guld och beslutet att stanna i Dalarna. Vilken guldvecka! Programledare: Tobias Dahlberg I panelen: Christopher Heino-Lindberg & Dick Axelsson Gäst på länk: Anton Johansson
Ett rykande färskt avsnitt kommer denna gång med Almen Bibic och Fredrik Söderström som gäster. Tillsammans med Kajsa Kalméus pratar de om:JVM-rysaren inatt - blir det svenskt JVM-guld?Ångestmötet i LeksandBlev MoDos seger mot Björklöven en vändning att se tillbaka på?David Tomaseks återkomst i Löfbergs ArenaBibics och Söderströms spådomar - flera guld att vänta?Du får alltid de senaste hockeynyheterna på https://www.tv4.se/ishockey Hosted on Acast. See acast.com/privacy for more information.
Vårat uppehåll är över och vi bjuder på monolog från Jockes sjukhusvistelse. Vi pratar kring lagets senaste matcher, bristen på mål, känslan av att behöva en målskytt samt diverse jippo-matcher som sker under Januari. Vi pratar om långsamma nedladdningar och olika julfilmer och avslutar med ett JVM-quiz.God lyssning!
Rubriker från sporthelgen som gått. Lasse Granqvist bilrapporterar på väg hem från Leksand efter att SHL-bottenlaget gått från hopp och publikeufori till förlust mot Färjestad.Tommy Åström om fortsatta VM-succén i dart för "Dirty Harry" och om pågående JVM-ishockeyn: "Oavsett hur det går för Juniorkronorna, är svensk hockey den stora talangfabriken i Europa."Jens Fjellström jämför Sverige med Norge i Premier League: "Gyökeres är en halv Haaland." Hosted on Acast. See acast.com/privacy for more information.
Den bästa tiden på året. Matcher varje dag, ett SHL som sprakar och ett JVM som börjar hacka igång. Vi inleder här på hemmaplan där hemvändare har varit julens tema. Framförallt är ju David Tomasek mer eller mindre redo för en comeback i Färjestad, kommer han få det att flyga? Två andra lag som verkar hitta formen i mellandagarna är Luleå och Leksand där de regerande mästarna tagit fyra raka segrar och jumbon Leksand har poäng i två raka. Panelen spekulerar i huruvida masarna kan nå säker mark med Marcus Gidlöf tillbaka i målet. Frölunda har tagit 10 raka segrar även om de fick svettas ordentligt mot lightversionen av sig själva. Djurgården är ömsom vin, ömsom vatten och Skellefteå behöver ta sig en funderare kring målvakterna. Sist men inte minst pratar vi JVM där Sverige har inlett med två raka segrar trots att spelet inte stämmer. Perfekt menar vi! Mindre positiva känslor kring Kanada som vi känner igen, sluta grisa! Programledare: Tobias Dahlberg I studion: Christopher Heino-Lindberg & Simon Norberg
В 86 выпуске подкаста Javaswag поговорили c Григорием Вахмистровым о Java и C#, GraphQL и менторинге. Обсудили, каково это — переходить из экосистемы Microsoft в мир JVM, почему C# кажется более «продуктовым» и чего Java-разработчикам до сих пор не хватает для полного счастья (спойлер: это не только Lombok). Основную часть выпуска мы посвятили GraphQL: Григорий на практических примерах объяснил, как этот инструмент может стать «палочкой-выручалочкой» для сложных бэк-офисов и когда он действительно выигрывает у классического REST. В финале затронули тему менторства и обучения: почему люди готовы платить за наставничество больше, чем за курсы, как не «сгореть», преподавая безопасность, и почему иногда лучший совет ментора — это отговорить человека идти в IT. 00:00 — Интро 02:00 — Мир .NET и Xamarin. Опыт с Xamarin.Forms и осознание: «Нативщина рулит». 10:00 — C# vs Java: Razor/Blazor как JSTL на стероидах. Entity Framework против Hibernate. LINQ — почему это больше, чем просто Stream API. 25:00 — Тулгинг и почему Maven и Gradle заставляют мучиться после «зеленой кнопки» в Visual Studio. 30:00 — Архитектура букмекерской системы: Распределенный монолит и высокие нагрузки 40:00 — GraphQL: Когда REST начинает проигрывать 01:06:00 — Федерация и Stitching 01:21:00 — Менторство, EdTech 01:46:00 — Непопулярное мнение Гость: https://www.linkedin.com/in/grigoriy-vakhmistrov-96499913b/ Ссылки: https://www.graphql-java.com/ https://netflix.github.io/dgs/ Ссылки на подкаст: Сайт - https://javaswag.github.io/ Телеграм - https://t.me/javaswag Youtube - https://www.youtube.com/@javaswag Linkedin - https://www.linkedin.com/in/volyihin/ X - https://x.com/javaswagpodcast
Sista omgången innan jul. I fokus Christian Folin som efter matchen mot Brynäs gick ut och totalsågade spelarna i ligan på grund av alla filmningar. Han var desto nöjdare med Frölundas åttonde raka seger. I Jönköping vann HV71 mot sitt favoritmotstånd, Djurgården, för tredje gången den här säsongen. I Timrå och Leksand ser det desto mörkare ut där de förstnämnda är näst sämst från omgång 6 och framåt. Värva och gör det nu! Vi delar också ut julklappar till ett antal lag och SHL-profiler men dess för innan avhandlar vi en tjeckisk kastad klubba. Till sist värmer vi upp inför JVM-premiären på fredag genom att ringa upp Herman Liv som kan komma att bli en avgörande faktor i Juniorkronornas guldjakt! Programledare: Tobias Dahlberg I studion: Christopher Heino-Lindberg & Simon Norberg Gäst på länk: Herman Liv
Lasse Granqvist och Fredrik Söderström gör Henric Larsson sällskap bakom mickarna i TV4 Hockey-poddens måndagsavsnitt. Djurgårdens JVM-strategi ifrågasättsLåt Levin stanna i KalmarHela hockeysverige backar FolinÅrets match i Hockeyallsvenskan? Timrå-kris i vardande? Hosted on Acast. See acast.com/privacy for more information.
Det är sannerligen JVM-tider! I det här avsnittet av Hockeypodden snackar vi upp tjejernas turnering, som startar den 10 januari i Kanada. Fredrik Warg är ciceron som vanligt, och den här gången har han bjudit in Team 18 dams förbundskapten Andreas Karlsson och spelarlegendaren Pernilla Winberg. Det blir ett härligt samtal om erfarenheter från tidigare turneringar, vad målsättningarna är inför turneringen i Nordamerika och naturligtvis snack om truppen.
Del 3 av 3. På ett hotellrum i Tjeckien fantiserar Milton Gästrin om spel i JVM inför en miljonpublik hemma i tv-sofforna. Men då måste han först övertyga Juniorkronornas förbundskapten att han platsar i det laget. Han och Theo Stockselius är i samma sits. Dom är i B-laget. Eddie Genborg är i ett helt annat läge. Han får stående ovationer i SHL. ”Drömmen om NHL” är en poddserie om tre av de största talangerna i svensk hockey, Milton, Eddie och Theo, och deras resa mot världens bästa liga. I fem månaders tid har Expressen Dok fått en unik inblick i NHL-klubbarnas jakt på de blivande stjärnorna. En dokumentärserie av Magnus Nyström. Producent: Sigge Dabrowski. Exekutiva producenter: Jakob Wagner, Karin Olsson och Pontus Weinemo.Ljudmix: Fredrik Johansson. Originalmusik: Patricio Samuelsson. Ansvarig utgivare: Klas Granström, Expressen AB.
Chris Hermansen: Don't be Afraid to Create Summary Jim Grisanzio from Java Developer Relations talks with Chris Hermansen, a Java developer, consultant, and data analyst from Canada. Chris discovered Java in the 1990s and was drawn to its free accessibility and object-oriented design. He particularly appreciated Java's straightforward single inheritance model over C++'s complexity. But Chris's path to technology came through mathematics rather than computer science. He identifies streams as Java's most transformative feature for data analysis work and praises how it improved code readability and maintainability. On consulting, Chris cautions against Silicon Valley mantras like "fail often" when applied outside prototyping contexts, and he observes cultural differences in how engineers approach problem-solving with some preferring abstract discussion while others focusing on concrete data. Chris emphasizes that technology work remains fundamentally human and stresses the importance of listening, maintaining humanity in professional life, and avoiding corporate stereotypes. For students, he notes the differences between learning with modern IDEs versus the command line tools of his era when he learned to code, so he advises that new learners to try multiple approaches to deepen their understanding. His core message, which became the episode's title, is simple: "Don't be afraid to create." Discovering Java in the 1990s Chris discovered Java in the mid-1990 when Java was announced while working as a data analyst. "Java came along and it was free to use. It wasn't open source at that point, but it was free to use," he says. "And it really intrigued me because of its object-oriented approach to things, which was something that didn't come with the platform we were working on." Unlike the purchased software products he was using at the time, Java offered a free and accessible alternative that promised serious long-term value. He also appreciated how Java's design avoided the complexities of C++, especially the problems with multiple inheritance. He and a colleague had been discussing moving from Pascal to either C or C++, but his colleague had concerns about C++'s complexity, particularly around multiple inheritance. "The first thing that really jumped out to me was the straightforward single inheritance pathway and the use of interfaces to define contractual relations between code," Chris says. Java's approach to inheritance immediately stood out as cleaner and more maintainable. Features like array bounds checking and interfaces for defining contractual relationships between code further convinced him he was learning something that would age well. "I felt that I was learning something that would wear well over time. I wouldn't turn around and look at what I'd done 10 or 15 or 20 years later and say, yuck, what was I thinking?" After committing to Java and sticking with it through the learning process, he found it repaid his effort many times over. "I liked it and I stuck with it, and I found it paid me back enormously for my investment in learning." Career Path Through Mathematics Chris's path to technology came through math rather than traditional computer science. He actually stumbled into science during the registration process at school in the 1970s and eventually pursued math after deciding against engineering. His career took him through various mathematical applications, including consulting and data analysis positions in forestry. Java's Evolution: Streams and Beyond Regarding Java's evolution, Chris identified streams as the biggest feature improvement for his work. When asked about new features that have been useful in his applications, he immediately identifies streams as transformative. "I mean, streams was the big one. Streams just made a whole difference to the way you would handle data," he says. He contrasts the old approach of writing hundreds of lines of nested for loops with the more elegant stream-based approach: "And so streams has just made that a whole lot easier. And the code is so much more readable and maintainable than the old 500 line do loops that we used to have in Fortran that turned into the 375 line for loops in Java. Anyway, so streams is a big one, a really big one for me. The biggest, I would say." He also valued the introduction of templates (generics) in Java 5 or 6, which represented a significant evolution in the language and allowed applying libraries to custom classes. He praised the Java community for keeping the platform and ecosystem viable, noting that the combination of an active developer community and a satisfied user base creates a virtuous cycle that keeps the platform evolving and improving: "There's enough Java programmers out there, enough people interested in the continuing viability of Java that they keep it going, that they modernize it, that they solve new problems with it, that they make it perform better than it ever has before." He added a "big shout out to the garbage collection people that do that amazing stuff," acknowledging the often-invisible work that performance engineers at Oracle do to make Java faster and more efficient for developers. Throughout the discussion, Chris talked at length about developers, the user community, and the technology. He has a nice habit of mixing the issues seamlessly. Check out this gem below where he beautifully concluded that Java is far more than a language because it's really a movement. "The user community is, generally speaking, pretty satisfied with it. And it's a broad enough user community. It's got people like me. It's got people still doing desktop Java. It's got people using it on servers. And there's a whole tool ecosystem out there. Personally, I prefer working right at the command line. I always have. But the application that I mentioned we built using NetBeans, which came out of Sun originally. And it's quite a nice IDE. I don't think it's the most popular one. It doesn't really matter. It's still a very nice one. And it gave us a big part of that long-term support. And lately, I find myself using other JVM languages. So it's not just Java. It's the JVM that underpins it, that has permitted a flowering of alternative approaches to things that, generally speaking, work very well together with Java. So, it's a pretty cool thing. It's a movement. It's not just a programming language." Consulting, Professionalism, and Cultural Differences On consulting and professionalism, Chris stresses the importance of contributing to the team to best serve customers. He cautions against embracing some Silicon Valley software mantras — such as "fail early, fail often" — when applied outside their intended prototyping context. "And I know failure is a thing that people talk about in software development. Fail early, fail often. But you don't hear consultants saying fail often. It's not a good look for a consulting company," he says. Instead, Chris focuses on engineering being technically excellent and using open communications to help ensure the team's success. "In a consulting organization, you really have to be a team player," he says. He clarifies that getting prototypes out for feedback certainly has merit: "Get something out there and [letting] people throw rocks at it and [recording] what they say [that's] false and recognize that, okay, you failed, but at least you moved the ball down the field. I'm a huge fan of prototyping." Throughout the years in his career Chris also observed cultural differences in problem-solving approaches around the world. He says that some cultures prefer abstract discussion while others focus on concrete data. "Never mind all these grand theories. Let's actually look what we have. And really, you know, like don't go down that rabbit hole either. Look at what you have and base things on the reality that you know about," he advises. He warns against getting lost in theoretical discussions: "Resist the old, you know, the medieval concept of how many angels on the head of a pin kind of thing. Just don't go there." The Human Side of Technology Work Chris emphasizes that technology work remains fundamentally human. Near the end of the conversation, Chris focuses what he sees as most important: "I would just emphasize maybe that we're human beings here and we're driven by our human desires and wills. And as you rightly pointed out, cultural things roll into that," he says. Despite all the technical discussion about tools, languages, methods, and preferences, the work is ultimately done by human beings with human needs and motivations. Cultural factors, listening skills, and collaborative team approaches matter as much as technical competence. "Remember, you spend a long time of your life at your job. And so, it's important that that contributes to your humanity and that your humanity contributes back." He encourages developers to remember their humanity throughout their careers, to contribute meaningfully to their teams and communities, and to avoid becoming caricatures of the latest corporate culture. "It's really important to remember that you're part of a group of human beings here. You don't want to be a Dilbert comic," he says, using the comic strip as a reference point for the dehumanized corporate worker trapped in absurd bureaucracy. On the importance of listening, Chris shares wisdom from a sign he saw years ago: "If God had intended man to speak more than he listened, he would have given him two mouths and one ear. Listen more, say less." When discussing custom solutions versus off-the-shelf tools, and after discussing how being familiar with algorithms allows you to blend approaches for better solutions, Chris delivers what became the title of the episode: "Basically, you know, if there's not something off the shelf that — Don't be afraid to create!" This is a message that Chris encourages all developers to embrace because they have such advanced skills right at their fingertips. Advice for Students: Learning Then and Now That creation framework extends to Chris's advice to students learning software development. Students today face different challenges than he did decades ago. Chris compared his learning experience years ago with his daughter's more recent computer science education. Modern students learn differently through sophisticated IDEs that suggest improvements and refactor code automatically, while Chris and his colleagues back in the day learned using only a command line, a text editor, and a compiler. "The difference is really striking between the two because the only tool we had was the command line, the text editor, and the compiler," he says. Modern IDEs provide capabilities like automatic refactoring and code suggestions that fundamentally change what students focus on during their education. He notes that learning with modern tools creates almost a different world than learning in his era: "And so it was really almost learning a different discipline for her than it was for me." He advises students to try multiple approaches to problem-solving and to explore all their options to apply their technical skills in many diverse fields. "And I think if there's a lesson to be taken from that, sometimes it might be fun once you've learned how to do something in the IDEs to try and do it the old way and see what it's like just creating from nothing, you know, and starting out that way. And vice versa, guys like me that always insist on using VI at the command line, we should learn an IDE. It's time." Finally, Chris reflects on the value of learning multiple approaches to solving problems. This goes beyond just technical skills to understanding the problem itself more deeply: "I think learning several different ways to solve a problem ultimately teaches you more about the problem. And learning more about the problem, I think, teaches you a bit about yourself and how you go about solving things and your value to your organization." During the entire conversation on technology, Chris consistently wove in the human element. We are people, after all. We're just using digital tools to create. Duke's Corner Java Podcast https://dukescorner.libsyn.com/site Jim Grisanzio, Host, Duke's Corner https://x.com/jimgris | https://grisanzio.com/duke/
Jack Berglund reser snart till JVM - men först podd med NWT Istid. Där pratar han om revanschåret, den bättrade fysiken och stödet från FBK-supportrarna. Dessutom; secret santa, den ultimata söndagen och NHL-drömmen.
В 85 выпуске подкаста Javaswag в гостях Роман Гребенников, инженер с огромным опытом в разработке поисковых движков (Findify, Delivery Hero) и создатель open-source проектов Metarank и Nixie Search. Мы обсудили эволюцию поиска от “просто возьми Elastic” до хайпа по векторным базам данных и обратно. Поговорили о том, почему Scala всё еще жива, зачем нужен GraalVM в 2024 году, и как построить свой поисковый движок поверх S3 и AWS Lambda. 00:00 — Начало 04:44 — Findify: скраперы на C++, переход на Scala 13:25 — Эволюция поиска - ElasticSearch 19:37 — Elasticsearch vs OpenSearch 22:50 — Apache Lucene Deep Dive 28:53 — Как выбрать поиск для своего проекта? 38:40 — Spark vs Apache Flink 48:30 — MetaRank 53:48 — Почему Scala 01:05:25 — Python в ML 01:13:41 — Стартапы vs Корпорации 01:21:17 — Nixie Search 01:36:58 — Рынок векторных БД: Qdrant, Meilisearch, TurboPuffer 01:47:15 — Опыт с GraalVM: Как засунуть Scala и Lucene в AWS Lambda с холодным стартом в 20 мс 01:57:24 — Непопулярное мнение Гость: https://twitter.com/public_void_grv Ссылки: Nixie Search https://github.com/nixiesearch/nixiesearch MetaRank https://github.com/metarank/metarank Apache Lucene https://lucene.apache.org/ Apache Flink https://flink.apache.org/ GraalVM https://www.graalvm.org Qdrant https://qdrant.tech/ Ссылки на подкаст: Сайт - https://javaswag.github.io/ Телеграм - https://t.me/javaswag Youtube - https://www.youtube.com/@javaswag Linkedin - https://www.linkedin.com/in/volyihin/ X - https://x.com/javaswagpodcast
(And Why It Still Matters)Welcome to the Holistic Healing Hour, hosted by Grandpa Bill!
Dans cet épisode, Emmanuel, Katia et Guillaume discutent de Spring 7, Quarkus, d'Infinispan et Keycloak. On discute aussi de projets sympas comme Javelit, de comment démarre une JVM, du besoin d'argent de NTP. Et puis on discute du changement de carrière d'Emmanuel. Enregistré le 14 novembre 2025 Téléchargement de l'épisode LesCastCodeurs-Episode-332.mp3 ou en vidéo sur YouTube. News Emmanuel quitte Red Hat après 20 ans https://emmanuelbernard.com/blog/2025/11/13/leaving-redhat/ Langages Support HTTP/3 dans le HttpClient de JDK 26 - https://inside.java/2025/10/22/http3-support/ JDK 26 introduit le support de HTTP/3 dans l'API HttpClient existante depuis Java 11 HTTP/3 utilise le protocole QUIC sur UDP au lieu de TCP utilisé par HTTP/2 Par défaut HttpClient préfère HTTP/2, il faut explicitement configurer HTTP/3 avec Version.HTTP_3 Le client effectue automatiquement un downgrade vers HTTP/2 puis HTTP/1.1 si le serveur ne supporte pas HTTP/3 On peut forcer l'utilisation exclusive de HTTP/3 avec l'option H3_DISCOVERY en mode HTTP_3_URI_ONLY HttpClient apprend qu'un serveur supporte HTTP/3 via le header alt-svc (RFC 7838) et utilise cette info pour les requêtes suivantes La première requête peut utiliser HTTP/2 même avec HTTP/3 préféré, mais la seconde utilisera HTTP/3 si le serveur l'annonce L'équipe OpenJDK encourage les tests et retours d'expérience sur les builds early access de JDK 26 Librairies Eclispe Jetty et CometD changent leurs stratégie de support https://webtide.com/end-of-life-changes-to-eclipse-jetty-and-cometd/ À partir du 1er janvier 2026, Webtide ne publiera plus Jetty 9/10/11 et CometD 5/6/7 sur Maven Central Pendant 20 ans, Webtide a financé les projets Jetty et CometD via services et support, publiant gratuitement les mises à jour EOL Le comportement des entreprises a changé : beaucoup cherchent juste du gratuit plutôt que du véritable support Des sociétés utilisent des versions de plus de 10 ans sans migrer tant que les correctifs CVE sont gratuits Cette politique gratuite a involontairement encouragé la complaisance et retardé les migrations vers versions récentes MITRE développe des changements au système CVE pour mieux gérer les concepts d'EOL Webtide lance un programme de partenariat avec TuxCare et HeroDevs pour distribuer les résolutions CVE des versions EOL Les binaires EOL seront désormais distribués uniquement aux clients commerciaux et via le réseau de partenaires Webtide continue le support standard open-source : quand Jetty 13 sortira, Jetty 12.1 recevra des mises à jour pendant 6 mois à un an Ce changement vise à clarifier la politique EOL avec une terminologie industrielle établie Améliorations cloud du SDK A2A Java https://quarkus.io/blog/quarkus-a2a-cloud-enhancements/ Version 0.3.0.Final du SDK A2A Java apporte des améliorations pour les environnements cloud et distribués Composants en mémoire remplacés par des implémentations persistantes et répliquées pour environnements multi-instances JpaDatabaseTaskStore et JpaDatabasePushNotificationConfigStore permettent la persistance des tâches et configurations en base PostgreSQL ReplicatedQueueManager assure la réplication des événements entre instances A2A Agent via Kafka et MicroProfile Reactive Messaging Exemple complet de déploiement Kubernetes avec Kind incluant PostgreSQL, Kafka via Strimzi, et load balancing entre pods Démonstration pratique montrant que les messages peuvent être traités par différents pods tout en maintenant la cohérence des tâches Architecture inspirée du SDK Python A2A, permettant la gestion de tâches asynchrones longues durée en environnement distribué Quarkus 3.29 sort avec des backends de cache multiples et support du débogueur Qute https://quarkus.io/blog/quarkus-3-29-released/ Possibilité d'utiliser plusieurs backends de cache simultanément dans une même application Chaque cache peut être associé à un backend spécifique (par exemple Caffeine et Redis ou Infinispan) Support du Debug Adapter Protocol (DAP) pour déboguer les templates Qute directement dans l'IDE et dans la version 3.28 Configuration programmatique de la protection CSRF via une API fluent Possibilité de restreindre les filtres OIDC à des flux d'authentification spécifiques avec annotations Support des dashboards Grafana personnalisés via fichiers JSON dans META-INF/grafana/ Extension Liquibase MongoDB supporte désormais plusieurs clients simultanés Amélioration significative des performances de build avec réduction des allocations mémoire Parallélisation de tâches comme la génération de proxies Hibernate ORM et la construction des Jar Et l'utilisation des fichiers .proto est plus simple dans Quarkus avbec Quarkus gRPC Zero https://quarkus.io/blog/grpc-zero/ c'est toujours galere des fichiers .proto car les generateurs demandent des executables natifs maintenant ils sont bundlés dans la JVM et vous n'avez rien a configurer cela utilise Caffeine pour faire tourner cela en WASM dans la JVM Spring AI 1.1 est presque là https://spring.io/blog/2025/11/08/spring-ai-1-1-0-RC1-available-now support des MCP tool caching pour les callback qui reduit les iooerations redondantes Access au contenu de raisonnement OpenAI Un modele de Chat MongoDB Support du modele de penser Ollama Reessaye sur les echec de reseau OpenAI speech to text Spring gRPC Les prochaines étapes pour la 1.0.0 https://spring.io/blog/2025/11/05/spring-grpc-next-steps Spring gRPC 1.0 arrive prochainement avec support de Spring Boot 4 L'intégration dans Spring Boot 4.0 est reportée, prévue pour Spring Boot 4.1 Les coordonnées Maven restent sous org.springframework.grpc pour la version 1.0 Le jar spring-grpc-test est renommé en spring-grpc-test-spring-boot-autoconfigure Les packages d'autoconfiguration changent de nom nécessitant de modifier les imports Les dépendances d'autoconfiguration seront immédiatement dépréciées après la release 1.0 Migration minimale attendue pour les projets utilisant déjà la version 0.x La version 1.0.0-RC1 sera publiée dès que possible avant la version finale Spring arrete le support reactif d'Apache Pulsar https://spring.io/blog/2025/10/29/spring-pulsar-reactive-discontinued logique d'évaluer le temps passé vs le nombre d'utilisateurs c'est cependant une tendance qu'on a vu s'accélerer Spring 7 est sorti https://spring.io/blog/2025/11/13/spring-framework-7-0-general-availability Infrastructure Infinispan 16.0 https://infinispan.org/blog/2025/11/10/infinispan-16-0 Ajout majeur : migration en ligne sans interruption pour les nœuds d'un cluster (rolling upgrades) (infinispan.org) Messages de clustering refaits avec Protocol Buffers + ProtoStream : meilleure compatibilité, schéma évolutif garanti (infinispan.org) Console Web améliorée API dédiée de gestion des schémas (SchemasAdmin) pour gérer les schémas ProtoStream à distance (infinispan.org) Module de requête (query) optimisé : support complet des agrégations (sum, avg …) dans les requêtes indexées en cluster grâce à l'intégration de Hibernate Search 8.1 (infinispan.org) Serveur : image conteneur minimalisée pour réduire la surface d'attaque (infinispan.org) démarrage plus rapide grâce à séparation du démarrage cache/serveur (infinispan.org) caches pour connecteurs (Memcached, RESP) créés à la demande (on-demand) et non à l'initiaton automatique (infinispan.org) moteur Lua 5.1 mis à jour avec corrections de vulnérabilités et opérations dangereuses désactivées (infinispan.org) Support JDK : version minimale toujours JDK 17 (infinispan.org) prise en charge des threads virtuels (virtual threads) et des fonctionnalités AOT (Ahead-of-Time) de JDK plus récentes (infinispan.org) Web Javelit, une nouvelle librairie Java inspirée de Streamlit pour faire facilement et rapidement des petites interfaces web https://glaforge.dev/posts/2025/10/24/javelit-to-create-quick-interactive-app-frontends-in-java/ Site web du projet : https://javelit.io/ Javelit : outil pour créer rapidement des applications de données (mais pas que) en Java. Simplifie le développement : élimine les tracas du frontend et de la gestion des événements. Transforme une classe Java en application web en quelques minutes. Inspiré par la simplicité de Streamlit de l'écosystème Python (ou Gradio et Mesop), mais pour Java. Développement axé sur la logique : pas de code standard répétitif (boilerplate), rechargement à chaud. Interactions faciles : les widgets retournent directement leur valeur, sans besoin de HTML/CSS/JS ou gestion d'événements. Déploiement flexible : applications autonomes ou intégrables dans des frameworks Java (Spring, Quarkus, etc.). L'article de Guillaume montre comment créer une petite interface pour créer et modifier des images avec le modèle génératif Nano Banana Un deuxième article montre comment utiliser Javelit pour créer une interface de chat avec LangChain4j https://glaforge.dev/posts/2025/10/25/creating-a-javelit-chat-interface-for-langchain4j/ Améliorer l'accessibilité avec les applis JetPack Compose https://blog.ippon.fr/2025/10/29/rendre-son-application-accessible-avec-jetpack-compose/ TalkBack est le lecteur d'écran Android qui vocalise les éléments sélectionnés pour les personnes malvoyantes Accessibility Scanner et les outils Android Studio détectent automatiquement les problèmes d'accessibilité statiques Les images fonctionnelles doivent avoir un contentDescription, les images décoratives contentDescription null Le contraste minimum requis est de 4.5:1 pour le texte normal et 3:1 pour le texte large ou les icônes Les zones cliquables doivent mesurer au minimum 48dp x 48dp pour faciliter l'interaction Les formulaires nécessitent des labels visibles permanents et non de simples placeholders qui disparaissent Modifier.semantics permet de définir l'arbre sémantique lu par les lecteurs d'écran Les propriétés mergeDescendants et traversalIndex contrôlent l'ordre et le regroupement de la lecture Diriger le navigateur Chrome avec le modèle Gemini Computer Use https://glaforge.dev/posts/2025/11/03/driving-a-web-browser-with-gemini-computer-use-model-in-java/ Objectif : Automatiser la navigation web en Java avec le modèle "Computer Use" de Gemini 2.5 Pro. Modèle "Computer Use" : Gemini analyse des captures d'écran et génère des actions d'interface (clic, saisie, etc.). Outils : Gemini API, Java, Playwright (pour l'interaction navigateur). Fonctionnement : Boucle agent où Gemini reçoit une capture, propose une action, Playwright l'exécute, puis une nouvelle capture est envoyée à Gemini. Implémentation clé : Toujours envoyer une capture d'écran à Gemini après chaque action pour qu'il comprenne l'état actuel. Défis : Lenteur, gestion des CAPTCHA et pop-ups (gérables). Potentiel : Automatisation des tâches web répétitives, création d'agents autonomes. Data et Intelligence Artificielle Apicurio ajoute le support de nouveaux schema sans reconstruire Apicurio https://www.apicur.io/blog/2025/10/27/custom-artifact-types Apicurio Registry 3.1.0 permet d'ajouter des types d'artefacts personnalisés au moment du déploiement sans recompiler le projet Supporte nativement OpenAPI, AsyncAPI, Avro, JSON Schema, Protobuf, GraphQL, WSDL et XSD Trois approches d'implémentation disponibles : classes Java pour la performance maximale, JavaScript/TypeScript pour la facilité de développement, ou webhooks pour une flexibilité totale Configuration via un simple fichier JSON pointant vers les implémentations des composants personnalisés Les scripts JavaScript sont exécutés via QuickJS dans un environnement sandboxé sécurisé Un package npm TypeScript fournit l'autocomplétion et la sécurité de type pour le développement Six composants optionnels configurables : détection automatique de type, validation, vérification de compatibilité, canonicalisation, déréférencement et recherche de références Cas d'usage typiques : formats propriétaires internes, support RAML, formats legacy comme WADL, schémas spécifiques à un domaine métier Déploiement simple via Docker en montant les fichiers de configuration et scripts comme volumes Les performances varient selon l'approche : Java offre les meilleures performances, JavaScript un bon équilibre, webhooks la flexibilité maximale Le truc interessant c'est que c'est Quarkus based et donc demandait le rebuilt donc pour eviter cela, ils ont ajouter QuickJS via Chicorey un moteur WebAssembly GPT 5.1 pour les développeurs est sorti. https://openai.com/index/gpt-5-1-for-developers/ C'est le meilleur puisque c'est le dernier :slightly_smiling_face: Raisonnement Adaptatif et Efficace : GPT-5.1 ajuste dynamiquement son temps de réflexion en fonction de la complexité de la tâche, le rendant nettement plus rapide et plus économique en jetons pour les tâches simples, tout en maintenant des performances de pointe sur les tâches difficiles. Nouveau Mode « Sans Raisonnement » : Un mode (reasoning_effort='none') a été introduit pour les cas d'utilisation sensibles à la latence, permettant une réponse plus rapide avec une intelligence élevée et une meilleure exécution des outils. Cache de Prompt Étendu : La mise en cache des invites est étendue jusqu'à 24 heures (contre quelques minutes auparavant), ce qui réduit la latence et le coût pour les interactions de longue durée (chats multi-tours, sessions de codage). Les jetons mis en cache sont 90 % moins chers. Améliorations en Codage : Le modèle offre une meilleure personnalité de codage, une qualité de code améliorée et de meilleures performances sur les tâches d'agenticité de code, atteignant 76,3 % sur SWE-bench Verified. Nouveaux Outils pour les Développeurs : Deux nouveaux outils sont introduits ( https://cookbook.openai.com/examples/build_a_coding_agent_with_gpt-5.1 ) : L'outil apply_patch pour des modifications de code plus fiables via des diffs structurés. L'outil shell qui permet au modèle de proposer et d'exécuter des commandes shell sur une machine locale, facilitant les boucles d'inspection et d'exécution. Disponibilité : GPT-5.1 (ainsi que les modèles gpt-5.1-codex) est disponible pour les développeurs sur toutes les plateformes API payantes, avec les mêmes tarifs et limites de débit que GPT-5. Comparaison de similarité d'articles et de documents avec les embedding models https://glaforge.dev/posts/2025/11/12/finding-related-articles-with-vector-embedding-models/ Principe : Convertir les articles en vecteurs numériques ; la similarité sémantique est mesurée par la proximité de ces vecteurs. Démarche : Résumé des articles via Gemini-2.5-flash. Conversion des résumés en vecteurs (embeddings) par Gemini-embedding-001. Calcul de la similarité entre vecteurs par similarité cosinus. Affichage des 3 articles les plus pertinents (>0.75) dans le frontmatter Hugo. Bilan : Approche "résumé et embedding" efficace, pragmatique et améliorant l'engagement des lecteurs. Outillage Composer : Nouveau modèle d'agent rapide pour l'ingénierie logicielle - https://cursor.com/blog/composer Composer est un modèle d'agent conçu pour l'ingénierie logicielle qui génère du code quatre fois plus rapidement que les modèles similaires Le modèle est entraîné sur de vrais défis d'ingénierie logicielle dans de grandes bases de code avec accès à des outils de recherche et d'édition Il s'agit d'un modèle de type mixture-of-experts optimisé pour des réponses interactives et rapides afin de maintenir le flux de développement L'entraînement utilise l'apprentissage par renforcement dans divers environnements de développement avec des outils comme la lecture de fichiers, l'édition, les commandes terminal et la recherche sémantique Cursor Bench est un benchmark d'évaluation basé sur de vraies demandes d'ingénieurs qui mesure la correction et le respect des abstractions du code existant Le modèle apprend automatiquement des comportements utiles comme effectuer des recherches complexes, corriger les erreurs de linter et écrire des tests unitaires L'infrastructure d'entraînement utilise PyTorch et Ray avec des kernels MXFP8 pour entraîner sur des milliers de GPUs NVIDIA Le système exécute des centaines de milliers d'environnements de codage sandboxés concurrents dans le cloud pour l'entraînement Composer est déjà utilisé quotidiennement par les développeurs de Cursor pour leur propre travail Le modèle se positionne juste derrière GPT-5 et Sonnet 4.5 en termes de performance sur les benchmarks internes Rex sur l'utilisation de l'IA pour les développeurs, un gain de productivité réel et des contextes adaptés https://mcorbin.fr/posts/2025-10-17-genai-dev/ Un développeur avec 18 ans d'expérience partage son retour sur l'IA générative après avoir changé d'avis Utilise exclusivement Claude Code dans le terminal pour coder en langage naturel Le "vibe coding" permet de générer des scripts et interfaces sans regarder le code généré Génération rapide de scripts Python pour traiter des CSV, JSON ou créer des interfaces HTML Le mode chirurgien résout des bugs complexes en one-shot, exemple avec un plugin Grafana fixé en une minute Pour le code de production, l'IA génère les couches repository, service et API de manière itérative, mais le dev controle le modele de données Le développeur relit toujours le code et ajuste manuellement ou via l'IA selon le besoin L'IA ne remplacera pas les développeurs car la réflexion, conception et expertise technique restent essentielles La construction de produits robustes, scalables et maintenables nécessite une expérience humaine L'IA libère du temps sur les tâches répétitives et permet de se concentrer sur les aspects complexes ce que je trouve interessant c'est la partie sur le code de prod effectivement, je corrige aussi beaucoup les propositions de l'IA en lui demandant de faire mieux dans tel ou tel domaine Sans guide, tout cela serait perdu Affaire a suivre un article en parallele sur le métier de designer https://blog.ippon.fr/2025/11/03/lia-ne-remplace-pas-un-designer-elle-amplifie-la-difference-entre-faire-et-bien-faire/ Plus besoin de se rappeler les racourcis dans IntelliJ idea avec l'universal entry point https://blog.jetbrains.com/idea/2025/11/universal-entry-point-a-single-entry-point-for-context-aware-coding-assistance/ IntelliJ IDEA introduit Command Completion, une nouvelle façon d'accéder aux actions de l'IDE directement depuis l'éditeur Fonctionne comme la complétion de code : tapez point (.) pour voir les actions contextuelles disponibles Tapez double point (..) pour filtrer et n'afficher que les actions disponibles Propose des corrections, refactorings, génération de code et navigation selon le contexte Complète les fonctionnalités existantes sans les remplacer : raccourcis, Alt+Enter, Search Everywhere Facilite la découverte des fonctionnalités de l'IDE sans interrompre le flux de développement En Beta dans la version 2025.2, sera activé par défaut dans 2025.3 Support actuel pour Java et Kotlin, avec actions spécifiques aux frameworks comme Spring et Hibernate Homebrew, package manage pour macOS et Linux passe en version 5 https://brew.sh/2025/11/12/homebrew-5.0.0/ Téléchargements Parallèles par Défaut : Le paramètre HOMEBREW_DOWNLOAD_CONCURRENCY=auto est activé par défaut, permettant des téléchargements concurrents pour tous les utilisateurs, avec un rapport de progression. Support Linux ARM64/AArch64 en Tier 1 : Le support pour Linux ARM64/AArch64 a été promu au niveau "Tier 1" (support officiel de premier plan). Feuille de Route pour les Dépréciations macOS : Septembre 2026 (ou plus tard) : Homebrew ne fonctionnera plus sur macOS Catalina (10.15) et versions antérieures. macOS Intel (x86_64) passera en "Tier 3" (fin du support CI et des binaires précompilés/bottles). Septembre 2027 (ou plus tard) : Homebrew ne fonctionnera plus sur macOS Big Sur (11) sur Apple Silicon ni du tout sur Intel (x86_64). Sécurité et Casks : Dépréciation des Casks sans signature de code. Désactivation des Casks échouant aux vérifications Gatekeeper en septembre 2026. Les options --no-quarantine et --quarantine sont dépréciés pour ne plus faciliter le contournement des fonctionnalités de sécurité de macOS. Nouvelles Fonctionnalités & Améliorations : Support officiel pour macOS 26 (Tahoe). brew bundle supporte désormais l'installation de packages Go via un Brewfile. Ajout de la commande brew info --sizes pour afficher la taille des formulae et casks. La commande brew search --alpine permet de chercher des packages Alpine Linux. Architecture Selon l'analyste RedMonk, Java reste très pertinent dans l'aire de l'IA et des agents https://redmonk.com/jgovernor/java-relevance-in-the-ai-era-agent-frameworks-emerge/ Java reste pertinent à l'ère de l'IA, pas besoin d'apprendre une pile technique entièrement nouvelle. Capacité d'adaptation de Java ("anticorps") aux innovations (Big Data, cloud, IA), le rendant idéal pour les contextes d'entreprise. L'écosystème JVM offre des avantages sur Python pour la logique métier et les applications sophistiquées, notamment en termes de sécurité et d'évolutivité. Embabel (par Rod Johnson, créateur de Spring) : un framework d'agents fortement typé pour JVM, visant le déterminisme des projets avant la génération de code par LLM. LangChain4J : facilite l'accès aux capacités d'IA pour les développeurs Java, s'aligne sur les modèles d'entreprise établis et permet aux LLM d'appeler des méthodes Java. Koog (Jetbrains) : framework d'agents basé sur Kotlin, typé et spécifique aux développeurs JVM/Kotlin. Akka : a pivoté pour se concentrer sur les flux de travail d'agents IA, abordant la complexité, la confiance et les coûts des agents dans les systèmes distribués. Le Model Context Protocol (MCP) est jugé insuffisant, manquant d'explicabilité, de découvrabilité, de capacité à mélanger les modèles, de garde-fous, de gestion de flux, de composabilité et d'intégration sécurisée. Les développeurs Java sont bien placés pour construire des applications compatibles IA et intégrer des agents. Des acteurs majeurs comme IBM, Red Hat et Oracle continuent d'investir massivement dans Java et son intégration avec l'IA. Sécurité AI Deepfake, Hiring … A danger réel https://www.eu-startups.com/2025/10/european-startups-get-serious-about-deepfakes-as-ai-fraud-losses-surpass-e1-3-billion/ Pertes liées aux deepfakes en Europe : > 1,3 milliard € (860 M € rien qu'en 2025). Création de deepfakes désormais possible pour quelques euros. Fraudes : faux entretiens vidéo, usurpations d'identité, arnaques diverses. Startups actives : Acoru, IdentifAI, Trustfull, Innerworks, Keyless (détection et prévention). Réglementation : AI Act et Digital Services Act imposent transparence et contrôle. Recommandations : vérifier identités, former employés, adopter authentification multi-facteurs. En lien : https://www.techmonitor.ai/technology/cybersecurity/remote-hiring-cybersecurity 1 Candidat sur 4 sera Fake en 2028 selon Gartner research https://www.gartner.com/en/newsroom/press-releases/2025-07-31-gartner-survey-shows-j[…]-percent-of-job-applicants-trust-ai-will-fairly-evaluate-them Loi, société et organisation Amazon - prévoit supprimer 30.000 postes https://www.20minutes.fr/economie/4181936-20251028-amazon-prevoit-supprimer-30-000-emplois-bureau-selon-plusieurs-medias Postes supprimés : 30 000 bureaux Part des effectifs : ~10 % des employés corporatifs Tranche confirmée : 14 000 postes Divisions touchées : RH, Opérations, Devices & Services, Cloud Motifs : sur-recrutement, bureaucratie, automatisation/IA Accompagnement : 90 jours pour poste interne + aides Non concernés : entrepôts/logistique Objectif : concentrer sur priorités stratégiques NTP a besoin d'argent https://www.ntp.org/ Il n'est que le protocole qui synchronise toutes les machines du monde La fondation https://www.nwtime.org/ recherche 11000$ pour maintenir son activité Rubrique débutant Une plongée approfondie dans le démarrage de la JVM https://inside.java/2025/01/28/jvm-start-up La JVM effectue une initialisation complexe avant d'exécuter le code : validation des arguments, détection des ressources système et sélection du garbage collector approprié Le chargement de classes suit une stratégie lazy où chaque classe charge d'abord ses dépendances dans l'ordre de déclaration, créant une chaîne d'environ 450 classes même pour un simple Hello World La liaison de classes comprend trois sous-processus : vérification de la structure, préparation avec initialisation des champs statiques à leurs valeurs par défaut, et résolution des références symboliques du Constant Pool Le CDS améliore les performances au démarrage en fournissant des classes pré-vérifiées, réduisant le travail de la JVM L'initialisation de classe exécute les initialiseurs statiques via la méthode spéciale clinit générée automatiquement par javac Le Project Leyden introduit la compilation AOT dans JDK 24 pour réduire le temps de démarrage en effectuant le chargement et la liaison de classes en avance de phase Pas si débutant finalement Conférences La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 12-14 novembre 2025 : Devoxx Morocco - Marrakech (Morocco) 15-16 novembre 2025 : Capitole du Libre - Toulouse (France) 19 novembre 2025 : SREday Paris 2025 Q4 - Paris (France) 19-21 novembre 2025 : Agile Grenoble - Grenoble (France) 20 novembre 2025 : OVHcloud Summit - Paris (France) 21 novembre 2025 : DevFest Paris 2025 - Paris (France) 24 novembre 2025 : Forward Data & AI Conference - Paris (France) 27 novembre 2025 : DevFest Strasbourg 2025 - Strasbourg (France) 28 novembre 2025 : DevFest Lyon - Lyon (France) 1-2 décembre 2025 : Tech Rocks Summit 2025 - Paris (France) 4-5 décembre 2025 : Agile Tour Rennes - Rennes (France) 5 décembre 2025 : DevFest Dijon 2025 - Dijon (France) 9-11 décembre 2025 : APIdays Paris - Paris (France) 9-11 décembre 2025 : Green IO Paris - Paris (France) 10-11 décembre 2025 : Devops REX - Paris (France) 10-11 décembre 2025 : Open Source Experience - Paris (France) 11 décembre 2025 : Normandie.ai 2025 - Rouen (France) 14-17 janvier 2026 : SnowCamp 2026 - Grenoble (France) 22 janvier 2026 : DevCon #26 : sécurité / post-quantique / hacking - Paris (France) 29-31 janvier 2026 : Epitech Summit 2026 - Paris - Paris (France) 2-5 février 2026 : Epitech Summit 2026 - Moulins - Moulins (France) 2-6 février 2026 : Web Days Convention - Aix-en-Provence (France) 3 février 2026 : Cloud Native Days France 2026 - Paris (France) 3-4 février 2026 : Epitech Summit 2026 - Lille - Lille (France) 3-4 février 2026 : Epitech Summit 2026 - Mulhouse - Mulhouse (France) 3-4 février 2026 : Epitech Summit 2026 - Nancy - Nancy (France) 3-4 février 2026 : Epitech Summit 2026 - Nantes - Nantes (France) 3-4 février 2026 : Epitech Summit 2026 - Marseille - Marseille (France) 3-4 février 2026 : Epitech Summit 2026 - Rennes - Rennes (France) 3-4 février 2026 : Epitech Summit 2026 - Montpellier - Montpellier (France) 3-4 février 2026 : Epitech Summit 2026 - Strasbourg - Strasbourg (France) 3-4 février 2026 : Epitech Summit 2026 - Toulouse - Toulouse (France) 4-5 février 2026 : Epitech Summit 2026 - Bordeaux - Bordeaux (France) 4-5 février 2026 : Epitech Summit 2026 - Lyon - Lyon (France) 4-6 février 2026 : Epitech Summit 2026 - Nice - Nice (France) 12-13 février 2026 : Touraine Tech #26 - Tours (France) 26-27 mars 2026 : SymfonyLive Paris 2026 - Paris (France) 27-29 mars 2026 : Shift - Nantes (France) 31 mars 2026 : ParisTestConf - Paris (France) 16-17 avril 2026 : MiXiT 2026 - Lyon (France) 22-24 avril 2026 : Devoxx France 2026 - Paris (France) 23-25 avril 2026 : Devoxx Greece - Athens (Greece) 6-7 mai 2026 : Devoxx UK 2026 - London (UK) 22 mai 2026 : AFUP Day 2026 Lille - Lille (France) 22 mai 2026 : AFUP Day 2026 Paris - Paris (France) 22 mai 2026 : AFUP Day 2026 Bordeaux - Bordeaux (France) 22 mai 2026 : AFUP Day 2026 Lyon - Lyon (France) 17 juin 2026 : Devoxx Poland - Krakow (Poland) 11-12 juillet 2026 : DevLille 2026 - Lille (France) 4 septembre 2026 : JUG Summer Camp 2026 - La Rochelle (France) 17-18 septembre 2026 : API Platform Conference 2026 - Lille (France) 5-9 octobre 2026 : Devoxx Belgium - Antwerp (Belgium) Nous contacter Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs Contactez-nous via X/twitter https://twitter.com/lescastcodeurs ou Bluesky https://bsky.app/profile/lescastcodeurs.com 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/
This interview was recorded for the GOTO Book Club.http://gotopia.tech/bookclubRead the full transcription of the interview here:https://gotopia.tech/episodes/393Victor Grazi - Oracle Java Champion & Co-Author of "Real-World Java"Jeanne Boyarsky - Oracle Java Champion, Co-Author of "Real-World Java" & "OCP 21 Java Cert Book"Barry Burd - Professor at Drew University, Owner at Burd Brain Consulting & Author of "Java for Dummies"RESOURCESVictorhttps://x.com/vgrazihttps://www.linkedin.com/in/victorgraziJeannehttps://bsky.app/profile/jeanneboyarsky.bsky.socialhttps://www.linkedin.com/in/jeanne-boyarskyBarryhttps://x.com/allmycodehttps://www.linkedin.com/in/barry-burdLinkshttps://projectlombok.orghttps://www.selikoff.net/2014/12/07/why-i-like-regular-expressions-who-says-they-arent-readableDESCRIPTIONBarry interviews Victor and Jeanne about their book "Real-World Java: Helping You Navigate the Java Ecosystem".Victor emphasizes that knowing how to use your development tools, particularly IDE refactoring features, is a better indicator of developer experience than algorithm tests.Rather than just teaching "hello world" examples, the authors focus on the essential ecosystem components needed to succeed in enterprise Java environments, making it accessible for anyone who knows the Java language but needs to understand the broader technological landscape they'll encounter in professional development roles. RECOMMENDED BOOKSVictor Grazi & Jeanne Boyarsky • Real-World Java • https://amzn.to/4oCEeBRJeanne Boyarsky &Inspiring Tech Leaders - The Technology PodcastInterviews with Tech Leaders and insights on the latest emerging technology trends.Listen on: Apple Podcasts Spotify Canada NowBold ideas with the people shaping Canada's next chapter.Listen on: Apple Podcasts SpotifyBlueskyTwitterInstagramLinkedInFacebookCHANNEL MEMBERSHIP BONUSJoin this channel to get early access to videos & other perks:https://www.youtube.com/channel/UCs_tLP3AiwYKwdUHpltJPuA/joinLooking for a unique learning experience?Attend the next GOTO conference near you! Get your ticket: gotopia.techSUBSCRIBE TO OUR YOUTUBE CHANNEL - new videos posted daily!
I have the absolute pleasure of talking with JVM, Brad Iron Lip Park, and Blake the Snake Hooper 3 members of Team USA silver Medal team at the WTC here in 2025. We go over some questions that I had and a lot more questions that the listeners had. Was a great conversation about their experiences at WTC 2025.
Java is a 30-year success story, made possible because its development consistently aligned with users' needs. In its early days, the platform required new features quickly, but over time, minimizing code breakage while carefully evolving the platform became essential. Critical junctures along that path included the introduction of modules and the current strive toward integrity by default. Nicolai Parlog talks to Mark Reinhold, Chief Architect of the Java Platform, who brings nearly three decades of experience shaping Java's evolution.
В 84 выпуске подкаста Javaswag поговорили Иваном Лягаевым о Scala, платформенных задачах и кодогенерации 00:00 Начало 04:36 Парадигмы программирования 16:00 Система эффектов в Scala 22:38 Scala в банке 27:21 Типичный Scala-сервис 33:17 HTTP библиотеки 37:13 Трассировка и мониторинг 44:37 Контекст 49:30 Переходы между языками программирования 51:54 Type Class в Scala 57:13 Java и Kotlin 01:00:38 Проблемы, Сообщество и Scala 01:07:41 Доклад о виртуальных потоках в Java 01:16:34 ТехДолг 01:21:02 Генерация клиентов и спецификаций API 01:29:16 Кодогенерация 01:31:06 Монорепозитории и многорепозитории 01:35:42 Платформенные задачи 01:38:04 AI-ассистенты 01:45:15 Непопулярное мнение Гость - https://www.linkedin.com/in/ivan-lyagaev/ Ссылки: Scala in Tinkoff https://www.youtube.com/playlist?list=PLLrf_044z4JpWZkPw9EDa-mM0fjdOKq7q T-Scala https://www.youtube.com/playlist?list=PLretT_1_SO-DUtzF0Dv-ZIMEc6sJOlOYL Ссылки на подкаст: Сайт - https://javaswag.github.io/ Телеграм - https://t.me/javaswag Youtube - https://www.youtube.com/@javaswag Linkedin - https://www.linkedin.com/in/volyihin/ X - https://x.com/javaswagpodcast
В 83 выпуске подкаста Javaswag поговорили Андреем Кулешовым о переходе в Яндекс, конференциях, бренде и локальном сообществе 00:00 Начало 02:49 Победа России на ICPC 05:47 Итоги года и встречи в офлайне 08:28 Переходы между компаниями и Яндекс 20:26 Quarkus 28:08 Quarkus и Микронавт 34:47 Платформы для хранения кода 38:10 Развитие IT-сообщества 52:07 Конференции, программы 01:01:45 Тренды и фрагментация сообщества 01:20:31 Доклады 01:29:27 Роль ИИ в обучении и разработке 01:37:50 Непопулярное мнение Гость - https://t.me/akuleshov7_live Ссылки: Ссылки на подкаст: Сайт - https://javaswag.github.io/ Телеграм - https://t.me/javaswag Youtube - https://www.youtube.com/@javaswag Linkedin - https://www.linkedin.com/in/volyihin/ X - https://x.com/javaswagpodcast
OpenJDK projects such as Amber and Valhalla are renowned for their careful and methodical approach to designing and introducing new features to the Java platform. In this episode, Nicolai Parlog is joined by Brian Goetz, Java Language Architect at Oracle and lead of both Project Amber and Project Valhalla. Brian shares insights and updates on these influential initiatives as they discuss Amber's upcoming feature arc, Valhalla's plans for null-restriction, and more.
Jim Grisanzio from Oracle Java Developer Relations talks with Mattias Karlsson, Java Champion and prominent developer in the Java community who was also honored with the Java Community Lifetime Achievement recognition at Jfokus in February 2024. “I was shocked and honored — very humbled!” Mattias said about being recognized for his lifetime of achievements in the Java community by Sharat Chander of Oracle's Java Developer Relations Team. Mattias, a Stockholm-based engineer and long-time leader of the Stockholm Java User Group, shares his journey with Java, from its early days to its current role in modern tech ecosystems. He also talks about the evolution of Jfokus, a leading annual Java conference he organizes, which has grown from a small Java user group into a major gathering of over 2,000 developers from diverse backgrounds around the world. Mattias highlights Java's enduring appeal, driven by its robust JVM, backward compatibility, and vibrant community. He also reflects on the six-month release cycle, calling it “brilliant” for its balance of stability and innovation, and shares insights on mentoring young developers and using AI to stay updated. When talking about how students learning programming will inevitably encounter Java due to its widespread use in the industry, Mattias said, “Sooner or later they will end up with Java anyway.” Finally, the episode underscores the unique culture of the Java community and Jfokus as a conference for its blending of culture, professionalism, and a welcoming atmosphere. Mattias Karlsson https://x.com/matkar Jim Grisanzio https://x.com/jimgris Duke's Corner https://dukescorner.libsyn.com/site Podcast Archives, Transcripts, Quotes https://jimgrisanzio.wordpress.com/duke
Katia, Emmanuel et Guillaume discutent Java, Kotlin, Quarkus, Hibernate, Spring Boot 4, intelligence artificielle (modèles Nano Banana, VO3, frameworks agentiques, embedding). On discute les vulnerabilités OWASP pour les LLMs, les personalités de codage des différents modèles, Podman vs Docker, comment moderniser des projets legacy. Mais surtout on a passé du temps sur les présentations de Luc Julia et les différents contre points qui ont fait le buzz sur les réseaux. Enregistré le 12 septembre 2025 Téléchargement de l'épisode LesCastCodeurs-Episode-330.mp3 ou en vidéo sur YouTube. News Langages Dans cette vidéo, José détaille les nouveautés de Java entre Java 21 et 25 https://inside.java/2025/08/31/roadto25-java-language/ Aperçu des nouveautés du JDK 25 : Introduction des nouvelles fonctionnalités du langage Java et des changements à venir [00:02]. Programmation orientée données et Pattern Matching [00:43] : Évolution du “pattern matching” pour la déconstruction des “records” [01:22]. Utilisation des “sealed types” dans les expressions switch pour améliorer la lisibilité et la robustesse du code [01:47]. Introduction des “unnamed patterns” (_) pour indiquer qu'une variable n'est pas utilisée [04:47]. Support des types primitifs dans instanceof et switch (en preview) [14:02]. Conception d'applications Java [00:52] : Simplification de la méthode main [21:31]. Exécution directe des fichiers .java sans compilation explicite [22:46]. Amélioration des mécanismes d'importation [23:41]. Utilisation de la syntaxe Markdown dans la Javadoc [27:46]. Immuabilité et valeurs nulles [01:08] : Problème d'observation de champs final à null pendant la construction d'un objet [28:44]. JEP 513 pour contrôler l'appel à super() et restreindre l'usage de this dans les constructeurs [33:29]. JDK 25 sort le 16 septembre https://openjdk.org/projects/jdk/25/ Scoped Values (JEP 505) - alternative plus efficace aux ThreadLocal pour partager des données immutables entre threads Structured Concurrency (JEP 506) - traiter des groupes de tâches concurrentes comme une seule unité de travail, simplifiant la gestion des threads Compact Object Headers (JEP 519) - Fonctionnalité finale qui réduit de 50% la taille des en-têtes d'objets (de 128 à 64 bits), économisant jusqu'à 22% de mémoire heap Flexible Constructor Bodies (JEP 513) - Relaxation des restrictions sur les constructeurs, permettant du code avant l'appel super() ou this() Module Import Declarations (JEP 511) - Import simplifié permettant d'importer tous les éléments publics d'un module en une seule déclaration Compact Source Files (JEP 512) - Simplification des programmes Java basiques avec des méthodes main d'instance sans classe wrapper obligatoire Primitive Types in Patterns (JEP 455) - Troisième preview étendant le pattern matching et instanceof aux types primitifs dans switch et instanceof Generational Shenandoah (JEP 521) - Le garbage collector Shenandoah passe en mode générationnel pour de meilleures performances JFR Method Timing & Tracing (JEP 520) - Nouvel outillage de profilage pour mesurer le temps d'exécution et tracer les appels de méthodes Key Derivation API (JEP 510) - API finale pour les fonctions de dérivation de clés cryptographiques, remplaçant les implémentations tierces Améliorations du traitement des annotations dans Kotlin 2.2 https://blog.jetbrains.com/idea/2025/09/improved-annotation-handling-in-kotlin-2-2-less-boilerplate-fewer-surprises/ Avant Kotlin 2.2, les annotations sur les paramètres de constructeur n'étaient appliquées qu'au paramètre, pas à la propriété ou au champ Cela causait des bugs subtils avec Spring et JPA où la validation ne fonctionnait qu'à la création d'objet, pas lors des mises à jour La solution précédente nécessitait d'utiliser explicitement @field: pour chaque annotation, créant du code verbeux Kotlin 2.2 introduit un nouveau comportement par défaut qui applique les annotations aux paramètres ET aux propriétés/champs automatiquement Le code devient plus propre sans avoir besoin de syntaxe @field: répétitive Pour l'activer, ajouter -Xannotation-default-target=param-property dans les options du compilateur Gradle IntelliJ IDEA propose un quick-fix pour activer ce comportement à l'échelle du projet Cette amélioration rend l'intégration Kotlin plus fluide avec les frameworks majeurs comme Spring et JPA Le comportement peut être configuré pour garder l'ancien mode ou activer un mode transitoire avec avertissements Cette mise à jour fait partie d'une initiative plus large pour améliorer l'expérience Kotlin + Spring Librairies Sortie de Quarkus 3.26 avec mises à jour d'Hibernate et autres fonctionnalités - https://quarkus.io/blog/quarkus-3-26-released/ mettez à jour vers la 3.26.x car il y a eu une regression vert.x Jalon important vers la version LTS 3.27 prévue fin septembre, basée sur cette version Mise à jour vers Hibernate ORM 7.1, Hibernate Search 8.1 et Hibernate Reactive 3.1 Support des unités de persistance nommées et sources de données dans Hibernate Reactive Démarrage hors ligne et configuration de dialecte pour Hibernate ORM même si la base n'est pas accessible Refonte de la console HQL dans Dev UI avec fonctionnalité Hibernate Assistant intégrée Exposition des capacités Dev UI comme fonctions MCP pour pilotage via outils IA Rafraîchissement automatique des tokens OIDC en cas de réponse 401 des clients REST Extension JFR pour capturer les données runtime (nom app, version, extensions actives) Bump de Gradle vers la version 9.0 par défaut, suppression du support des classes config legacy Guide de démarrage avec Quarkus et A2A Java SDK 0.3.0 (pour faire discuter des agents IA avec la dernière version du protocole A2A) https://quarkus.io/blog/quarkus-a2a-java-0-3-0-alpha-release/ Sortie de l'A2A Java SDK 0.3.0.Alpha1, aligné avec la spécification A2A v0.3.0. Protocole A2A : standard ouvert (Linux Foundation), permet la communication inter-agents IA polyglottes. Version 0.3.0 plus stable, introduit le support gRPC. Mises à jour générales : changements significatifs, expérience utilisateur améliorée (côté client et serveur). Agents serveur A2A : Support gRPC ajouté (en plus de JSON-RPC). HTTP+JSON/REST à venir. Implémentations basées sur Quarkus (alternatives Jakarta existent). Dépendances spécifiques pour chaque transport (ex: a2a-java-sdk-reference-jsonrpc, a2a-java-sdk-reference-grpc). AgentCard : décrit les capacités de l'agent. Doit spécifier le point d'accès primaire et tous les transports supportés (additionalInterfaces). Clients A2A : Dépendance principale : a2a-java-sdk-client. Support gRPC ajouté (en plus de JSON-RPC). HTTP+JSON/REST à venir. Dépendance spécifique pour gRPC : a2a-java-sdk-client-transport-grpc. Création de client : via ClientBuilder. Sélectionne automatiquement le transport selon l'AgentCard et la configuration client. Permet de spécifier les transports supportés par le client (withTransport). Comment générer et éditer des images en Java avec Nano Banana, le “photoshop killer” de Google https://glaforge.dev/posts/2025/09/09/calling-nano-banana-from-java/ Objectif : Intégrer le modèle Nano Banana (Gemini 2.5 Flash Image preview) dans des applications Java. SDK utilisé : GenAI Java SDK de Google. Compatibilité : Supporté par ADK for Java ; pas encore par LangChain4j (limitation de multimodalité de sortie). Capacités de Nano Banana : Créer de nouvelles images. Modifier des images existantes. Assembler plusieurs images. Mise en œuvre Java : Quelle dépendance utiliser Comment s'authentifier Comment configurer le modèle Nature du modèle : Nano Banana est un modèle de chat qui peut retourner du texte et une image (pas simplement juste un modèle générateur d'image) Exemples d'utilisation : Création : Via un simple prompt textuel. Modification : En passant l'image existante (tableau de bytes) et les instructions de modification (prompt). Assemblage : En passant plusieurs images (en bytes) et les instructions d'intégration (prompt). Message clé : Toutes ces fonctionnalités sont accessibles en Java, sans nécessiter Python. Générer des vidéos IA avec le modèle Veo 3, mais en Java ! https://glaforge.dev/posts/2025/09/10/generating-videos-in-java-with-veo3/ Génération de vidéos en Java avec Veo 3 (via le GenAI Java SDK de Google). Veo 3: Annoncé comme GA, prix réduits, support du format 9:16, résolution jusqu'à 1080p. Création de vidéos : À partir d'une invite textuelle (prompt). À partir d'une image existante. Deux versions différentes du modèle : veo-3.0-generate-001 (qualité supérieure, plus coûteux, plus lent). veo-3.0-fast-generate-001 (qualité inférieure, moins coûteux, mais plus rapide). Rod Johnson sur ecrire des aplication agentic en Java plus facilement qu'en python avec Embabel https://medium.com/@springrod/you-can-build-better-ai-agents-in-java-than-python-868eaf008493 Rod the papa de Spring réécrit un exemple CrewAI (Python) qui génère un livre en utilisant Embabel (Java) pour démontrer la supériorité de Java L'application utilise plusieurs agents AI spécialisés : un chercheur, un planificateur de livre et des rédacteurs de chapitres Le processus suit trois étapes : recherche du sujet, création du plan, rédaction parallèle des chapitres puis assemblage CrewAI souffre de plusieurs problèmes : configuration lourde, manque de type safety, utilisation de clés magiques dans les prompts La version Embabel nécessite moins de code Java que l'original Python et moins de fichiers de configuration YAML Embabel apporte la type safety complète, éliminant les erreurs de frappe dans les prompts et améliorant l'outillage IDE La gestion de la concurrence est mieux contrôlée en Java pour éviter les limites de débit des APIs LLM L'intégration avec Spring permet une configuration externe simple des modèles LLM et hyperparamètres Le planificateur Embabel détermine automatiquement l'ordre d'exécution des actions basé sur leurs types requis L'argument principal : l'écosystème JVM offre un meilleur modèle de programmation et accès à la logique métier existante que Python Il y a pas mal de nouveaux framework agentic en Java, notamment le dernier LAngchain4j Agentic Spring lance un serie de blog posts sur les nouveautés de Spring Boot 4 https://spring.io/blog/2025/09/02/road_to_ga_introduction baseline JDK 17 mais rebase sur Jakarta 11 Kotlin 2, Jackson 3 et JUnit 6 Fonctionnalités de résilience principales de Spring : @ConcurrencyLimit, @Retryable, RetryTemplate Versioning d'API dans Spring Améliorations du client de service HTTP L'état des clients HTTP dans Spring Introduction du support Jackson 3 dans Spring Consommateur partagé - les queues Kafka dans Spring Kafka Modularisation de Spring Boot Autorisation progressive dans Spring Security Spring gRPC - un nouveau module Spring Boot Applications null-safe avec Spring Boot 4 OpenTelemetry avec Spring Boot Repos Ahead of Time (Partie 2) Web Faire de la recherche sémantique directement dans le navigateur en local, avec EmbeddingGemma et Transformers.js https://glaforge.dev/posts/2025/09/08/in-browser-semantic-search-with-embeddinggemma/ EmbeddingGemma: Nouveau modèle d'embedding (308M paramètres) de Google DeepMind. Objectif: Permettre la recherche sémantique directement dans le navigateur. Avantages clés de l'IA côté client: Confidentialité: Aucune donnée envoyée à un serveur. Coûts réduits: Pas besoin de serveurs coûteux (GPU), hébergement statique. Faible latence: Traitement instantané sans allers-retours réseau. Fonctionnement hors ligne: Possible après le chargement initial du modèle. Technologie principale: Modèle: EmbeddingGemma (petit, performant, multilingue, support MRL pour réduire la taille des vecteurs). Moteur d'inférence: Transformers.js de HuggingFace (exécute les modèles AI en JavaScript dans le navigateur). Déploiement: Site statique avec Vite/React/Tailwind CSS, déployé sur Firebase Hosting via GitHub Actions. Gestion du modèle: Fichiers du modèle trop lourds pour Git; téléchargés depuis HuggingFace Hub pendant le CI/CD. Fonctionnement de l'app: Charge le modèle, génère des embeddings pour requêtes/documents, calcule la similarité sémantique. Conclusion: Démonstration d'une recherche sémantique privée, économique et sans serveur, soulignant le potentiel de l'IA embarquée dans le navigateur. Data et Intelligence Artificielle Docker lance Cagent, une sorte de framework multi-agent IA utilisant des LLMs externes, des modèles de Docker Model Runner, avec le Docker MCP Tookit. Il propose un format YAML pour décrire les agents d'un système multi-agents. https://github.com/docker/cagent des agents “prompt driven” (pas de code) et une structure pour decrire comment ils sont deployés pas clair comment ils sont appelés a part dans la ligne de commande de cagent fait par david gageot L'owasp décrit l'independance excessive des LLM comme une vulnerabilité https://genai.owasp.org/llmrisk2023-24/llm08-excessive-agency/ L'agence excessive désigne la vulnérabilité qui permet aux systèmes LLM d'effectuer des actions dommageables via des sorties inattendues ou ambiguës. Elle résulte de trois causes principales : fonctionnalités excessives, permissions excessives ou autonomie excessive des agents LLM. Les fonctionnalités excessives incluent l'accès à des plugins qui offrent plus de capacités que nécessaire, comme un plugin de lecture qui peut aussi modifier ou supprimer. Les permissions excessives se manifestent quand un plugin accède aux systèmes avec des droits trop élevés, par exemple un accès en lecture qui inclut aussi l'écriture. L'autonomie excessive survient quand le système effectue des actions critiques sans validation humaine préalable. Un scénario d'attaque typique : un assistant personnel avec accès email peut être manipulé par injection de prompt pour envoyer du spam via la boîte de l'utilisateur. La prévention implique de limiter strictement les plugins aux fonctions minimales nécessaires pour l'opération prévue. Il faut éviter les fonctions ouvertes comme “exécuter une commande shell” au profit d'outils plus granulaires et spécifiques. L'application du principe de moindre privilège est cruciale : chaque plugin doit avoir uniquement les permissions minimales requises. Le contrôle humain dans la boucle reste essentiel pour valider les actions à fort impact avant leur exécution. Lancement du MCP registry, une sorte de méta-annuaire officiel pour référencer les serveurs MCP https://www.marktechpost.com/2025/09/09/mcp-team-launches-the-preview-version-of-the-mcp-registry-a-federated-discovery-layer-for-enterprise-ai/ MCP Registry : Couche de découverte fédérée pour l'IA d'entreprise. Fonctionne comme le DNS pour le contexte de l'IA, permettant la découverte de serveurs MCP publics ou privés. Modèle fédéré : Évite les risques de sécurité et de conformité d'un registre monolithique. Permet des sous-registres privés tout en conservant une source de vérité “upstream”. Avantages entreprises : Découverte interne sécurisée. Gouvernance centralisée des serveurs externes. Réduction de la prolifération des contextes. Support pour les agents IA hybrides (données privées/publiques). Projet open source, actuellement en version preview. Blog post officiel : https://blog.modelcontextprotocol.io/posts/2025-09-08-mcp-registry-preview/ Exploration des internals du transaction log SQL Server https://debezium.io/blog/2025/09/08/sqlserver-tx-log/ C'est un article pour les rugeux qui veulent savoir comment SQLServer marche à l'interieur Debezium utilise actuellement les change tables de SQL Server CDC en polling périodique L'article explore la possibilité de parser directement le transaction log pour améliorer les performances Le transaction log est divisé en Virtual Log Files (VLFs) utilisés de manière circulaire Chaque VLF contient des blocs (512B à 60KB) qui contiennent les records de transactions Chaque record a un Log Sequence Number (LSN) unique pour l'identifier précisément Les données sont stockées dans des pages de 8KB avec header de 96 bytes et offset array Les tables sont organisées en partitions et allocation units pour gérer l'espace disque L'utilitaire DBCC permet d'explorer la structure interne des pages et leur contenu Cette compréhension pose les bases pour parser programmatiquement le transaction log dans un prochain article Outillage Les personalités des codeurs des différents LLMs https://www.sonarsource.com/blog/the-coding-personalities-of-leading-llms-gpt-5-update/ GPT-5 minimal ne détrône pas Claude Sonnet 4 comme leader en performance fonctionnelle malgré ses 75% de réussite GPT-5 génère un code extrêmement verbeux avec 490 000 lignes contre 370 000 pour Claude Sonnet 4 sur les mêmes tâches La complexité cyclomatique et cognitive du code GPT-5 est dramatiquement plus élevée que tous les autres modèles GPT-5 introduit 3,90 problèmes par tâche réussie contre seulement 2,11 pour Claude Sonnet 4 Point fort de GPT-5 : sécurité exceptionnelle avec seulement 0,12 vulnérabilité par 1000 lignes de code Faiblesse majeure : densité très élevée de “code smells” (25,28 par 1000 lignes) nuisant à la maintenabilité GPT-5 produit 12% de problèmes liés à la complexité cognitive, le taux le plus élevé de tous les modèles Tendance aux erreurs logiques fondamentales avec 24% de bugs de type “Control-flow mistake” Réapparition de vulnérabilités classiques comme les failles d'injection et de traversée de chemin Nécessité d'une gouvernance renforcée avec analyse statique obligatoire pour gérer la complexité du code généré Pourquoi j'ai abandonné Docker pour Podman https://codesmash.dev/why-i-ditched-docker-for-podman-and-you-should-too Problème Docker : Le daemon dockerd persistant s'exécute avec des privilèges root, posant des risques de sécurité (nombreuses CVEs citées) et consommant des ressources inutilement. Solution Podman : Sans Daemon : Pas de processus d'arrière-plan persistant. Les conteneurs s'exécutent comme des processus enfants de la commande Podman, sous les privilèges de l'utilisateur. Sécurité Renforcée : Réduction de la surface d'attaque. Une évasion de conteneur compromet un utilisateur non privilégié sur l'hôte, pas le système entier. Mode rootless. Fiabilité Accrue : Pas de point de défaillance unique ; le crash d'un conteneur n'affecte pas les autres. Moins de Ressources : Pas de daemon constamment actif, donc moins de mémoire et de CPU. Fonctionnalités Clés de Podman : Intégration Systemd : Génération automatique de fichiers d'unité systemd pour gérer les conteneurs comme des services Linux standards. Alignement Kubernetes : Support natif des pods et capacité à générer des fichiers Kubernetes YAML directement (podman generate kube), facilitant le développement local pour K8s. Philosophie Unix : Se concentre sur l'exécution des conteneurs, délègue les tâches spécialisées à des outils dédiés (ex: Buildah pour la construction d'images, Skopeo pour leur gestion). Migration Facile : CLI compatible Docker : podman utilise les mêmes commandes que docker (alias docker=podman fonctionne). Les Dockerfiles existants sont directement utilisables. Améliorations incluses : Sécurité par défaut (ports privilégiés en mode rootless), meilleure gestion des permissions de volume, API Docker compatible optionnelle. Option de convertir Docker Compose en Kubernetes YAML. Bénéfices en Production : Sécurité améliorée, utilisation plus propre des ressources. Podman représente une évolution plus sécurisée et mieux alignée avec les pratiques modernes de gestion Linux et de déploiement de conteneurs. Guide Pratique (Exemple FastAPI) : Le Dockerfile ne change pas. podman build et podman run remplacent directement les commandes Docker. Déploiement en production via Systemd. Gestion d'applications multi-services avec les “pods” Podman. Compatibilité Docker Compose via podman-compose ou kompose. Détection améliorée des APIs vulnérables dans les IDEs JetBrains et Qodana - https://blog.jetbrains.com/idea/2025/09/enhanced-vulnerable-api-detection-in-jetbrains-ides-and-qodana/ JetBrains s'associe avec Mend.io pour renforcer la sécurité du code dans leurs outils Le plugin Package Checker bénéficie de nouvelles données enrichies sur les APIs vulnérables Analyse des graphes d'appels pour couvrir plus de méthodes publiques des bibliothèques open-source Support de Java, Kotlin, C#, JavaScript, TypeScript et Python pour la détection de vulnérabilités Activation des inspections via Paramètres > Editor > Inspections en recherchant “Vulnerable API” Surlignage automatique des méthodes vulnérables avec détails des failles au survol Action contextuelle pour naviguer directement vers la déclaration de dépendance problématique Mise à jour automatique vers une version non affectée via Alt+Enter sur la dépendance Fenêtre dédiée “Vulnerable Dependencies” pour voir l'état global des vulnérabilités du projet Méthodologies Le retour de du sondage de Stack Overflow sur l'usage de l'IA dans le code https://medium.com/@amareshadak/stack-overflow-just-exposed-the-ugly-truth-about-ai-coding-tools-b4f7b5992191 84% des développeurs utilisent l'IA quotidiennement, mais 46% ne font pas confiance aux résultats. Seulement 3,1% font “hautement confiance” au code généré. 66% sont frustrés par les solutions IA “presque correctes”. 45% disent que déboguer le code IA prend plus de temps que l'écrire soi-même. Les développeurs seniors (10+ ans) font moins confiance à l'IA (2,6%) que les débutants (6,1%), créant un écart de connaissances dangereux. Les pays occidentaux montrent moins de confiance - Allemagne (22%), UK (23%), USA (28%) - que l'Inde (56%). Les créateurs d'outils IA leur font moins confiance. 77% des développeurs professionnels rejettent la programmation en langage naturel, seuls 12% l'utilisent réellement. Quand l'IA échoue, 75% se tournent vers les humains. 35% des visites Stack Overflow concernent maintenant des problèmes liés à l'IA. 69% rapportent des gains de productivité personnels, mais seulement 17% voient une amélioration de la collaboration d'équipe. Coûts cachés : temps de vérification, explication du code IA aux équipes, refactorisation et charge cognitive constante. Les plateformes humaines dominent encore : Stack Overflow (84%), GitHub (67%), YouTube (61%) pour résoudre les problèmes IA. L'avenir suggère un “développement augmenté” où l'IA devient un outil parmi d'autres, nécessitant transparence et gestion de l'incertitude. Mentorat open source et défis communautaires par les gens de Microcks https://microcks.io/blog/beyond-code-open-source-mentorship/ Microcks souffre du syndrome des “utilisateurs silencieux” qui bénéficient du projet sans contribuer Malgré des milliers de téléchargements et une adoption croissante, l'engagement communautaire reste faible Ce manque d'interaction crée des défis de durabilité et limite l'innovation du projet Les mainteneurs développent dans le vide sans feedback des vrais utilisateurs Contribuer ne nécessite pas de coder : documentation, partage d'expérience, signalement de bugs suffisent Parler du project qu'on aime autour de soi est aussi super utile Microcks a aussi des questions specifiques qu'ils ont posé dans le blog, donc si vous l'utilisez, aller voir Le succès de l'open source dépend de la transformation des utilisateurs en véritables partenaires communautaires c'est un point assez commun je trouve, le ratio parlant / silencieux est tres petit et cela encourage les quelques grandes gueules La modernisation du systemes legacy, c'est pas que de la tech https://blog.scottlogic.com/2025/08/27/holistic-approach-successful-legacy-modernisation.html Un artcile qui prend du recul sur la modernisation de systemes legacy Les projets de modernisation legacy nécessitent une vision holistique au-delà du simple focus technologique Les drivers business diffèrent des projets greenfield : réduction des coûts et mitigation des risques plutôt que génération de revenus L'état actuel est plus complexe à cartographier avec de nombreuses dépendances et risques de rupture Collaboration essentielle entre Architectes, Analystes Business et Designers UX dès la phase de découverte Approche tridimensionnelle obligatoire : Personnes, Processus et Technologie (comme un jeu d'échecs 3D) Le leadership doit créer l'espace nécessaire pour la découverte et la planification plutôt que presser l'équipe Communication en termes business plutôt que techniques vers tous les niveaux de l'organisation Planification préalable essentielle contrairement aux idées reçues sur l'agilité Séquencement optimal souvent non-évident et nécessitant une analyse approfondie des interdépendances Phases projet alignées sur les résultats business permettent l'agilité au sein de chaque phase Sécurité Cyber Attaque su Musée Histoire Naturelle https://www.franceinfo.fr/internet/securite-sur-internet/cyberattaques/le-museum-nati[…]e-d-une-cyberattaque-severe-une-plainte-deposee_7430356.html Compromission massive de packages npm populaires par un malware crypto https://www.aikido.dev/blog/npm-debug-and-chalk-packages-compromised 18 packages npm très populaires compromis le 8 septembre 2025, incluant chalk, debug, ansi-styles avec plus de 2 milliards de téléchargements hebdomadaires combinés duckdb s'est rajouté à la liste Code malveillant injecté qui intercepte silencieusement l'activité crypto et web3 dans les navigateurs des utilisateurs Le malware manipule les interactions de wallet et redirige les paiements vers des comptes contrôlés par l'attaquant sans signes évidents Injection dans les fonctions critiques comme fetch, XMLHttpRequest et APIs de wallets (window.ethereum, Solana) pour intercepter le trafic Détection et remplacement automatique des adresses crypto sur multiple blockchains (Ethereum, Bitcoin, Solana, Tron, Litecoin, Bitcoin Cash) Les transactions sont modifiées en arrière-plan même si l'interface utilisateur semble correcte et légitime Utilise des adresses “sosies” via correspondance de chaînes pour rendre les échanges moins évidents à détecter Le mainteneur compromis par email de phishing provenant du faux domaine “mailto:support@npmjs.help|support@npmjs.help” enregistré 3 jours avant l'attaque sur une demande de mise a jour de son autheotnfication a deux facteurs après un an Aikido a alerté le mainteneur via Bluesky qui a confirmé la compromission et commencé le nettoyage des packages Attaque sophistiquée opérant à plusieurs niveaux: contenu web, appels API et manipulation des signatures de transactions Les anti-cheats de jeux vidéo : une faille de sécurité majeure ? - https://tferdinand.net/jeux-video-et-si-votre-anti-cheat-etait-la-plus-grosse-faille/ Les anti-cheats modernes s'installent au Ring 0 (noyau système) avec privilèges maximaux Ils obtiennent le même niveau d'accès que les antivirus professionnels mais sans audit ni certification Certains exploitent Secure Boot pour se charger avant le système d'exploitation Risque de supply chain : le groupe APT41 a déjà compromis des jeux comme League of Legends Un attaquant infiltré pourrait désactiver les solutions de sécurité et rester invisible Menace de stabilité : une erreur peut empêcher le démarrage du système (référence CrowdStrike) Conflits possibles entre différents anti-cheats qui se bloquent mutuellement Surveillance en temps réel des données d'utilisation sous prétexte anti-triche Dérive dangereuse selon l'auteur : des entreprises de jeux accèdent au niveau EDR Alternatives limitées : cloud gaming ou sandboxing avec impact sur performances donc faites gaffe aux jeux que vos gamins installent ! Loi, société et organisation Luc Julia au Sénat - Monsieur Phi réagi et publie la vidéo Luc Julia au Sénat : autopsie d'un grand N'IMPORTE QUOI https://www.youtube.com/watch?v=e5kDHL-nnh4 En format podcast de 20 minutes, sorti au même moment et à propos de sa conf à Devoxx https://www.youtube.com/watch?v=Q0gvaIZz1dM Le lab IA - Jérôme Fortias - Et si Luc Julia avait raison https://www.youtube.com/watch?v=KScI5PkCIaE Luc Julia au Senat https://www.youtube.com/watch?v=UjBZaKcTeIY Luc Julia se défend https://www.youtube.com/watch?v=DZmxa7jJ8sI Intelligence artificielle : catastrophe imminente ? - Luc Julia vs Maxime Fournes https://www.youtube.com/watch?v=sCNqGt7yIjo Tech and Co Monsieur Phi vs Luc Julia (put a click) https://www.youtube.com/watch?v=xKeFsOceT44 La tronche en biais https://www.youtube.com/live/zFwLAOgY0Wc Conférences La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 12 septembre 2025 : Agile Pays Basque 2025 - Bidart (France) 15 septembre 2025 : Agile Tour Montpellier - Montpellier (France) 18-19 septembre 2025 : API Platform Conference - Lille (France) & Online 22-24 septembre 2025 : Kernel Recipes - Paris (France) 22-27 septembre 2025 : La Mélée Numérique - Toulouse (France) 23 septembre 2025 : OWASP AppSec France 2025 - Paris (France) 23-24 septembre 2025 : AI Engineer Paris - Paris (France) 25 septembre 2025 : Agile Game Toulouse - Toulouse (France) 25-26 septembre 2025 : Paris Web 2025 - Paris (France) 30 septembre 2025-1 octobre 2025 : PyData Paris 2025 - Paris (France) 2 octobre 2025 : Nantes Craft - Nantes (France) 2-3 octobre 2025 : Volcamp - Clermont-Ferrand (France) 3 octobre 2025 : DevFest Perros-Guirec 2025 - Perros-Guirec (France) 6-7 octobre 2025 : Swift Connection 2025 - Paris (France) 6-10 octobre 2025 : Devoxx Belgium - Antwerp (Belgium) 7 octobre 2025 : BSides Mulhouse - Mulhouse (France) 7-8 octobre 2025 : Agile en Seine - Issy-les-Moulineaux (France) 8-10 octobre 2025 : SIG 2025 - Paris (France) & Online 9 octobre 2025 : DevCon #25 : informatique quantique - Paris (France) 9-10 octobre 2025 : Forum PHP 2025 - Marne-la-Vallée (France) 9-10 octobre 2025 : EuroRust 2025 - Paris (France) 16 octobre 2025 : PlatformCon25 Live Day Paris - Paris (France) 16 octobre 2025 : Power 365 - 2025 - Lille (France) 16-17 octobre 2025 : DevFest Nantes - Nantes (France) 17 octobre 2025 : Sylius Con 2025 - Lyon (France) 17 octobre 2025 : ScalaIO 2025 - Paris (France) 17-19 octobre 2025 : OpenInfra Summit Europe - Paris (France) 20 octobre 2025 : Codeurs en Seine - Rouen (France) 23 octobre 2025 : Cloud Nord - Lille (France) 30-31 octobre 2025 : Agile Tour Bordeaux 2025 - Bordeaux (France) 30-31 octobre 2025 : Agile Tour Nantais 2025 - Nantes (France) 30 octobre 2025-2 novembre 2025 : PyConFR 2025 - Lyon (France) 4-7 novembre 2025 : NewCrafts 2025 - Paris (France) 5-6 novembre 2025 : Tech Show Paris - Paris (France) 5-6 novembre 2025 : Red Hat Summit: Connect Paris 2025 - Paris (France) 6 novembre 2025 : dotAI 2025 - Paris (France) 6 novembre 2025 : Agile Tour Aix-Marseille 2025 - Gardanne (France) 7 novembre 2025 : BDX I/O - Bordeaux (France) 12-14 novembre 2025 : Devoxx Morocco - Marrakech (Morocco) 13 novembre 2025 : DevFest Toulouse - Toulouse (France) 15-16 novembre 2025 : Capitole du Libre - Toulouse (France) 19 novembre 2025 : SREday Paris 2025 Q4 - Paris (France) 19-21 novembre 2025 : Agile Grenoble - Grenoble (France) 20 novembre 2025 : OVHcloud Summit - Paris (France) 21 novembre 2025 : DevFest Paris 2025 - Paris (France) 27 novembre 2025 : DevFest Strasbourg 2025 - Strasbourg (France) 28 novembre 2025 : DevFest Lyon - Lyon (France) 1-2 décembre 2025 : Tech Rocks Summit 2025 - Paris (France) 4-5 décembre 2025 : Agile Tour Rennes - Rennes (France) 5 décembre 2025 : DevFest Dijon 2025 - Dijon (France) 9-11 décembre 2025 : APIdays Paris - Paris (France) 9-11 décembre 2025 : Green IO Paris - Paris (France) 10-11 décembre 2025 : Devops REX - Paris (France) 10-11 décembre 2025 : Open Source Experience - Paris (France) 11 décembre 2025 : Normandie.ai 2025 - Rouen (France) 14-17 janvier 2026 : SnowCamp 2026 - Grenoble (France) 2-6 février 2026 : Web Days Convention - Aix-en-Provence (France) 3 février 2026 : Cloud Native Days France 2026 - Paris (France) 12-13 février 2026 : Touraine Tech #26 - Tours (France) 22-24 avril 2026 : Devoxx France 2026 - Paris (France) 23-25 avril 2026 : Devoxx Greece - Athens (Greece) 17 juin 2026 : Devoxx Poland - Krakow (Poland) 4 septembre 2026 : JUG SUmmer Camp 2026 - La Rochelle (France) Nous contacter Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs Contactez-nous via X/twitter https://twitter.com/lescastcodeurs ou Bluesky https://bsky.app/profile/lescastcodeurs.com 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/
В 82 выпуске подкаста Javaswag поговорили Владимиром Ситниковым о профайлерах, разработке драйвера и опенсорсе 00:00 Начало 02:31 Перфоманс-инжиниринг 07:40 Роль нагрузочного тестирования 20:01 Вариабельность в тестировании 29:46 Кэширование запросов в Oracle и Postgres 35:42 Платная поддержка Spring 38:17 Создание собственного профайлера 56:13 Оптимизация записи метрик 58:18 Java Flight Recorder и Async Profiler 01:18:50 Истории, Анализ памяти 01:28:53 Open Source 01:38:00 Управление PR и их обсуждение 01:45:02 Доклады и конференции 02:00:10 Непопулярные мнения Гость https://www.linkedin.com/in/vladimir-sitnikov-20b8704 Ссылки: https://jpoint.ru/en/persons/a2f668e5a5574d64a7901dc28df868bb/ Ссылки на подкаст: Сайт - https://javaswag.github.io/ Телеграм - https://t.me/javaswag Youtube - https://www.youtube.com/@javaswag Linkedin - https://www.linkedin.com/in/volyihin/ X - https://x.com/javaswagpodcast
An airhacks.fm conversation with Ingo Kegel (@IngoKegel) about: jclasslib bytecode viewer development history starting in 2001, transition from CVS to Subversion to Git, SourceForge to GitHub migration, Swing UI development with FlatLaf look and feel, comparison between Swing and SWT APIs, Eclipse plugin development experiences, Visual Studio Code integration with jprofiler, Homebrew package management for Mac applications, Java desktop module and modularization, jlink for creating trimmed JDK distributions, security benefits of shipping only required modules, Java compatibility improvements since Java 17, Base64 encoder becoming public API, internal API access restrictions with module system, comparison of Java installation simplicity versus Node.js and python, potential JSON support in future JDK versions, NetBeans integration attempt and recognition issues, bytecode instrumentation for profiling, asm and ByteBuddy as standard bytecode manipulation libraries, class file format evolution and complexity, module system introducing new structures, stack map tables and verification challenges, using JClassLib for method signature extraction, dokka documentation system for Kotlin, package.md and package-info documentation patterns, potential revival of Swing for modern desktop applications, simplified application architectures compared to enterprise apps with 30-40 tabs, LLM and AI making applications simpler with chat interfaces, JClassLib use cases including learning JVM internals and editing class files, approximately 3000 GitHub stars indicating 30000+ users, IntelliJ IDEA plugin availability, physicist background influencing interest in Java internals, Java Language Specification and Class File Format books, experimental physics approach to understanding JVM Ingo Kegel on twitter: @IngoKegel
An airhacks.fm conversation with Ingo Kegel (@IngoKegel) about: jprofiler Visual Studio Code integration using Kotlin Multiplatform, migrating Java code to Kotlin common code for cross-platform compatibility, transpiling to JavaScript for Node.js runtime, JClassLib bytecode viewer and manipulation library, Visual Studio Code's Language Server Protocol (LSP), profiling unit tests and performance regression testing, Java Flight Recorder (JFR) for production monitoring with custom business events, cost-driven development in cloud environments, serverless architecture with AWS Lambda and S3, performance optimization with parallelism in single-CPU environments, integrating profiling data with LLMs for automated optimization, MCP servers for AI agent integration, Gradle and Maven build system integration, cooperative window switching between JProfiler and VS Code, memory profiling and thread analysis, comparing streams vs for-loops performance, brokk AI's Swing-based LLM development tool, context-aware performance analysis, automated code optimization with AI agents, business event correlation with low-level JVM metrics, cost estimation based on cloud API calls, quarkus for fast startup times in serverless, performance assertions in System Tests, multi-monitor development workflow support Ingo Kegel on twitter: @IngoKegel
Join us with Guillaume Laforge, co-founder of the Apache Groovy programming language and Developer Advocate for Google Cloud Platform. We'll explore Guillaume's journey from creating one of the JVM's most popular dynamic languages to his current work at Google focusing on serverless technologies and generative AI with Gemini.Guillaume will share insights on Groovy's evolution and continued relevance in modern development, plus his perspective on how traditional programming languages intersect with AI technologies. As a Java Champion, co-author of "Groovy in Action," LangChain4j committer, and ADK contributor, he brings unique insights on the evolution of JVM languages in the cloud-native and AI era.Whether you're interested in Groovy, Google Cloud, or the future of JVM languages, this episode offers valuable perspectives from a key figure in the Java ecosystem.Show Notes:Guillaume LaforgeGroovy Programming LanguageCommunity over Code ConferenceSpring AILangchain4jADK for Java
В 81 выпуске подкаста Javaswag поговорили Михаилом Поливахой о реактивном программировании и Open Source 00:00 Начало 15:42 Cтартапы 19:04 Культура стартапов или университетская жизнь 23:49 ВУЗ или работа 28:30 История про тимлида 30:42 Город N 34:15 Open Source 51:03 Реактивное программирование 56:37 R2DBC 01:00:46 Open Source проекты 01:09:08 Реактивная парадигма 01:11:02 Реактивные системы 01:15:41 Спецификация реактивных потоков 01:18:49 Реактивное программирование и реляционные БД 01:23:09 Непопулярные мнение 01:30:55 Проблемы с производительностью 01:36:29 Требования бизнеса 01:41:33 Опыт уже не решает Гость https://www.linkedin.com/in/mikhail-polivakha-7995571ab/ Ссылки: https://t.me/mipo256 Ссылки на подкаст: Сайт - https://javaswag.github.io/ Телеграм - https://t.me/javaswag Youtube - https://www.youtube.com/@javaswag Linkedin - https://www.linkedin.com/in/volyihin/ X - https://x.com/javaswagpodcast
2025-08-19 — News — Episode 239Hosts:Daniel Garcia - Senior Developer at Ortus SolutionsJacob Beers - Senior Developer at Ortus SolutionsSummaryIn this episode of the Modernize or Die Podcast, hosts Daniel Garcia and Jacob Beers discuss the latest updates from Ortus Solutions, including the introduction of CBWire, advancements in BoxLang, and the upcoming TestBox version. They also delve into CFML updates, security insights, and the recent developments in AI, particularly the release of ChatGPT-5. The episode highlights upcoming events and webinars, as well as the importance of community support through Patreon.TakeawaysCBWire is a UI library for ColdFusion that enhances user interface development.TestBox version 7 is coming with new features and full BoxLang compatibility.CommandBox has been a staple in the CFML community for 12 years, with significant growth.BoxLang is gaining traction as a dynamic language for the JVM, focusing on developer productivity.AI tools like ChatGPT are evolving, with recent updates sparking community discussions.Community engagement is crucial for the success of tools like BoxLang and TestBox.Upcoming webinars will focus on async programming in BoxLang and other relevant topics.Patreon support is vital for sustaining open-source initiatives and community resources.The Ortus Solutions team is actively participating in various conferences and workshops.The podcast emphasizes the importance of testing and community contributions in software development.Chapters00:00 Welcome00:47 Ortus News & BoxLang Updates11:21 CFML Updates17:12 Upcoming Events23:15 Thank YouKeywordsOrtus Solutions, CBWire, BoxLang, TestBox, CommandBox, CFML, AI, ChatGPT, ColdFusion, software development LinksCBwire: A Step-by-Step Look at Reactive UI Components for BoxLang and Modern CFML Developers!https://www.ortussolutions.com/blog/cbwire-a-step-by-step-look-at-reactive-ui-componentsTestBox - Whats Coming?https://www.ortussolutions.com/blog/testbox-whats-comingCommandBox State & Coming Next!https://www.ortussolutions.com/blog/commandbox-state-coming-nextBecome a BoxLang Pioneer: Modernize Your Projects Without Limits!https://www.ortussolutions.com/blog/become-a-boxlang-pioneer Deploying BoxLang in the Cloud Video Series!https://www.ortussolutions.com/blog/boxlang-cloud-serversURL Rewriting with BoxLang MiniServerhttps://www.raymondcamden.com/2025/08/11/url-rewriting-with-boxlang-miniserverUsing StringBind in BoxLanghttps://www.raymondcamden.com/2025/08/18/using-stringbind-in-boxlangGenerate 6 Digit Security Codes in Java or CFML (Pete Freitag)https://www.petefreitag.com/blog/generate-6-digit-code/You Can Modify Elements During Filtering In ColdFusion (Ben Nadel)https://www.bennadel.com/blog/4829-you-can-modify-elements-during-filtering-in-coldfusion.htm ICYMI — Build a BoxLang App Webinar with Raymond Camdenhttps://youtu.be/HLVaUu20AZA?feature=sharedAugust Webinar: Leveling Up your Async Game with Boxlang with Jon Clausen - TOMORROWhttps://www.ortussolutions.com/blog/leveling-up-your-async-game-with-boxlang JJUG Night Seminar | BoxLang: A New Dynamic JVM Language - THIS WEEKhttps://jjug.doorkeeper.jp/events/186689Adobe ColdFusion Summit 2025 + CBWire Workshophttps://cfsummit.adobeevents.comInto the Box 2026:https://www.intothebox.org Call for Speakers:https://www.ortussolutions.com/blog/call-for-speakers-into-the-box-2026 ★ Support this podcast on Patreon ★
Jim Grisanzio from Java Developer Relations talks with Trisha Gee, an author, a Java Champion, and a Developer Advocate at Gradle. In February 2025 at Jfokus in Stockholm Trisha received the Java Community Lifetime Achievement Award from Sharat Chander from Oracle Java Developer Relations. Trisha has been a Java developer for 25 years, and since 2011 she's been actively blogging, presenting technical sessions at conferences, and evangelizing Java globally. Recently, Trisha has moved from a traditional developer advocate role to more of a facilitator of developer advocacy internally at her company as well as externally. She works with engineering teams, marketing, teams, and sales teams to ensure the voice of the developer resonates throughout the organization and the community. Trisha is always evolving, she's constantly growing. In this conversation we talk about the JVM, the six month Java release cycle, writing code, the unique features that make Java special as a technology and as a community, Generative AI, design patterns, understanding requirements, asking questions, problem solving, edge cases, documentation, testing, open source, standards, advice for students, and teaching her 9-year old how to code in Java. Trisha is fascinated with the entire development life cycle of software projects and especially the skills developers need now for working with AI. “It feels like a very personal thing from him … he's such a huge powerhouse in the community. Obviously, he cares about the technology, but he understands that the technology isn't enough. It is about individuals stepping up but not just doing stuff for themselves but doing stuff to enable other people, to empower other people. It's the community that makes it a great place to be, and Shar is such a huge champion of that. He makes you feel really appreciated for making the effort to help others and to be involved in the community.” — Trisha Gee commenting about receiving the Java Community Lifetime Achievement recognition from Sharat Chander at Oracle. Trisha Gee https://x.com/trisha_gee https://linktr.ee/trisha_gee Duke's Corner Java Podcast https://dukescorner.libsyn.com https://jimgrisanzio.wordpress.com/podcasts/ https://jimgrisanzio.wordpress.com/73-trisha-gee-txt/ Jim Grisanzio https://x.com/jimgris https://jimgrisanzio.wordpress.com https://www.linkedin.com/in/jimgris/
Java is not just adding features, it's also removing old ones that became obsolete and are either a maintenance burden, performance drag, or hazardous to use. In this episode we touch on 32bit ports, applets, finalization, and the security manager. Nicolai Parlog talks to Stuart Marks, who works in the JDK Core Libraries group at Oracle. Right now, he's dressed in a lab coat and wears a stethoscope because he embodies his alter ego Dr. Deprecator. Nicolai Parlog talks to Stuart Marks, who works in the JDK Core Libraries group at Oracle. Right now, he's dressed in a lab coat and wears a stethoscope because he embodies his alter ego Dr. Deprecator.
The Java runtime offers a host of guarantees like memory safety, type safety, encapsulation, and many more. What makes these aspirations actual guarantees is a property called “integrity”. But there are a few mechanisms in Java that allow undermining integrity - some for good, some for less good reasons. Integrity by default states that all such operations need to be disabled by default. Today we discuss why that is so important, what the progress toward this goal has been, and what Java developers need to know to keep their applications going. Nicolai Parlog talks to Ron Pressler, who is Java Architect at Oracle and, among other things, lead of Project Loom.
In this powerful episode, Jason and Lauren Vallotton sit down with Kirsten Lapp, Executive Director of Northstate Care Clinic, to unpack the emotional, spiritual, and practical realities surrounding crisis pregnancy. With empathy and clarity, Kirsten shares what women are really facing in these moments—and how we can all play a part in offering hope.In this episode, they discuss:What defines a crisis pregnancy and why many women find themselves in one The cultural and social pressures women face—from social media to the healthcare system Myths and misconceptions about women in these situations How Northstate Care Clinic provides compassionate care, from the first phone call to long-term support What empowerment really looks like in the face of fear and uncertainty A historic opportunity to help NSCC purchase a permanent home across from the local abortion clinic to serve even more women in Northern California Jason and Lauren also share that JVM is contributing $1,000 to help make this dream a reality—and they invite listeners to partner with them in this mission.To support the building campaign, learn more, or refer someone in need: Visit friendsofnscc.org !“We believe every woman deserves to be seen, supported, and strengthened—especially when the stakes feel highest.”PatreonIf you've enjoyed this podcast, would you consider financially supporting the show? Every donation, big and small, helps the Vallottons continue to prioritize making this content for you. Click this link to support! Thank you!For information on the Marriage Intensive and other resources, go to jasonandlaurenvallotton.com !Connect with Lauren:InstagramFacebookConnect with Jason:Jay's InstagramJay's FacebookBraveCo Instagramwww.braveco.org
The Stable Values API is a preview feature in Java 25 that allows developers to define immutable objects that are initialized at most once. It combines the flexibility of lazy initialization with the performance advantages of final fields. In this episode, Ana hosts Per Minborg, a member of the Java Core Library team at Oracle and co-author of JEP 502 on Stable Values. Per explains the concept behind Stable Values and how this approach addresses the drawbacks of eager initialization in Java. By deferring the creation of expensive resources until they are actually needed, Stable Values contribute to more efficient application startup. He also discusses the design process and specifics of the API, highlighting its benefits in multi-threaded environments—particularly its ability to ensure thread-safe, at-most-once initialization without the need for complex synchronization mechanisms.