POPULARITY
Kito, Josh, and Danno are joined byJava Champion, trainer, NFJS speaker and book author Ken Kousen. They discuss Broadcom's Pivotal acquisition, layoffs, AI regulation, Kotlin Multi-platform Mobile, Structured Concurrency, Angular 17, Next.js Server Actions, Mockito, LangChain4J, Semantic Kernel, AI tools, and much more. About Ken Kousen Ken is a Java Champion, JavaOne Rock Star, developer, technical trainer, and regular speaker on the No Fluff, Just Stuff tour, as well as the author of the books Making Java Groovy, Modern Java Recipes, Gradle Recipes for Android, Kotlin Cookbook, Help Your Boss Help You, and Mockito Made Clear. He is the President of Kousen IT, Inc., a training company based in Connecticut. Blog (https://kousenit.org/) Tales from the jar side (https://kenkousen.substack.com) Tales from the jar side - YouTube (https://youtube.com/@talesfromthejarside) Global and Industry News - What the hell is going on with the layoffs? () - AI is already linked to layoffs in the industry that created it | CNN Business (https://www.cnn.com/2023/07/04/tech/ai-tech-layoffs/index.html) - U.S. AI Chips Export Controls - How is that relevant - Updated October 7 Semiconductor Export Controls (https://www.csis.org/analysis/updated-october-7-semiconductor-export-controls) - Analysis: AI summit a start but global agreement a distant hope | Reuters (https://www.reuters.com/technology/ai-summit-start-global-agreement-distant-hope-2023-11-03/) - Three things to know about the White House's executive order on AI (https://www.technologyreview.com/2023/10/30/1082678/three-things-to-know-about-the-white-houses-executive-order-on-ai/) - Broadcom's acquisition of VMWare and Pivotal (https://investors.broadcom.com/news-releases/news-release-details/broadcom-completes-acquisition-vmware) Server Side Java - Spring (6.1) and Spring Boot (3.2) releases coming this month - https://calendar.spring.io/ - New RestClient - Kotlin Multi-platform Mobile finally released (https://www.jetbrains.com/kotlin-multiplatform/) - Coroutines basics | Kotlin Documentation (https://kotlinlang.org/docs/coroutines-basics.html) - JEP 462: Structured Concurrency (Second Preview) (https://openjdk.org/jeps/462) - Brian Goetz distaste for async keyword (https://www.infoq.com/articles/java-virtual-threads/) - RXJava Marble Diagrams are Best (https://reactivex.io/documentation/operators/flatmap.html) Frontend - Angular 17 announced (https://blog.angular.io/meet-angulars-new-control-flow-a02c6eee7843) - Next.js server actions (https://twitter.com/AdamRackis/status/1717607565260124613) - Vitest (https://vitest.dev/) - NPM Workspaces (Node 16+) (https://docs.npmjs.com/cli/v7/using-npm/workspaces) - Deno (https://deno.com/) Tools - AI Assistant in IntelliJ (Copilot Chat in VS Code) - GitHub Copilot - Sourcegraph Cody - Tabnine - Canva (several) - Descript (several) - Claude - Wiremock - Mockserver - https://letmegooglethat.com/ AI/ML - Temporary policy: Generative AI (e.g., ChatGPT) is banned - Meta Stack Overflow (https://meta.stackoverflow.com/questions/421831/temporary-policy-generative-ai-e-g-chatgpt-is-banned?cb=1) - Orchestrate your AI with Semantic Kernel | Microsoft Learn (https://learn.microsoft.com/en-us/semantic-kernel/overview/) - OpenAI API and conference - LangChain4J (https://github.com/langchain4j/langchain4j) - Spring AI (Spring AI Reference) (https://docs.spring.io/spring-ai/reference/) - Microsoft announced MS Copilot ($30/user, min 300 employees, yikes) - Suno Chirp - Descript (https://www.descript.com/) - DALL-E 3 release - Ars Tecnica - Bing Chat reads Captcha (https://arstechnica.com/information-technology/2023/10/sob-story-about-dead-grandma-tricks-microsoft-ai-into-solving-captcha/) Picking Ken's Brain - Mockito Made Clear coupon code: kkmockito35 → 35% discount (https://pragprog.com/titles/mockito/mockito-made-clear/) - Classic vs mockist testing styles (Martin Fowler) (https://martinfowler.com/bliki/UnitTest.html) Picks - Rundown.ai newsletter (Kito) (https://www.therundown.ai/subscribe) - The Beatles - Now And Then (Official Audio) (audio) (Ken) (https://youtu.be/AW55J2zE3N4?si=5weuS3u3qpyO9dx5) - Platformer newsletter (Ken) (https://www.platformer.news/) - Peter Gabriel - The Court (Dark-Side Mix) (Junie Lau Official Video) (Danno) (https://www.youtube.com/watch?v=6chvzqAVCnI) - Grafana Loki (Ian) (https://grafana.com/oss/loki/) - Let Me Google That For You (Ian) (https://letmegooglethat.com) Other Pubhouse Network podcasts - Breaking into Open Source (https://www.pubhouse.net/breaking-into-open-source) - OffHeap (https://www.javaoffheap.com/) - Java Pubhouse (https://www.javapubhouse.com/) Events - DevOps Vision December - Dec 4-6, 2023, Clearwater, FL, USA (https://devopsvision.io/) - TechLeader Summit - Dec 6-8, 2023, Clearwater, FL, USA (https://techleadersummit.io/) - DevRel Experience - Dec 6-8, 2023, Clearwater, FL, USA (https://devrelexperience.io/) - ArchConf December - Dec 11-14, 2023, Clearwater, FL, USA (https://archconf.com/) - JakartaOne Livestream - December 5, 2023 (https://jakartaone.org/2023/) - First Virtual Payara Conference - Dec 14th, 2023 (https://www.crowdcast.io/c/virtualpayaraconference) - Codemash - Jan 9-12, 2024, Sandusky, OH, USA (https://jchampionsconf.com/https://codemash.org/) - JChampionsConf - Jan 25-30, 2024, online (https://jchampionsconf.com/)
Hi, Spring fans! Are you using Java 21 in production already? No? you should listen to this episode. Yes? Then you should listen to this episode! This week, Josh Long talks to legendary Java Language Architect [Brian Goetz (@BrianGoetz)](https://twitter.com/BrianGoetz) recaping the latest-and-greatest and previewing Java.next
La gestion de la donnée est ce pourquoi nous développons la plupart de nos applications. Un site marchant en est le parfait exemple. Cependant il semblerait que dans ce domaine la programmation orientée objet montre ses limites. Le data oriented programming est une autre manière d'apprehender notre approche de la donnée dans notre code. Et dans ce domaine, Yehonathan Sharvit, mon invité aujourd'hui, en connait un rayon, puisqu'il est l'auteur de Data-Oriented programming au edition Manning. Avec lui nous allons discuter des concepts du data oriented programming, à quoi il sert, quels sont ses cas d'usage, mais nous allons aussi tenter de savoir s'il s'applique a tous les langages avec lesquels nous prenons plaisir à programmer. Notes de l'épisode Le livre Data-Oriented Programming: https://www.manning.com/books/data-oriented-programming Le blog de Yehonathan Sharvit : https://blog.klipse.tech/ L'article de Brian Goetz sur Data-Oriented Programing in Java: https://www.infoq.com/articles/data-oriented-programming-java/
Arnaud et Guillaume reviennent sur les news de ce mois avec évidement la sortie de Java 19 mais aussi GraalVM, Puppet (toujours vivant), Docker Compose et Desktop, VirtualBox, WASMTime et d'autres sujets plus orientés méthodologie comme la réalisation de Sketchnotes, les DO / DONT pour faire des messages d'erreurs dans les UIs ou encore quelques pratiques de management chez Google. Enregistré le 21 octobre 2022 Téléchargement de l'épisode LesCastCodeurs-Episode–287.mp3 News Langages La version 19 de Java est sortie https://mail.openjdk.org/pipermail/jdk-dev/2022-September/006933.html Au menu: 405: Record Patterns (Preview) 422: Linux/RISC-V Port 424: Foreign Function & Memory API (Preview) 425: Virtual Threads (Preview) 426: Vector API (Fourth Incubator) 427: Pattern Matching for switch (Third Preview) 428: Structured Concurrency (Incubator) La vue de InfoQ https://www.infoq.com/news/2022/09/java19-released/ Foojay couvre 5 fonctionnalités clé https://foojay.io/today/the–5-most-pivotal-and-innovative-additions-to-openjdk–19/ virtual threads structured concurrency pattern matching for switch foreign function and memory API record pattern matching Proposition dans Leyden des condenseurs et du décalage d'exécution dans le temps https://openjdk.org/projects/leyden/notes/02-shift-and-constrain GraalVM JIT et Native Image rejoignent le projet OpenJDK https://twitter.com/graalvm/status/1582441450796900354 Google rejoint Adoptium et va utiliser la distribution Temurin pour les JDKs utilisés dans ses produits https://blog.adoptium.net/2022/10/adoptium-welcomes-google/ “Paving the on-ramp” : Brian Goetz discute de changements au langage Java pour faciliter l'apprentissage pour les nouveaux arrivants https://openjdk.org/projects/amber/design-notes/on-ramp Librairies Spring Boot 3.0.0 RC1 is out https://spring.io/blog/2022/10/20/spring-boot–3–0–0-rc1-available-now Vous pouvez maintenant convertir vos applications Spring Boot en exécutables natifs en utilisant les plugins standard Spring Boot Maven ou Gradle sans avoir besoin d'une configuration spéciale. Infrastructure (re)découvrir puppet - https://blog.stephane-robert.info/post/introduction-puppet/ - https://blog.stephane-robert.info/post/puppet-env-developpement/ Tutoriel en français sur puppet que l'auteur Stéphane ROBERT écrit dans le cadre d'une migration Puppet vers Ansible L'auteur revient sur les concepts (manifests, classes, modules), et explique comment utiliser vagrant pour developper en local un projet utilisant puppet. Docker Compose v2.11.0 est disponible La commande build permet de construire des images multi-architectures. https://github.com/compose-spec/compose-spec/blob/master/build.md#platforms Docker Desktop 4.13.0 https://docs.docker.com/desktop/release-notes/#docker-desktop–4130 docker dev permet de gérer ses Dev Environments via la CLI Sortie de VirtualBox 7.0, avec prise en charge complète du chiffrement des VMs, nouvelle accélération Direct3D, elle apporte le premier client #Mac ARM et le TPM de #Windows 11 https://virtualisation.developpez.com/actu/337578/Sortie-de-VirtualBox–7–0-avec-prise-en-ch[…]rte-le-premier-client-Mac-ARM-et-le-TPM-de-Windows–11/ Web WASMtime 1.0 https://bytecodealliance.org/articles/wasmtime–1–0-fast-safe-and-production-ready Comment écrire un bon message d'erreur sur une UI? https://medium.com/wix-ux/when-life-gives-you-lemons-write-better-error-messages–46c5223e1a2f Un mauvais message d'erreur: Ton inapproprié Jargon technique Rejetant le blâme Générique sans raison Un bon message d'erreur: Dire ce qui s'est passé et pourquoi Rassurer Faire preuve d'empathie Aidez-les à régler le problème Donnez toujours une issue Outillage Amélie Benoit partage un article d'initiation au Sketchnote https://amelie.tech/fr/blog/sketchnote-initiation/ Définition : un dessin, une représentation visuelle d'une prise de note, mêlant dessin et texte Pas de stress, suffit juste de savoir écrire, dessiner des carrés, cercles, triangles. Pas besoin d'être un artiste ! A quoi ça sert ? pour soi même pour s'approprier de l'information, synthétiser ce que l'on apprends, mais aussi pour partager avec les autres On peut faire des sketchnotes pour tout et n'importe quoi ! Amélie décrit ensuite les bases, avec les pictogrammes, le texte, les puces, les flèches, comment créer des conteneurs (pour des titres par exemple), comment rendre un sketchnote plus joli et comment hiérarchiser le contenu Enfin, quelques ressources utiles, en particulier les livres de Mike Rohde qui est l'inventeur du concept Nouvelle UI pour Maven Central search https://central.sonatype.dev/ maven-test-profiler: Maven extension pour trouver les tests les plus lents https://t.co/d5YpXODWf8 Architecture Netflix construit un système de queue basse latence et haut volume à partir de composants open source https://www.infoq.com/news/2022/10/netflix-timestone-priority-queue/ Méthodologies Google a publié un ensemble de pratiques, d'outils et d'articles pour les managers https://rework.withgoogle.com/guides/ Sécurité CVE dans Kafka - un client non authentifié peut faire un OOME dans le broker https://github.com/advisories/GHSA-c9h3-c6qj-hh7q Signal retire le support des SMS sur Android https://t.co/u9XZ7XM7rT Conférences Codeurs en Seine 2022 - Programme et Inscriptions Ca y est le programme est disponible et les inscriptions sont ouvertes. les inscriptions (c'est gratuit et c'est à Rouen le 17 novembre) : https://www.codeursenseine.com/2022/inscription le magnifique programme est la : https://www.codeursenseine.com/2022/programme La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 3–4 novembre 2022 : Agile Tour Nantes 2022 - Nantes (France) 8–9 novembre 2022 : Open Source Experience - Paris (France) 15–16 novembre 2022 : Agile Tour Toulouse - Toulouse (France) 17 novembre 2022 : Codeurs en Seine - Rouen (France) 17 novembre 2022 : lbc² by leboncoin - Paris (France) 18 novembre 2022 : DevFest Strasbourg - Strasbourg (France) 18–19 novembre 2022 : GreHack - Grenoble (France) 19–20 novembre 2022 : Capitole du Libre - Toulouse (France) 23–25 novembre 2022 : Agile Grenoble 2022 - Grenoble (France) 1 décembre 2022 : Devops DDay #7 - Marseille (France) 2 décembre 2022 : BDX I/O - Bordeaux (France) 2 décembre 2022 : DevFest Dijon 2022 - Dijon (France) 14–16 décembre 2022 : API Days Paris - Paris (France) & Online 15–16 décembre 2022 : Agile Tour Rennes - Rennes (France) 19–20 janvier 2023 : Touraine Tech - Tours (France) 25–28 janvier 2023 : SnowCamp - Grenoble (France) 2 février 2023 : Very Tech Trip - Paris (France) 9–11 février 2023 : World AI Cannes - Cannes (France) 7 mars 2023 : Kubernetes Community Days France - Paris (France) 23–24 mars 2023 : SymfonyLive Paris - Paris (France) 12–14 avril 2023 : Devoxx France - Paris (France) Nous contacter Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs Contactez-nous via twitter https://twitter.com/lescastcodeurs Faire un crowdcast ou une crowdquestion Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/
In this two-part episode, Chad interviews Ron Pressler, architect and lead for Project Loom, on Virtual Threads and Structured Concurrency, followed by Brian Goetz, Chief Language Architect, on Record Patterns and the arc of features in Project Amber leading to data-oriented programming. Show notes: JDK 19 JEP 425 Virtual Threads JEP 429 Structured Concurrency Game of Life by Elliot Barlas Microhttp by Elliot Barlas
Cet épisode marathon sera découpé en deux morceaux pour éviter à vos oreilles une écoute marathon. Dans cet épisode on y parle Brian Goetz, Bian Goetz, Brian Goetz, usages des threads virtuels, OpenAPI, Kubernetes, KNative, copilot et Tekton. La deuxième partie couvrira des sujets d'architecture et de loi société et organisation ainsi que les conférences à venir. Enregistré le 8 juillet 2022 Téléchargement de l'épisode LesCastCodeurs-Episode–281.mp3 News Langages Peut-être une nouvelle syntaxe spécifique aux Records Java pour tordre le cou aux builders Brian Goetz discute de l'idée d'avoir une syntaxe spécifique pour les records pour facilement créer un record dérivé, potentiellement avec des valeurs par défaut, mais en paramétrant certains champs Point shadowPos = shape.position() with { x = 0 } Cela évite de créer la notion de paramètre par défaut dans les constructeurs ou les méthodes Il y a l'article Data Oriented Programming de Brian Goetz, sur InfoQ projet Amber amène des changements qui combinés permet de faire du data oriented programming en Java et pas que du OOP OO combine état et comportement (code) OO est super utile pour défendre des limites (programme large en des limites plus petites et plus gérable) mais on s'oriente vers des applications plus petites (microservices) data oriented programming: modélise data immuable et le code de la logique métier est séparée records -> data en tant que classe, sealed classes -> définir des choix, pattern matching -> raisonne sur des data polymorphiques algebraic data: hiérarchie de sealed classes dont les feuilles sont des records: nommées, immuable, testable (pas de code) Un nouveau JEP pour intégrer une Classfile API Le JDK inclut déjà des forks de ASM, de BCEL, et d'autres APIs internes, pour manipuler / produire / lire le bytecode Mais l'idée ici c'est que le JDK vienne avec sa propre API officielle, et qui soit plus sympa à utiliser aussi que le pattern visiteur de ASM par exemple La version d'ASM intégrée était toujours en retard d'une version (problème de poule et d'oeuf, car ASM doit supporter la dernière version de Java, mais Java n+1 n'est pas encore sorti) Lilian nous montre à quoi va ressembler les Record Patterns de JEP 405 Apache Groovy et les virtual threads, et aussi Groovy et le Deep Learning Paul King, qui dirige actuellement le PMC de Apache Groovy, a partagé récemment plusieurs articles sur le blog d'Apache sur des intégrations intéressantes avec Groovy Groovy et sa librairie GPars pour la programmation concurrente et parallèle s'intègre facilement avec les Virtual Threads de JEP 425 / JDK 19 https://blogs.apache.org/groovy/entry/gpars-meets-virtual-threads Groovy avec Apache Wayang et Apache Spark pour classifier des Whiskey par clusterisation KMeans https://blogs.apache.org/groovy/entry/using-groovy-with-apache-wayang Et aussi Groovy avec différentes librairies de Deep Learning pour la classification https://blogs.apache.org/groovy/entry/classifying-iris-flowers-with-deep Le jargon (en anglais) de la programmation fonctionnelle, si vous avez rêvé d'avoir sous la main la définition de foncteur, de monoïde, et j'en passe avec des exemples en JavaScript des pointeurs vers des librairies fonctionnelles en JavaScript des traductions dans d'autres langues et d'autres langages de programmation Librairies Spring Boot 2.7 SpringBoot 2.7 Spring GraphQL 1.0 Support pour Podman Gestion de dépendance et auto configuration pour Cache2k nouvelle annotations pour Elasticsearch et CouchBase dernière versions avant SpringBoot 3 qui changera plus de choses. Recommande de migrer une version a la fois. Support pour 2.5 à fini (upstream) Quarkus 2.10.0 Travaux préliminaires sur les threads virtuels de Loom Support non-blocking pour GraphQL Prise en charge des Kubernetes service binding pour les clients SQL réactifs CacheKeyGenerator pour l'extension de cache quarkus-bootstrap-maven-plugin déprécié et remplacé par quarkus-extension-maven-plugin (uniquement utile pour les développeurs d'extensions Quarkus) Nouveaux guides: Using Stork with Kubernetes OpenId Connect Client Reference Guide Using Podman with Quarkus Les différences entre OpenAPI 2 et 3 Introduction de la notion de lien pour créer des relations entre Response et Operations, pratique pour faire des APIs hypermédia La structure du document OpenAPI a été -un peu simplifiée, en combinant par exemple basePath et schemes, ou en rassemblant les securityDefinitions Des améliorations sur les security schemes, autour de OAuth et OpenID Plus de clarté dans la négociation de contenu et les cookies La section des exemples de Request / Response devrait aider les outils qui génèrent par exemple des SDK automatiquement à partir de la description OpenAPI Un support étendu de JSON Schema Introduction d'une notion de Callback, importante pour les APIs asynchrones, en particulier les WebHooks je me demande si ils ont l'intention d'embrasser AsyncAPI ou su la partie asynchrone d'OpenAPI 3 a pour objectif de faire de la competition Infrastructure N'utilisez pas Kubernetes tout de suite ! Kubernetes, c'est bien, mais c'est un gros marteau. Est-ce que vous avez des gros clous à enfoncer ? Ne commencez peut-être pas avec l'artillerie lourde de Kubernetes. Commencez plutôt avec des solutions managées genre serverless, ce sera plus simple, et au fur et à mesure si votre infrastructure a besoin de grossir et dépasse les fonctionnalités des solutions managées, à ce moment là seulement évaluer si Kubernetes peut répondre à votre besoin Choisir Kubernetes, c'est aussi avoir la taille de l'équipe qui va bien avec, et il faut des profils DevOps, SRE, etc, pour gérer un cluster K8S L'auteur suggère grosso modo que ça dépend de l'ordre de magnitude de la taille de l'équipe : avec quelques personnes, préférez des solutions type Google App Engine ou AWS App Runner, avec une dizaine de personne peut-être du Google Cloud Run ou AWS Fargate, avec moins d'une centaine là pourquoi pas du Kubernetes managé comme Google Kubernetes Engine, et si vous dépassez mille, alors peut-être vos propres clusters managés par vos soins et hébergés par vos soins sur votre infra ca impose d'utiliser les services du cloud provider? Parce que la vie ce n'est pas que du code maison. C'est la mode de dire de pas utiliser K8S : https://www.jeremybrown.tech/8-kubernetes-is-a-red-flag-signalling-premature-optimisation/ (mais bon, vu le nombre de fois où il est pas utilisé à b Knative Eventing Devlivery methods on peut faire de la delviery simple 1–1 sans garantie on peut faire de la delivery complexe et persistante en introduisant la notion de channel qui decouple la source de la destination. on peut repondre a la reception d'un message et pousser la réponse dans un second channel mais ca devient compliquer a gérer quand on rajoute des souscripteurs il y a la notiuon de broker qui definit: des flitres, un channel (automatique) et la capacité de répondre les triggers sont un abonnement non pas a un channel mais a un type d'évènement spécifique Cloud AWS is Windows and Kube is Linux pourquoi utilisez Kube qui etait pas stablewa lors qu'AWS offre tout AWS forcé d'offrir EKS MAis pourri Lockin AWSIAM Pourquoi AWS serait le windows economies d'echelles de faire chez soi kube devient rentable une certaine taille de l'organisation besoin alternative a AWS (bus factor) on voit le Kube distro modele arriver Google data center Paris Outillage IntelliJ IDEA 2022.5 EAP 5 amène des nouveautés Frameworks and Technologies Spring 6 and Spring Boot 3 Support for new declarative HTTP Clients in Spring 6 URL completion and navigation for Spring Cloud Gateway routes Experimental GraalVM Native Debugger for Java Code insight improvements for JVM microservices test and mock frameworks Code insight improvements for Spring Shell Improved support for JAX-RS endpoints Support for WebSockets endpoints in HTTP Client Support for GraphQL endpoints in the HTTP Client UI/UX improvements for the HTTP Client Improved navigation between Protobuf and Java sources Kubernetes and Docker Intercept Kubernetes service requests with Telepresence integration Upload local Docker image to Minikube and other connections Docker auto-connection at IDE restart Docker connection options for different docker daemons GitHub copilot est disponible pour tous (les developpeurs) 40% du code écrit est généré par copilot en python (ca calme) gratuit pour les étudiants et les développeurs OSS Revue de Redmonk décrit copilot comme une extension d'intelligence ou auto complete mais qui « comprend » le code autour premiere fois pas une boite de cette taille et à cette échelle l'avantage de copilot en terme de productivité, de qualité de code, de sécurité et de légalité En gros, c'est encore à voir. Mais la qualité impressionne les gens qui l'ont testé ; sécurité pas de retour d'un côté ou de l'autre sauf que les développeurs humains ne sont pas des lumières de sécurité :D GitHub pense que GitHub n'est pas responsable de la violation de code vue que ce sont des machines et des algorithmes qui transforment: cela a l'air d'etre le consensus des avocats GitHub dit qu'on est responsable du code qu'on écrit avec copilot Et implicitement GitHub dit que la licensure du code « source » ne se propage pas au code generé. Et là, c'est pas clair et de la responsibilité de l'utilisateur, mais la encore les avocats sont plutot ok moralement c'est probablement pas ok mais bon et il y a débat autour des licenses copyleft notamment LGPL 1% du temps, code copié verbatim de > 150 caractères Question sur le code non open source sur lequel GitHub Copilot s'appuie mais en gros le marcher s'en fout un peu des licences Risque de reputation de Microsoft la question c'est quand / si les gens seront prêt à accepter cet usage Gradle publie sa roadmap Historiquement, la société Gradle Inc ne publiait pas vraiment de roadmap officielle Outre les tickets que l'on pouvait voir dans Github, cette fois ci, une “roadmap board” est visible et disponible pour tout le monde, et pas seulement pour les clients Tekton est groovy (mais non, il n'utilise pas Groovy !) Un grand tutoriel sur Tekton Une brève histoire de CI/CD (avec un contraste avec Groovy utilisé dans Jenkins) Un aperçu des grands concepts de Tekton, avec ses tâches et ses pipelines (Task, TaskRun, Pipeline, PipelineRun) Comment installer Tekton Les outils CLI Un exemple concret d'utilisation Sortie de Vim 9, surtout avec VimScript 9 des changements incompatibles entre VimScript 8.2 et 9 font qu'il était nécessaire de passer à une version majeure mais l'ancienne version du langage reste supportée pour compatibilité avec la nouvelle, les utilisateurs peuvent s'attendre à des performances x10 voire x100 ! le langage devient pré-compilé, au lieu d'être interprété ligne par ligne l'idée était d'avoir un langage plus proche de ce qu'on trouve dans JavaScript, TypeScript ou Java Conférences De la part de Youen Cette année Codeurs en Seine, c'est le 17 novembre et le cfp est ouvert N'hésitez pas à amener un peu de JVM dans l'appel à orateur. (ca commence à se faire rare). Pour rappel : codeurs en seine c'est 1000 personnes autour des métiers du développement dans une des plus grande salle de Rouen, le kindarena. Nous contacter Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Faire un crowdcast ou une crowdquestion Contactez-nous via twitter https://twitter.com/lescastcodeurs sur le groupe Google https://groups.google.com/group/lescastcodeurs ou sur le site web https://lescastcodeurs.com/
An airhacks.fm conversation with Stuart Marks (@stuartmarks) about: Wang 2200 Laboratories computer with 10 years, David Ahl 101 Basic Computer Games, Basic without "else", GOTO and GOSUB, Pascal Records and Java, conditional evaluation in Pascal, the criticism on Pascal, Bill Joy added the socket interface to BSD 4.2, replacing VMS with BSD, the Bill Joy long weekend, starting at Sun Microsystems, working with James Gosling on the NeWS windows system, Postcript based windows system, NeWS ran on SunOS, SunOS 5 became Solaris, the unpleasant UNIX wars with AT&T, HP and IBM, X-Window vs. NeWS, shared state and NeWS, display postscript became the NeXT system, the X-NeWS merge OS, Open Look and Motif, OSF-opensource foundation, Motif became the dominant OS, creating a eCommerce system with Java at Sun, working with James Gosling at NeWS, project Oak and Project Green, Star Seven, licensing WebLogic and Tengah, personal Java and the Java Ring, Java on Sharp Zaurus and on Palm, working on J2ME, working with JavaFX, Chris Oliver started JavaFX, F3 and Forms Follow Function, Java FX Script was an own language, Richard Bair was the JavaFX architect, Jasper Potts was was the Java FX UI designer, JavaFX is based on final classes, the fragile base class / brittle base class problem, the general subclassing problem, implementing a 2d traversial algorithm for Java FX, Sun was shrinking, Java FX was growing, Brian Goetz worked to improve the Java FX internals, RIAs - Rich Internet Applications, Silverlight, Flash, Flex and JavaFX, JavaFX supported CSS, the compiler bug war story, binding propagates side effects, Robert Field is working on jshell, Stuart Marks on twitter: @stuartmarks, Stuart Marks blog: stuartmarks.wordpress.com
In this episode, Brian Goetz, Java Language Architect at Oracle, and Trisha Gee, Developer Advocate and Subteam Lead for Java Advocacy at JetBrains discuss and debate the status of Java in the modern world with our host, Paul Everitt.
To celebrate the Java 17 release, we have not one but two podcast episodes! In this second part, Chad discusses the evolution of the Java language with Brian Goetz, the Java Language Architect. Chad then concludes this special Java 17 episode with Stuart Marks, aka Dr. Deprecator, on the importance of deprecation!
To celebrate the launch of Java 17 we have not one but two podcast episodes! In this first part, Chad discusses some exiting license changes with Donald Smith, i.e. the Free Java License. Chad then continues the discussion on Project Panama and the Vector API with Paul Sandoz. Make sure to also listen to the upcoming Part 2 where Chad discusses with Brian Goetz and Dr. Deprecator aka Stuart Marks!
My favorite definitions of parallelism and concurrency come from Brian Goetz. They are not the traditional ones, which focus mostly on # of cores. In modern computing, we are sharing so many resources, parallelism and concurrency need to account for that. In this episode, we go over those definitions.
In this episode, TechCast host Ken Rimple and Chariot consultant Will Vuong are in conversation with Brian Goetz. Brian heads up the Java language team at Oracle, and is one of our two keynotes for the year at Philly ETE 2019. Ken and Will ask Brian about where the language is headed in version 13, ... Read More The post TechCast #112 – ETE 2019 Keynote Brian Goetz appeared first on Chariot Solutions.
On this week’s podcast, Wes Reisz talks with Brian Goetz. Brian is the Java Language Architect at Oracle. The two start with a discussion on what the six-month cadence has meant to the teams developing Java. Then move to a review of the features in Java 9 through 12. Finally, the two discuss the longer-term side projects (such as Amber, Loom, and Valhalla) and their role in the larger release process for the JDK. * The JVM’s sixth-month cadence changed the way the JDK is delivered and planned. While it definitely provides more rapid delivery at expected intervals, the release train approach turned out to also improve flexibility and efficiency. * Oracle JDK and OpenJDK are almost identical. Most of the JDK distributions are forks from OpenJDK with different bug fixes and backports applied. So the difference between the distributions now is largely which bug fixes are picked up. * Local Variable inference (which was released as part of Java 10) illustrated the tension on making changes to the language. Many people wanted the change, but many others felt it would enable people to write bad code. Oracle had to balance the two views when making the change. * The number of Java versions allow finer grain decision making on what is appropriate for an application. With the adoption of containers, applications are bundled with an exact JDK version rather than having to use one from a systems level. The different versions give developers more options. * Incubating features are new libraries added to the JDK. They were offered starting with Java 9 as a way for people to test and offer feedback more rapidly. With Java 12, preview features will be released. Preview features are similar but are core platform and language features. * Shenandoah and ZGC are both low latency garbage collectors. They originally came from different sources. While both garbage collectors are similar, each has different performance characteristics under different workloads. The two garbage collectors represent options available to JVM developers. * Most non-trivial JDK features take more than six months to develop. Longer term side projects like Amber, Loom, Valhalla are where these features are developed prior to being released with a version of the JDK. The projects range from language enhancements to concurrency work.
Ted Neward is using the actor model with Akka. Show Notes: Akka.io Erlang Scala Actor Model (c2) java.lang.Thread Book: Java Concurrency in Practice by Brian Goetz (and others) Jonas Bonér (from Lightbend) Episode 009 - Correl Roush on Erlang RabbitMQ Microsoft's Orleans JErlang - Erlang for the JVM RetLang Smalltalk / Objective-C Joe Armstrong SmartSheet Ted Neward is on Twitter. Want to be on the next episode? You can! All you need is the willingness to talk about something technical. Theme music is "Crosscutting Concerns" by The Dirty Truckers, check out their music on Amazon or iTunes.
Guest - Emanuele Ziglioli from Sirtrack on upgrading a legacy swing app to Java 8 / DukeScript Netbeans Swing GUI Builder ( formally Project Matisse ) Totally Grid Bag(YouTube Video) JavaFX Self-Contained Application Packaging Inno Setup for Windows JEP 282: jlink: The Java Linker Iridium NEXT Electron considered harmful Electron is flash for the Desktop Reasoning about performance (in the context of search) 30 Min YouTube Video Is Java 8 Stream a safe return type? Oracle Proposes G1 as the Default Garbage Collector for Java 9 What is Effectively Final variable of Java 8 Sodium - Function Reactive Programming Java 9/10 Reactive Programming with JDK 9 Flow API Pattern Matching for Java Welcome to Amber! Java Language and Platform Futures: A Sneak Peek by Brian Goetz (youtube). 55 New Features in JDK 9 Inside Java 9 – Version Schema, Multi-Release JARs, and More
Laws of Newtonian mechanics don't make sense as we get closer to the speed of light. Laws of serial execution are useless once we enter the world of concurrency. In this episode we'll define concurrency and talk about why is it hard to write concurrent programs. With the help of Daniel and Steve we'll explore tools that are there in Clojure and Rust to help engineers deal with multiple threads of execution. Host: Andrey Salomatin https://twitter.com/flpvsk ## Guests ## * Daniel Higginbotham http://www.flyingmachinestudios.com/ https://twitter.com/nonrecursive * Steve Klabnik http://www.steveklabnik.com/ https://twitter.com/steveklabnik IRC: steveklabnik ## Recommended Reading ## * Clojure for the Brave and True, Daniel Higginbotham Online: http://www.braveclojure.com/concurrency/ Chapter about concurrency: http://www.braveclojure.com/concurrency/ Amazon: http://amzn.to/1UOB49u * Java Concurrency in Practice, Brian Goetz http://amzn.to/1PVlDbm * Rust Documentation: https://www.rust-lang.org/documentation.html ## Projects to Check Out ## * intermezzOS intermezzOS is a teaching operating system, specifically focused on introducing systems programming concepts to experienced developers from other areas of programming. https://intermezzos.github.io Issues: https://github.com/intermezzOS/book/issues https://github.com/intermezzOS/kernel/issues ## Music ## Mid-Air! https://soundcloud.com/mid_air --- PS: Links to Amazon are referral. You can use them to support the show.
Enregistré le 20 septembre 2011 Telechargement de l’episode LesCastCodeurs-Episode–46.mp3 News James Gosling James Gosling frole la mort et en parle http://nighthacks.com/roller/jag/entry/i_m_alive http://nighthacks.com/roller/jag/entry/some_more_detail Sergey Brin on Parkinson http://too.blogspot.com/2008/09/lrrk2.html Nouveau Job de James Gosling http://nighthacks.com/roller/jag/entry/i_ve_moved_again Jug summer camp http://www.jugsummercamp.org/ Closures La proposition des closures http://mail.openjdk.java.net/pipermail/lambda-dev/2011-September/003936.html Brian Goetz http://www.briangoetz.com/ Campagne 42eme.com Le site de la campagne http://42eme.com Google + Google + ouvre ses APIs http://googleplusplatform.blogspot.com/2011/09/getting-started-on-google-api.html Le site pour les developeurs https://developers.google.com/+/ Google App Engine Google App Engine change ses prix http://glaforge.appspot.com/article/google-app-engine-s-new-pricing-model Quelques examples de changement de prix http://groups.google.com/group/google-appengine/browse_thread/thread/a1b7c68db2243932?pli=1 Cloud Foundry Patrick Chanezon http://www.chanezon.com/pat/cv/ Micro cloud foundry https://www.cloudfoundry.com/micro Annoncement http://blog.cloudfoundry.com/post/9331377393/we-shrunk-the-cloud-introducing-micro-cloud-foundry Brevets dans le mobile Google rachète des brevets a Motorola et les redonne / vend a HTC pour contrer les attaques d’Apple http://www.slashgear.com/htc-sues-apple-using-google-motorola-patents-07177865/ HP abandonne la TouchPad http://www.itespresso.fr/hp-abandonne-la-touchpad-mais-pas-forcement-les-tablettes-46139.html La nouvelle strategy d’HP http://online.wsj.com/article/SB10001424053111903461304576526810536821404.html BeOS http://fr.wikipedia.org/wiki/BeOS Apple bloque la Samsung Galaxy Tab 10.1 http://www.lefigaro.fr/societes/2011/09/09/04015-20110909ARTFIG00457-apple-fait-interdire-les-galaxy-tab-de-samsung-en-allemagne.php Les mains dans le cambouis Flash of unstyled content http://en.wikipedia.org/wiki/Flash_of_unstyled_content Les conferences OpenWorldForum 22 et 23 septembre à Paris http://www.openworldforum.org/ JavaOne 2011 du 2 au 6 octobre à San Francisco http://www.oracle.com/javaone/index.html Soft shake Geneve 3 et 4 octobre http://soft-shake.ch/ Riviera Dev les 20 et 21 octobre à Sophia Antipolis http://rivieradev.fr/ SpringOne2GX les 25 au 28 octobre http://springone2gx.com/conference/chicago/2011/10/home JUDCon 31 octobre–1er novembre à Londres http://www.jboss.org/events/JUDCon.html Devoxx 14 au 18 novembre à Anvers http://www.devoxx.com/display/DV11/Home Bibliotheque Apache Maven 2eme édition aux éditions Pearson http://www.pearson.fr/livre/?GCOI=27440100487310 Nous contacter Contactez-nous via twitter http://twitter.com/lescastcodeurs sur le groupe Google http://groups.google.com/group/lescastcodeurs ou sur le site web http://lescastcodeurs.com/ Flattr-ez nous (dons) sur http://lescastcodeurs.com/
Software Engineering Radio - The Podcast for Professional Software Developers
This is another episode on concurrency. We talk to two experts in the field, Brian Goetz and David Holmes about aspects of concurrency we hadn't really covered before. We start out by discussing liveness and safety and then continue to talk about synchronizers (latches, barriers, semaphores) as well as the importance of agreeing on protocols when developing concurrent applications. We then talked about thread confinement as a way of building thread-safe programs, as well as using functional programming and immutable data. The next set of topics covers various ways of how compilers can optimize the performance wrt. to concurrency, talking about techniques such as escape analysis as well as lock elision and coarsening. We then covered how to test concurrent programs and the consequences of the Java memory model on concurrency. We then went on to look at some more advanced topics, namely, lock-free programming and atomic variables. We also briefly discussed the idea of transactional memory. Finally, we looked at how better language support - specifically, a more declarative style of concurrent programming as e.g. in the Fortress language - can aid in improving the quality of concurrent programs.
Software Engineering Radio - The Podcast for Professional Software Developers
This is another episode on concurrency. We talk to two experts in the field, Brian Goetz and David Holmes about aspects of concurrency we hadn't really covered before. We start out by discussing liveness and safety and then continue to talk about synchronizers (latches, barriers, semaphores) as well as the importance of agreeing on protocols when developing concurrent applications. We then talked about thread confinement as a way of building thread-safe programs, as well as using functional programming and immutable data. The next set of topics covers various ways of how compilers can optimize the performance wrt. to concurrency, talking about techniques such as escape analysis as well as lock elision and coarsening. We then covered how to test concurrent programs and the consequences of the Java memory model on concurrency. We then went on to look at some more advanced topics, namely, lock-free programming and atomic variables. We also briefly discussed the idea of transactional memory. Finally, we looked at how better language support - specifically, a more declarative style of concurrent programming as e.g. in the Fortress language - can aid in improving the quality of concurrent programs.
Software Engineering Radio - The Podcast for Professional Software Developers
This is another episode on concurrency. We talk to two experts in the field, Brian Goetz and David Holmes about aspects of concurrency we hadn't really covered before. We start out by discussing liveness and safety and then continue to talk about synchronizers (latches, barriers, semaphores) as well as the importance of agreeing on protocols when developing concurrent applications. We then talked about thread confinement as a way of building thread-safe programs, as well as using functional programming and immutable data. The next set of topics covers various ways of how compilers can optimize the performance wrt. to concurrency, talking about techniques such as escape analysis as well as lock elision and coarsening. We then covered how to test concurrent programs and the consequences of the Java memory model on concurrency. We then went on to look at some more advanced topics, namely, lock-free programming and atomic variables. We also briefly discussed the idea of transactional memory. Finally, we looked at how better language support - specifically, a more declarative style of concurrent programming as e.g. in the Fortress language - can aid in improving the quality of concurrent programs.