Podcasts about jdbc

  • 38PODCASTS
  • 82EPISODES
  • 57mAVG DURATION
  • 1MONTHLY NEW EPISODE
  • Feb 9, 2025LATEST

POPULARITY

20172018201920202021202220232024


Best podcasts about jdbc

Latest podcast episodes about jdbc

Les Cast Codeurs Podcast
LCC 322 - Maaaaveeeeen 4 !

Les Cast Codeurs Podcast

Play Episode Listen Later Feb 9, 2025 77:13


Arnaud et Emmanuel discutent des nouvelles de ce mois. On y parle intégrité de JVM, fetch size de JDBC, MCP, de prompt engineering, de DeepSeek bien sûr mais aussi de Maven 4 et des proxy de répository Maven. Et d'autres choses encore, bonne lecture. Enregistré le 7 février 2025 Téléchargement de l'épisode LesCastCodeurs-Episode-322.mp3 ou en vidéo sur YouTube. News Langages Les evolutions de la JVM pour augmenter l'intégrité https://inside.java/2025/01/03/evolving-default-integrity/ un article sur les raisons pour lesquelles les editeurs de frameworks et les utilisateurs s'arrachent les cheveux et vont continuer garantir l'integrite du code et des données en enlevant des APIs existantes historiquemnt agents dynamiques, setAccessible, Unsafe, JNI Article expliques les risques percus par les mainteneurs de la JVM Franchement c'est un peu leg sur les causes l'article, auto propagande JavaScript Temporal, enfin une API propre et moderne pour gérer les dates en JS https://developer.mozilla.org/en-US/blog/javascript-temporal-is-coming/ JavaScript Temporal est un nouvel objet conçu pour remplacer l'objet Date, qui présente des défauts. Il résout des problèmes tels que le manque de prise en charge des fuseaux horaires et la mutabilité. Temporal introduit des concepts tels que les instants, les heures civiles et les durées. Il fournit des classes pour gérer diverses représentations de date/heure, y compris celles qui tiennent compte du fuseau horaire et celles qui n'en tiennent pas compte. Temporal simplifie l'utilisation de différents calendriers (par exemple, chinois, hébreu). Il comprend des méthodes pour les comparaisons, les conversions et le formatage des dates et des heures. La prise en charge par les navigateurs est expérimentale, Firefox Nightly ayant l'implémentation la plus aboutie. Un polyfill est disponible pour essayer Temporal dans n'importe quel navigateur. Librairies Un article sur les fetch size du JDBC et les impacts sur vos applications https://in.relation.to/2025/01/24/jdbc-fetch-size/ qui connait la valeur fetch size par default de son driver? en fonction de vos use cases, ca peut etre devastateur exemple d'une appli qui retourne 12 lignes et un fetch size de oracle a 10, 2 a/r pour rien et si c'est 50 lignres retournées la base de donnée est le facteur limitant, pas Java donc monter sont fetch size est avantageux, on utilise la memoire de Java pour eviter la latence Quarkus annouce les MCP servers project pour collecter les servier MCP en Java https://quarkus.io/blog/introducing-mcp-servers/ MCP d'Anthropic introspecteur de bases JDBC lecteur de filke system Dessine en Java FX demarrables facilement avec jbang et testes avec claude desktop, goose et mcp-cli permet d'utliser le pouvoir des librarires Java de votre IA d'ailleurs Spring a la version 0.6 de leur support MCP https://spring.io/blog/2025/01/23/spring-ai-mcp-0 Infrastructure Apache Flink sur Kibernetes https://www.decodable.co/blog/get-running-with-apache-flink-on-kubernetes-2 un article tres complet ejn deux parties sur l'installation de Flink sur Kubernetes installation, setup mais aussi le checkpointing, la HA, l'observablité Data et Intelligence Artificielle 10 techniques de prompt engineering https://medium.com/google-cloud/10-prompt-engineering-techniques-every-beginner-should-know-bf6c195916c7 Si vous voulez aller plus loin, l'article référence un très bon livre blanc sur le prompt engineering https://www.kaggle.com/whitepaper-prompt-engineering Les techniques évoquées : Zero-Shot Prompting: On demande directement à l'IA de répondre à une question sans lui fournir d'exemple préalable. C'est comme si on posait une question à une personne sans lui donner de contexte. Few-Shot Prompting: On donne à l'IA un ou plusieurs exemples de la tâche qu'on souhaite qu'elle accomplisse. C'est comme montrer à quelqu'un comment faire quelque chose avant de lui demander de le faire. System Prompting: On définit le contexte général et le but de la tâche pour l'IA. C'est comme donner à l'IA des instructions générales sur ce qu'elle doit faire. Role Prompting: On attribue un rôle spécifique à l'IA (enseignant, journaliste, etc.). C'est comme demander à quelqu'un de jouer un rôle spécifique. Contextual Prompting: On fournit des informations supplémentaires ou un contexte pour la tâche. C'est comme donner à quelqu'un toutes les informations nécessaires pour répondre à une question. Step-Back Prompting: On pose d'abord une question générale, puis on utilise la réponse pour poser une question plus spécifique. C'est comme poser une question ouverte avant de poser une question plus fermée. Chain-of-Thought Prompting: On demande à l'IA de montrer étape par étape comment elle arrive à sa conclusion. C'est comme demander à quelqu'un d'expliquer son raisonnement. Self-Consistency Prompting: On pose plusieurs fois la même question à l'IA et on compare les réponses pour trouver la plus cohérente. C'est comme vérifier une réponse en la posant sous différentes formes. Tree-of-Thoughts Prompting: On permet à l'IA d'explorer plusieurs chemins de raisonnement en même temps. C'est comme considérer toutes les options possibles avant de prendre une décision. ReAct Prompting: On permet à l'IA d'interagir avec des outils externes pour résoudre des problèmes complexes. C'est comme donner à quelqu'un les outils nécessaires pour résoudre un problème. Les patterns GenAI the thoughtworks https://martinfowler.com/articles/gen-ai-patterns/ tres introductif et pre RAG le direct prompt qui est un appel direct au LLM: limitations de connaissance et de controle de l'experience eval: evaluer la sortie d'un LLM avec plusieurs techniques mais fondamentalement une fonction qui prend la demande, la reponse et donc un score numerique evaluation via un LLM (le meme ou un autre), ou evaluation humaine tourner les evaluations a partir de la chaine de build amis aussi en live vu que les LLMs puvent evoluer. Decrit les embedding notament d'image amis aussi de texte avec la notion de contexte DeepSeek et la fin de la domination de NVidia https://youtubetranscriptoptimizer.com/blog/05_the_short_case_for_nvda un article sur les raisons pour lesquelles NVIDIA va se faire cahllengert sur ses marges 90% de marge quand meme parce que les plus gros GPU et CUDA qui est proprio mais des approches ardware alternatives existent qui sont plus efficientes (TPU et gros waffle) Google, MS et d'autres construisent leurs GPU alternatifs CUDA devient de moins en moins le linga franca avec l'investissement sur des langages intermediares alternatifs par Apple, Google OpenAI etc L'article parle de DeepSkeek qui est venu mettre une baffe dans le monde des LLMs Ils ont construit un competiteur a gpt4o et o1 avec 5M de dollars et des capacites de raisonnements impressionnant la cles c'etait beaucoup de trick d'optimisation mais le plus gros est d'avoir des poids de neurores sur 8 bits vs 32 pour les autres. et donc de quatizer au fil de l'eau et au moment de l'entrainement beaucoup de reinforcemnt learning innovatifs aussi et des Mixture of Expert donc ~50x moins chers que OpenAI Donc plus besoin de GPU qui on des tonnes de vRAM ah et DeepSeek est open source un article de semianalytics change un peu le narratif le papier de DeepSkeek en dit long via ses omissions par ensemple les 6M c'est juste l'inference en GPU, pas les couts de recherches et divers trials et erreurs en comparaison Claude Sonnet a coute 10M en infererence DeepSeek a beaucoup de CPU pre ban et ceratins post bans evalués a 5 Milliards en investissement. leurs avancées et leur ouverture reste extremement interessante Une intro à Apache Iceberg http://blog.ippon.fr/2025/01/17/la-revolution-des-donnees-lavenement-des-lakehouses-avec-apache-iceberg/ issue des limites du data lake. non structuré et des Data Warehouses aux limites en diversite de données et de volume entrent les lakehouse Et particulierement Apache Iceberg issue de Netflix gestion de schema mais flexible notion de copy en write vs merge on read en fonction de besoins garantie atomicite, coherence, isoliation et durabilite notion de time travel et rollback partitions cachées (qui abstraient la partition et ses transfos) et evolution de partitions compatbile avec les moteurs de calcul comme spark, trino, flink etc explique la structure des metadonnées et des données Guillaume s'amuse à générer des histoires courtes de Science-Fiction en programmant des Agents IA avec LangChain4j et aussi avec des workflows https://glaforge.dev/posts/2025/01/27/an-ai-agent-to-generate-short-scifi-stories/ https://glaforge.dev/posts/2025/01/31/a-genai-agent-with-a-real-workflow/ Création d'un générateur automatisé de nouvelles de science-fiction à l'aide de Gemini et Imagen en Java, LangChain4j, sur Google Cloud. Le système génère chaque nuit des histoires, complétées par des illustrations créées par le modèle Imagen 3, et les publie sur un site Web. Une étape d'auto-réflexion utilise Gemini pour sélectionner la meilleure image pour chaque chapitre. L'agent utilise un workflow explicite, drivé par le code Java, où les étapes sont prédéfinies dans le code, plutôt que de s'appuyer sur une planification basée sur LLM. Le code est disponible sur GitHub et l'application est déployée sur Google Cloud. L'article oppose les agents de workflow explicites aux agents autonomes, en soulignant les compromis de chaque approche. Car parfois, les Agent IA autonomes qui gèrent leur propre planning hallucinent un peu trop et n'établissent pas un plan correctement, ou ne le suive pas comme il faut, voire hallucine des “function call”. Le projet utilise Cloud Build, le Cloud Run jobs, Cloud Scheduler, Firestore comme base de données, et Firebase pour le déploiement et l'automatisation du frontend. Dans le deuxième article, L'approche est différente, Guillaume utilise un outil de Workflow, plutôt que de diriger le planning avec du code Java. L'approche impérative utilise du code Java explicite pour orchestrer le workflow, offrant ainsi un contrôle et une parallélisation précis. L'approche déclarative utilise un fichier YAML pour définir le workflow, en spécifiant les étapes, les entrées, les sorties et l'ordre d'exécution. Le workflow comprend les étapes permettant de générer une histoire avec Gemini 2, de créer une invite d'image, de générer des images avec Imagen 3 et d'enregistrer le résultat dans Cloud Firestore (base de donnée NoSQL). Les principaux avantages de l'approche impérative sont un contrôle précis, une parallélisation explicite et des outils de programmation familiers. Les principaux avantages de l'approche déclarative sont des définitions de workflow peut-être plus faciles à comprendre (même si c'est un YAML, berk !) la visualisation, l'évolutivité et une maintenance simplifiée (on peut juste changer le YAML dans la console, comme au bon vieux temps du PHP en prod). Les inconvénients de l'approche impérative incluent le besoin de connaissances en programmation, les défis potentiels en matière de maintenance et la gestion des conteneurs. Les inconvénients de l'approche déclarative incluent une création YAML pénible, un contrôle de parallélisation limité, l'absence d'émulateur local et un débogage moins intuitif. Le choix entre les approches dépend des exigences du projet, la déclarative étant adaptée aux workflows plus simples. L'article conclut que la planification déclarative peut aider les agents IA à rester concentrés et prévisibles. Outillage Vulnérabilité des proxy Maven https://github.blog/security/vulnerability-research/attacks-on-maven-proxy-repositories/ Quelque soit le langage, la techno, il est hautement conseillé de mettre en place des gestionnaires de repositories en tant que proxy pour mieux contrôler les dépendances qui contribuent à la création de vos produits Michael Stepankin de l'équipe GitHub Security Lab a cherché a savoir si ces derniers ne sont pas aussi sources de vulnérabilité en étudiant quelques CVEs sur des produits comme JFrog Artifactory, Sonatype Nexus, et Reposilite Certaines failles viennent de la UI des produits qui permettent d'afficher les artifacts (ex: mettez un JS dans un fichier POM) et même de naviguer dedans (ex: voir le contenu d'un jar / zip et on exploite l'API pour lire, voir modifier des fichiers du serveur en dehors des archives) Les artifacts peuvent aussi être compromis en jouant sur les paramètres propriétaires des URLs ou en jouant sur le nomage avec les encodings. Bref, rien n'est simple ni niveau. Tout système rajoute de la compléxité et il est important de les tenir à mettre à jour. Il faut surveiller activement sa chaine de distribution via différents moyens et ne pas tout miser sur le repository manager. L'auteur a fait une présentation sur le sujet : https://www.youtube.com/watch?v=0Z_QXtk0Z54 Apache Maven 4… Bientôt, c'est promis …. qu'est ce qu'il y aura dedans ? https://gnodet.github.io/maven4-presentation/ Et aussi https://github.com/Bukama/MavenStuff/blob/main/Maven4/whatsnewinmaven4.md Apache Maven 4 Doucement mais surement …. c'est le principe d'un projet Maven 4.0.0-rc-2 est dispo (Dec 2024). Maven a plus de 20 ans et est largement utilisé dans l'écosystème Java. La compatibilité ascendante a toujours été une priorité, mais elle a limité la flexibilité. Maven 4 introduit des changements significatifs, notamment un nouveau schéma de construction et des améliorations du code. Changements du POM Séparation du Build-POM et du Consumer-POM : Build-POM : Contient des informations propres à la construction (ex. plugins, configurations). Consumer-POM : Contient uniquement les informations nécessaires aux consommateurs d'artefacts (ex. dépendances). Nouveau Modèle Version 4.1.0 : Utilisé uniquement pour le Build-POM, alors que le Consumer-POM reste en 4.0.0 pour la compatibilité. Introduit de nouveaux éléments et en marque certains comme obsolètes. Modules renommés en sous-projets : “Modules” devient “Sous-projets” pour éviter la confusion avec les Modules Java. L'élément remplace (qui reste pris en charge). Nouveau type de packaging : “bom” (Bill of Materials) : Différencie les POMs parents et les BOMs de gestion des dépendances. Prend en charge les exclusions et les imports basés sur les classifiers. Déclaration explicite du répertoire racine : permet de définir explicitement le répertoire racine du projet. Élimine toute ambiguïté sur la localisation des racines de projet. Nouvelles variables de répertoire : ${project.rootDirectory}, ${session.topDirectory} et ${session.rootDirectory} pour une meilleure gestion des chemins. Remplace les anciennes solutions non officielles et variables internes obsolètes. Prise en charge de syntaxes alternatives pour le POM Introduction de ModelParser SPI permettant des syntaxes alternatives pour le POM. Apache Maven Hocon Extension est un exemple précoce de cette fonctionnalité. Améliorations pour les sous-projets Versioning automatique des parents Il n'est plus nécessaire de définir la version des parents dans chaque sous-projet. Fonctionne avec le modèle de version 4.1.0 et s'étend aux dépendances internes au projet. Support complet des variables compatibles CI Le Flatten Maven Plugin n'est plus requis. Prend en charge les variables comme ${revision} pour le versioning. Peut être défini via maven.config ou la ligne de commande (mvn verify -Drevision=4.0.1). Améliorations et corrections du Reactor Correction de bug : Gestion améliorée de --also-make lors de la reprise des builds. Nouvelle option --resume (-r) pour redémarrer à partir du dernier sous-projet en échec. Les sous-projets déjà construits avec succès sont ignorés lors de la reprise. Constructions sensibles aux sous-dossiers : Possibilité d'exécuter des outils sur des sous-projets sélectionnés uniquement. Recommandation : Utiliser mvn verify plutôt que mvn clean install. Autres Améliorations Timestamps cohérents pour tous les sous-projets dans les archives packagées. Déploiement amélioré : Le déploiement ne se produit que si tous les sous-projets sont construits avec succès. Changements de workflow, cycle de vie et exécution Java 17 requis pour exécuter Maven Java 17 est le JDK minimum requis pour exécuter Maven 4. Les anciennes versions de Java peuvent toujours être ciblées pour la compilation via Maven Toolchains. Java 17 a été préféré à Java 21 en raison d'un support à long terme plus étendu. Mise à jour des plugins et maintenance des applications Suppression des fonctionnalités obsolètes (ex. Plexus Containers, expressions ${pom.}). Mise à jour du Super POM, modifiant les versions par défaut des plugins. Les builds peuvent se comporter différemment ; définissez des versions fixes des plugins pour éviter les changements inattendus. Maven 4 affiche un avertissement si des versions par défaut sont utilisées. Nouveau paramètre “Fail on Severity” Le build peut échouer si des messages de log atteignent un niveau de gravité spécifique (ex. WARN). Utilisable via --fail-on-severity WARN ou -fos WARN. Maven Shell (mvnsh) Chaque exécution de mvn nécessitait auparavant un redémarrage complet de Java/Maven. Maven 4 introduit Maven Shell (mvnsh), qui maintient un processus Maven résident unique ouvert pour plusieurs commandes. Améliore la performance et réduit les temps de build. Alternative : Utilisez Maven Daemon (mvnd), qui gère un pool de processus Maven résidents. Architecture Un article sur les feature flags avec Unleash https://feeds.feedblitz.com//911939960/0/baeldungImplement-Feature-Flags-in-Java-With-Unleash Pour A/B testing et des cycles de développements plus rapides pour « tester en prod » Montre comment tourner sous docker unleash Et ajouter la librairie a du code java pour tester un feature flag Sécurité Keycloak 26.1 https://www.keycloak.org/2025/01/keycloak-2610-released.html detection des noeuds via la proble base de donnée aulieu echange reseau virtual threads pour infinispan et jgroups opentelemetry tracing supporté et plein de fonctionalités de sécurité Loi, société et organisation Les grands morceaux du coût et revenus d'une conférence. Ici http://bdx.io|bdx.io https://bsky.app/profile/ameliebenoit33.bsky.social/post/3lgzslhedzk2a 44% le billet 52% les sponsors 38% loc du lieu 29% traiteur et café 12% standiste 5% frais speaker (donc pas tous) Ask Me Anything Julien de Provin: J'aime beaucoup le mode “continuous testing” de Quarkus, et je me demandais s'il existait une alternative en dehors de Quarkus, ou à défaut, des ressources sur son fonctionnement ? J'aimerais beaucoup avoir un outil agnostique utilisable sur les projets non-Quarkus sur lesquels j'intervient, quitte à y metttre un peu d'huile de coude (ou de phalange pour le coup). https://github.com/infinitest/infinitest/ Conférences La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 6-7 février 2025 : Touraine Tech - Tours (France) 21 février 2025 : LyonJS 100 - Lyon (France) 28 février 2025 : Paris TS La Conf - Paris (France) 6 mars 2025 : DevCon #24 : 100% IA - Paris (France) 13 mars 2025 : Oracle CloudWorld Tour Paris - Paris (France) 14 mars 2025 : Rust In Paris 2025 - Paris (France) 19-21 mars 2025 : React Paris - Paris (France) 20 mars 2025 : PGDay Paris - Paris (France) 20-21 mars 2025 : Agile Niort - Niort (France) 25 mars 2025 : ParisTestConf - Paris (France) 26-29 mars 2025 : JChateau Unconference 2025 - Cour-Cheverny (France) 27-28 mars 2025 : SymfonyLive Paris 2025 - Paris (France) 28 mars 2025 : DataDays - Lille (France) 28-29 mars 2025 : Agile Games France 2025 - Lille (France) 3 avril 2025 : DotJS - Paris (France) 3 avril 2025 : SoCraTes Rennes 2025 - Rennes (France) 4 avril 2025 : Flutter Connection 2025 - Paris (France) 4 avril 2025 : aMP Orléans 04-04-2025 - Orléans (France) 10-11 avril 2025 : Android Makers - Montrouge (France) 10-12 avril 2025 : Devoxx Greece - Athens (Greece) 16-18 avril 2025 : Devoxx France - Paris (France) 23-25 avril 2025 : MODERN ENDPOINT MANAGEMENT EMEA SUMMIT 2025 - Paris (France) 24 avril 2025 : IA Data Day 2025 - Strasbourg (France) 29-30 avril 2025 : MixIT - Lyon (France) 7-9 mai 2025 : Devoxx UK - London (UK) 15 mai 2025 : Cloud Toulouse - Toulouse (France) 16 mai 2025 : AFUP Day 2025 Lille - Lille (France) 16 mai 2025 : AFUP Day 2025 Lyon - Lyon (France) 16 mai 2025 : AFUP Day 2025 Poitiers - Poitiers (France) 24 mai 2025 : Polycloud - Montpellier (France) 24 mai 2025 : NG Baguette Conf 2025 - Nantes (France) 5-6 juin 2025 : AlpesCraft - Grenoble (France) 5-6 juin 2025 : Devquest 2025 - Niort (France) 10-11 juin 2025 : Modern Workplace Conference Paris 2025 - Paris (France) 11-13 juin 2025 : Devoxx Poland - Krakow (Poland) 12-13 juin 2025 : Agile Tour Toulouse - Toulouse (France) 12-13 juin 2025 : DevLille - Lille (France) 13 juin 2025 : Tech F'Est 2025 - Nancy (France) 17 juin 2025 : Mobilis In Mobile - Nantes (France) 24 juin 2025 : WAX 2025 - Aix-en-Provence (France) 25-26 juin 2025 : Agi'Lille 2025 - Lille (France) 25-27 juin 2025 : BreizhCamp 2025 - Rennes (France) 26-27 juin 2025 : Sunny Tech - Montpellier (France) 1-4 juillet 2025 : Open edX Conference - 2025 - Palaiseau (France) 7-9 juillet 2025 : Riviera DEV 2025 - Sophia Antipolis (France) 18-19 septembre 2025 : API Platform Conference - Lille (France) & Online 2-3 octobre 2025 : Volcamp - Clermont-Ferrand (France) 6-10 octobre 2025 : Devoxx Belgium - Antwerp (Belgium) 9-10 octobre 2025 : Forum PHP 2025 - Marne-la-Vallée (France) 16-17 octobre 2025 : DevFest Nantes - Nantes (France) 4-7 novembre 2025 : NewCrafts 2025 - Paris (France) 6 novembre 2025 : dotAI 2025 - Paris (France) 7 novembre 2025 : BDX I/O - Bordeaux (France) 12-14 novembre 2025 : Devoxx Morocco - Marrakech (Morocco) 28-31 janvier 2026 : SnowCamp 2026 - Grenoble (France) 23-25 avril 2026 : Devoxx Greece - Athens (Greece) 17 juin 2026 : Devoxx Poland - Krakow (Poland) 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/

airhacks.fm podcast with adam bien
Postgres Performance Optimization: Connection Pooling, JDBC, and Distributed Databases

airhacks.fm podcast with adam bien

Play Episode Listen Later Feb 2, 2025 69:52


An airhacks.fm conversation with Alvaro Hernandez (@ahachete) about: discussion on Postgres JDBC driver contributions, SCRAM authentication library implementation, importance of connection pooling for Postgres performance, tuning Postgres configuration, PgBouncer as a popular connection pooler, challenges with lambda and database connections, benefits of using connection poolers at multiple levels, the need for an HTTP-based protocol for PostgreSQL, PostgresSQL Configuration Tool by StackGres, distributed SQL databases like DSQL and their trade-offs, optimistic vs pessimistic locking in distributed databases, comparison of JPA optimistic locking to distributed database conflicts, the power of using SQL directly vs ORM frameworks, the evolution of Java and JDBC making direct database queries more convenient, the potential benefits of using stored procedures in databases, the importance of understanding database internals for optimal performance, the need for careful consideration when choosing between ORM and direct SQL queries, the complexities of distributed databases and their impact on application design Alvaro Hernandez on twitter: @ahachete

Les Cast Codeurs Podcast
LCC 318 - La faille sous la faille sous la faille

Les Cast Codeurs Podcast

Play Episode Listen Later Nov 8, 2024 83:53


Cet épisode est relativement pauvre en IA, ouaissssssss ! Mais il nous reste plein de Spring, plein de failles, plein d'OpenTelemetry, un peu de versionnage sémantique, une astuce Git et bien d'autres choses encore. Enregistré le 8 novembre 2024 Téléchargement de l'épisode LesCastCodeurs-Episode–318.mp3 News Langages Le createur de Fernflower in decompilateur qui a relancé l'outillage autour de Java 8 est mort, un hommage d'IntelliJ IDEA https://blog.jetbrains.com/idea/2024/11/in-memory-of-stiver/ les decompilateurs s'appuyaient sur des patterns reconnus et étaient fragiles et incomplets surtout quand Java 8 a changé le pattern try catch et ajouté des concepts comme les annotations le champ était moribond quand Stiver s'est lancé dommage l'article n'explique pas comment le control-flow graph est genere a partir du bytecode pour ameliorer la decompilation Librairies On peut maintenant utiliser Jakarta Data Repository dans Quarkus https://in.relation.to/2024/11/04/data-in-quarkus/ petit article avec un projet example aussi un lien sur la presentation de Jakarta Data par Gavin à Devoxx Belgique Quarkus 3.16 https://quarkus.io/guides/opentelemetry-logging logs distribués avec OpenTelemetry (preview) deserialiseurs Jackson sans reflection des améliorations dans la stack de sécurité TLS registry a ratjouté graphql client et keycloak admin client LEs logs des container devservice et des access http sont visible dans la DevUI Les extensions peuvent maintenant ecrire leur doc en markdown (c'etait juste asciidoc avant) Un artcile sur comment débuter en Spring Batch https://www.sfeir.dev/back/planifier-des-taches-avec-spring-batch/ Le support OAuth2 pour RestClient arrive dans Security 6.4 / Boot 3.4. Plus de hack de WebClient dans vos applications Spring-Web ! https://spring.io/blog/2024/10/28/restclient-support-for-oauth2-in-spring-security–6–4 RestClient a été ajouté dans Spring Framework 6.1 API Fluide Spring Security 6.4 simplifie la configuration OAuth2 avec le nouveau client HTTP synchrone RestClient. RestClient permet des requêtes de ressources sans dépendances réactives, alignant la configuration entre applications servlet et réactives. La mise à jour facilite la migration depuis RestTemplate et ouvre la voie à des scénarios avancés. Marre des microservices ? Revenez au monoliths avec Spring Modulith 1.3RC1, 1.2.5 et 1.1.10 https://spring.io/blog/2024/10/28/spring-modulith–1–3-rc1–1–2–5-and–1–1–10-released Spring Modulith 1.3 RC1, 1.2.5, and 1.1.10 sont disponibles. La version 1.3 RC1 inclut des nouvelles fonctionnalités : archiving event publication completion mode compatibilité avec MariaDB et Oracle avec JDBC-based event publication registry Possibilité d'externaliser des événements dans des MessageChannels de Spring. Expressions SpEL dans @Externalized validation d'architecture technique jMolecules. Les versions 1.2.5 et 1.1.10 apportent des correctifs et mises à jour de dépendances. Spring gRPC 0.1 est sorti https://github.com/spring-projects-experimental/spring-grpc c'est tout nouveau et explorationel si c'est un probleme qui vous gratte, ca vaut le coup de jeter un coup d'oeil et participer. Spring Boot 3.3 Integrer Spring avec Open Telemetry (OTLP protocole) https://spring.io/blog/2024/10/28/lets-use-opentelemetry-with-spring rappel de la valeur de ce standard Open Telemetry comment l'utiliser dans vos projets Spring Comment utiliser ollama avec Spring AI https://spring.io/blog/2024/10/22/leverage-the-power-of–45k-free-hugging-face-models-with-spring-ai-and-ollama permet d'acceter aux 45k modeles de Hugging faces qui supportent le deploiement sur ollama il y a un spring boot starter c'est vraiment pour debuter Cloud Google Cloud Frankfort a subit 12h d'interruption https://t.co/VueiQjhCA3 Google Cloud a subi une panne de 12 heures dans la région europe-west3 (Francfort) le 24 octobre 2024. La panne, causée par une défaillance d'alimentation et de refroidissement, a affecté plusieurs services, y compris Compute Engine et Kubernetes Engine. Les utilisateurs ont rencontré des problèmes de création de VM, des échecs d'opérations et des retards de traitement. Google a conseillé de migrer les charges de travail vers d'autres zones. il y a eu une autre zone Europeenne pas mal affectée l'année dernière et des clients ont perdu des données :sweat: Web La fin de la World Wild Web Foundation https://www.theregister.com/2024/09/30/world_wide_web_foundation_closes/ la Fondation World Wide Web ferme ses portes. Les cofondateurs estiment que les problèmes auxquels est confronté le Web ont changé et que d'autres groupes de défense peuvent désormais prendre le relais. Ils estiment également que la priorité absolue doit être donnée à la passion de Tim Berners-Lee pour redonner aux individus le pouvoir et le contrôle de leurs données et pour construire activement des systèmes de collaboration puissants (Solid Protocol - https://solidproject.org/). Release du https://www.patternfly.org/ 6 Fw opensource pour faire de UI, sponsor RH Interessant à regarder Data et Intelligence Artificielle TSMC arrête des ventes à un client chinois qui aurait revenu un processeur à Huawei et utilise dans sa puce IA https://www.reuters.com/technology/tsmc-suspended-shipments-china-firm-after-chip-found-huawei-processor-sources–2024–10–26/ Taiwan Semiconductor Manufacturing Company (TSMC) a suspendu ses livraisons à Sophgo, un concepteur de puces chinois, après la découverte d'une puce fabriquée par TSMC dans un processeur AI de Huawei (Ascend 910B). Cette découverte soulève des préoccupations concernant des violations potentielles des contrôles d'exportation des États-Unis, qui restreignent Huawei depuis 2020. Sophgo, lié à Bitmain, a nié toute connexion avec Huawei et affirme se conformer aux lois applicables. Toutefois, l'incident a conduit à une enquête approfondie de TSMC et des autorités américaines et taïwanaises Open AI et Microsoft, de l'amour à la guerre https://www.computerworld.com/article/3593206/microsoft-and-openai-good-by-bromance-hel[…]m_source=Adestra&huid=4349eeff–5b8b–493d–9e61–9abf8be5293b on a bien suivi les chants d'amour entre Sam Altman et Satia Nadella ca c'est tendu ces derniers temps deja avec le coup chez openAI où MS avait sifflé la fin de la récré “on a le code, les données, l'IP et la capacité, on peut tout recrée” OpenAi a un competiteur de Copilot et essaie de courtises ses clients les apétits d'investissements d'OpenAI et une dispute sur la valeur de la aprt de MS qui a donné des crédits cloud semble etre aui coeur de la dispute du moment Debezium 3 est sorti https://debezium.io/blog/2024/10/02/debezium–3–0-final-released/ Java 17 minimum pour les connecteurs et 21 pour le serveur, l'extension quarkus outbox et pour l'operateur nettoyage des depreciations metriques par table maintenant support for mysql 9 y compris vector data type oracle, default mining strategie changée ehcache off-heap ajouté amelioarations diverses Oracle (offline RAC node flush, max string size for Extended PostgreSQL PGVector etc (Spanner, vitess, …) NotebookLlama: une version Open Source de NotebookLM https://github.com/meta-llama/llama-recipes/tree/main/recipes/quickstart/NotebookLlama Si vous avez été impressionné par les démo de Gemini Notebook, en créant des podcasts à partir de différentes resources, testez la version llama Tutoriel étape par étape pour transformer un PDF en podcast. Outillage Vous aimez Maven? Bien évidemment! Vous aimez asciidoctor? Absolument! Alors la version 3.1.0 du plugin asciidoctor pour maven est pour vous !! https://github.com/asciidoctor/asciidoctor-maven-plugin Le plugin permet soit de convertir des documents asciidoc de manière autonome, soit de les gérer via le site maven GitHub Universe: de l'IA, de l'IA et encore de l'IA https://github.blog/news-insights/product-news/universe–2024-previews-releases/ GitHub Universe 2024 présente les nouveautés de l'année, notamment la possibilité de choisir parmi plusieurs modèles d'IA pour GitHub Copilot (Claude 3.5, Gemini 1.5 Pro, OpenAI o1). Nouvelles fonctionnalités : GitHub Spark pour créer des micro-applications, révisions de code assistées par Copilot, sécurité renforcée avec Copilot Autofix. Simplification des workflows avec les extensions GitHub Copilot Facilitation de la création d'applications IA génératives avec GitHub Models Méthodologies Les blogs de developpeurs experts Java recommandés par IntelliJ https://blog.jetbrains.com/idea/2024/11/top-java-blogs-for-experienced-programmers/ pas forcement d'accord avec toute la liste mais elle donne de bonnes options si vous voulez lire plus de blogs Java Keycloak revient au semantic versioning après avoir suivi le versionage à la Google Chrome https://www.keycloak.org/2024/10/release-updates ne pas savoir si une mise a jour était retrocompatible était problématique pour les utilisateurs aussi les librairies clientes seront délivrées séparément et supporteront toutes les versions serveur de keycloak supportés Sécurité Un exemple d'attaque de secure supply chain théorique identifiée dans le quarkiverse et les détails de la résolution https://quarkus.io/blog/quarkiverse-and-smallrye-new-release-process/ dans le quarkiverse, les choses sont automatisées pour simplifier la vie des contributeurs d'extension occasionels mais il y avait un défaut, les secrets de signature et d'accès à maven central étaient des secrets d'organisation ce qui veut dire qu'un editeur d'extension malicieux pouvait ecrire un pluging ou un test qiu lisait ses secrets et pouvait livrer de faux artifacts la solution est de séparer la construction des artifacts de l'etape de signature et de release sur maven central comme cela les cles ne sont plus accessible Avec Okta pus besoin de mot de passe quand tu as un identifiant long :face_with_hand_over_mouth: https://trust.okta.com/security-advisories/okta-ad-ldap-delegated-authentication-username/ LOL Une vulnérabilité a été découverte dans la génération de la clé de cache pour l'authentification déléguée AD/LDAP. Les conditions: MFA non utilisé Nom d'utilisateur de 52 caractères ou plus Utilisateur authentifié précédemment, créant un cache d'authentification Le cache a été utilisé en premier, ce qui peut se produire si l'agent AD/LDAP était hors service ou inaccessible, par exemple en raison d'un trafic réseau élevé L'authentification s'est produite entre le 23 juillet 2024 et le 30 octobre 2024 Fixé le 30 octobre, 2024 La revanche des imprimantes !! Linux ne les aime pas, et elles lui rendent bien. https://www.theregister.com/2024/09/26/cups_linux_rce_disclosed/ Après quelques heures / jours de rumeurs sur une faille 9.9/10 CVSS il s'avère que cela concerne que les système avec le système d'impression CUPS et cups-browsed Désactivez et/ou supprimez le service cups-browsed. Mettez à jour votre installation CUPS pour appliquer les mises à jour de sécurité lorsqu'elles sont disponibles. Envisagez de bloquer l'accès au port UDP 631 et également de désactiver le DNS-SD. Cela concerne la plupart des distributions Linux, certaines BSD, possiblement Google ChromeOS, Solaris d'Oracle et potentiellement d'autres systèmes, car CUPS est intégré à diverses distributions pour fournir la fonctionnalité d'impression. Pour exploiter cette vulnérabilité via internet ou le réseau local (LAN), un attaquant doit pouvoir accéder à votre service CUPS sur le port UDP 631. Idéalement, aucun de vous ne devrait exposer ce port sur l'internet public. L'attaquant doit également attendre que vous lanciez une tâche d'impression. Si le port 631 n'est pas directement accessible, un attaquant pourrait être en mesure de falsifier des annonces zeroconf, mDNS ou DNS-SD pour exploiter cette vulnérabilité sur un LAN. Loi, société et organisation La version 1.0 de la definition de l'IA l'Open Source est sortie https://siliconangle.com/2024/10/28/osi-clarifies-makes-ai-systems-open-source-open-models-fall-short/ L'Open Source Initiative (OSI) a clarifié les critères pour qu'un modèle d'IA soit considéré comme open-source : accès complet aux données de formation, au code source et aux paramètres d'entraînement. La plupart des modèles dits “open” comme ceux de Meta (Llama) et Stability AI (Stable Diffusion) ne respectent pas ces critères, car ils imposent des restrictions sur l'utilisation commerciale et ne rendent pas publiques les données de formation c'est au details de données de formation (donc pas forcement les données elle meme. “In particular, this must include: (1) the complete description of all data used for training, including (if used) of unshareable data, disclosing the provenance of the data, its scope and characteristics, how the data was obtained and selected, the labeling procedures, and data processing and filtering methodologies; (2) a listing of all publicly available training data and where to obtain it; and (3) a listing of all training data obtainable from third parties and where to obtain it, including for fee.” C'est en echo a la version d'open source AI de la linux fondation En parlant de cela un article sur l'open source washing dans les modèles https://www.theregister.com/2024/10/25/opinion_open_washing/ L'open washing désigne la pratique où des entreprises prétendent que leurs produits ou modèles sont open-source, bien qu'ils ne respectent pas les critères réels d'ouverture (transparence, accessibilité, partage des connaissances). De grandes entreprises comme Meta, Google et Microsoft sont souvent accusées d'utiliser cette stratégie, ce qui soulève des préoccupations concernant la clarté des définitions légales et commerciales de l'open source, surtout avec l'essor de l'IA. Rubrique débutant Un petit article fondamental sur REST https://www.sfeir.dev/rest-definition/ there de Roy Fielding en reaction aux protocoles lourds comme SOAP 5 verbes (GET PUT, POST. DELETE, PATCH) JSON mais pas que (XML et autre pas d'etat inter requete Ask Me Anything Morgan de Montréal Comment faire cohabiter plusieurs dépôts Git ? Je m'explique : dans mon entreprise, nous utilisons notre dépôt Git (Bitbucket) configuré pour notre dépôt d'entreprise. Lorsque je souhaite contribuer à un projet open source, je suis obligé de modifier ma configuration globale Git (nom d'utilisateur, email) pour correspondre à mon compte GitHub. Il arrive souvent que, lorsque je reviens pour effectuer un commit sur le dépôt d'entreprise, j'oublie que je suis en mode “open source”, ce qui entraîne l'enregistrement de mes configurations “open source” dans l'historique de Bitbucket… Comment gérez-vous ce genre de situation ? Comment gérer différents profiles git https://medium.com/@mrjink/using-includeif-to-manage-your-git-identities-bcc99447b04b Conférences La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 8 novembre 2024 : BDX I/O - Bordeaux (France) 13–14 novembre 2024 : Agile Tour Rennes 2024 - Rennes (France) 16–17 novembre 2024 : Capitole Du Libre - Toulouse (France) 20–22 novembre 2024 : Agile Grenoble 2024 - Grenoble (France) 21 novembre 2024 : DevFest Strasbourg - Strasbourg (France) 21 novembre 2024 : Codeurs en Seine - Rouen (France) 21 novembre 2024 : Agile Game Toulouse - Toulouse (France) 27–28 novembre 2024 : Cloud Expo Europe - Paris (France) 28 novembre 2024 : OVHcloud Summit - Paris (France) 28 novembre 2024 : Who Run The Tech ? - Rennes (France) 2–3 décembre 2024 : Tech Rocks Summit - Paris (France) 3 décembre 2024 : Generation AI - Paris (France) 3–5 décembre 2024 : APIdays Paris - Paris (France) 4–5 décembre 2024 : DevOpsRex - Paris (France) 4–5 décembre 2024 : Open Source Experience - Paris (France) 5 décembre 2024 : GraphQL Day Europe - Paris (France) 6 décembre 2024 : DevFest Dijon - Dijon (France) 19 décembre 2024 : Normandie.ai 2024 - Rouen (France) 22–25 janvier 2025 : SnowCamp 2025 - Grenoble (France) 30 janvier 2025 : DevOps D-Day #9 - Marseille (France) 6–7 février 2025 : Touraine Tech - Tours (France) 28 février 2025 : Paris TS La Conf - Paris (France) 20 mars 2025 : PGDay Paris - Paris (France) 25 mars 2025 : ParisTestConf - Paris (France) 3 avril 2025 : DotJS - Paris (France) 10–12 avril 2025 : Devoxx Greece - Athens (Greece) 16–18 avril 2025 : Devoxx France - Paris (France) 7–9 mai 2025 : Devoxx UK - London (UK) 16 mai 2025 : AFUP Day 2025 Lille - Lille (France) 16 mai 2025 : AFUP Day 2025 Lyon - Lyon (France) 16 mai 2025 : AFUP Day 2025 Poitiers - Poitiers (France) 11–13 juin 2025 : Devoxx Poland - Krakow (Poland) 12–13 juin 2025 : DevLille - Lille (France) 24 juin 2025 : WAX 2025 - Aix-en-Provence (France) 26–27 juin 2025 : Sunny Tech - Montpellier (France) 1–4 juillet 2025 : Open edX Conference - 2025 - Palaiseau (France) 18–19 septembre 2025 : API Platform Conference - Lille (France) & Online 6–10 octobre 2025 : Devoxx Belgium - Antwerp (Belgium) 9–10 octobre 2025 : Volcamp - Clermont-Ferrand (France) 16–17 octobre 2025 : DevFest Nantes - Nantes (France) 23–25 avril 2026 : Devoxx Greece - Athens (Greece) 17 juin 2026 : Devoxx Poland - Krakow (Poland) 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/

airhacks.fm podcast with adam bien
JDBC with Oracle Deeper Dive: From OCI to Thin Drivers and Beyond

airhacks.fm podcast with adam bien

Play Episode Listen Later Nov 3, 2024 45:55


An airhacks.fm conversation with Gerald Venzl (@geraldvenzl) about: discussion about the evolution of Oracle's annual conference from OpenWorld to CloudWorld, the JavaOne conference, explanation of JDBC driver types and their evolution, Oracle's thin JDBC driver becoming the preferred option, availability of Oracle JDBC drivers on Maven Central, proprietary features of Oracle's JDBC driver including Continuous Query Notification (CQN) and Application Continuity, comparison of CQN to Change Data Capture (CDC) and CQRS patterns, Oracle's Flashback Data Archive for auditing and time travel capabilities, Oracle's Advanced Queuing and Transactional Event Queues, ORDS REST APIs, Oracle product page, Oracle JDBC client libraries, the plug-in mechanism implemented in early Java versions for JDBC drivers using Class.forName and static initializers, Gerald Venzl's online presence and recent blog post about running Oracle database on Raspberry Pi Gerald Venzl on twitter: @geraldvenzl

The MSDW Podcast
Community Summit 2024 Preview with KingswaySoft

The MSDW Podcast

Play Episode Listen Later Oct 1, 2024 7:17


MSDW is previewing Community Summit North America 2024 with a new series of quick podcast episodes featuring exhibitors. In this episode, we speak with Daniel Cai, founder and managing director of KingswaySoft.   Daniel tell us about KingswaySoft's newest offering, their JDBC Driver Pack for Dynamics 365. It first launched in July 2024 with Dynamics 365 CRM and Dataverse support, which they called JDBC 2024 release wave 1. At Community Summit they will be releasing release wave 2 for this product family to support D365 F&O and Business Central. We discuss some of the most important use cases for the JDBC Driver pack and how Summit attendees can engage with the KingswaySoft team at booth 300 to talk data management, analytics, ETL, and more.    More information: KingswaySoft JDBC Drivers

Oracle University Podcast

Hosts Lois Houston and Nikita Abraham are joined by Senior Principal Database & MySQL Instructor Bill Millar who explains Oracle's newest caching solution called True Cache. Available in Oracle Database 23ai, True Cache is an automatically managed, in-memory, read-only cache that improves application performance dramatically. Bill provides an overview of its features and highlights the benefits of using True Cache.   Oracle MyLearn: https://mylearn.oracle.com/ou/course/oracle-database-23ai-new-features-for-administrators/140830/   Oracle University Learning Community: https://education.oracle.com/ou-community   LinkedIn: https://www.linkedin.com/showcase/oracle-university/   X: https://twitter.com/Oracle_Edu   Special thanks to Arijit Ghosh, David Wright, and the OU Studio Team for helping us create this episode.   --------------------------------------------------------   Episode Transcript:   00:00 Welcome to the Oracle University Podcast, the first stop on your cloud journey. During this series of informative podcasts, we'll bring you foundational training on the most popular Oracle technologies. Let's get started! 00:26 Lois: Hello and welcome to the Oracle University Podcast. I'm Lois Houston, Director of Innovation Programs with Oracle University, and with me is Nikita Abraham, Principal Technical Editor. Nikita: Hi everyone! Last week, we had quite a power-packed episode. We discussed the 23ai new feature for Automatic SQL Plan Management. We also looked at the 23ai automatic feature that enhances SecureFiles LOB Write Performance as well as the update to Wide Columns. 00:59 Lois: Yeah, and in today's episode, we will look at True Cache, another 23ai new feature. To tell us all about it, we have Bill Millar back with us. Bill is a Senior Principal Database & MySQL Instructor with Oracle University. We'll ask Bill to give us an overview of True Cache, talk about its configuration and deployment, and discuss how to apply True Cache to our applications.  Nikita: To kick things off, Bill, can you give us a high-level overview of what True Cache is? How does it differ from other caching solutions like Redis or Memcached? 01:35 Bill: True Cache is an in-memory cache. It is read-only. True Cache is deployed in front of a primary database, and it is automatically managed. It keeps the most frequently accessed data in the cache, and it keeps the cache consistent with the primary database. They call it diskless, but it's not. It does require some space for SP file, redo logs, control files, and such. But it's very similar to Active Data Guard.  The queries can be offloaded to the True Cache for faster query response. And the data in the query cache is consistent. Unlike other mid-tier caches like Redis or Memcached, a query to the True Cache returns only committed data, and the data is always consistent. It's secure. Why? Because we implement our Oracle database security policies and you can control access to the cache.  02:33 Lois: So, why should we use True Cache?  Bill: Improve application performance without having to rewrite any applications. That can save considerable amount of time, effort, and expense. Reduces the application response time. So the closer the True Cache is to the application, the faster the response. Now, you do need a large amount of memory. We're talking memory here. It's an in-memory storage area, and depending on how you configure it, you can have it shared, you can have it divided. We mentioned it's automatically maintained. So there's no application changes required, and it is transparent to the application. Again, simplifies that development and maintenance.  03:15 Nikita: How does it impact application performance, and what kind of scenarios would benefit the most from implementing True Cache? Bill: So at a high-level view, True Cache or primary database, the application configuration serves as other things that are going to decide where is it going to query the data from, from the True Cache or from the primary database.  The True Cache satisfies that query. And that's where the data will be fetched from. If not, then from the primary database. On start up, True Cache is empty. So it starts reading large chunks of data to populate the True Cache. So after a block is cached, then again, it can be automatically updated, apply the redo to it-- very similar to the Oracle Active Data Guard. In the data returned, it is always going to be consistent.  04:04 Lois: Is it going to be current data? Bill: Maybe, maybe not. If it's been updated in the primary, if they redo apply hasn't occurred yet, then it's not the most consistent. But as far as the query cache is concerned, it is the most current because we only display consistent. You can have multiple True Caches. You can save the same database application service to the True Cache as you can partition it.  04:28 Nikita: I'm curious about the memory requirements, Bill. How crucial is memory for True Cache's performance? Bill: You need to have significant amount of memory. Memory, memory, memory. So True Cache is completely memory, memory. So I want to have all my data possible in there. The more memory you have, the less likely something is going to age out. And of course, just like with the standard caching, you can also pin objects to stay in the True Cache.  Yeah, like I said, there are some requirements for storage, even though it's called diskless because of, again, redo log files, configuration files like the control files, SP file. And again it is read only.  05:11 Lois: Can you explain the differences between using physical and logical connections with True Cache? How does this impact the way applications interact with the database? Bill: So with using the True Cache, we have two physical connections, and we can have one to the primary database and one to the True Cache. Each connection has a database application service associated with it, and it's going to choose which connection to use based whether it's going to go to the True Cache or to the primary database.  The second way is the application maintains one logical connection that uses the application service for the primary database. It's the JDBC thin driver, starting with Oracle Database 23 is available. It's going to maintain the physical connections to the primary database and the True Cache itself. Now, the logical connection, the one logical and one physical, is for Java applications only.  Applications that work with JSON, we extend the HTTP entity tag support for that. So a database GET request to the True Cache is going to compute the ETag, insert it into the return document.  06:27 Nikita: But what happens if there's a mismatch when the modified document is put back into the primary database?  Bill: Well, then the database is going to verify. OK, what happens with that?  It's going to verify the document row still matches that ETag for that. If with that put command, let's say, I have new data here, the row is going to match that ETag that was automatically updated. If there's no match, another user has changed the data and the PUT request is rejected. So the PUT request can be retired using the new data.  07:05 Are you planning to become an Oracle Certified Professional this year? Whether you're a seasoned IT pro or just starting your career, getting certified can give you a significant boost. And don't worry, we've got your back! Join us at one of our cert prep live events in the Oracle University Learning Community. You'll get insider tips from seasoned experts and learn from other professionals' experiences. Plus, once you've earned your certification, you'll become part of our exclusive forum for Oracle-certified users. So, what are you waiting for? Head over to mylearn.oracle.com and create an account to jump-start your journey towards certification today! 07:48 Nikita: Welcome back! Now, how do you configure True Cache, Bill? Bill: You can configure True Cache one of two ways. You can either use the Database Configuration Assistant, which actually makes it a little simpler to configure it, and you can also manually create it.  You have some environment options. One is a uniform configuration where you can deploy identical True Cache that use the same database application service. Another way is partition configuration. The data is going to be divided across multiple True Caches, which, each cache is a different subset of the data. You can also deploy True Cache in a RAC environment. As one might expect, there are some additional configuration steps for a RAC environment.  You want to make sure you verify your configuration, that the database application services are working as expected after you configure it. And then, optionally, you can enable DML redirection. What that will do, it writes data to the primary database, and that data is automatically updated in the cache. It's very similar how to the Oracle Active Data Guard works. Because the DML redirection uses more resources, it's not recommended for update-intensive applications.  There is a parameter, a ADG_REDIRECT_DML initialization parameter, that you will set to True in order to do that.  09:18 Lois: Bill, what are the specific challenges or considerations that administrators should be aware of during the configuration process?  Bill: You do need to make sure your network is configured for True Cache in the primary database. So optionally, you can create a remote listener for high availability. But you create your True Cache. You go ahead, and make sure that you have your primary database. You want the network configuration for both of those. And then you create the True Cache. Once the True Cache is created, you're going to create the application services associated with the database. And then, you're going to start the database application services on the True Cache.  When it comes to naming the application service names, each primary database application is going to be associated with a corresponding True Cache application service. To help simplify things a little bit, in the naming convention, you'll notice in our examples-- for example, if we have SALES as the primary database service, then we have the True Cache, we have SALES_TC, standing for True Cache, so it's easily identified.  You don't have to do that, but it's kind of recommended to do that, some way that you're going to identify it. So we're going to start our True Cache services. And you only start the True Cache services on the True Cache instances. Because it's the database services on the database that you need to make sure are started. And they are read-only.  10:46 Lois: Are there some best practices for maximum availability architecture? Bill: Uniform configuration seems to be a popular one. Why? Because I am going to have the both True Caches can be shared. That way, hopefully, I'm getting full usage out of both. And maybe if I have one service going to one, it might be minimally used. Whereas, the other one might be over. Hey, I could use more memory over here.  We'll also recommend use the JDBC 23ai UCP, Universal Connection Pool, for the application. So that can lessen the impact. If one True Cache becomes unavailable, as far as, OK, I need to reroute over here-- benefit of uniform configuration also. Prepopulate the cache. You want to go ahead and run the critical workload for that. If you have a planned outage, and you need to shut down the True Cache, you want to make sure you stop the database application service on that True Cache.  And then, how are you going to design your True Cache? Are you going to partition it? Are you going to have uniform? Which partition option are you going to use? So you can try to design that to help minimize the number of fetches it has to do from the primary database. And the more you can keep in the True Cache, the better the performance is going to be.  12:09 Nikita: What do I need to keep in mind when it comes to managing True Cache? Bill: One thing you might need to do for managing the True Cache is to monitor the True Cache. There's a couple different ways that we can do it. One, you can use the V$ view, the V$TRUE_CACHE view. And, of course, you can always use the Automatic Workload Repository.  12:30 Lois: Bill, we already spoke about this a bit, but can you tell us more about using True Cache in an application? Bill: There's two ways of using True Cache, as we've seen, physical and logical. Physical, it's going to maintain two connections, front one to the primary database and one to the True Cache. The application can decide which connection to use, based off of what it is trying to do.  If it's just reading, long as it's for a service that's configured with True Cache, it can read the True Cache. If it's going to write something, it's going to update, insert, whatever the case might be, it's for the primary database. And you can use any existing client driver as long as you're using the physical connection method. Any programming language will also work.  With the one logical connection method, it uses the application service for the primary database. You're going to use the JDBC Thin driver, starting with 23ai. You can use it and it maintains the connection to the primary database and True Cache. This model only works with Java applications, though. It maintains the physical connections.  We're going to enable the driver connection. And then, we're going to set the read only. We're going to set it to read only, true. Read only, false, whatever the case might be. And the read only mode is false for a connection by default. False is the default. Java applications only.  14:14 Nikita: What are some best practices for load balancing in a uniform configuration? Bill: You have multiple--multiple True Caches. They're going to service the same database application. They're going to cache the same data. It's the listener that's going to distribute the load balances. So the listener will automatically distribute and load each session to each cache. It will do it randomly and it will do it based off a load. Where can it configure? Where can it send for the best performance.  To route the request to the best performing True Cache, you want to make sure that you are using the same listener. So that remote listener parameter should point to the same listener, which is also the primary database listener. Single instance primary database local listener or scan listener, whichever one you're using, points to the primary. For the application for the JDBC URL, should point to the primary database.  You'll remember that Thin driver is going to create that logical connection, and it's going to create the physical connection to the primary database into each True Cache. To simplify things and possibly avoid connection issues, you might consider using the LISTENER_NETWORK, so the initialization parameter instead of specifying the remote and local listener separately. Because with the local--with the listener networks, all listeners within the same network name will cross register.  15:44 Lois: Before we wrap up, are there any complementary features that you would recommend using alongside True Cache to further enhance performance or simplify management? Bill: There are features that can complement True Cache-- the server-side result set cache.  So you can create--you can go ahead and create the result set that's part of the library cache set aside, a portion of that. You're going to go in, you're going to configure what objects will use that. You can still use that even with True Cache.  There's also the KEEP Buffer Pool that can be used. It's a separate pool that you set aside as part of the buffer cache. And you want to make sure you size it so the object that you want to keep in memory in the buffer cache that you size it appropriately. But again, some configuration, you configure the key pool, plus also you go in and alter the objects to use it.  And then lastly, there's the database smart flash cache. So again, if your data doesn't fit into memory, you can expand the capacity of by adding flash devices. When you configure the flash cache, if you are using transparent data encryption data, the local flash devices is not supported. So if it's TD encrypted on the primary database, it's going to stay in the buffer cache of the primary database.  17:11 Nikita: Ok! I think we can close the episode with that. Thank you, once again, for joining us, Bill.  Lois: Yes thanks! We're learning so much from you. To learn more about what we discussed today, including the various configuration options that are available, visit mylearn.oracle.com and search for the Oracle Database 23ai New Features for Administrators course. Join us next week for a discussion on some more Oracle Database 23ai new features. Until then, this is Lois Houston… Nikita: And Nikita Abraham signing off! 17:46 That's all for this episode of the Oracle University Podcast. If you enjoyed listening, please click Subscribe to get all the latest episodes. We'd also love it if you would take a moment to rate and review us on your podcast app. See you again on the next episode of the Oracle University Podcast.

Of Je Stopt De Stekker Er In
#062 | Wim Jongman over COMMON

Of Je Stopt De Stekker Er In

Play Episode Listen Later Jul 23, 2024 21:26


Via LinkedIn kwamen we vele korte filmpjes / podcasts tegen van Wim Jongman, CTO bij Remain Software, waarin hij korte interviews filmde met verschillende IBM i specialisten op de COMMON gebruikersgroep. Erg leuk opgezet en daar wilden wij natuurlijk meer van weten. In deze aflevering gaan we dieper in op het idee van de filmpjes / podcasts maar ook alles rondom de gebruikersgroep COMMON.Timeline:0:00 Intro en introductie1:08 De trigger van Wim2:19 Wat is COMMON5:36 Wat trekt Wim naar COMMON6:57 Hoe reageren bezoekers op de camera10:23 Legacy software en hardware12:12 AI helpt bij schrijven RPG taal13:59 Snel ophalen van data via RPG, JDBC en REST services15:20 COMMON, LUG en CEAC19:13 ISV en COMMON20:15 Waar worden de volgende filmpjes opgenomen20:49 Closing

Les Cast Codeurs Podcast
LCC 313 - 313 CCL

Les Cast Codeurs Podcast

Play Episode Listen Later Jun 15, 2024 79:45


Katia, Guillaume, Emmanuel et Antonio discutent Kotlin, Micronaut, Spring Boot, Quarkus, Langchain4j, LLMs en Java, builds reproductible et la question AMA du jour, comment fait-on carrière de dev à 40 ans ? Enregistré le 14 juin 2024 Téléchargement de l'épisode LesCastCodeurs-Episode-313.mp3 News Langages Android avec Kotlin Multiplatform our Flutter avec Dart ? https://developers.googleblog.com/en/making-development-across-platforms-easier-for-developers/ Des licenciements ont continué chez Google et l'équipe Flutter/Dart comme plein d'autres ont été touchées, mais sur les réseaux sociaux les gens ont pensé que Google désinvestissait dans Flutter et Dart. Par ailleurs, côté Android, ils poussent plutôt du côté de Kotlin et KMP, mais naturellement aussi les gens se sont demandé si Google avait pris parti pour pousser plus Kotlin/KMP plutôt que Flutter/Dart. Pour essayer de mieux faire comprendre aux développeurs l'intérêt des deux plateformes, et leurs avantages et inconvénients, les directeurs des deux plateformes ont rédigé un article commun. Si l'on souhaite une expérience plus proche du hardware et des dernières nouveautés d'Android, et d'avoir aussi une UI/UX vraiment native Android, mieux vaut aller du côté de Kotlin/KMP. Si l'on souhaite par contre une expérience multiplateforme Web, mobile, desktop avec une UX commune cross-plateforme, avec également le partage de business logic à partir d'une même base de code, Flutter et Dart sont plus adaptés. Recap de KotlinConf https://x.com/gz_k/status/1793887581433971083?s=46&t=C18cckWlfukmsB_Fx0FfxQ RPC multiplatform la pres Grow with the flow montrant la reecriture en kotlin plus simple que des solutions complexes ailleurs power-assert pour ecrire des tests Kotlin 2.0 et les evolutions majeures Kotlin multiplatforme mainteant stable Kotlin Compose Multiplatform continue a amturer Retour d'experience de la migration d'android jetpack vers Kotlin Multiplatform use cases de coroutines et scope Librairies Quarkus veut aller dans une fondation https://quarkus.io/blog/quarkus-in-a-foundation/ ameliorer l'adoption (encore plus), ameliorer la transparence, et la collaboration, encourager la participatiopn multi vendeur Premiere etape : une gouvernance plus overte Deuxieme etape: bouger dans uen foundation Echange avec la communaute sur la proposition et les fondations cibles Des criteres pour al foudnation (notamment la rapidite de delivery Quarkus 3.11 https://quarkus.io/blog/quarkus-3-11-0-released/ Websocket.next en cours Dev services pour observabilite (grafana, jaegel, open telemetry extension infinispan cache #38448 - Observability extensions - Dev Services, Dev Resources, LGTM #39836 - Infinispan Cache Extension #40309 - WebSockets Next: client endpoints #40534 - WebSockets Next: initial version of security integration #40273 - Allow quarkus:run to launch Dev Services #40539 - Support for OIDC session expired page #40600 - Introduce OidcRedirectFilter LangChain4j 0.31 est sorti https://github.com/langchain4j/langchain4j/releases/tag/0.31.0 Recherche Web pour le RAG avec Google et Tavily RAG avec les bases de données SQL (expérimental) Récupération des resources remontées par le RAG lorsque AiServices retourne un Result Observabilité LLM pour OpenAI pour être notifié des requêtes, réponses et erreurs Intégration de Cohere (embedding), Jina (embedding et re-ranking scoring), Azuere CosmosDB comme embedding store Mise à jour de Gemini avec le parallel function calling et les instructions système Spring Boot 3.3.0 est sorti https://spring.io/blog/2024/05/23/spring-boot-3-3-0-available-now support Class Data Sharing Micrometer sipport de spantag etc Amelioration Spring Security comme JwtAuthenticationCovnerter support docker compose pour les images container bitnami Virtual thread pour les websockets Support sBOM via an actuator SNI for embedded web servers une nouvelle doc via antora Micronaut 4.5 est sortie https://github.com/micronaut-projects/micronaut-platform/releases/tag/v4.5.0 Le serveur basé sur Netty inclus la détection d'opération bloquante et les modules l'utilisant indiqueront à l'utilisateur quand certaines opérations peuvent être redirigée plutôt sur un virtual thread ou dans le thread pool IO Micronaut Data inclus le support de la multitenance avec partitionnement par discriminateur pour JDBC et R2DBC Micronaut Data rajoute le pagination par curseur pour JDBC et R2DBC (important aussi pour Jakarta Data) Support des annotations Jakarta Servlet pour configurer par exemple les servelet filters Support virtual thread et HTTP/2 Un nouveau module JSON Schema pour générer des JSON Schemas pour les records Java Un nouveau module Source Gen pour faire de la génération de source pour Java et Kotlin cross-language Un nouveau module Guice pour importer des modules Guice existants Web Angular 18 est sorti https://blog.angular.dev/angular-v18-is-now-available-e79d5ac0affe Support expérimental pour la détection de changement sans zone Angular.dev est désormais le nouveau site pour les développeurs Angular Material 3, les “deferrable views”, le “built-in control flow” sont maintenant stables et intègrent une série d'améliorations Améliorations du rendu côté serveur telles que le support de l'hydratation i18n, un meilleur débogage, le support de l'hydratation dans Angular Material, et la event replay qui utilise la même bibliothèque que Google Search. Data et Intelligence Artificielle Une version pure Java du LLM Llama3 de Meta https://github.com/mukel/llama3.java/tree/main utilise la future API Vector de Java JLama, un moteur d‘exécution de LLM en Java avec l'api vector https://www.infoq.com/news/2024/05/jlama-llm-inference-java/ basé sur llama.c qui est un moteur d'inference de LLM (l'execution des requetes) jlama implementé avec vector APIs et PamanaTensorOperations plusisures alternatives (native binding, iml0ementation pure en java, scala, kotlin) Target Speech Hearing https://www.infoq.com/news/2024/05/target-speech-hearing/ Nouveau algo Deep Learning de l'Université de Washington permet d'écouter une seule personne de ton choix et effacer tout le bruit autour le système nécessite que la personne portant les écouteurs appuie sur un bouton tout en regardant quelqu'un parler ou simplement en le fixant pendant trois à cinq secondes Permet à un modèle d'apprendre les schémas vocaux du locuteur et de s'y attacher pour pouvoir les restituer à l'auditeur, même s'il se déplace et cesse de regarder cette personne. Selon les chercheurs, cela constitue une avancée significative par rapport aux écouteurs à réduction de bruit existants, qui peuvent annuler efficacement tous les sons, mais ne peuvent pas sélectionner les locuteurs en fonction de leurs caractéristiques vocales. Actuellement, le système ne peut enregistrer qu'un seul locuteur à la fois. Une autre limitation est que l'enregistrement ne réussira que si aucune autre voix forte ne provient de la même direction. L'équipe a mis en open source leur code et leur jeu de données afin de faciliter les travaux de recherche futurs pour améliorer l'audition de la parole cible. Outillage Utiliser LLM pour migrer du framework de testing https://www.infoq.com/news/2024/06/slack-automatic-test-conversion/ Slack a migré 15.000 tests de Enzyme à React Testing Library avec un succès de 80% Migration nécessaire pour le manque de support de Enzyme pour React 18 L'équipe a essayé d'automatiser la conversion avec des transformations AST, mais n'a atteint que 45 % de succès à cause de la complexité des méthodes d'Enzyme et du manque d'accès aux informations contextuelles du DOM. L'équipe a utilisé Claude 2.1 pour la conversion, avec des taux de réussite variant de 40 % à 60 %, les résultats dépendant largement de la complexité des tâches. Suite aux résultats insatisfaisants, l'équipe a décidé d'observer comment les développeurs humains abordaient la conversion des tests unitaires. Les développeurs humains utilisaient leurs connaissances sur React, Enzyme et RTL, ainsi que le contexte du rendu et les conversions AST de l'outil initial pour mieux convertir les tests unitaires. Finalement les ingénieurs de Slack ont combiné transformations AST et LLM en intégrant des composants React rendus et des conversions AST dans les invites, atteignant un taux de réussite de 80 % démontrant ainsi la complémentarité de ces technologies. Claude 2.1 est un modèle de langage de grande taille (LLM) annoncé en novembre 2023 par Anthropic. Il inclut une fenêtre contextuelle de 200 000 tokens, des réductions significatives des taux d'hallucination du modèle, des invites système et permet l'utilisation d'outils. Depuis, Anthropic a introduit la famille de modèles Claude 3, composée de trois modèles distincts, avec des capacités multimodales et une compréhension contextuelle améliorée. Un arbre de syntaxe abstraite (AST) est une représentation arborescente de la structure syntaxique abstraite du code source écrit dans un langage de programmation. Chaque nœud de l'arbre représente une construction du code source. Un arbre de syntaxe se concentre sur la structure et le contenu nécessaires pour comprendre la fonctionnalité du code. Les AST sont couramment utilisés dans les compilateurs et les interpreters pour analyser et examiner le code, permettant diverses transformations, optimisations et traductions lors de la compilation. IDE de test de JetBrains https://blog.jetbrains.com/qa/2024/05/aqua-general-availability/ Aqua, le premier IDE conçu pour l'automatisation des tests, supporte plusieurs langages (Java, Python, JavaScript, TypeScript, Kotlin, SQL) et frameworks de tests (Selenium, Playwright, Cypress). Pourquoi ? Les tests d'applications nécessitent des compétences spécifiques. Aqua, un IDE adapté, est recommandé par les ingénieurs en automatisation des tests. Aqua propose deux plans de licence : un gratuit pour les usages non commerciaux et un payant pour les usages commerciaux. cam me parait un peu contre intuitif a l'heure du devops et du TDD de faire des outils dédiés et donc des equipes ou personnes dédiées Méthodologies Les 10 principes à suivre, selon le créateur de cURL, pour être un bon BDFL (Benevolent Dictator For Life) https://daniel.haxx.se/blog/2024/05/27/my-bdfl-guiding-principles/ Être ouvert et amical Livrer des produits solides comme le roc Être un leader de l'Open Source Privilégier la sécurité Fournir une documentation de premier ordre Rester indépendant Répondre rapidement Suivre l'actualité Rester à la pointe de la technologie Respecter les retours d'information Dans un vieil article de Artima, Guido Van Rossum, le créateur de Python et premier BDFL d'un projet, se remémore un échange de 1995 qui est à l'origine de ce concept https://www.artima.com/weblogs/viewpost.jsp?thread=235725 Guido Van Rossum a été le premier à endosser ce “rôle” Un site compréhensif sur les build reproductibles https://reproducible-builds.org longue doc de la definition aux méthodes pour resoudre des problèmes spécifiques Masterclass de Fabien Olicard: Le Palais Mental https://www.youtube.com/watch?v=u6wu_iY4xd8 Technique pour retenir de l'information plus longtemps que dans sa mémoire courte Les APIs web ne devraient pas rediriger HTTP vers HTTPS https://jviide.iki.fi/http-redirects grosso modo le risque majeur est d'envoyer des données confidentielles en clair sur le réseau le mieux serait de ne pas rediriger vers HTTPS, mais par contre de retourner une vraie erreur explicite notamment les clés d'API et c'est facile de ne pas le,voir vu les redirects. Sécurité Blog de GitHub sur la provenance et l'attestation https://github.blog/2024-04-30-where-does-your-software-really-come-from/ Discute les concepts de securisation de chainne d'approvisionnement de sogiciel et comment elles s'articulent entre elle. A haut niveau discute les hash pour garantir le meme fichier La signature asymetrique pour prouver que j'ai signé (e.g. le hash) et donc que je garantis. L'attenstation qui declare des faits sur un artifact attestation de provenance: source code et instructions de build (SLSA provenance) mais il faut garantir les signature avec une autorite de certification et avec des certificats a courte vide idealement, c'est sigstore MEtionne aussi The Update Framework pour s'appuyer sur cela et garantir des undates non compromis Keycloak 25 est sorti https://www.keycloak.org/2024/06/keycloak-2500-released.html Argon2 pour le hashing de mots de passe Depreciation des adaptateurs (Tomcat, servlet etc) Java 21 et depreciation de Java 17 session utilisatur persistente meme pour les instances online (pour survivre a une rotation de keycloak ameliorations autour des passkeys management et health endpoint sur un port different Et plus Demande aux cast codeurs A 40 ans, tu peux encore être codeur reconnu ? Conférences La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 12-14 juin 2024 : Rencontres R - Vannes (France) 13-14 juin 2024 : Agile Tour Toulouse - Toulouse (France) 14 juin 2024 : DevQuest - Niort (France) 18 juin 2024 : Mobilis In Mobile 2024 - Nantes (France) 18 juin 2024 : BSides Strasbourg 2024 - Strasbourg (France) 18 juin 2024 : Tech & Wine 2024 - Lyon (France) 19-20 juin 2024 : AI_dev: Open Source GenAI & ML Summit Europe - Paris (France) 19-21 juin 2024 : Devoxx Poland - Krakow (Poland) 26-28 juin 2024 : Breizhcamp 2024 - Rennes (France) 27 juin 2024 : DotJS - Paris (France) 27-28 juin 2024 : Agi Lille - Lille (France) 4-5 juillet 2024 : Sunny Tech - Montpellier (France) 8-10 juillet 2024 : Riviera DEV - Sophia Antipolis (France) 6 septembre 2024 : JUG Summer Camp - La Rochelle (France) 6-7 septembre 2024 : Agile Pays Basque - Bidart (France) 17 septembre 2024 : We Love Speed - Nantes (France) 17-18 septembre 2024 : Agile en Seine 2024 - Issy-les-Moulineaux (France) 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online 25-26 septembre 2024 : PyData Paris - Paris (France) 26 septembre 2024 : Agile Tour Sophia-Antipolis 2024 - Biot (France) 2-4 octobre 2024 : Devoxx Morocco - Marrakech (Morocco) 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium) 8 octobre 2024 : Red Hat Summit: Connect 2024 - Paris (France) 10 octobre 2024 : Cloud Nord - Lille (France) 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France) 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France) 11-12 octobre 2024 : SecSea2k24 - La Ciotat (France) 16 octobre 2024 : DotPy - Paris (France) 17-18 octobre 2024 : DevFest Nantes - Nantes (France) 17-18 octobre 2024 : DotAI - Paris (France) 30-31 octobre 2024 : Agile Tour Nantais 2024 - Nantes (France) 30-31 octobre 2024 : Agile Tour Bordeaux 2024 - Bordeaux (France) 31 octobre 2024-3 novembre 2024 : PyCon.FR - Strasbourg (France) 6 novembre 2024 : Master Dev De France - Paris (France) 7 novembre 2024 : DevFest Toulouse - Toulouse (France) 8 novembre 2024 : BDX I/O - Bordeaux (France) 13-14 novembre 2024 : Agile Tour Rennes 2024 - Rennes (France) 20-22 novembre 2024 : Agile Grenoble 2024 - Grenoble (France) 21 novembre 2024 : DevFest Strasbourg - Strasbourg (France) 27-28 novembre 2024 : Cloud Expo Europe - Paris (France) 28 novembre 2024 : Who Run The Tech ? - Rennes (France) 3-5 décembre 2024 : APIdays Paris - Paris (France) 4-5 décembre 2024 : DevOpsDays Paris - Paris (France) 4-5 décembre 2024 : Open Source Experience - Paris (France) 6 décembre 2024 : DevFest Dijon - Dijon (France) 22-25 janvier 2025 : SnowCamp 2025 - Grenoble (France) 16-18 avril 2025 : 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/

Develpreneur: Become a Better Developer and Entrepreneur
Dealing with Legacy Code: When to Let Go and Start Anew

Develpreneur: Become a Better Developer and Entrepreneur

Play Episode Listen Later May 23, 2024 32:37


Welcome back! In our ongoing discussion on improving life and technology, today's focus is on a more dramatic scenario: saving customers from potential disaster due to legacy code. When does legacy code need to be retired, and what signs indicate it's time for a major overhaul? We'll dive into these questions through real-world examples and expert insights. Listen to Rob and Michael Discuss ways to Deal with Legacy Code The Legacy Code Conundrum Legacy code refers to outdated software that still performs necessary functions but is based on old technology. The core question is: when does maintaining legacy code become impractical or even risky? Our host recounted an experience with a client who had a custom application built on the Eclipse foundation RCP with additional dependencies like Adobe Flash. When the host encountered this system in 2021-22, the last update to the code had been in 2014. The application's underlying technology was so outdated that it was incompatible with modern systems. This scenario is not unique; many organizations rely on aging software that becomes increasingly difficult to maintain as technology evolves. The Case Study: A Ten-Year-Old Application In the host's case study, the client's custom application was built on an old version of Java and Eclipse, using technologies like Flash that are no longer supported. The application worked fine until system upgrades rendered it inoperable. Initially running on multiple machines, the application was eventually down to a single operational machine. This machine was critical: if it failed, the entire application would be lost. Despite having the source code, the modernization process was fraught with challenges. The task involved updating libraries, replacing deprecated technologies, and rewriting significant portions of the code. After six months of effort, it became clear that a complete rewrite was necessary. The core JDBC connections were outdated and incompatible with modern systems, necessitating a significant redevelopment effort. When to Rewrite: Key Considerations Technology Obsolescence: If the technology stack is no longer supported, it's a red flag. Modernizing might involve not just updates but a full-scale rewrite. Compatibility Issues: New system upgrades may not support old applications. As seen in the host's example, upgrading to a newer operating system rendered the application unusable. Developer Expertise: Often, the original developers are no longer available, and current teams may lack the knowledge to maintain or update the legacy code effectively. Cost and Risk: Maintaining old code can be costlier and riskier than starting anew. Constant patching can introduce new bugs, and outdated software may pose security risks. The Modernization Approach The podcast highlighted the importance of understanding the existing system and planning a phased approach to modernization: Assessment: Conduct a thorough assessment of the current system, identifying critical components and dependencies. Determine what can be salvaged and what needs replacement. Data Migration: Plan for data migration from the old system to the new. This may involve extracting data manually or through automated scripts. Incremental Development: Instead of a big-bang approach, develop the new system in phases. This allows for continuous integration and testing, reducing the risk of total failure. User Experience: Consider whether the new system needs to replicate the old user experience or if a new, modern interface would be more beneficial. Real-World Challenges Michael, the co-host, shared his current project in the healthcare sector involving an old IBM AS/400 system. This green-screen, keyboard-driven application was solid but outdated. Key challenges included integration with unsupported systems and the need for continuous deployment and integration. Legacy systems often lack clear documentation, making it hard to understand their full functionality. Moreover, integration points with other outdated applications can further complicate the modernization effort. For Michael's client, the healthcare application was crucial for billing and patient information management, making its stability and modernization a high priority. Modernizing Legacy Code Modernizing legacy code is often more practical and safer than maintaining outdated systems. By assessing the current state, planning data migration, and developing incrementally, organizations can ensure a smoother transition. The goal is not just to replace old technology but to build a robust, modern solution that can evolve with future technological advancements. Stay Connected: Join the Developreneur Community We invite you to join our community and share your coding journey with us. Whether you're a seasoned developer or just starting, there's always room to learn and grow together. Contact us at info@develpreneur.com with your questions, feedback, or suggestions for future episodes. Together, let's continue exploring the exciting world of software development. Additional Resources Code Refactoring: Maintaining Clean, Efficient Code Deciphering Code Chaos: Strategies for Writing Maintainable Code Code Reviews Make Better Developers – Interview With Phil Alves Behind the Scenes Podcast Video

Kodsnack in English
Kodsnack 567 - Arrow straight through, with Matt Topol and Lars Wikman

Kodsnack in English

Play Episode Listen Later Jan 30, 2024 83:02


Fredrik has Matt Topol and Lars Wikman over for a deep and wide chat about Apache Arrow and many, many topics in the orbit of the language-independent columnar memory format for flat and hierarchical data. What does that even mean? What is the point? And why does Arrow only feel more and more interesting and useful the more you think about deeply integrating it into your systems? Feeding data to systems fast enough is a problem which is focused on much less than it ought to be. With Arrow you can send data over the network, process it on the CPU - or GPU for that matter- and send it along to the database. All without parsing, transformation, or copies unless absolutely necessary. Thank you Cloudnet for sponsoring our VPS! Comments, questions or tips? We are @kodsnack, @tobiashieta, @oferlund and @bjoreman on Twitter, have a page on Facebook and can be emailed at info@kodsnack.se if you want to write longer. We read everything we receive. If you enjoy Kodsnack we would love a review in iTunes! You can also support the podcast by buying us a coffee (or two!) through Ko-fi. Links Lars Matt Øredev Matt’s Øredev presentations: State of the Apache Arrow ecosystem: How your project can leverage Arrow! and Leveraging Apache Arrow for ML workflows Kallbadhuset Apache Arrow Lars talks about his Arrow rabbit hole in Regular programming SIMD/vectorization Spark Explorer - builds on Polars Null bitmap Zeromq Airbyte Arrow flight Dremio Arrow flight SQL Influxdb Arrow flight RPC Kafka Pulsar Opentelemetry Arrow IPC format - also known as Feather ADBC - Arrow database connectivity ODBC and JDBC Snowflake DBT - SQL to SQL Jinja Datafusion Ibis Substrait Meta’s Velox engine Arrow’s project management committee (PMC) Voltron data Matt’s Arrow book - In-memory analytics with Apache Arrow Rapids and Cudf The Theseus engine - accelerator-native distributed compute engine using Arrow The composable codex The standards chapter Dremio Hugging face Apache Hop - orchestration data scheduling thing Directed acyclic graph UCX - libraries for finding fast routes for data Infiniband NUMA CUDA GRPC Foam bananas Turkish pepper - Tyrkisk peber Plopp Marianne Titles For me, it started during the speaker’s dinner Old, dated, and Java A real nerd snipe Identical representation in memory Working on columns It’s already laid out that way Pass the memory, as is Null plus null is null A wild perk Arrow into the thing So many curly brackets you need to store Arrow straight through Something data people like to do So many backends The SQL string is for people I’m rude, and he’s polite Feed the data fast enough A depressing amount of JSON Arrow the whole way through These are the problems in data Reference the bytes as they are Boiling down to Arrow Data lakehouses Removing inefficiency

Spring Office Hours
Spring Office Hours S3E3: Spring Data JPA vs JDBC vs REST

Spring Office Hours

Play Episode Listen Later Jan 23, 2024 59:17


Join Dan Vega and DaShaun Carter as they bring you the latest updates from the Spring Ecosystem. Are you interested in learning more about Spring Data? What's the difference between Spring Data JPA, JDBC and REST? When should you reach for one over the other. In this episode of Spring Office Hours we will answer those questions and more.

airhacks.fm podcast with adam bien
From Image Recognition to CoffeCast

airhacks.fm podcast with adam bien

Play Episode Listen Later Dec 3, 2023 59:28


An airhacks.fm conversation with Jose Paumard (@JosePaumard) about: TI-57 was stateless Oric 1, BigDecimal use cases, the travelling salesman algorithm, the Cray, working with Sun SPARC machines, CM5 and NeXTcube, the conference in generate code, star recognition, working at research Lab in Paris, enjoying emacs, emacs vs. vim, writing documentation in LatEx working on SunOS then Solaris, HPUX and CDE, 512 MB RAM of the price of a flat in Paris, processing large images and recognising building in real time, wavelet and cosine transforms, starting as professor in 1994 , JDBC war leased in 1997 with Java 1.1., working as devrel at Oracle three years again, running AI models, project Panama is the bridge, Java innovation, pattern matching in Java, String Templates, Java 21 LTS, youbube.com/java Jose Paumard on twitter: @JosePaumard

Trino Community Broadcast
52: Commander Bun Bun takes a bite out of Yugabyte

Trino Community Broadcast

Play Episode Listen Later Oct 27, 2023 61:43


Timestamps:- 0:00 Intro- 1:48 Releases 428-430- 6:30 Introducing Denis Magda from @YugabyteDB - 7:56 JDBC, Trino's JDBC driver, and the Postgres connector- 14:08 Introducing YugabyteDB- 21:33 Demo time! Trino with PostgreSQL- 29:56 Demoing Trino with YugabyteDB- 44:57 Failover and resiliency- 56:05 Upcoming events and Trino Summit soon!

airhacks.fm podcast with adam bien
How FlywayDB Happened

airhacks.fm podcast with adam bien

Play Episode Listen Later Sep 3, 2023 68:36


An airhacks.fm conversation with Axel Fontaine (@axelfontaine) about: starting with 8086 and 640 kB, starting with GW Basic, enjoying Alley Cat and Monkey Island on Sega Master, switching to QBasic, protecting the lemmings, the cyber cafe Cyberia in London, learning Turbo Pascal, impressed by Java Applets, starting in 1998 at IBM Global Services, using Visual Age for Java, travelling the world, the envy version control for Visual Age for java, attending JavaPolis, qcon, first talk at JUG Augsburg about Continuous Delivery, the Continous Delivery Book, Ruby DSL migrations, “data will outlive the code”, database outlives the code, the travel report website, Flyway - the migration path for birds, using JDBC metadata for schema migrations, promoting FlywayDB, paid features and support contracts, running migrations on application startup, the Java EE simplicity Axel Fontaine on twitter: @axelfontaine

Modernize or Die ® Podcast - CFML News Edition
Modernize or Die® - CFML News Podcast for June 27th, 2023 - Episode 199

Modernize or Die ® Podcast - CFML News Edition

Play Episode Listen Later Jun 27, 2023 62:26


2023-06-27 Weekly News - Episode 199Watch the video version on YouTube at https://youtube.com/live/YhGqAVLYZk4?feature=shareHosts:  Gavin Pickin - Senior Developer at Ortus Solutions Brad Wood - Senior Developer at Ortus Solutions Thanks to our Sponsor - Ortus SolutionsThe makers of ColdBox, CommandBox, ForgeBox, TestBox and all your favorite box-es out there. A few ways  to say thanks back to Ortus Solutions: Like and subscribe to our videos on YouTube.  Help ORTUS reach for the Stars - Star and Fork our Repos Star all of your Github Box Dependencies from CommandBox with https://www.forgebox.io/view/commandbox-github  Subscribe to our Podcast on your Podcast Apps and leave us a review Sign up for a free or paid account on CFCasts, which is releasing new content every week BOXLife store: https://www.ortussolutions.com/about-us/shop Buy Ortus's Books  102 ColdBox HMVC Quick Tips and Tricks on GumRoad (http://gum.co/coldbox-tips) Learn Modern ColdFusion (CFML) in 100+ Minutes - Free online https://modern-cfml.ortusbooks.com/ or buy an EBook or Paper copy https://www.ortussolutions.com/learn/books/coldfusion-in-100-minutes   Patreon Support ()We have 40 patreons: https://www.patreon.com/ortussolutions. News and AnnouncementsCFCamp was a blastBrad said: Back on US soil again, but still smiling from the wonderful experience at CFCamp.  It was so good to be back in Germany and see my EU friends again in person.  I'd say the first time back since Covid was a smashing success!Alex Well said: Back at home from my trip to 2023‘s #CFCamp

airhacks.fm podcast with adam bien
How JPA Buddy Happened

airhacks.fm podcast with adam bien

Play Episode Listen Later Mar 25, 2023 69:08


An airhacks.fm conversation with Aleksey Stukalov (@AlekseyStukalov) about: the deepest hole-11km, starting with Pascal, math - and there is nothing to argue about, integral and differential equations, writing an article about magnetic impulses, 1c - consulting company, implementing accounting software, learning C#, Silverlight and LINQ, from C# to Java, starting CUBA and jmix, cuba and jmix are like MS Access for Java, building a banking system for Paraguay, 25k developers is using CUBA, starting JPA Buddy, selling on IntelliJ marketplace, JPA Buddy - the Vlad automation tool, "#117 Java Persistence: From DB over JDBC to Transactions" episode with Vlad Mihalcea, JPA buddy is a IntelliJ plugin, the Jetbrains MPS (Meta Programming System), Intellij is an interesting distribution channel, DTO generation, mapping entities to DTOs, implementing projections with JPA, JSON-P with Java Records Aleksey Stukalov on twitter: @AlekseyStukalov

Modernize or Die ® Podcast - CFML News Edition
Modernize or Die® - CFML News Podcast for December 13th, 2022 - Episode 175

Modernize or Die ® Podcast - CFML News Edition

Play Episode Listen Later Dec 13, 2022 57:54


2022-12-13 Weekly News - Episode 175Watch the video version on YouTube at https://youtu.be/jZ0y_ko4omE Hosts:  Gavin Pickin - Senior Developer at Ortus Solutions Dan Card  - Senior Developer at Ortus Solutions Thanks to our Sponsor - Ortus SolutionsThe makers of ColdBox, CommandBox, ForgeBox, TestBox and all your favorite box-es out there. A few ways  to say thanks back to Ortus Solutions: Like and subscribe to our videos on YouTube.  Help ORTUS reach for the Stars - Star and Fork our ReposStar all of your Github Box Dependencies from CommandBox with https://www.forgebox.io/view/commandbox-github  Subscribe to our Podcast on your Podcast Apps and leave us a review Sign up for a free or paid account on CFCasts, which is releasing new content every week BOXLife store: https://www.ortussolutions.com/about-us/shop Buy Ortus's Books 102 ColdBox HMVC Quick Tips and Tricks on GumRoad (http://gum.co/coldbox-tips) Learn Modern ColdFusion (CFML) in 100+ Minutes - Free online https://modern-cfml.ortusbooks.com/ or buy an EBook or Paper copy https://www.ortussolutions.com/learn/books/coldfusion-in-100-minutes  Patreon Support ( phenomenal )Goal 1 - We have 43 patreons providing 100% of the funding for our Modernize or Die Podcasts via our Patreon site: https://www.patreon.com/ortussolutions. Goal 2 - We are 39% of the way to fully fund the hosting of ForgeBox.io Patreon Sponsored Job Announcement - Tomorrows GuidesTomorrows Guides is a fast paced leader in the UK care sector, catering for care seekers across three areas: Care Homes, Nurseries and Home Care. We are often called the Trip Advisor of the care sector.  Current Roles - More in the job section Senior Cf Developer – UK Only | Remote | Permanent | Circa £60k -  https://app.occupop.com/shared/job/senior-coldfusion-developer-5925b/ Automation Test Engineer – UK Only | Remote | Permanent | Crica £40k - https://app.occupop.com/shared/job/automation-test-engineer-a6545/ News and Announcements12 Days of Xmas - ITB 2022 Video Releases are in ProgressIt's that time of year again. Trees are lit, presents are being wrapped, and relatives are coming to visit. That's right, it's time again for the 12 days of Christmas-- 2022 ITB Video Release Edition! https://www.ortussolutions.com/blog/category/12-days-of-christmas-itb-2022-video-release CFML Blog Aggregator - CFBlogs.org 2.0 ReleasedThe new version of CFBlogs ColdFusion Blog Aggregator has been released.This version displays all of the blog posts in an attractive three-column card layout and displays the open graph image or a site image at the top of the post. The card images should allow the user to quickly convey the author of the post. Users can sort the grids by author by clicking on the card image.https://www.gregoryalexander.com/blog/2022/12/5/CFBlogsorg-20-Released Adobe ColdFusion Fortuna AlphaSignup for the pre-release - Special things happening which I can't talk abouthttps://www.adobeprerelease.com/beta/C0A219A0-A127-417A-D0D3-A7B5B3C5A0AE/participate/C3B4F4DC-8662-4610-D2B1-EE8FAD396648 Advent of Codehttps://adventofcode.com/CFML Slack Leaderboard: `1574707-be30db8f`Box Team Leaderboard: `26416-a4842ce2`ICYMI - ColdBox Master Class - Completely Free until the end of the Year!Want to learn about modern web apps in ColdFusion (CFML)? We have our ColdBox Master Class for FREE until the end of the year!  A gift to the community, so we can all build amazing apps together! Watch all the videos!  Binge Coding Anyone? Enjoy! https://www.cfcasts.com/series/cb-master-class?utm_source=podcast&utm_medium=PODCAST&utm_campaign=LM-PODCAST New Releases and UpdatesMasaCMS Security Vulnerability FixIf you're on Masa CMS 7.3, you should update to version 7.3.10 immediately. This can be done by using the “Update Masa CMS Core” option in the menu of the Masa CMS Administrator or by applying a manual update.https://github.com/MasaCMS/MasaCMS/discussions/143 https://github.com/MasaCMS/MasaCMS/releases/tag/7.3.10 CommandBox 5.7.0 Released!We are pleased to announce the release of CommandBox 5.7.0, which comes with a handful of new features and some important library updates.https://www.ortussolutions.com/blog/commandbox-570-released CommandBox Docker v3.6.3 Images ReleasedToday we are pleased to announce the release of version 3.6.3 of our CommandBox Docker images.This release upgrades the CommandBox binary to 5.7.0. Read the Release Notes for this version here. Also added in this version, are new distro builds for the RHEL Universal Base Image. These images may be utilized by using the ubi9 in the image tag in the same way the alpine base images currently do. https://www.ortussolutions.com/blog/commandbox-docker-v363-images-released Webinar / Meetups and WorkshopsOrtus Event Calendar for Googlehttps://calendar.google.com/calendar/u/0?cid=Y181NjJhMWVmNjFjNGIxZTJlNmQ4OGVkNzg0NTcyOGQ1Njg5N2RkNGJiNjhjMTQwZjc3Mzc2ODk1MmIyOTQyMWVkQGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20 Ortus Webinar - Skipping December - Lots of great ITB Videos to watch on CFCasts.comDocker - Community All-Hands 7 -  Winter editionJoin the 7th the Community All-Hands, a quarterly online event that brings the Docker community together!This global meetup features community news, company and product updates, demos, and language-specific sessions.Thursday, December the 15th, 8:00 AM Pacific Time. A more interactive first day, featuring talks of exciting trends like WASM and Docker Extensions, interviews and the traditional Docker updates and Community Awards!Friday, December the 16th, 8:00 AM Pacific Time. Workshops day! Learn how to use Docker with your favorite programming language.https://docker.github.io/community-all-hands/ Last Week - Ortus Software Craftsmanship Book Club - Patreon OnlyFriday, December 9th at 2pm CDT - 2nd Friday of the MonthClean Code: A Handbook of Agile Software Craftsmanship by Robert Martin (Uncle Bob)Focus - Chapter 2 - Naming Conventions - 1 of the 2 hardest things in programming, along with cache invalidation and off by 1 errors ;) Recording - https://cfcasts.com/series/ortus-software-craftsmanship-book-club---clean-code/videos/ortus-software-craftsmanship-book-club-clean-code-2 CFCasts Content Updateshttps://www.cfcasts.comRecent Releases ITB - 12 Days of Xmas - ITB 2022 - starting Thursday 12/8/22 until Xmas Eve https://cfcasts.com/series/itb-2022 Software Craftsmanship Book Club - Clean Code - Chapter 2 https://cfcasts.com/series/ortus-software-craftsmanship-book-club---clean-code/videos/ortus-software-craftsmanship-book-club-clean-code-2  ColdBox Master Class - Now FREE 2022 ForgeBox Module of the Week Series - 1 new Video https://cfcasts.com/series/2022-forgebox-modules-of-the-week 2022 VS Code Hint tip and Trick of the Week Series - 1 new Video https://cfcasts.com/series/2022-vs-code-hint-tip-and-trick-of-the-week  Coming Soon More ForgeBox and VS Code Podcast snippet videos Box-ifying a 3rd Party Library from Gavin ColdBox Elixir from Eric Getting Started with ContentBox from Daniel  Conferences and TrainingCF Summit Online All the webinars, all the speakers from Adobe ColdFusion Summit 2022 – brought right to your screen. All sessions will soon be streamed online, for your convenience. Stay tuned for more! NATIVE MOBILE APPS WITH MONACA.IO & ADOBE COLDFUSION 2021Mark TakataDecember 22, 2022 | 12:00 - 13:00 EST (1 hour)Have you always wanted to build native mobile apps, but didn't want to learn Swift or ObjectiveC? Monaca.io uses the power of Apache Cordova and a richly featured online cloud IDE to help you build out native applications quickly and easily, with just basic JavaScript knowledge. In this talk Mark will build an Adobe ColdFusion 2021 powered back end using mySQL, exposed as an API, which will be consumed by a native mobile app written and built inside of the Monaca.io ecosystem.And many more in Dec and Jan… Website for CF Summit Onlinehttps://cfsummit-online.meetus.adobeevents.com/ ICYMI - Into the Box Latam 2022 - Sold Out - Big Success!Dec 7th, 2022 - 8am - 5pm2 tracks - 1 set of sessions, 1 set of deep dive workshop sessionsPricing $9-$29 USDLocation: Hyatt Centric Las Cascadas Shopping Center,Merliot, La Libertad 99999 El Salvadorhttps://latam.intothebox.org/ VUE.JS NATION CONFERENCEJanuary 25th & 26th 2023https://vuejsnation.com/VUEJS AMSTERDAM 20239-10 February 2023, Theater AmsterdamWorld's Most Special and Largest Vue ConferenceCALL FOR PAPERS AND BLIND TICKETS AVAILABLE NOW!Call for Papers: https://forms.gle/GopxfjYHfpE8fKa57 Blind Tickets: https://eventix.shop/abzrx3b5 https://vuejs.amsterdam/ Dev NexusApril 4-6th in AtlantaGeorgia World Congress Center285 Andrew Young International Blvd NWAtlanta, GA 30313USAhttps://devnexus.com/ VueJS Live MAY 12 & 15, 2023ONLINE + LONDON, UKCODE / CREATE / COMMUNICATE35 SPEAKERS, 10 WORKSHOPS10000+ JOINING ONLINE GLOBALLY300 LUCKIES MEETING IN LONDONGet Early Bird Tickets: https://ti.to/gitnation/vuejs-london-2022  Watch 2021 Recordings: https://portal.gitnation.org/events/vuejs-london-2021 https://vuejslive.com/ Into the Box 2023 - 10th EditionMay 17-19, 2023 The conference will be held in The Woodlands (Houston), TexasThis year we will continue the tradition of training and offering a pre-conference hands-on training day on May 17th and our live Mariachi Band Party! However, we are back to our Spring schedule and beautiful weather in The Woodlands! Also, this 2023 will mark our 10 year anniversary. So we might have two live bands and much more!!!We are pleased to announce the call for speakers for the Into The Box Conference for 2023 is now officially open. https://www.intothebox.org/blog/into-the-box-2023-call-for-speakers https://itb2023.eventbrite.com/CFCamp is backJune, 22-23rd 2023Marriott Hotel Munich Airport, FreisingCall for Speakers coming in the New yearhttps://www.cfcamp.org/ More conferencesNeed more conferences, this site has a huge list of conferences for almost any language/community.https://confs.tech/https://github.com/scraly/developers-conferences-agenda Blogs, Tweets, and Videos of the Week 12/13/22 - Blog - Ortus Solutions - The 12 Days of Christmas - ITB 2022 Video Release— Day 4 - ColdBox Modules & FeaturesIt's that time of year again. Trees are lit, presents are being wrapped, and relatives are coming to visit. That's right, it's time again for the 12 days of Christmas-- 2022 ITB Video Release Edition! Today, Day 4's Videos from Into the Box 2022 Conference, 3 sessions related to ColdBox modules and Features. CBValidation, CBFuture and ColdBox Task Scheduling.https://www.ortussolutions.com/blog/the-12-days-of-christmas-itb-2022-video-release-day-4-coldbox-modules-features 12/12/22 - Blog - Ortus Solutions - The 12 Days of Christmas - ITB 2022 Video Release— Day 3 - ModulesIt's that time of year again. Trees are lit, presents are being wrapped, and relatives are coming to visit. That's right, it's time again for the 12 days of Christmas-- 2022 ITB Video Release Edition! Today, Day 3's Videos from Into the Box 2022 Conference, 3 sessions related to modules. What are they, how do you build them, and a new module.https://www.ortussolutions.com/blog/the-12-days-of-christmas-itb-2022-video-release-day-3-modules 12/9/22 - Blog - Ben Nadel - Serving Secure Files With CFContent Tag's File Attribute In ColdFusionThe other day, when considering which files live inside the wwwroot folder on the ColdFusion server, I mentioned that "secure files" live outside the wwwroot folder; but, can be made accessible to the user via ColdFusion. There are many ways to do this; but, perhaps the easiest way is to use the CFContent tag's file attribute. This attribute allows any physical file on your server to be sent to the user, regardless of where it lives.https://www.bennadel.com/blog/4367-serving-secure-files-with-cfcontent-tags-file-attribute-in-coldfusion.htm 12/9/22 - Blog - Ortus Solutions - The 12 Days of Christmas - ITB 2022 Video Release— Day 2 - New ModulesIt's that time of year again. Trees are lit, presents are being wrapped, and relatives are coming to visit. That's right, it's time again for the 12 days of Christmas-- 2022 ITB Video Release Edition! Today, Day 2's Videos from Into the Box 2022 Conference, are all newly announced modules.https://www.ortussolutions.com/blog/the-12-days-of-christmas-itb-2022-video-release-day-2-new-modules 12/9/22 - Tweet - Giancarlo Gomez - AI says CF is not Dead.Ladies and Gentlemen, the AI has spoken and it also agrees that ColdFusion IS NOT DEAD!!!! #ChatGPT @coldfusion #coldfusionisnotdead #cfmlrockshttps://twitter.com/GiancarloGomez/status/1601336549521559553 https://twitter.com/GiancarloGomez 12/8/22 - Blog - Jon Clausen - Ortus Solutions - CommandBox Docker v3.6.3 Images ReleasedToday we are pleased to announce the release of version 3.6.3 of our CommandBox Docker images.This release upgrades the CommandBox binary to 5.7.0. Read the Release Notes for this version here. Also added in this version, are new distro builds for the RHEL Universal Base Image. These images may be utilized by using the ubi9 in the image tag in the same way the alpine base images currently do. https://www.ortussolutions.com/blog/commandbox-docker-v363-images-released 12/8/22 - Blog - Ben Nadel - Dynamic Tab-Size Demo Using CSS Custom Properties In JavaScriptThe other day, I pontificated on the wildly subjective nature of programming. We all have things that we like and don't like; and, it seems almost futile to try and persuade people to move against their own realities. And yet, we - as a community - seem to want to keep doing that. Case-in-point, this post on tab-size that I am writing right now! To be clear, this is not a Tabs vs. Spaces article. In this case, I am using "tab size" to generally refer to indentation, having nothing to do with your mode of indication. This is a post about quantity of indentation. I wanted to put together a JavaScript demo that would allow people to quickly and easily adjust indentation in a live example.https://www.bennadel.com/blog/4366-dynamic-tab-size-demo-using-css-custom-properties-in-javascript.htm 12/8/22 - Blog - James Moberg - Caching Repetitive UDF Access to Request Scope Using Argument Stringified+Hashed KeyWhile viewing FusionReactor logs for a ColdFusion app, I noticed lots of repetitive JDBC entries in a request that contained the same exact SQL statement and was taking 42ms per execution. I checked the UDF that was performing the query (using QB) and the query was configured to be cached for 5 minutes... but overhead-wise, it was still taking 42ms each time. The "Number of Queries" for the request was 57 and most of the queries were similar cached 40ms lookups and it started adding up to 1,452ms overall. I wondered if there was anything I could do to add self-contained caching to UDFs that could benefit from them. I didn't want to save the response to the session (YIKES! I've seen some code that does this) or use cachePut/cacheGet since the caching only needs to live for a single request of "repetitive access".https://dev.to/jamoca/caching-repetitive-udf-access-to-request-scope-using-argument-stringifiedhashed-key-3lln 12/8/22 - Blog - The 12 Days of Christmas - ITB 2022 Video Release— Day 1It's that time of year again. Trees are lit, presents are being wrapped, and relatives are coming to visit. That's right, it's time again for the 12 days of Christmas-- 2022 ITB Video Release Edition!For the next 12 business days up until Christmas, we'll be releasing a series of related videos each day on the CFCasts site for our CFCasts Subscribers, and a announcement with titles, descriptions, and links to the videos, right here on the Ortus blog. Consider it our early Christmas gift to you.We were planning on releasing the videos on Dec 24th, but we couldn't wait any longer.https://www.ortussolutions.com/blog/the-12-days-of-christmas-itb-2022-video-release-day-1 12/7/22 - Blog - Brad Wood Ortus Solutions - CommandBox 5.7.0 Released!We are pleased to announce the release of CommandBox 5.7.0, which comes with a handful of new features and some important library updates.https://www.ortussolutions.com/blog/commandbox-570-released 12/7/22 - Blog - Ben Nadel - What Files Should Live In The WwwRoot Folder?As much as I live, love, and breathe web application development, I almost never start brand new websites. Instead, I spend decades maintaining and evolving existing web properties (think this blog, think InVision). As such, my instinct for what to do on "Day 1" of a new ColdFusion web application is a bit rusty. And, now that I'm on the precipice of taking my BigSexy Poems Angular utility and fleshing-it-out into a legit ColdFusion application, I wanted to take a moment and think about the most fundamental part of a web server: the wwwroot folder.https://www.bennadel.com/blog/4365-what-files-should-live-in-the-wwwroot-folder.htm CFML JobsSeveral positions available on https://www.getcfmljobs.com/Listing over 34 ColdFusion positions from 23 companies across 21 locations in 5 Countries.Since August 1st.1 new jobs listed this weekFull-Time - ColdFusion Developer (Remote) at Fort Washington, PA - United States Dec 09https://www.getcfmljobs.com/jobs/index.cfm/united-states/ColdFusionDev-RemoteUS/11539 Patreon Sponsored Job Announcement - Tomorrows GuidesTomorrows Guides is a fast paced leader in the UK care sector, catering for care seekers across three areas: Care Homes, Nurseries and Home Care. We are often called the Trip Advisor of the care sector. Our Product team consists of over 20 individuals across the UK working remotely to expand and improve our offering with regular expansion in teams year on year. We work with both Coldfuson 2021 and Node.js/React in the Azure cloud, while also using both MSSQL and MongoDB databases. Currently we are looking for Senior Coldfusion developers and Automation Testers with training paths to node.js available as well. We offer a wide variety of perks from our company wide £4k bonus scheme, and quarterly nights out with the whole company and the Product team to a 6% company pension contribution. Current Roles in detail All roles: https://www.tomorrows.co.uk/jobs.cfm Senior Cf Developer – UK Only | Remote | Permanent | Circa £60k -  https://app.occupop.com/shared/job/senior-coldfusion-developer-5925b/-  Minimum three years' experience with ColdFusion-  Database design, normalisation and ability to write/understand complex queries using MSSQL Server 2019-  Familiarity with Git-  Flexible skillset covering a wide range of development Automation Test Engineer – UK Only | Remote | Permanent | Crica £40k - https://app.occupop.com/shared/job/automation-test-engineer-a6545/-  Minimum three years experience with automated testing-  Experience with automated testing tools such as selenium-  Experience with API test tools such as Postman/Fiddler etc Benefits of both roles:-  £4,000 per annum discretionary company bonus scheme-  25 days annual leave + bank holidays-  6% employer pension contribution-  Access to free perks and discounts through Perkbox-  Long Service Awards-  Cycle to Work Scheme-  Company and Team nights outOther Job LinksOrtus Solutionshttps://www.ortussolutions.com/about-us/careers There is a jobs channel in the CFML slack team, and in the box team slack now tooForgeBox Module of the WeekWireBox VisualizerThis module creates a nifty visual representation of all the CFCs in your application that WireBox manages as well as what they have injected into them.Installationinstall wirebox-visualizer --saveDevNext, reinitialize your application to pick up the new module.Usage - In order to view the visualizer, hit your app at this route:http://localhost/wireboxVisualizer/https://www.forgebox.io/view/wirebox-visualizer VS Code Hint Tips and Tricks of the WeekVue Language Features (Volar)Vue Language Features is a language support extension built for Vue, Vitepress and petite-vue. this is based on @vue/reactivity to calculate everything on-demand, to implement native TypeScript language service level performance.https://marketplace.visualstudio.com/items?itemName=Vue.volar Thank you to all of our Patreon SupportersThese individuals are personally supporting our open source initiatives to ensure the great toolings like CommandBox, ForgeBox, ColdBox,  ContentBox, TestBox and all the other boxes keep getting the continuous development they need, and funds the cloud infrastructure at our community relies on like ForgeBox for our Package Management with CommandBox. You can support us on Patreon here https://www.patreon.com/ortussolutionsDon't forget, we have Annual Memberships, pay for the year and save 10% - great for businesses. Bronze Packages and up, now get a ForgeBox Pro and CFCasts subscriptions as a perk for their Patreon Subscription. All Patreon supporters have a Profile badge on the Community Website All Patreon supporters have their own Private Forum access on the Community Website All Patreon supporters have their own Private Channel access BoxTeam Slack Live Stream Access to streams like “Koding with the Kiwi + Friends” and Ortus Software Craftsmanship Book Club https://community.ortussolutions.com/ Patreons John Wilson - Synaptrix Tomorrows Guides Jordan Clark Gary Knight Mario Rodrigues Giancarlo Gomez David Belanger Dan Card Jeffry McGee - Sunstar Media Dean Maunder Nolan Erck  Wil De Bruin Abdul Raheen Don Bellamy Joseph Lamoree Jonathan Perret Jan Jannek  Laksma Tirtohadi  Brian Ghidinelli - Hagerty MotorsportReg Carl Von Stetten Jeremy Adams Didier Lesnicki Matthew Clemente Scott Steinbeck - Agri Tracking Systems Daniel Garcia Ben Nadel  Richard Herbet Brett DeLine Kai Koenig Charlie Arehart Jason Daiger Shawn Oden Ross Phillips Matthew Darby Edgardo Cabezas Patrick Flynn Stephany Monge Kevin Wright John Whish Peter Amiri Cavan Vannice John Nessim Tia You can see an up to date list of all sponsors on Ortus Solutions' Websitehttps://ortussolutions.com/about-us/sponsors Thanks everyone!!! ★ Support this podcast on Patreon ★

Spring Boot Learning Podcast
EP 31: JDBC vs. JPA - What do I pick and why?

Spring Boot Learning Podcast

Play Episode Listen Later Nov 26, 2022 12:45


JdbcTemplate. Spring Data JPA. Spring Data JDBC. Which one do I pick? What are the tradeoffs? Do I have to go all the way with my choice? If these questions plague you when working on persisting data in your Spring Boot application, then this video is for you! ==== Don't forget to pre-order your copy of Learning Spring Boot 3.0 3rd Edition today at https://springbootlearning.com/book! ==== RESOURCES:

Futurum Tech Podcast
Making the Most of Business Data is One of the Biggest Challenges Organizations Face — and APOS Live Data Gateway Can Solve Those Challenges

Futurum Tech Podcast

Play Episode Listen Later Nov 9, 2022 24:18


In this episode of the Futurum Tech Webcast, principal analyst Shelly Kramer is joined by Allan Pym, Chief Operating Officer at APOS, for a conversation on the challenges making the most of business data presents for organizations, and how APOS Live Data Gateway is helping solve those challenges — and in real time. We all know that data is crucial for today's organizations. From sales and marketing to manufacturing and maintenance, smart organizations need data to make decisions in real time. However, with so much data being gathered in so many different places, it can often feel impossible, overwhelming, or both to wrangle it intelligently. So, what can organizations do to make the most of their data? Are there other technology solutions that can help? Why does real-time matter when it comes to accessing and utilizing data? That's exactly what Allan and I covered today, and if you're wrestling with data challenges, it's a conversation you'll very much enjoy. We covered the following: We know that data is important, that's not a secret. In fact, some 94 percent of organizations report needing access to multiple data sources to support their decision-making — but not every organization knows what to do with their data. Allan shared some of the challenges he and the team at APOS are seeing as organizations wrestle with data connectivity. That's not at all difficult to understand, as research shows that on average companies are drawing from more than 400 different data sources. To compound that massive amount of data coming from myriad sources, one-third of companies report experiencing trouble simply connecting those sources together, let alone pulling accurate or meaningful insights from them. We discussed live connectivity: what it is and why it's so important for organizations today. Allan walked us through the APOS Live Data Gateway, its purpose and the key benefits organizations can experience using its three layers of functionality (Data Connection, Data Preparation, and Data Consumption) and three types of data views that can be utilized within the Data Preparation Layer. We explored APOS Live Data Gateway's Data Connection layer, where the solution makes the connection to data, and we talked about some of the data sources that APOS Live Data Gateway provides connectivity with. We explored both the Data Preparation layer and the Data Consumption layer, including how APOS Live Data Gateway works with SAP Solutions and how live connectivity versus import connectivity works with SAP Analytics Cloud. Allan shared that APOS Live Gateway works with analytics solutions beyond just SAP Analytics Cloud, including live connectivity from Power BI to SAP Analytics Cloud, as well as the expanded consumption options that include Odata, ODBC, and JDBC, in the unified semantic layer. Lastly, Allan shared some stories from customers who are currently using APOS Live Data Gateway which, as always, was one of my favorite parts of the conversation. If you're thinking about getting arms around your data and know that live, real-time data is what you need, this is a conversation you should make time for. Find more information about APOS Live Data Gateway on SAP Store.

airhacks.fm podcast with adam bien
From Punched Cards to Java 11

airhacks.fm podcast with adam bien

Play Episode Listen Later Sep 18, 2022 59:03


An airhacks.fm conversation with Glenn Holmer (@gholmer) about: astrology, TRS-80, Radio Shack, learning Basic, RPG and COBOL in 8 month, working for weyco group incorporated, learning assembly with core dumps, blanks instead of zeros, enjoying modern Cobol, running warehouse software on Novell Netware, starting with Java 1.1 in 1997, anonymous inner classes and JDBC were introduced with Java 1.1, AS 400 support for Java was excellent, Java and NDS, running Applets in a browser, HotJava the browser in Java, icefaces and ICEBrowser, creating a web app with Java servlets, starting with Tomcat, switching to Glassfish, starting with plain editors, then NetBeans, Programmers Paradise, CodeWarrior metrowerks, forte for java IDE, becoming the very first Java programmer, the ultrasonic box scanner, migrating from GlassFish to Payara, writing millions lines of code with a team of five, remembering jEdit Glenn Holmer on twitter: @gholmer

Spring Boot Learning Podcast
EP 19: What is JDBC?

Spring Boot Learning Podcast

Play Episode Listen Later Aug 27, 2022 7:59


What is JDBC? And why, more importantly, does this matter when building Spring Boot apps? JDBC is one of our oldest standards in the Java community. Understanding how Spring Boot works in the presence of JDBC (which is more often than you may realize) could unlock doors you weren't aware of! ==== Don't forget to pre-order your copy of Learning Spring Boot 3.0 3rd Edition today at https://springbootlearning.com/book! ==== RESOURCES:

Streaming Audio: a Confluent podcast about Apache Kafka
What Could Go Wrong with a Kafka JDBC Connector?

Streaming Audio: a Confluent podcast about Apache Kafka

Play Episode Listen Later Aug 4, 2022 41:10 Transcription Available


Java Database Connectivity (JDBC) is the Java API used to connect to a database. As one of the most popular Kafka connectors, it's important to prevent issues with your integrations. In this episode, we'll cover how a JDBC connection works, and common issues with your database connection. Why the Kafka JDBC Connector? When it comes to streaming database events into Apache Kafka®, the JDBC connector usually represents the first choice for its flexibility and the ability to support a wide variety of databases without requiring custom code. As an experienced data analyst, Francesco Tisiot (Senior Developer Advocate, Aiven) delves into his experience of streaming Kafka data pipeline with JDBC source connector and explains what could go wrong. He discusses alternative options available to avoid these problems, including the Debezium source connector for real-time change data capture. The JDBC connector is a Java API for Kafka Connect, which streams data between databases and Kafka. If you want to stream data from a rational database into Kafka, once per day or every two hours, the JDBC connector is a simple, batch processing connector to use. You can tell the JDBC connector which query you'd like to execute against the database, and then the connector will take the data into Kafka. The connector works well with out-of-the-box basic data types, however, when it comes to a database-specific data type, such as geometrical columns and array columns in PostgresSQL, these don't represent well with the JDBC connector. Perhaps, you might not have any results in Kafka because the column is not within the connector's supporting capability. Francesco shares other cases that would cause the JDBC connector to go wrong, such as: Infrequent snapshot timesOut-of-order eventsNon-incremental sequencesHard deletesTo help avoid these problems and set up a reliable source of events for your real-time streaming pipeline, Francesco suggests other approaches, such as the Debezium source connector for real-time change data capture. The Debezium connector has enhanced metadata, timestamps of the operation, access to all logs,  and provides sequence numbers for you to speak the language of a DBA. They also talk about the governance tool, which Francesco has been building, and how streaming Game of Thrones sentiment analysis with Kafka started his current role as a developer advocate. EPISODE LINKSKafka Connect Deep Dive – JDBC Source ConnectorJDBC Source Connector: What could go wrong?Metadata parser Debezium DocumentationDatabase Migration with Apache Kafka and Apache Kafka ConnectWatch the video version of this podcastFrancesco Tisiot's TwitterKris Jenkins' TwitterStreaming Audio Playlist Join the Confluent CommunityLearn more on Confluent Developer

#DataOops
Episode 18 : DuckDB et Apache Arrow

#DataOops

Play Episode Listen Later Jul 16, 2022 58:56


DuckDB est une base de données OLAP in-process et très légère : très utile pour la préparation de données en SQL Surtout quand cette base est compilée en C++, très performante, dotée de nombreuses fonctions, capable de lire et écrire des fichiers csv ou parquet et utilisable via ODBC,JDBC, API python ou C++ ou tout simplement via CLI. Apache Arrow est un format pour la représentation colonnaire données analytiques et permet d'éviter la serialisation et la perte de temps associée.

Les Cast Codeurs Podcast
LCC 280 - Leçon de géographie

Les Cast Codeurs Podcast

Play Episode Listen Later Jun 13, 2022 81:24


Cet épisode une fois n'est pas coutume parle beaucoup de nouvelles dans la rubrique langage et beaucoup de Java, wouhou ! On parle aussi de sigstore, http/3, Micronaut et de VMWare. Enregistré le 10 juin 2022 Téléchargement de l'épisode LesCastCodeurs-Episode–280.mp3 News Langages Sept raisons pour lesquelles Java a a encore du sens après 26 ans communauté (dans toutes les grandes villes) force du langage et de la plateforme plus de problèmes résolus que non résolus (librairies) stabilité Innovation (Java 9 accélère l'innovation) outillage opportunité d'emploi Les débuts du projet Leyden Mark Reinhold lance le projet Leyden, pour adresser les problèmes de temps de démarrage lent de Java, de lenteur du temps jusqu'à la performance max, et d'empreinte un peu lourde à l'aide d'une image statique de votre application une image statique ne fait tourner qu'une seule et unique application sur son JDK, et est un “monde fermé” (ne peut pas charger de classe externes) mais les ingés de la JVM vont travailler sur une approche assez souple, et voire quelles contraintes peuvent être allégées, par rapport à un monde complètement fermé d'une image statique en espérant avoir des améliorations à différents niveaux, pour un max d'appli et de use case différents Le close world c'est ce qui amène la valeur de GraalVM native image et les avantages pour Micronaut, Quarkus et le autres donc pas de closed world: c'est encore un projet de recherche pour l'équipe de la JVM JFR plus facile à configuer dans Java 17 un wizard en UI ou CLI pour generer le fichier .jfc Proposition de structured concurrency via le projet Loom Targeted status for JDK 19. This incubating JEP, under the auspices of Project Loom, proposes to simplify multithreaded programming by introducing a library to treat multiple tasks running in different threads as a single unit of work. This can streamline error handling and cancellation, improve reliability, and enhance observability RedMonk analyse l'apparition du langage Dart, grâce à Flutter, dans leur top 20 des langages de programmation les plus populaires JavaScript, Python, Java, toujours en tête Mais Rust et Dart sont rentrés récemment L'arrivée de Dart coïncide surtout avec l'émergence de Flutter comme framework d'interface graphique, que ce soit pour Android/iOS, que pour le desktop et le web Sur les applis mobiles, il y a toujours eu beaucoup de développement natif, mais est aussi arrivé React Native, mais aussi Flutter Des applis de Google comme Google Pay et Google Ads sont développées en Flutter, mais aussi le récent SNCF Connect ou des entreprises telles que BMW ou Alibaba (modifié) (cf le talk sur le REX par les développeurs de SNCF Connect à Devoxx France) les investissements initiaux de Dart vs Kotlin ou Ceylon qui ont démarrés en meme temps étaient colossaux Dart en natif pour faire des applis iOS… qui tournent aussi sous Android Kotlin 1.7 est sorti Kotlin K2 compiler pour la JVM em Alpha (les plug ins ne fonctionne pas) amélioration des perf de Kotlin et du compilo pour la JVM build incremental Gradle annotation OptIn et inférence de Builder stabilisés classes implementee par delegation automatique sans consommation mémoire (via inlining) Librairies Sortie de Micronaut 3.5 Passage à GRAALVM 22.1.0 Compilation incrémentale lors des builds, en particulier intéressant pour les métadonnées pour GraalVM, ce qui permet d'éviter de faire tourner les processeurs d'annotation inutilement Inclusion de Micronaut Data 3.4, avec support des enums Postgres pour JDBC, la pagination pour les Reactive Repositories Intégration avec Turbo pour la vue (Turbo Frame et Turbo Views) Nouveau module pour MicroStream (un moteur de graphe d'objet natif Java, intégré à Helidon) Mise à jour de nombreux plugins et extensions (y compris plugins de build) Infrastructure Kubernetes signals massive adoption of Sigstore for protecting open source ecosystem Kubernetes 1.24 (sorti en mai) est la première version utilisant officiellement Sigstore, permettant une vérification transparente des signatures pour protéger contre les attaques de la chaîne d'approvisionnement Sigstore est une nouvelle norme pour la signature, la vérification et la protection des logiciels. Elle se veut être un remplaçant pour GPG par exemple. Sigstore offre une variété d'avantages à la communauté Kubernetes comme: Sigstore's keyless signing donne une grande expérience de développeur et supprime le besoin de la gestion de clé douloureuse. Le journal public et transparent de Sigstore (Rekor) avec ses API permettent aux consommateurs Kubernetes de vérifier les signatures. … Web RFC 9114 - HTTP/3 est validée (+ RFC 9204 - QPACK: Field Compression for HTTP/3 et RFC 9218 - Extensible Prioritization Scheme for HTTP) Basé sur le protocole de transport QUIC qui possède plusieurs fonctionnalités intéressantes telles que le multiplexage de flux, le contrôle de flux par flux et l'établissement de connexion à faible latence. QPACK : un format de compression pour représenter efficacement les champs HTTP à utiliser en HTTP/3. Il s'agit d'une variation de la compression HPACK qui vise à réduire la taille des headers. Extensible Prioritization Scheme for HTTP: schéma qui permet à un client HTTP de communiquer ses préférences quant à la façon dont le serveur en amont priorise les réponses à ses demandes, et permet également à un serveur d'indiquer à un intermédiaire en aval comment ses réponses devraient être priorisées lorsqu'elles sont transmises. Outillage VSCode Java 1.5 est sorti Java 18 support, inlay hints for method parameters, and improvements to class declaration navigation are just a few of the enhancements to expect. Architecture L'architecture Netflix Pas fou fou dans les infos mais ça fait longtemps qu'on a pas eu d'archi analyze the system design in terms of availability, latency, scalability and resilience to network failure basé sur AWS clients via un SDK est intelligent, contrôle le backend utilisé et la bande passante en temps réel Open Connect CDN: là ou les vidéos sont stockées le reste du bon vieux microservice en backend ramène les dix meilleurs points d'accès et le client choisi voire change API Gateway via Zuul: dynamic routing, traffic monitoring and security, resilience to failures at the edge of the cloud deployment etc Loi, société et organisation VMWare racheté par Broadcom 61 milliards de dollars Avec un objectif de passer de 3,5 à 8,5 milliard d'EBITA par an Bouger dans la division cloud avec Symantec VMWare était content de sa liberté retrouvée après la spin off de Dell Apparemment pas d'alignement de tech une expansion de portefeuiille dans le software pour broadcom VMWare a beaucoup changé de mains ces dernières années La strategie d'investissement de broadcom: acheter des franchises avec une bonne position de marcher et un potentiel de profitabilité augmenté sans gros investissements La rumeur un ex de VMWare qui pense que c'est la mort de VMWare Outils de l'épisode GitHub Copilot quand le code s'écrit tout seul … (en fait non, les développeurs ont encore des beaux jours devant eux) A voir aussi: Github Co-Pilot : Addictif ou Efficace ? (Johan Jublanc et Simon Provost) à Devoxx France 2022 Rubrique débutant Conférences Source: Developers Conferences Agenda/List by Aurélie Vache et contributeurs June 14: France API - Paris (France) 15–18: VIVA Technology - Paris (France) 17: Cloud Ouest 2022 - Nantes (FR) + Online 21–22: Voxxed Days Luxembourg - Luxembourg 23: ServerlessDays Paris - Paris (France) 24: SoCraTes Rennes - Rennes (France) 27–1: Hack in Paris - Paris (France) 28: Dev nation Day France - Paris (France) 29–1: BreizhCamp - Rennes (France) 30–1: Sunny Tech - Montpellier (France) 30–1: Agi'Lille 2022 - Lille (France) September 9: JUG SummerCamp - La Rochelle (France) 29: Cloud Nord - Lille (France) October 4–6: Devoxx Morocco - Agadir (Morocco) 6–7: Paris Web - Paris (France) 10–14: Devoxx Belgium - Antwerp (Belgium) 13–14: Volcamp 2022 - Clermont Ferrand (France) 20–21: DevFest Nantes - Nantes (France) 27–28: Agile Tour Bordeaux - Bordeaux (France) November 8–9: Open Source Experience - Paris (France) 15–16: ParisTestConf - Online 15–16: Agile Tour Toulouse - Toulouse (France) 17: Codeurs en Seine - Rouen (France) 18: Devfest Strasbourg - Strasbourg (France) 19–20: Capitole du Libre - Toulouse (France) December 1: Devops DDay #7 - Marseille (France) 2: BDX I/O - Bordeaux (France) 14–16: API Days Paris - Paris (France) & Online Nom de la conf du x au y mois à Ville - CfP jusqu'à y mois TODO: reprendre celles de l'épisode d'avant 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/

Screaming in the Cloud
The Demystification of Zero Trust with Philip Griffiths

Screaming in the Cloud

Play Episode Listen Later Mar 30, 2022 35:38


About PhilipPhilip Griffiths is VP Global Business Development and regularly speaks at events from DevOps to IoT to Cyber Security. Prior to this, he worked for Atos IT Services in various roles working with C-suit executives to realise their digital transformation. He lives in Cambridge with his wife and two daughters.Links: NetFoundry: https://netfoundry.io/ Blog article: https://netfoundry.io/demystifying-the-magic-of-zero-trust-with-my-daughter-and-opensource/ netfoundry.io/screaminginthecloud: https://netfoundry.io/screaminginthecloud TranscriptAnnouncer: Hello, and welcome to Screaming in the Cloud with your host, Chief Cloud Economist at The Duckbill Group, Corey Quinn. This weekly show features conversations with people doing interesting work in the world of cloud, thoughtful commentary on the state of the technical world, and ridiculous titles for which Corey refuses to apologize. This is Screaming in the Cloud.Corey: Today's episode is brought to you in part by our friends at MinIO the high-performance Kubernetes native object store that's built for the multi-cloud, creating a consistent data storage layer for your public cloud instances, your private cloud instances, and even your edge instances, depending upon what the heck you're defining those as, which depends probably on where you work. It's getting that unified is one of the greatest challenges facing developers and architects today. It requires S3 compatibility, enterprise-grade security and resiliency, the speed to run any workload, and the footprint to run anywhere, and that's exactly what MinIO offers. With superb read speeds in excess of 360 gigs and 100 megabyte binary that doesn't eat all the data you've gotten on the system, it's exactly what you've been looking for. Check it out today at min.io/download, and see for yourself. That's min.io/download, and be sure to tell them that I sent you.Corey: This episode is sponsored by our friends at Oracle Cloud. Counting the pennies, but still dreaming of deploying apps instead of “Hello, World” demos? Allow me to introduce you to Oracle's Always Free tier. It provides over 20 free services and infrastructure, networking, databases, observability, management, and security. And—let me be clear here—it's actually free. There's no surprise billing until you intentionally and proactively upgrade your account. This means you can provision a virtual machine instance or spin up an autonomous database that manages itself, all while gaining the networking, load balancing, and storage resources that somehow never quite make it into most free tiers needed to support the application that you want to build. With Always Free, you can do things like run small-scale applications or do proof-of-concept testing without spending a dime. You know that I always like to put asterisks next to the word free? This is actually free, no asterisk. Start now. Visit snark.cloud/oci-free that's snark.cloud/oci-free.Corey: Welcome to Screaming in the Cloud. I'm Corey Quinn. Today's promoted episode is about a topic that is near and dear to my heart. In the AWS universe, we have seen over time that the networking has gotten more and more capable going from EC2 Classic to the world of VPC network to a whole bunch of other things. But with that capability comes a stupendous amount of complexity, to the point where the easy answer to, “Do you understand how networking works within AWS?” Is, of course, no, “I don't.”I'm joined today by Philip Griffiths, who's the Head of Business Development at NetFoundry. Philip, thank you for joining me.Philip: Pleasure to be here, Corey.Corey: So, NetFoundry has what I would argue to be one of the most intriguing-slash-differentiated approaches to handling that ever-increasing complexity around the networking story, not just in AWS, but a number of different cloud providers, and between them, and that approach is to ignore it completely. Have I nailed the salient approach here with that, I guess we'll call it a flippant statement.Philip: Yeah, I'd probably say so. It's the interesting thing where a lot of people say cloud networking is hard, and from our perspective, it should just be super easy, you should be able to provision it in a few minutes with only outbound ports, and set up your policy so that malicious actors can't get inside it. It should be that easy, and programmable, and it's a shame that the current world is not.Corey: One of the hard problems has always been in, I guess, security, which is the thing that everyone pretends to care about right up front, but in practice, often winds up bolting it on after the fact because, “We care about security,” is sort of the trademark phrase of things that we see, usually an email announcing a data breach when it was very clear that companies did not care about security. It's not just me complaining about how complex the network stack is, but by what directly flows from that. If you aren't able to fit all of that into your head as far as what's going on from a security perspective, the odds of misconfiguration creep in and you don't really become aware of what your risk exposure is. I'm really partial to the idea of just avoiding it entirely. Is NetFoundry, effectively, a network overlay? Is it something that goes a bit beyond that? Effectively, where do you folks start and where do you stop?Philip: Yes, that is precisely correct. We are a network overlay that's been built on the principles of zero trust. What is very unique is the ability to be able to start it wherever you want. So yes, you can deploy it from the AWS Marketplace in a few minutes into your VPC or into your operating system, but we also have the ability to actually put it directly into the application stack itself, which has some very interesting complications. What I find as the most interesting starting point is the oxymoron of secure networking.There are no secure networks. It's not possible. Networks are designed to share information and taking it to first principles, you can only isolate networks. And this is why we had the thought process for if we're going to put our overlay network into stuff and make it secure, we have to start at the application level because then we can actually just isolate it to an application communicating into an application, which has profound implications.Corey: The network part is relatively straightforward. I imagine it just becomes, more or less, what resembles a fairly flat network where everything internal is allowed to talk to each other, and then, in turn, this winds up effectively elevating what should be allowed to talk to what and on what ports and whatnot into something that's a lot closer to the application logic, and transcends whatever provider it happens to be traversing.Philip: Yeah, correct. Following the principles of zero trust, we utilize strong embedded identity as a function of what the endpoints are, what the source and destination is. And therefore you build up your policies and services to say what should communicate to what on the basis that the default the least privileged: Absolutely nothing. Your underlay then, the only thing you need is commodity internet with outbound ports. The whole concept of north-south, east-west, if you're app-embedded, you don't even need public DNS; you don't even need DNS at all. Naming conventions go out the window; you don't need to conform to the standards. You know, you could say, “I want to hit Jenkins.” You go to Jenkins because that can be done.Corey: I would approach this entire endeavor with a fair bit of suspicion and no small amount of alarm if it were something that you had developed internally, as far as, “Well, we're just going to replace what amounts to your entire network stack and just go ahead and trust us. It's fine.” But you didn't do that. You're riding on top of the OpenZiti open-source project. And that basically assuages a whole raft of concerns I would have if something like this were proprietary, and people who know what they're doing—who, let's be clear, aren't me—were not able to inspect it and say, “Okay, this passes muster”—as they have done—or alternately, “No, this is terrifyingly dangerous for a variety of excellent reasons.”And it really feels like a lot of the zero-trust stories that we see these days that are taking advantage of either a network overlay approach or shifting authentication into a different layer, have all taken a somewhat similar tack. I used to think it was a good idea; now I'm starting to suspect it might very well be the only viable model. Do you find that that's accurate, or was this a subject of some contention when you were starting out?Philip: So, there's two very interesting [sigh] thoughts that came to me as you were saying that. The number one is yes, we drove forward with OpenZiti because we've seen open-source just completely dominate the industry and everything new that's been built. If you want to deploy an application, you're building on Linux. And in fact, you're probably [laugh] also running on Kubernetes if you're building new. And our objective was to be able to turn OpenZiti into you know, the open-source, zero-trust private network and equivalent where it's just standard: You'll bake your application with Ziti, by design.It will become a check function that people say you have to comply to. When I look at other vendors and how they look at zero-trust, I broadly see a few things that dishearten me. And again, it's a big market, a lot of people—everyone says they're zero-trust nowadays—but I broadly categorize it into a few ways. You have people who are effectively acting as a proxy and they're adding authentication as a way to check what people should have access to. And they may give access to the whole network, they may do granular; it varies between them. In fact, I've just written a blog on this where I effectively call that no-magic zero trust. It's a blog conceptualized within Harry Potter and [unintelligible 00:07:36] a conversation with my daughter.Corey: Yeah, any way to tell a story that beats the traditional enterprise voice is very much appreciated over in this corner of the world.Philip: [laugh]. Yeah, exactly. You have a second tier, which is what I like to think as semi-magical. And that's where you start saying, I am going to use a software-defined perimeter. So, that it's first packet authenticate, or outbound-only based upon embedded identity. And in my eyes, this is basically an invisibility cloak.You then have app-embedded or magical zero-trust. And this is where you're putting the invisibility cloak inside your application, but you're also giving it a port key so that when it needs to connect to something else on the other side of the world, it just happens; it's transparent. And broadly speaking, I think it's very good that the whole world, including the US government is taking zero-trust incredibly importantly, but the distribution of how people tackle a problem is wildly different. There are some zero-trust solutions, which going in the right direction, but fundamentally, if you're putting it in front of your—I won't name a vendor, but there was a vendor who in December, they released a report that said in 90 seconds, common vulnerabilities are exploited something like 96% of the time. 24-hours, 100%.A few days later, they had a 9.8 CVE on their zero-trust VPN concentrator with a public IP, to which I thought, “If you're not patching that immediately, you've got problems if someone is coming into your network.”Corey: Absolutely. We just completed our annual security awareness training here, and so much of it just… it really made my skin crawl, there was an entire module on how to effectively detect phishing emails, and I got to tell you, if they ever start running spellcheck on their some of their [spear-phishing 00:09:23] campaigns, then we're all doomed because that was what the entire training was here. My position is, is that okay, if someone in your company clicks a bad link and it destroys the company's infrastructure, maybe it's the person who's clicking the link that is not necessarily the critical failure point here. Great, if someone compromises an employee workstation, there should be a way to contain the blast radius, they should not now be inside the walls and able to traverse into whatever it is that they want. There should be additional barriers, and zero trust—though it has become, as you say, a catch-all term—seems to be a serious way of looking at this type of compromise and this sort of mitigation against that sort of behavior.Philip: Definitely. And I think that leads itself to, if you're using the correct zero-trust solution, you're able to close [unintelligible 00:10:12] ports, great, you've now massively reduced your attack surface. But what if someone does get a phishing injection of ransomware or something to their endpoint or into their servers? The two things that I like to think about is that if you're creating your overlay network so that the only communication from your server is outbound into the public IPs of your private overlay, then effectively even if the ransomware gets in there, it can't then connect to its command and control module to then go through the kill cycle to other activities. The other is that if you then look at it [instead 00:10:46] of on the server-side, but actually on the client-side, if someone infects my Mac laptop with ransomware, we use this internal application called Mattermost.And it's basically Slack, but open-source. If my Mattermost is Ziti-fied, even I've got ransomware on my device, it can't side-channel attack into Mattermost because you would actually have to break into the Mattermost application and somehow get that Mattermost application to make a compromised query or whatever to get past the system. So really, when I look at zero-trust, it's not about saying, “We're secure. Job done. You know, fire the security department because we don't need them anymore.” It's all about saying—Corey: Box check. Hand it off to the auditor.Philip: [laugh]. Exactly. It's more about saying the cost of attack, the cost of compromised is increased, ideally, to the point where the malicious actors don't have a return on investment. Because if they don't have a return on investment, they will find something else that's not your applications and your systems to try and compromise.Corey: I want to make sure that I'm contextualizing this properly because we're talking—I think—about what almost looks like two different worlds here. There's the, this is how things wind up working in the ecosystem as far as your server environment goes in a cloud provider, but then we're also talking about what goes on in your corporate network of people who are using laptops, which is increasingly being done from home these days. Where do you folks start? Where do you stop? Do you transcend into the corporate network as well, or is this primarily viewed as a production utility?Philip: We do. One of our original design principles with OpenZiti was for it to be a platform rather than a point solution. So, we designed it from the ground up to be able to support any IP packets, TCP, UDP, et cetera, whether you're doing, client-server, server-server, machine-server, server-initiated, client-initiated, yadda, yadda, yadda. So effectively, the same technology can be applied to many different use cases, depending on where you want to use it. We've been doing work recently to handle, let's call them the hard use cases.Probably one of the hardest ones out there is VoIP. There is a playbook that is currently taking place where the VoIP-managed service provider gets DDoSed by malicious actors; the playbook is to move it onto a CDN so that you move the attack surface and you get respite for a few hours. And there's not really any way to solve it because blocking DDoS attacks at layer 3, layer 4 is incredibly difficult unless you can make your PBX dark. And I've seen a couple of our OpenZitiE engineers making calls from one device to another without going through the PBX by doing that over OpenZiti, and being able to solve some of the challenges that's normally associated with VoIP. Again, it was really one of our design principles: How can we make the platform is so flexible that we can do X, Y, Zed today; we're able to build it, again to become a standard, because it can handle anything.Corey: One of the big questions that people are going to have going into this is, and this may sound surprising is a little bit less about technical risk of things like encryption and the rest and a lot more around the idea of okay, does this mean that what you are building becomes a central point of business risk? In other words, if the NetFoundry SaaS installation and wherever they happen to be using as their primary winds up going down, does that mean suddenly nothing can talk to one another? Because it turns out that, you know, computers are not particularly useful in 2022 if they aren't able to talk to other computers, by and large. “The network is the computer,” as was famously stated. What is the failure mode in the event that you experience technical interruption?Philip: We have this internal sessions, which we call Ziti Kitchens, where our engineering team that are creating Ziti educate on stuff that they're building. And one of them in the Ziti Kitchen was around HA, HS, et cetera, and all of the functions that we've built in so that you have redundancy and availability within the different components. Because effectively it's an overlay network, so we've designed it to be a mesh overlay network. You can setup with one point of failure, but then simultaneously, you can very easily set up to have no points of failure because it can have that redundancy and the overlay has its own mechanisms to do things like smart routing and calculation of underlying costs.That cost in that instance would be, well, AWS has gone down, so the latency to send a packet or flow over it is incredibly high, therefore I'm going to avoid that route and send the traffic to another location. I always remember this Ziti Kitchen episode because the underlying technology that does it is called Terminators—Ziti has these things called Terminators—some of the slide there was this little heads over the Terminator with the red eyes, you know, the silver exoskeleton, which always made me laugh.Corey: It's helpful to have things that fail out of band as opposed to—think of the traditional history in security before everything was branded with zero-trust as a prerequisite for exhibiting at RSA; before that was firewalls was the story, and the question always was, if a firewall fails, do you want it to fail open or fail closed? And believe it or not, there are legitimate answers in both directions; depends on context and what you're doing. There are some things for example, IAM in a cloud world where you absolutely never want to fail open, full stop. You would rather someone bodily rip the power cable out the back of the data center rather than let that happen. With something like this, where nothing is able to talk to one another if the entire system goes down, yeah, you want to have the control system that you folks run to be out of band, that is almost always the right answer.As I look at the various case studies that you have on your website and the serious companies that are using what you have built, do you find that they are primarily centralizing around individual cloud providers? Are you seeing that they're using this as a expression of multi-cloud because I can definitely see a story where oh, it helps bring two cloud providers from a networking and security perspective onto the same page, but I can also see, even within one cloud provider, the idea that, hey, I don't have to play around with your ridiculous nonsense? What use cases are you seeing emerge among your customers?Philip: Definitely, the multi-cloud challenge is one that we're seeing as a emerging trend. We do a lot of work with Oracle and, you know, their stated position is multi-cloud is a fact. In fact for them, if we make the secure networking easier, we can bring workloads into our cloud quicker [unintelligible 00:17:21] the main driver between our partnership. We recently did a blog talking about Superclouds and the advent of organizations like Snowflake and HashiCorp and Confluence and Databricks basically building value and business applications which abstracts away the underlying complexity. But you get into the problem of the standard shared security model, where the customer has to deal with DNS and VPNs and MPLS and AWS Private Endpoint or Azure Private Link or whatever they call it, and you have to assemble this Frankenstein of stuff just to enable a VM to communicate to another VM.And the posit of our blog—in fact, we use that exact quote—John Gage—“The computer is the network.” If you can put a network inside the application, you've now given your supercloud superpowers because [unintelligible 00:18:13] natively—I mean, this is very marketing term, but, “Develop once; deploy anywhere,” and be multi-cloud-native.Corey: The idea of being able to adapt to emerging usage patterns without full-on redeploy is handy. What I also would like to highlight, too, is that you are, of course, a network overlay and that is something that is fairly well understood and people have seen it, but your preferred adoption model goes up a couple of steps beyond that into altering the way that the application thinks about these things. And you offer an SDK that ranges from single line of code implementation to I think up to 20, so it's not a massive rewrite of the application, but it does require modification of the stack. What does that buy you, for lack of a better term? Because once you have the application becomes aware of what is effectively its own, “Special network,” quote-unquote, its work to wind up modifying existing applications around something like this. What's the payoff?Philip: So, there's three broad ones that immediately come to my mind. Number one is the highest security that effectively—your private network is inside the app, so you have to somehow break into the app and that can be incredibly complicated, particularly run the app in something like a confidential compute enclave; you can now have a distributed confidential system.The second is what you're getting in programmability. You're able to effectively operate in a fully—even, you know, you get to a GitOps environment. We're currently working on documentation which says, “Hey, you can do all this stuff in GitOps and then it'll go into your CI/CD and that'll talk to the APIs.” And it'll effectively do everything in a completely programmable manner so that you can treat your private networks as cattle rather than as pets.The third is transparency. You used the words earlier of bolt-on networking because that's how we always think about networking security: We bolt it on. As a user, we have to jump through the VPN hoop, we have to go through the bastion, we have to interact with the network. If your private network's inside the application, then you interact with the application. I can have a mobile application on my device and I have no idea that it's part of a private network and that the API is private and the malicious actors can't get to it. I just interact with the application. That is it.That is what no one else has the ability to do and where OpenZiti has its most power because then you get rid of the constant tug of war between the security team that want to lock everything down and the users and the developers who want to move fast and give a great experience. You can effectively have your cake and eat it.Corey: The challenge, of course, with rolling a lot of these things out in a way that becomes highly programmable is that unlocks a bunch of capability, but the double-edged sword there is always one of complexity. I mean, we take a look at the way that AWS networking has progressed, and they finally rolled out the VPC Reachability Analyzer, so when two things can't talk to each other, well, you run this thing and it tells you exactly why, which is super handy. And then just as a way of twisting the knife a little bit, every time you run it, they charge at ten cents for the privilege, which doesn't actually matter in the context of what anyone is being compensated for, until and unless you build this into something programmatic, but it stings a little bit. And the idea of being able to program these things to abstract away a lot of that complexity is incredibly compelling, except for the part where now it feels like it really increases developer burden on a lot of these things. Have you found that to be true? Do you find that it is sort of like a sliding scale? What has the customer experience been around this?Philip: I would say a sliding scale. You know, we had one organization who they started with the OpenZiti Tunnelers, and then we convinced them to use the SDK and [unintelligible 00:21:51], “Oh, this was super easy.” And now they just run OpenZiti on themselves. But then they've also said at some point, we'll use the NetFoundry platform, which effectively gives us a SaaS experience in consuming that. One of the huge focus—well, we've got a few big focuses for product development, but one of the really big areas is really giving more visibility and monitoring so that rather than people having to react to configuration problems or things which they need to fix in order to ensure your perfect network overlay, instead, those things are being seen and automatically dealt with human-in-the-loop if you want it, in order to remove that burden.Because ultimately, if you can get the network to a point where as long as you've got underlay and you've set your policy, the overlay is going to work, it's going to be secure, and it's going to give you the uptime you need, that is the Nirvana that we all have to strive for.Corey: This episode is sponsored in part by our friends at Vultr. Spelled V-U-L-T-R because they're all about helping save money, including on things like, you know, vowels. So, what they do is they are a cloud provider that provides surprisingly high performance cloud compute at a price that—while sure they claim its better than AWS pricing—and when they say that they mean it is less money. Sure, I don't dispute that but what I find interesting is that it's predictable. They tell you in advance on a monthly basis what it's going to going to cost. They have a bunch of advanced networking features. They have nineteen global locations and scale things elastically. Not to be confused with openly, because apparently elastic and open can mean the same thing sometimes. They have had over a million users. Deployments take less that sixty seconds across twelve pre-selected operating systems. Or, if you're one of those nutters like me, you can bring your own ISO and install basically any operating system you want. Starting with pricing as low as $2.50 a month for Vultr cloud compute they have plans for developers and businesses of all sizes, except maybe Amazon, who stubbornly insists on having something to scale all on their own. Try Vultr today for free by visiting: vultr.com/screaming, and you'll receive a $100 in credit. Thats V-U-L-T-R.com slash screaming.Corey: A common criticism of things that shall we say abstract away the network is a fairly common predictable failure mode. I've been making fun of Kubernetes on this particular point for years, and I'm annoyed that at the time that we're recording this, that is still accurate. But from the cloud providers' perspective, when you run Kubernetes, it looks like one big really strangely behaved single-tenant application. And Kubernetes itself is generally not aware of zone affinity, so it could just as easily wind up tossing traffic to the node next to it at zero cost or across an availability zone at two cents per gigabyte, or, God forbid across the internet at nine cents a gigabyte and counting depending upon how it works. And the application-side has absolutely no conception of this.How does OpenZiti address this in the real world because it's one of those things where it almost doesn't matter what you folks charge on top of it, but instead oh wow, this winds up being so hellaciously expensive that we can't use it regardless of whatever benefit it provides just because it becomes a non-starter.Philip: So, when we built the overlay and the mesh, we did it from the perspective of making it as programmable and self-driven as possible. So, with the whole Terminator strategies that was mentioned earlier, it gives you the ability to start putting logic into how you want packets to flow. Today, it does it on a calculation of end-to-end latency and chooses and reroutes traffic in order to give that information. But there's no reason that you couldn't hook it up into understanding what is the numerical in monetary cost for sending a packet along a certain path. Or even what is my application performance monitoring tool saying? Because what that says versus what the network believes could be different things. And effectively you can ingest that information to make your smart routing decisions so all of that logic can exist within the overlay that operates for you.Corey: I will say that really harkens back, on some level, to what I was experimenting with back when I got my CCNA many years ago where there's an idea of routing protocols have built into the idea of the cost of a link. I will freely admit slash confess that at the time of the low-cost link, I assumed this was about what was congested or what would wind up having, theoretically, some transit versus peering agreement. It never occurred to me that I'd have to think about those things in a local network and have to calculate in the Byzantine pricing models of cloud providers. But I've seen examples of folks who are using OpenZiti, and NetFoundry alike, to wind up building in these costing models so that yeah, ideally, it just keeps everything local, but of that path degrades then yes, we would prefer to go over an expensive link than to basically have TCP terminate on the floor until everything comes back up. It sort of feels like there's an awful lot of logic you can bake into that goes well beyond what routing protocols are capable of, just by virtue of exposing that programmability.Well, for this customer because they're on the pre—on the extreme tier, then we want to have the expensive fallback; for low-tier customers, we might want to have them just have an outage until things end. And it really comes down to letting business decisions express themselves in terms of application behavior while in degraded state. I love that idea.Philip: Yeah, I understand. We don't do it today, but there will be a point in the future—I strongly believe—that we'll be able to say, hey, I'll give you an SLA on the internet. Because we'll have such path diversity and visibility of how the internet operates that we'll be able to say within certain risk parameters of what we can deliver. But then you can take it to other logical extremes. You could say, “Hey, I want to build a green overlay. I want to make sure that I'm using Arm instances and in data centers of renewable energy so that my network is green.”Or you can say on a GDPR-compliant overlay so that my data stays within a certain country. You start being able to say—you know, really start dreaming up what are the different policies that I can apply to this because you're applying a central policy to then what is in the distributed system.Corey: One last topic I want to cover before we call it an episode is that you are, effectively, a SaaS company that is built on top of an open-source project. And that has been an interesting path for a lot of companies that early on, figured that if they wrote the software, a lot of the contributors who are doing the lion's share of contribution, that they were clearly the best people to run it. And Amazon's approach towards operational excellence—as they called it—wound up causing some challenges when they launched the Amazon Basics version of that service. I feel like there are some natural defenses built into OpenZiti to keep it from suffering that fate, but I'm very curious to get your take on it.Philip: Fundamentally, our take is that—in fact, our mission is to take what was previously impossible and turn it into a standard. And the only way you can really create standards is to have a open-source that is adopted by the wider community and that ecosystems get built around and into. And that means giving an OpenZiti to absolutely everyone so that they can use it, they can innovate on top of it. We all know that very few people actually want to host their own infrastructure, so we assume a large percentage of people will come and go, “Hey, NetFounder, you provide us the hosting, you provide us the SaaS capability so we don't have to do that ourselves.” But fundamentally in the knowledge that there's something bigger because it's not just us maintaining this project; there's a bunch of people who are doing pull requests and find out cool, fun ways to build further value on what we can build ourselves.We believe the recent history is littered with examples of the new world built on open-source. And fundamentally, we think that's really the only way to be able to change an industry so profoundly as we intend to.Corey: I would also argue that, to be very direct—and I can probably get away with saying this in a way that I suspect you might not be able to—but if AWS had it in their character to simplify things and make it a lot easier for people to work with in a networking sense, what's stopping them? They didn't need to wait for an open-source company to wind up coming out of nowhere and demonstrating the value of this. Customers have been asking it for years. I think that at this point, this is something that is unlikely to ever wind up being integrated into a cloud provider's primary offering. Until and unless the entire industry shifts, at which point we're having a radically different conversation very far down the road.Philip: Yeah, potentially because it opens the interesting thing that if you make it so easy for someone to take their data out, do they use your cloud less? There are some cloud providers that will lean into that because they do see more clouds in the future and others that won't. I see it more myself that as those kind of things happen, it'll be done on a product-by-product basis. For example, we're talking to an organization, and [unintelligible 00:29:49] like, “Oh, could you Ziti-fy our JDBC driver so that when users access our database, they don't have to use a VPN?” [unintelligible 00:29:55], “Yeah. We've already done that with JDBC. We called it ZDBC.”So, we'll just, instead of using the general industry one—probably the Oracle one or something because that's kind of standard—we'll take your one that you've created for yourself and be able to solve that problem for you.Corey: I really want to thank you for taking the time to speak with me today. If people want to learn more, where's the best place to find you?Philip: Best place to go to is netfoundry.io/screaminginthecloud. From there, anyone can grab some free Ziggy swag. Ziggy's our little open-source mascot, cute little piece of pasta with many different outfits. Little sass as well. And you can find further information both on OpenZiti and NetFoundry.Corey: And we will put links to both of those in the [show notes 00:30:40]. Thanks so much for taking the time to speak with me today. I really appreciate it.Philip: It's a pleasure. Thanks, Corey.Corey: Philip Griffiths, Head of Business Development at NetFoundry. I'm Cloud Economist Corey Quinn and this is Screaming in the Cloud. If you've enjoyed this podcast, please leave a five-star review on your podcast platform of choice, whereas if you've hated this podcast, please leave a five-star review on your podcast platform of choice along with an angry comment telling me exactly why I'm wrong about AWS's VPC complexity, and that comment will get moderated and I won't get to read it until you pay me ten cents to tell you how it got moderated.Corey: If your AWS bill keeps rising and your blood pressure is doing the same, then you need The Duckbill Group. We help companies fix their AWS bill by making it smaller and less horrifying. The Duckbill Group works for you, not AWS. We tailor recommendations to your business and we get to the point. Visit duckbillgroup.com to get started.Announcer: This has been a HumblePod production. Stay humble.

The Cloud Pod
156: The Cloud Pod Takes Back Everything It Said About Windows vs Linux Security

The Cloud Pod

Play Episode Listen Later Mar 17, 2022 52:14


On The Cloud Pod this week, the team reminisces about dealing with awful database technologies, which Ryan luckily managed to avoid. Plus all things cybersecurity as Linux gets hit with a huge security emergency, Google acquires Mandiant for $5.4 billion, and Orca Security catches a major Azure cross-tenant vulnerability.  A big thanks to this week's sponsor, Foghorn Consulting, which provides full-stack cloud solutions with a focus on strategy, planning and execution for enterprises seeking to take advantage of the transformative capabilities of AWS, Google Cloud and Azure. This week's highlights

USB our Guest Flash Briefing
Log4shell, Log4j exploit or Log4what, is that a new crossfit trend?

USB our Guest Flash Briefing

Play Episode Listen Later Feb 19, 2022 6:10


Today's episode covers the vulnerability affecting Java logging package, Log4j. This episode took a little longer to make than expected due to its complexity. Please see links below used to create the episode. TryHackMe's Solar, exploiting log4j https://tryhackme.com/room/solar The Log4J Vulnerability Will Haunt the Internet for Years https://www.wired.com/story/log4j-log4shell/ Huntress Log4Shell Vulnerability Tester https://log4shell.huntress.com/ Apache logging services https://logging.apache.org/ The Apache Software Foundation https://www.apache.org/ USB our Guest - Episode 22 Updates - https://anchor.fm/usbog/episodes/Software-Updates-emgnsh Log4j Attack surface - https://github.com/YfryTchsGD/Log4jAttackSurface Log4j - Apache Log4j Security Vulnerabilities - https://logging.apache.org/log4j/2.x/security.html JDBC Appender https://logging.apache.org/log4j/2.x/manual/appenders.html#JDBCAppender Apache Log4j Security Vulnerabilities https://logging.apache.org/log4j/2.x/security.html What is JDBC? https://www.ibm.com/docs/en/informix-servers/12.10?topic=started-what-is-jdbc Lesson: Overview of JNDI https://docs.oracle.com/javase/tutorial/jndi/overview/index.html W3Schools - Addressing https://www.w3.org/Addressing/URL/uri-spec.html Amazon Affiliate link - https://amzn.to/3rpF5KI --- Send in a voice message: https://anchor.fm/usbog/message

Building the Backend: Data Solutions that Power Leading Organizations
Enable Faster Data Processing and Access with Apache Arrow with Matt Topol @ Factset

Building the Backend: Data Solutions that Power Leading Organizations

Play Episode Listen Later Feb 1, 2022 49:15


In this episode we speak with Matt Topol, Vice President, Principal Software Architect @ FactSet and dive deep into how they are taking advantage of Apache Arrow for faster processing and data access. Below are the top 3 value bombs:Apache Arrow is an open-source in-memory columnar format that creates a standard way to share and process data structures.Apache Arrow Flight eliminates serialization and deserialization which enables faster access to query results compared to traditional JDBC and ODBC interfaces.Don't put all your eggs in one basket, whether you're using commercial products or open source, make sure you design a modular architecture that does not tie you down to any one piece of technology.

Melbourne AWS User Group
What's New in November and at re:Invent 2021

Melbourne AWS User Group

Play Episode Listen Later Jan 26, 2022 97:15


Pull your podcast player out of instant retrieval, because we're discussing re:Invent 2021 as well as the weeks before it. Lots of announcements; big, small, weird, awesome, and anything in between. We had fun with this episode and hope you do too. Find us at melb.awsug.org.au or as @AWSMelb on Twitter. News Finally in Sydney AWS Snowcone SSD is now available in the US East (Ohio), US West (San Francisco), Asia Pacific (Singapore), Asia Pacific (Sydney) and AWS Asia Pacific (Tokyo) regions Amazon EC2 M6i instances are now available in 5 additional regions Serverless Introducing Amazon EMR Serverless in preview Announcing Amazon Kinesis Data Streams On-Demand Announcing Amazon Redshift Serverless (Preview) Introducing Amazon MSK Serverless in public preview Introducing Amazon SageMaker Serverless Inference (preview) Simplify CI/CD Configuration for AWS Serverless Applications and your favorite CI/CD system – General Availability Amazon AppStream 2.0 launches Elastic fleets, a serverless fleet type AWS Chatbot now supports management of AWS resources in Slack (Preview) Lambda AWS Lambda now supports partial batch response for SQS as an event source AWS Lambda now supports cross-account container image pulling from Amazon Elastic Container Registry AWS Lambda now supports mTLS Authentication for Amazon MSK as an event source AWS Lambda now logs Hyperplane Elastic Network Interface (ENI) ID in AWS CloudTrail data events Step Functions AWS Step Functions Synchronous Express Workflows now supports AWS PrivateLink Amplify Introducing AWS Amplify Studio AWS Amplify announces the ability to override Amplify-generated resources using CDK AWS Amplify announces the ability to add custom AWS resources to Amplify-created backends using CDK and CloudFormation AWS Amplify UI launches new Authenticator component for React, Angular, and Vue AWS Amplify announces the ability to export Amplify backends as CDK stacks to integrate into CDK-based pipelines AWS Amplify expands its Notifications category to include in-app messaging (Developer Preview) AWS Amplify announces a redesigned, more extensible GraphQL Transformer for creating app backends quickly Containers Fargate Announcing AWS Fargate for Amazon ECS Powered by AWS Graviton2 Processors ECS Amazon ECS now adds container instance health information Amazon ECS has improved Capacity Providers to deliver faster Cluster Auto Scaling Amazon ECS-optimized AMI is now available as an open-source project Amazon ECS announces a new integration with AWS Distro for OpenTelemetry EKS Amazon EKS on AWS Fargate now Supports the Fluent Bit Kubernetes Filter Amazon EKS adds support for additional cluster configuration options using AWS CloudFormation Visualize all your Kubernetes clusters in one place with Amazon EKS Connector, now generally available AWS Karpenter v0.5 Now Generally Available AWS customers can now find, subscribe to, and deploy third-party applications that run in any Kubernetes environment from AWS Marketplace Other Amazon ECR announces pull through cache repositories AWS App Mesh now supports ARM64-based Envoy Images EC2 & VPC Instances New – EC2 Instances (G5) with NVIDIA A10G Tensor Core GPUs | AWS News Blog Announcing new Amazon EC2 G5g instances powered by AWS Graviton2 processors Introducing Amazon EC2 R6i instances Introducing two new Amazon EC2 bare metal instances Amazon EC2 Mac Instances now support hot attach and detach of EBS volumes Amazon EC2 Mac Instances now support macOS Monterey Announcing Amazon EC2 M1 Mac instances for macOS Announcing preview of Amazon Linux 2022 Elastic Beanstalk supports AWS Graviton-based Amazon EC2 instance types Announcing preview of Amazon EC2 Trn1 instances Announcing new Amazon EC2 C7g instances powered by AWS Graviton3 processors Announcing new Amazon EC2 Im4gn and Is4gen instances powered by AWS Graviton2 processors Introducing the AWS Graviton Ready Program Introducing Amazon EC2 M6a instances AWS Compute Optimizer now offers enhanced infrastructure metrics, a new feature for EC2 recommendations AWS Compute Optimizer now offers resource efficiency metrics Networking AWS price reduction for data transfers out to the internet Amazon Virtual Private Cloud (VPC) customers can now create IPv6-only subnets and EC2 instances Application Load Balancer and Network Load Balancer end-to-end IPv6 support AWS Transit Gateway introduces intra-region peering for simplified cloud operations and network connectivity Amazon Virtual Private Cloud (VPC) announces IP Address Manager (IPAM) to help simplify IP address management on AWS Amazon Virtual Private Cloud (VPC) announces Network Access Analyzer to help you easily identify unintended network access Introducing AWS Cloud WAN Preview Introducing AWS Direct Connect SiteLink Other Recover from accidental deletions of your snapshots using Recycle Bin Amazon EBS Snapshots introduces a new tier, Amazon EBS Snapshots Archive, to reduce the cost of long-term retention of EBS Snapshots by up to 75% Amazon CloudFront now supports configurable CORS, security, and custom HTTP response headers Amazon EC2 now supports access to Red Hat Knowledgebase Amazon EC2 Fleet and Spot Fleet now support automatic instance termination with Capacity Rebalancing AWS announces a new capability to switch license types for Windows Server and SQL Server applications on Amazon EC2 AWS Batch introduces fair-share scheduling Amazon EC2 Auto Scaling Now Supports Predictive Scaling with Custom Metrics Dev & Ops New services Measure and Improve Your Application Resilience with AWS Resilience Hub | AWS News Blog Scalable, Cost-Effective Disaster Recovery in the Cloud | AWS News Blog Announcing general availability of AWS Elastic Disaster Recovery AWS announces the launch of AWS AppConfig Feature Flags in preview Announcing Amazon DevOps Guru for RDS, an ML-powered capability that automatically detects and diagnoses performance and operational issues within Amazon Aurora Introducing Amazon CloudWatch Metrics Insights (Preview) Introducing Amazon CloudWatch RUM for monitoring applications' client-side performance IaC AWS announces Construct Hub general availability AWS Cloud Development Kit (AWS CDK) v2 is now generally available You can now import your AWS CloudFormation stacks into a CloudFormation stack set You can now submit multiple operations for simultaneous execution with AWS CloudFormation StackSets AWS CDK releases v1.126.0 - v1.130.0 with high-level APIs for AWS App Runner and hotswap support for Amazon ECS and AWS Step Functions SDKs AWS SDK for Swift (Developer Preview) AWS SDK for Kotlin (Developer Preview) AWS SDK for Rust (Developer Preview) CICD AWS Proton now supports Terraform Open Source for infrastructure provisioning AWS Proton introduces Git management of infrastructure as code templates AWS App2Container now supports Jenkins for setting up a CI/CD pipeline Other Amazon CodeGuru Reviewer now detects hardcoded secrets in Java and Python repositories EC2 Image Builder enables sharing Amazon Machine Images (AMIs) with AWS Organizations and Organization Units Amazon Corretto 17 Support Roadmap Announced Amazon DevOps Guru now Supports Multi-Account Insight Aggregation with AWS Organizations AWS Toolkits for Cloud9, JetBrains and VS Code now support interaction with over 200 new resource types AWS Fault Injection Simulator now supports Amazon CloudWatch Alarms and AWS Systems Manager Automation Runbooks. AWS Device Farm announces support for testing web applications hosted in an Amazon VPC Amazon CloudWatch now supports anomaly detection on metric math expressions Introducing Amazon CloudWatch Evidently for feature experimentation and safer launches New – Amazon CloudWatch Evidently – Experiments and Feature Management | AWS News Blog Introducing AWS Microservice Extractor for .NET Security AWS Secrets Manager increases secrets limit to 500K per account AWS CloudTrail announces ErrorRate Insights AWS announces the new Amazon Inspector for continual vulnerability management Amazon SQS Announces Server-Side Encryption with Amazon SQS-managed encryption keys (SSE-SQS) AWS WAF adds support for Captcha AWS Shield Advanced introduces automatic application-layer DDoS mitigation Security Hub AWS Security Hub adds support for AWS PrivateLink for private access to Security Hub APIs AWS Security Hub adds three new FSBP controls and three new partners SSO Manage Access Centrally for CyberArk Users with AWS Single Sign-On Manage Access Centrally for JumpCloud Users with AWS Single Sign-On AWS Single Sign-On now provides one-click login to Amazon EC2 instances running Microsoft Windows AWS Single Sign-On is now in scope for AWS SOC reporting Control Tower AWS Control Tower now supports concurrent operations for detective guardrails AWS Control Tower now supports nested organizational units AWS Control Tower now provides controls to meet data residency requirements Deny services and operations for AWS Regions of your choice with AWS Control Tower AWS Control Tower introduces Terraform account provisioning and customization Data Storage & Processing Databases Relational databases Announcing Amazon RDS Custom for SQL Server New Multi-AZ deployment option for Amazon RDS for PostgreSQL and for MySQL; increased read capacity, lower and more consistent write transaction latency, and shorter failover time (Preview) Amazon RDS now supports cross account KMS keys for exporting RDS Snapshots Amazon Aurora supports MySQL 8.0 Amazon RDS on AWS Outposts now supports backups on AWS Outposts Athena Amazon Athena adds cost details to query execution plans Amazon Athena announces cross-account federated query New and improved Amazon Athena console is now generally available Amazon Athena now supports new Lake Formation fine-grained security and reliable table features Announcing Amazon Athena ACID transactions, powered by Apache Iceberg (Preview) Redshift Announcing preview for write queries with Amazon Redshift Concurrency Scaling Amazon Redshift announces native support for SQLAlchemy and Apache Airflow open-source frameworks Amazon Redshift simplifies the use of other AWS services by introducing the default IAM role Announcing Amazon Redshift cross-region data sharing (preview) Announcing preview of SQL Notebooks support in Amazon Redshift Query Editor V2 Neptune Announcing AWS Graviton2-based instances for Amazon Neptune AWS releases open source JDBC driver to connect to Amazon Neptune MemoryDB Amazon MemoryDB for Redis now supports AWS Graviton2-based T4g instances and a 2-month Free Trial Database Migration Service AWS Database Migration Service now supports parallel load for partitioned data to S3 AWS Database Migration Service now supports Kafka multi-topic AWS Database Migration Service now supports Azure SQL Managed Instance as a source AWS Database Migration Service now supports Google Cloud SQL for MySQL as a source Introducing AWS DMS Fleet Advisor for automated discovery and analysis of database and analytics workloads (Preview) AWS Database Migration Service now offers a new console experience, AWS DMS Studio AWS Database Migration Service now supports Time Travel, an improved logging mechanism Other Database Activity Streams now supports Graviton2-based instances Amazon Timestream now offers faster and more cost-effective time series data processing through scheduled queries, multi-measure records, and magnetic storage writes Amazon DynamoDB announces the new Amazon DynamoDB Standard-Infrequent Access table class, which helps you reduce your DynamoDB costs by up to 60 percent Achieve up to 30% better performance with Amazon DocumentDB (with MongoDB compatibility) using new Graviton2 instances S3 Amazon S3 on Outposts now delivers strong consistency automatically for all applications Amazon S3 Lifecycle further optimizes storage cost savings with new actions and filters Announcing the new Amazon S3 Glacier Instant Retrieval storage class - the lowest cost archive storage with milliseconds retrieval Amazon S3 Object Ownership can now disable access control lists to simplify access management for data in S3 Amazon S3 Glacier storage class is now Amazon S3 Glacier Flexible Retrieval; storage price reduced by 10% and bulk retrievals are now free Announcing the new S3 Intelligent-Tiering Archive Instant Access tier - Automatically save up to 68% on storage costs Amazon S3 Event Notifications with Amazon EventBridge help you build advanced serverless applications faster Amazon S3 console now reports security warnings, errors, and suggestions from IAM Access Analyzer as you author your S3 policies Amazon S3 adds new S3 Event Notifications for S3 Lifecycle, S3 Intelligent-Tiering, object tags, and object access control lists Glue AWS Glue DataBrew announces native console integration with Amazon AppFlow AWS Glue DataBrew now supports custom SQL statements to retrieve data from Amazon Redshift and Snowflake AWS Glue DataBrew now allows customers to create data quality rules to define and validate their business requirements FSx Introducing Amazon FSx for OpenZFS Amazon FSx for Lustre now supports linking multiple Amazon S3 buckets to a file system Amazon FSx for Lustre can now automatically update file system contents as data is deleted and moved in Amazon S3 Announcing the next generation of Amazon FSx for Lustre file systems Backup Announcing preview of AWS Backup for Amazon S3 AWS Backup adds support for Amazon Neptune AWS Backup adds support for Amazon DocumentDB (with MongoDB compatibility) AWS Backup provides new resource assignment rules for your data protection policies AWS Backup adds support for VMware workloads Other AWS Lake Formation now supports AWS PrivateLink AWS Transfer Family adds identity provider options and enhanced monitoring capabilities Introducing ability to connect to EMR clusters in different subnets in EMR Studio AWS Snow Family now supports external NTP server configuration Announcing data tiering for Amazon ElastiCache for Redis Now execute python files and notebooks from another notebook in EMR Studio AWS Snow Family launches offline tape data migration capability AI & ML SageMaker Introducing Amazon SageMaker Canvas - a visual, no-code interface to build accurate machine learning models Announcing Fully Managed RStudio on Amazon SageMaker for Data Scientists | AWS News Blog Amazon SageMaker now supports inference testing with custom domains and headers from SageMaker Studio Amazon SageMaker Pipelines now supports retry policies and resume Announcing new deployment guardrails for Amazon SageMaker Inference endpoints Amazon announces new NVIDIA Triton Inference Server on Amazon SageMaker Amazon SageMaker Pipelines now integrates with SageMaker Model Monitor and SageMaker Clarify Amazon SageMaker now supports cross-account lineage tracking and multi-hop lineage querying Introducing Amazon SageMaker Inference Recommender Introducing Amazon SageMaker Ground Truth Plus: Create high-quality training datasets without having to build labeling applications or manage the labeling workforce on your own Amazon SageMaker Studio Lab (currently in preview), a free, no-configuration ML service Amazon SageMaker Studio now enables interactive data preparation and machine learning at scale within a single universal notebook through built-in integration with Amazon EMR Other General Availability of Syne Tune, an open-source library for distributed hyperparameter and neural architecture optimization Amazon Translate now supports AWS KMS Encryption Amazon Kendra releases AWS Single Sign-On integration for secure search Amazon Transcribe now supports automatic language identification for streaming transcriptions AWS AI for data analytics (AIDA) partner solutions Introducing Amazon Lex Automated Chatbot Designer (Preview) Amazon Kendra launches Experience Builder, Search Analytics Dashboard, and Custom Document Enrichment Other Cool Stuff In The Works – AWS Canada West (Calgary) Region | AWS News Blog Unified Search in the AWS Management Console now includes blogs, knowledge articles, events, and tutorials AWS DeepRacer introduces multi-user account management Amazon Pinpoint launches in-app messaging as a new communications channel Amazon AppStream 2.0 Introduces Linux Application Streaming Amazon SNS now supports publishing batches of up to 10 messages in a single API request Announcing usability improvements in the navigation bar of the AWS Management Console Announcing General Availability of Enterprise On-Ramp Announcing preview of AWS Private 5G AWS Outposts is Now Available in Two Smaller Form Factors Introducing AWS Mainframe Modernization - Preview Introducing the AWS Migration and Modernization Competency Announcing AWS Data Exchange for APIs Amazon WorkSpaces introduces Amazon WorkSpaces Web Amazon SQS Enhances Dead-letter Queue Management Experience For Standard Queues Introducing AWS re:Post, a new, community-driven, questions-and-answers service AWS Resource Access Manager enables support for global resource types AWS Ground Station launches expanded support for Software Defined Radios in Preview Announcing Amazon Braket Hybrid Jobs for running hybrid quantum-classical workloads on Amazon Braket Introducing AWS Migration Hub Refactor Spaces - Preview Well-Architected Framework Customize your AWS Well-Architected Review using Custom Lenses New Sustainability Pillar for the AWS Well-Architected Framework IoT Announcing AWS IoT RoboRunner, Now Available in Preview AWS IoT Greengrass now supports Microsoft Windows devices AWS IoT Core now supports Multi-Account Registration certificates on IoT Credential Provider endpoint Announcing AWS IoT FleetWise (Preview), a new service for transferring vehicle data to the cloud more efficiently Announcing AWS IoT TwinMaker (Preview), a service that makes it easier to build digital twins AWS IoT SiteWise now supports hot and cold storage tiers for industrial data New connectivity software, AWS IoT ExpressLink, accelerates IoT development (Preview) AWS IoT Device Management Fleet Indexing now supports two additional data sources (Preview) Connect Amazon Connect now enables you to create and orchestrate tasks directly from Flows Amazon Connect launches scheduled tasks Amazon Connect launches Contact APIs to fetch and update contact details programmatically Amazon Connect launches API to configure security profiles programmatically Amazon Connect launches APIs to archive and delete contact flows Amazon Connect now supports contact flow modules to simplify repeatable logic Sponsors CMD Solutions Silver Sponsors Cevo Versent

Streaming Audio: a Confluent podcast about Apache Kafka
From Batch to Real-Time: Tips for Streaming Data Pipelines with Apache Kafka ft. Danica Fine

Streaming Audio: a Confluent podcast about Apache Kafka

Play Episode Listen Later Jan 13, 2022 29:50 Transcription Available


Implementing an event-driven data pipeline can be challenging, but doing so within the context of a legacy architecture is even more complex. Having spent three years building a streaming data infrastructure and being on the first team at a financial organization to implement Apache Kafka® event-driven data pipelines, Danica Fine (Senior Developer Advocate, Confluent) shares about the development process and how ksqlDB and Kafka Connect became instrumental to the implementation.By moving away from batch processing to streaming data pipelines with Kafka, data can be distributed with increased data scalability and resiliency. Kafka decouples the source from the target systems, so you can react to data as it changes while ensuring accurate data in the target system. In order to transition from monolithic micro-batching applications to real-time microservices that can integrate with a legacy system that has been around for decades, Danica and her team started developing Kafka connectors to connect to various sources and target systems. Kafka connectors: Building two major connectors for the data pipeline, including a source connector to connect the legacy data source to stream data into Kafka, and another target connector to pipe data from Kafka back into the legacy architecture. Algorithm: Implementing Kafka Streams applications to migrate data from a monolithic architecture to a stream processing architecture. Data join: Leveraging Kafka Connect and the JDBC source connector to bring in all data streams to complete the pipeline.Streams join: Using ksqlDB to join streams—the legacy data system continues to produce streams while the Kafka data pipeline is another stream of data. As a final tip, Danica suggests breaking algorithms into process steps. She also describes how her experience relates to the data pipelines course on Confluent Developer and encourages anyone who is interested in learning more to check it out. EPISODE LINKSData Pipelines courseGuided Exercise on Building Streaming Data PipelinesMigrating from a Legacy System to Kafka StreamsWatch the video version of this podcastJoin the Confluent CommunityLearn more with Kafka tutorials, resources, and guides at Confluent DeveloperLive demo: Intro to Event-Driven Microservices with ConfluentUse PODCAST100 to get an additional $100 of free Confluent Cloud usage (details)

Screaming in the Cloud
Building Distributed Cognition into Your Business with Sam Ramji

Screaming in the Cloud

Play Episode Listen Later Dec 9, 2021 39:56


About SamA 25-year veteran of the Silicon Valley and Seattle technology scenes, Sam Ramji led Kubernetes and DevOps product management for Google Cloud, founded the Cloud Foundry foundation, has helped build two multi-billion dollar markets (API Management at Apigee and Enterprise Service Bus at BEA Systems) and redefined Microsoft's open source and Linux strategy from “extinguish” to “embrace”.He is nerdy about open source, platform economics, middleware, and cloud computing with emphasis on developer experience and enterprise software. He is an advisor to multiple companies including Dell Technologies, Accenture, Observable, Fletch, Orbit, OSS Capital, and the Linux Foundation.Sam received his B.S. in Cognitive Science from UC San Diego, the home of transdisciplinary innovation, in 1994 and is still excited about artificial intelligence, neuroscience, and cognitive psychology.Links: DataStax: https://www.datastax.com Sam Ramji Twitter: https://twitter.com/sramji Open||Source||Data: https://www.datastax.com/resources/podcast/open-source-data Screaming in the Cloud Episode 243 with Craig McLuckie: https://www.lastweekinaws.com/podcast/screaming-in-the-cloud/innovating-in-the-cloud-with-craig-mcluckie/ Screaming in the Cloud Episode 261 with Jason Warner: https://www.lastweekinaws.com/podcast/screaming-in-the-cloud/what-github-can-give-to-microsoft-with-jason-warner/ TranscriptAnnouncer: Hello, and welcome to Screaming in the Cloud with your host, Chief Cloud Economist at The Duckbill Group, Corey Quinn. This weekly show features conversations with people doing interesting work in the world of cloud, thoughtful commentary on the state of the technical world, and ridiculous titles for which Corey refuses to apologize. This is Screaming in the Cloud.Corey: This episode is sponsored in part by our friends at Redis, the company behind the incredibly popular open source database that is not the bind DNS server. If you're tired of managing open source Redis on your own, or you're using one of the vanilla cloud caching services, these folks have you covered with the go to manage Redis service for global caching and primary database capabilities; Redis Enterprise. Set up a meeting with a Redis expert during re:Invent, and you'll not only learn how you can become a Redis hero, but also have a chance to win some fun and exciting prizes. To learn more and deploy not only a cache but a single operational data platform for one Redis experience, visit redis.com/hero. Thats r-e-d-i-s.com/hero. And my thanks to my friends at Redis for sponsoring my ridiculous non-sense.  Corey: Are you building cloud applications with a distributed team? Check out Teleport, an open source identity-aware access proxy for cloud resources. Teleport provides secure access to anything running somewhere behind NAT: SSH servers, Kubernetes clusters, internal web apps and databases. Teleport gives engineers superpowers! Get access to everything via single sign-on with multi-factor. List and see all SSH servers, kubernetes clusters or databases available to you. Get instant access to them all using tools you already have. Teleport ensures best security practices like role-based access, preventing data exfiltration, providing visibility and ensuring compliance. And best of all, Teleport is open source and a pleasure to use.Download Teleport at https://goteleport.com. That's goteleport.com.Corey: Welcome to Screaming in the Cloud, I'm Cloud Economist Corey Quinn, and recurring effort that this show goes to is to showcase people in their best light. Today's guest has done an awful lot: he led Kubernetes and DevOps Product Management for Google Cloud; he founded the Cloud Foundry Foundation; he set open-source strategy for Microsoft in the naughts; he advises companies including Dell, Accenture, the Linux Foundation; and tying all of that together, it's hard to present a lot of that in a great light because given my own proclivities, that sounds an awful lot like a personal attack. Sam Ramji is the Chief Strategy Officer at DataStax. Sam, thank you for joining me, and it's weird when your resume starts to read like, “Oh, I hate all of these things.”Sam: [laugh]. It's weird, but it's true. And it's the only life I could have lived apparently because here I am. Corey, it's a thrill to meet you. I've been an admirer of your public speaking, and public tweeting, and your writing for a long time.Corey: Well, thank you. The hard part is getting over the voice saying don't do it because it turns out that there's no real other side of public shutting up, which is something that I was never good at anyway, so I figured I'd lean into it. And again, I mean, that the sense of where you have been historically in terms of your career not, “Look what you've done,” which is a subtext that I could be accused of throwing in sometimes.Sam: I used to hear that a lot from my parents, actually.Corey: Oh, yeah. That was my name growing up. But you've done a lot of things, and you've transitioned from notable company making significant impact on the industry, to the next one, to the next one. And you've been in high-flying roles, doing lots of really interesting stuff. What's the common thread between all those things?Sam: I'm an intensely curious person, and the thing that I'm most curious about is distributed cognition. And that might not be obvious from what you see is kind of the… Lego blocks of my career, but I studied cognitive science in college when that was not really something that was super well known. So, I graduated from UC San Diego in '94 doing neuroscience, artificial intelligence, and psychology. And because I just couldn't stop thinking about thinking; I was just fascinated with how it worked.So, then I wanted to build software systems that would help people learn. And then I wanted to build distributed software systems. And then I wanted to learn how to work with people who were thinking about building the distributed software systems. So, you end up kind of going up this curve of, like, complexity about how do we think? How do we think alone? How do we learn to think? How do we think together?And that's the directed path through my software engineering career, into management, into middleware at BEA, into open-source at Microsoft because that's an amazing demonstration of distributed cognition, how, you know, at the time in 2007, I think, Sourceforge had 100,000 open-source projects, which was, like, mind boggling. Some of them even worked together, but all of them represented these groups of people, flung around the world, collaborating on something that was just fundamentally useful, that they were curious about. Kind of did the same thing into APIs because APIs are an even better way to reuse for some cases than having the source code—at Apigee. And kept growing up through that into, how are we building larger-scale thinking systems like Cloud Foundry, which took me into Google and Kubernetes, and then some applications of that in Autodesk and now DataStax. So, I love building companies. I love helping people build companies because I think business is distributed cognition. So, those businesses that build distributed systems, for me, are the most fascinating.Corey: You were basically handed a heck of a challenge as far as, “Well, help set open-source strategy,” back at Microsoft, in the days where that was a punchline. And credit where due, I have to look at Microsoft of today, and it's not a joke, you can have your arguments about them, but again in those days, a lot of us built our entire personality on hating Microsoft. Some folks never quite evolved beyond that, but it's a new ballgame and it's very clear that the Microsoft of yesteryear and the Microsoft of today are not completely congruent. What was it like at that point understanding that as you're working with open-source communities, you're doing that from a place of employment with a company that was widely reviled in the space.Sam: It was not lost on me. The irony, of course, was that—Corey: Well, thank God because otherwise the question where you would have been, “What do you mean they didn't like us?”Sam: [laugh].Corey: Which, on some levels, like, yeah, that's about the level of awareness I would have expected in that era, but contrary to popular opinion, execs at these companies are not generally oblivious.Sam: Yeah, well, if I'd been clever as a creative humorist, I would have given you that answer instead of my serious answer, but for some reason, my role in life is always to be the straight guy. I used to have Slashdot as my homepage, right? I love when I'd see some conspiracy theory about, you know, Bill Gates dressed up as the Borg, taking over the world. My first startup, actually in '97, was crushed by Microsoft. They copied our product, copied the marketing, and bundled it into Office, so I had lots of reasons to dislike Microsoft.But in 2004, I was recruited into their venture capital team, which I couldn't believe. It was really a place that they were like, “Hey, we could do better at helping startups succeed, so we're going to evangelize their success—if they're building with Microsoft technologies—to VCs, to enterprises, we'll help you get your first big enterprise deal.” I was like, “Man, if I had this a few years ago, I might not be working.” So, let's go try to pay it forward.I ended up in open-source by accident. I started going to these conferences on Software as a Service. This is back in 2005 when people were just starting to light up, like, Silicon Valley Forum with, you know, the CEO of Demandware would talk, right? We'd hear all these different ways of building a new business, and they all kept talking about their tech stack was Linux, Apache, MySQL, and PHP. I went to one eight-hour conference, and Microsoft technologies were mentioned for about 12 seconds in two separate chunks. So, six seconds, he was like, “Oh, and also we really like Microsoft SQL Server for our data layer.”Corey: Oh, Microsoft SQL Server was fantastic. And I know that's a weird thing for people to hear me say, just because I've been renowned recently for using Route 53 as the primary data store for everything that I can. But there was nothing quite like that as far as having multiple write nodes, being able to handle sharding effectively. It was expensive, and you would take a bath on the price come audit time, but people were not rolling it out unaware of those things. This was a trade off that they were making.Oracle has a similar story with databases. It's yeah, people love to talk smack about Oracle and its business practices for a variety of excellent reasons, at least in the database space that hasn't quite made it to cloud yet—knock on wood—but people weren't deploying it because they thought Oracle was warm and cuddly as a vendor; they did it because they can tolerate the rest of it because their stuff works.Sam: That's so well said, and people don't give them the credit that's due. Like, when they built hypergrowth in their business, like… they had a great product; it really worked. They made it expensive, and they made a lot of money on it, and I think that was why you saw MySQL so successful and why, if you were looking for a spec that worked, that you could talk through through an open driver like ODBC or JDBC or whatever, you could swap to Microsoft SQL Server. But I walked out of that and came back to the VC team and said, “Microsoft has a huge problem. This is a massive market wave that's coming. We're not doing anything in it. They use a little bit of SQL Server, but there's nothing else in your tech stack that they want, or like, or can afford because they don't know if their businesses are going to succeed or not. And they're going to go out of business trying to figure out how much licensing costs they would pay to you in order to consider using your software. They can't even start there. They have to start with open-source. So, if you're going to deal with SaaS, you're going to have to have open-source, and get it right.”So, I worked with some folks in the industry, wrote a ten-page paper, sent it up to Bill Gates for Think Week. Didn't hear much back. Bought a new strategy to the head of developer platform evangelism, Sanjay Parthasarathy who suggested that the idea of discounting software to zero for startups, with the hope that they would end up doing really well with it in the future as a Software as a Service company; it was dead on arrival. Dumb idea; bring it back; that actually became BizSpark, the most popular program in Microsoft partner history.And then about three months later, I got a call from this guy, Bill Hilf. And he said, “Hey, this is Bill Hilf. I do open-source at Microsoft. I work with Bill Gates. He sent me your paper. I really like it. Would you consider coming up and having conversation with me because I want you to think about running open-source technology strategy for the company.” And at this time I'm, like, 33 or 34. And I'm like, “Who me? You've got to be joking.” And he goes, “Oh, and also, you'll be responsible for doing quarterly deep technical briefings with Bill… Gates.” I was like, “You must be kidding.” And so of course I had to check it out. One thing led to another and all of a sudden, with not a lot of history in the open-source community but coming in it with a strategist's eye and with a technologist's eye, saying, “This is a problem we got to solve. How do we get after this pragmatically?” And the rest is history, as they say.Corey: I have to say that you are the Chief Strategy Officer at DataStax, and I pull up your website quickly here and a lot of what I tell earlier stage companies is effectively more or less what you have already done. You haven't named yourself after the open-source project that underlies the bones of what you have built so you're not going to wind up in the same glorious challenges that, for example, Elastic or MongoDB have in some ways. You have a pricing page that speaks both to the reality of, “It's two in the morning. I'm trying to get something up and running and I want you the hell out of my way. Just give me something that I can work with a reasonable free tier and don't make me talk to a salesperson.” But also, your enterprise tier is, “Click here to talk to a human being,” which is speaking enterprise slash procurement slash, oh, there will be contract negotiation on these things.It's being able to serve different ends of your market depending upon who it is that encounters you without being off-putting to any of those. And it's deceptively challenging for companies to pull off or get right. So clearly, you've learned lessons by doing this. That was the big problem with Microsoft for the longest time. It's, if I want to use some Microsoft stuff, once you were able to download things from the internet, it changed slightly, but even then it was one of those, “What exactly am I committing to here as far as signing up for this? And am I giving them audit rights into my environment? Is the BSA about to come out of nowhere and hit me with a surprise audit and find out that various folks throughout the company have installed this somewhere and now I owe more than the company's worth?” That was always the haunting fear that companies had back then.These days, I like the approach that companies are taking with the SaaS offering: you pay for usage. On some level, I'd prefer it slightly differently in a pay-per-seat model because at least then you can predict the pricing, but no one is getting surprise submarined with this type of thing on an audit basis, and then they owe damages and payment in arrears and someone has them over a barrel. It's just, “Oh. The bill this month was higher than we expected.” I like that model I think the industry does, too.Sam: I think that's super well said. As I used to joke at BEA Systems, nothing says ‘I love you' to a customer like an audit, right? That's kind of a one-time use strategy. If you're going to go audit licenses to get your revenue in place, you might be inducing some churn there. It's a huge fix for the structural problem in pricing that I think package software had, right?When we looked at Microsoft software versus open-source software, and particularly Windows versus Linux, you would have a structure where sales reps were really compensated to sell as much as possible upfront so they could get the best possible commission on what might be used perpetually. But then if you think about it, like, the boxes in a curve, right, if you do that calculus approximation of a smooth curve, a perpetual software license is a huge box and there's an enormous amount of waste in there. And customers figured out so as soon as you can go to a pay-per-use or pay-as-you-go, you start to smooth that curve, and now what you get is what you deserve, right, as opposed to getting filled with way more cost than you expect. So, I think this model is really super well understood now. Kind of the long run the high point of open-source meets, cloud, meets Software as a Service, you look at what companies like MongoDB, and Confluent, and Elastic, and Databricks are doing. And they've really established a very good path through the jungle of how to succeed as a software company. So, it's still difficult to implement, but there are really world-class guides right now.Corey: Moving beyond where Microsoft was back in the naughts, you were then hired as a VP over at Google. And in that era, the fact that you were hired as a VP at Google is fascinating. They preferred to grow those internally, generally from engineering. So, first question, when you were being hired as a VP in the product org, did they make you solve algorithms on a whiteboard to get there?Sam: [laugh]. They did not. I did have somewhat of an advantage [because they 00:13:36] could see me working pretty closely as the CEO of the Cloud Foundry Foundation. I'd worked closely with Craig McLuckie who notably brought Kubernetes to the world along with Joe Beda, and with Eric Brewer, and a number of others.And he was my champion at Google. He was like, “Look, you know, we need him doing Kubernetes. Let's bring Sam in to do that.” So, that was helpful. I also wrote a [laugh] 2000-word strategy document, just to get some thoughts out of my head. And I said, “Hey, if you like this, great. If you don't throw it away.” So, the interviews were actually very much not solving problems in a whiteboard. There were super collaborative, really excellent conversations. It was slow—Corey: Let's be clear, Craig McLuckie's most notable achievement was being a guest on this podcast back in Episode 243. But I'll say that this is a close second.Sam: [laugh]. You're not wrong. And of course now with Heptio and their acquisition by VMware.Corey: Ehh, they're making money beyond the wildest dreams of avarice, that's all well and good, but an invite to this podcast, that's where it's at.Sam: Well, he should really come on again, he can double down and beat everybody. That can be his landmark achievement, a two-timer on Screaming in [the] Cloud.Corey: You were at Google; you were at Microsoft. These are the big titans of their era, in some respect—not to imply that there has beens; they're bigger than ever—but it's also a more crowded field in some ways. I guess completing the trifecta would be Amazon, but you've had the good judgment never to work there, directly of course. Now they're clearly in your market. You're at DataStax, which is among other things, built on Apache Cassandra, and they launched their own Cassandra service named Keyspaces because no one really knows why or how they name things.And of course, looking under the hood at the pricing model, it's pretty clear that it really is just DynamoDB wearing some Groucho Marx classes with a slight upcharge for API level compatibility. Great. So, I don't see it a lot in the real world and that's fine, but I'm curious as to your take on looking at all three of those companies at different eras. There was always the threat in the open-source world that they are going to come in and crush you. You said earlier that Microsoft crushed your first startup.Google is an interesting competitor in some respects; people don't really have that concern about them. And your job as a Chief Strategy Officer at Amazon is taken over by a Post-it Note that simply says ‘yes' on it because there's nothing they're not going to do, or try, and experiment with. So, from your perspective, if you look at the titans, who is it that you see as the largest competitive threat these days, if that's even a thing?Sam: If you think about Sun Tzu and the Art of War, right—a lot of strategy comes from what we've learned from military environments—fighting a symmetric war, right, using the same weapons and the same army against a symmetric opponent, but having 1/100th of the personnel and 1/100th of the money is not a good plan.Corey: “We're going to lose money, going to be outcompeted; we'll make it up in volume. Oh, by the way, we're also slower than they are.”Sam: [laugh]. So, you know, trying to come after AWS, or Microsoft, or Google as an independent software company, pound-for-pound, face-to-face, right, full-frontal assault is psychotic. What you have to do, I think, at this point is to understand that these are each companies that are much like we thought about Linux, and you know, Macintosh, and Windows as operating systems. They're now the operating systems of the planet. So, that creates some economies of scale, some efficiencies for them. And for us. Look at how cheap object storage is now, right? So, there's never been a better time in human history to create a database company because we can take the storage out of the database and hand it over to Amazon, or Google, or Microsoft to handle it with 13 nines of durability on a constantly falling cost basis.So, that's super interesting. So, you have to prosecute the structure of the world as it is, based on where the giants are and where they'll be in the future. Then you have to turn around and say, like, “What can they never sell?”So, Amazon can never sell something that is standalone, right? They're a parts factory and if you buy into the Amazon-first strategy of cloud computing—which we did at Autodesk when I was VP of cloud platform there—everything is a primitive that works inside Amazon, but they're not going to build things that don't work outside of the Amazon primitives. So, your company has to be built on the idea that there's a set of people who value something that is purpose-built for a particular use case that you can start to broaden out, it's really helpful if they would like it to be something that can help them escape a really valuable asset away from the center of gravity that is a cloud. And that's why data is super interesting. Nobody wakes up in the morning and says, “Boy, I had such a great conversation with Oracle over the last 20 years beating me up on licensing. Let me go find a cloud vendor and dump all of my data in that so they can beat me up for the next 20 years.” Nobody says that.Corey: It's the idea of data portability that drives decision-making, which makes people, of course, feel better about not actually moving in anywhere. But the fact that they're not locked in strategically, in a way that requires a full software re-architecture and data model rewrite is compelling. I'm a big believer in convincing people to make decisions that look a lot like that.Sam: Right. And so that's the key, right? So, when I was at Autodesk, we went from our 100 million dollar, you know, committed spend with 19% discount on the big three services to, like—we started realize when we're going to burn through that, we were spending $60 million or so a year on 20% annual growth as the cloud part of the business grew. Thought, “Okay, let's renegotiate. Let's go and do a $250 million deal. I'm sure they'll give us a much better discount than 19%.” Short story is they came back and said, “You know, we're going to take you from an already generous 19% to an outstanding 22%.” We thought, “Wait a minute, we already talked to Intuit. They're getting a 40% discount on a $400 million spend.”So, you know, math is hard, but, like, 40% minus 22% is 18% times $250 million is a lot of money. So, we thought, “What is going on here?” And we realized we just had no credible threat of leaving, and Intuit did because they had built a cross-cloud capable architecture. And we had not. So, now stepping back into the kind of the world that we're living in 2021, if you're an independent software company, especially if you have the unreasonable advantage of being an open-source software company, you have got to be doing your customers good by giving them cross-cloud capability. It could be simply like the Amdahl coffee cup that Amdahl reps used to put as landmines for the IBM reps, later—I can tell you that story if you want—even if it's only a way to save money for your customer by using your software, when it gets up to tens and hundreds of million dollars, that's a really big deal.But they also know that data is super important, so the option value of being able to move if they have to, that they have to be able to pull that stick, instead of saying, “Nice doggy,” we have to be on their side, right? So, there's almost a detente that we have to create now, as cloud vendors, working in a world that's invented and operated by the giants.Corey: This episode is sponsored by our friends at Oracle HeatWave is a new high-performance accelerator for the Oracle MySQL Database Service. Although I insist on calling it “my squirrel.” While MySQL has long been the worlds most popular open source database, shifting from transacting to analytics required way too much overhead and, ya know, work. With HeatWave you can run your OLTP and OLAP, don't ask me to ever say those acronyms again, workloads directly from your MySQL database and eliminate the time consuming data movement and integration work, while also performing 1100X faster than Amazon Aurora, and 2.5X faster than Amazon Redshift, at a third of the cost. My thanks again to Oracle Cloud for sponsoring this ridiculous nonsense.Corey: When we look across the, I guess, the ecosystem as it's currently unfolding, a recurring challenge that I have to the existing incumbent cloud providers is they're great at offering the bricks that you can use to build things, but if I'm starting a company today, I'm not going to look at building it myself out of, “Ooh, I'm going to take a bunch of EC2 instances, or Lambda functions, or popsicles and string and turn it into this thing.” I'm going to want to tie together things that are way higher level. In my own case, now I wind up paying for Retool, which is, effectively, yeah, it runs on some containers somewhere, presumably, I think in Azure, but don't quote me on that. And that's great. Could I build my own thing like that?Absolutely not. I would rather pay someone to tie it together. Same story. Instead of building my own CRM by running some open-source software on an EC2 instance, I wind up paying for Salesforce or Pipedrive or something in that space. And so on, and so forth.And a lot of these companies that I'm doing business with aren't themselves running on top of AWS. But for web hosting, for example; if I look at the reference architecture for a WordPress site, AWS's diagram looks like a punchline. It is incredibly overcomplicated. And I say this as someone who ran large WordPress installations at Media Temple many years ago. Now, I have the good sense to pay WP Engine. And on a monthly basis, I give them money and they make the website work.Sure, under the hood, it's running on top of GCP or AWS somewhere. But I don't have to think about it; I don't have to build this stuff together and think about the backups and the failover strategy and the rest. The website just works. And that is increasingly the direction that business is going; things commoditize over time. And AWS in particular has done a terrible job, in my experience, of differentiating what it is they're doing in the language that their customers speak.They're great at selling things to existing infrastructure engineers, but folks who are building something from scratch aren't usually in that cohort. It's a longer story with time and, “Well, we're great at being able to sell EC2 instances by the gallon.” Great. Are you capable of going to a small doctor's office somewhere in the American Midwest and offering them an end-to-end solution for managing patient data? Of course not. You can offer them a bunch of things they can tie together to something that will suffice if they all happen to be software engineers, but that's not the opportunity.So instead, other companies are building those solutions on top of AWS, capturing the margin. And if there's one thing guaranteed to keep Amazon execs awake at night, it's the idea of someone who isn't them making money somehow somewhere, so I know that's got to rankle them, but they do not speak that language. At all. Longer-term, I only see that as a more and more significant crutch. A long enough timeframe here, we're talking about them becoming the Centurylinks of the world, the tier one backbone provider that everyone uses, but no one really thinks about because they're not a household name.Sam: That is a really thoughtful perspective. I think the diseconomies of scale that you're pointing to start to creep in, right? Because when you have to sell compute units by the gallon, right, you can't care if it's a gallon of milk, [laugh] or a gallon of oil, or you know, a gallon of poison. You just have to keep moving it through. So, the shift that I think they're going to end up having to make pragmatically, and you start to see some signs of it, like, you know, they hired but could not retain Matt [Acey 00:23:48]. He did an amazing job of bringing them to some pragmatic realization that they need to partner with open-source, but more broadly, when I think about Microsoft in the 2000s as they were starting to learn their open-source lessons, we were also being able to pull on Microsoft's deep competency and partners. So, most people didn't do the math on this. I was part of the field governance council so I understood exactly how the Microsoft business worked to the level that I was capable. When they had $65 billion in revenue, they produced $24 billion in profit through an ecosystem that generated $450 billion in revenue. So, for every dollar Microsoft made, it was $8 to partners. It was a fundamentally platform-shaped business, and that was how they're able to get into doctors offices in the Midwest, and kind of fit the curve that you're describing of all of those longtail opportunities that require so much care and that are complex to prosecute. These solved for their diseconomies of scale by having 1.2 million partner companies. So, will Amazon figure that out and will they hire, right, enough people who've done this before from Microsoft to become world-class in partnering, that's kind of an exercise left to the [laugh] reader, right? Where will that go over time? But I don't see another better mathematical model for dealing with the diseconomies of scale you have when you're one of the very largest providers on the planet.Corey: The hardest problem as I look at this is, at some point, you hit a point of scale where smaller things look a lot less interesting. I get that all the time when people say, “Oh, you fix AWS bills, aren't you missing out by not targeting Google bills and Azure bills as well?” And it's, yeah. I'm not VC-backed. It turns out that if I limit the customer base that I can effectively service to only AWS customers, yeah turns out, I'm not going to starve anytime soon. Who knew? I don't need to conquer the world and that feels increasingly antiquated, at least going by the stories everyone loves to tell.Sam: Yeah, it's interesting to see how cloud makes strange bedfellows, right? We started seeing this in, like, 2014, 2015, weird partnerships that you're like, “There's no way this would happen.” But the cloud economics which go back to utilization, rather than what it used to be, which was software lock-in, just changed who people were willing to hang out with. And now you see companies like Databricks going, you know, we do an amazing amount of business, effectively competing with Amazon, selling Spark services on top of predominantly Amazon infrastructure, and everybody seems happy with it. So, there's some hint of a new sensibility of what the future of partnering will be. We used to call it coopetition a long time ago, which is kind of a terrible word, but at least it shows that there's some nuance in you can't compete with everybody because it's just too hard.Corey: I wish there were better ways of articulating these things because it seems from the all the outside world, you have companies like Amazon and Microsoft and Google who go and build out partner networks because they need that external accessibility into various customer profiles that they can't speak to super well themselves, but they're also coming out with things that wind up competing directly or indirectly, with all of those partners at the same time. And I don't get it. I wish that there were smarter ways to do it.Sam: It is hard to even talk about it, right? One of the things that I think we've learned from philosophy is if we don't have a word for it, we can't be intelligent about it. So, there's a missing semantics here for being able to describe the complexity of where are you partnering? Where are you competing? Where are you differentiating? In an ecosystem, which is moving and changing.I tend to look at the tools of game theory for this, which is to look at things as either, you know, nonzero-sum games or zero-sum games. And if it's a nonzero-sum game, which I think are the most interesting ones, can you make it a positive sum game? And who can you play positive-sum games with? An organization as big as Amazon, or as big as Microsoft, or even as big as Google isn't ever completely coherent with itself. So, thinking about this as an independent software company, it doesn't matter if part of one of these hyperscalers has a part of their business that competes with your entire business because your business probably drives utilization of a completely different resource in their company that you can partner within them against them, effectively. Right?For example, Cassandra is an amazingly powerful but demanding workload on Kubernetes. So, there's a lot of Cassandra on EKS. You grow a lot of workload, and EKS business does super well. Does that prevent us from working with Amazon because they have Dynamo or because they have Keyspaces? Absolutely not, right?So, this is when those companies get so big that they are almost their own forest, right, of complexity, you can kind of get in, hang out, do well, and pretty much never see the competitive product, unless you're explicitly looking for it, which I think is a huge danger for us as independent software companies. And I would say this to anybody doing strategy for an organization like this, which is, don't obsess over the tiny part of their business that competes with yours, and do not pay attention to any of the marketing that they put out that looks competitive with what you have. Because if you can't figure out how to make a better product and sell it better to your customers as a single purpose corporation, you have bigger problems.Corey: I want to change gears slightly to something that's probably a fair bit more insulting, but that's okay. We're going to roll with it. That seems to be the theme of this episode. You have been, in effect, a CIO a number of times at different companies. And if we take a look at the typical CIO tenure, industry-wide, it's not long; it approaches the territory from an executive perspective of, “Be sure not to buy green bananas. You might not be here by the time they ripen.” And I'm wondering what it is that drives that and how you make a mark in a relatively short time frame when you're providing inputs and deciding on strategy, and those decisions may not bear fruit for years.Sam: CIO used to—we used say it stood for ‘Career Is Over' because the tenure is so short. I think there's a couple of reasons why it's so short. And I think there's a way I believe you can have impact in a short amount of time. I think the reason that it's been short is because people aren't sure what they want the CIO role to be.Do they want it to be a glorified finance person who's got a lot of data processing experience, but now really has got, you know, maybe even an MBA in finance, but is not focusing on value creation? Do they want it to be somebody who's all-singing, all-dancing Chief Data Officer with a CTO background who did something amazing and solved a really hard problem? The definition of success is difficult. Often CIOs now also have security under them, which is literally a job I would never ever want to have. Do security for a public corporation? Good Lord, that's a way to lose most of your life. You're the only executive other than the CEO that the board wants to hear from. Every sing—Corey: You don't sleep; you wait, in those scenarios. And oh, yeah, people joke about ablative CSOs in those scenarios. Yeah, after SolarWinds, you try and get an ablative intern instead, but those don't work as well. It's a matter of waiting for an inevitability. One of the things I think is misunderstood about management broadly, is that you are delegating work, but not the responsibility. The responsibility rests with you.So, when companies have these statements blaming some third-party contractor, it's no, no, no. I'm dealing with you. You were the one that gave my data to some sketchy randos. It is your responsibility that data has now been compromised. And people don't want to hear that, but it's true.Sam: I think that's absolutely right. So, you have this high risk, medium reward, very fungible job definition, right? If you ask all of the CIO's peers what their job is, they'll probably all tell you something different that represents their wish list. The thing that I learned at Autodesk, I was only there for 15 months, but we established a fundamental transformation of the work of how cloud platform is done at the company that's still in place a couple years later.You have to realize that you're a change agent, right? You're actually being hired to bring in the bulk of all the different biases and experiences you have to solve a problem that is not working, right? So, when I got to Autodesk, they didn't even know what their uptime was. It took three months to teach the team how to measure the uptime. Turned out the uptime was 97.7% for the cloud, for the world's largest engineering software company.That is 200 hours a year of unplanned downtime, right? That is not good. So, a complete overhaul [laugh] was needed. Understanding that as a change agent, your half-life is 12 to 18 months, you have to measure success not on tenure, but on your ability to take good care of the patient, right? It's going to be a lot of pain, you're going to work super hard, you're going to have to build trust with everyone, and then people are still going to hate you at the end. That is something you just have to kind of take on.As a friend of mine, Jason Warner joined Redpoint Ventures recently, he said this when he was the CTO of GitHub: “No one is a villain in their own story.” So, you realize, going into a big organization, people are going to make you a villain, but you still have to do incredibly thoughtful, careful work, that's going to take care of them for a long time to come. And those are the kinds of CIOs that I can relate to very well.Corey: Jason is great. You're name-dropping all the guests we've had. My God, keep going. It's a hard thing to rationalize and wrap heads around. It's one of those areas where you will not be measured during your tenure in the role, in some respects. And, of course, that leads to the cynical perspective as well, where well, someone's not going to be here long and if they say, “Yeah, we're just going to keep being stewards of the change that's already underway,” well, that doesn't look great, so quick, time to do a cloud migration, or a cloud repatriation, or time to roll something else out. A bit of a different story.Sam: One of the biggest challenges is how do you get the hearts and the minds of the people who are in the organization when they are no fools, and their expectation is like, “Hey, this company's been around for decades, and we go through cloud leaders or CIOs, like Wendy's goes through hamburgers.” They could just cloud-wash, right, or change-wash all their language. They could use the new language to describe the old thing because all they have to do is get through the performance review and outwait you. So, there's always going to be a level of defection because it's hard to change; it's hard to think about new things.So, the most important thing is how do you get into people's hearts and minds and enable them to believe that the best thing they could do for their career is to come along with the change? And I think that was what we ended up getting right in the Autodesk cloud transformation. And that requires endless optimism, and there's no room for cynicism because the cynicism is going to creep in around the edges. So, what I found on the job is, you just have to get up every morning and believe everything is possible and transmit that belief to everybody.So, if it seems naive or ingenuous, I think that doesn't matter as long as you can move people's hearts in each conversation towards, like, “Oh, this person cares about me. They care about a good outcome from me. I should listen a little bit more and maybe make a 1% change in what I'm doing.” Because 1% compounded daily for a year, you can actually get something done in the lifetime of a CIO.Corey: And I think that's probably a great place to leave it. If people want to learn more about what you're up to, how you think about these things, how you view the world, where can they find you?Sam: You can find me on Twitter, I'm @sramji, S-R-A-M-J-I, and I have a podcast that I host called Open||Source||Datawhere I invite innovators, data nerds, computational networking nerds to hang out and explain to me, a software programmer, what is the big world of open-source data all about, what's happening with machine learning, and what would it be like if you could put data in a container, just like you could put code in a container, and how might the world change? So, that's Open||Source||Data podcast.Corey: And we'll of course include links to that in the [show notes 00:35:58]. Thanks so much for your time. I appreciate it.Sam: Corey, it's been a privilege. Thank you so much for having me.Corey: Likewise. Sam Ramji, Chief Strategy Officer at DataStax. I'm Cloud Economist Corey Quinn, and this is Screaming in the Cloud. If you've enjoyed this podcast, please leave a five-star review on your podcast platform of choice, whereas if you've hated this podcast, please leave a five-star review on your podcast platform of choice, along with a comment telling me exactly which item in Sam's background that I made fun of is the place that you work at.Corey: If your AWS bill keeps rising and your blood pressure is doing the same, then you need The Duckbill Group. We help companies fix their AWS bill by making it smaller and less horrifying. The Duckbill Group works for you, not AWS. We tailor recommendations to your business and we get to the point. Visit duckbillgroup.com to get started.Announcer: This has been a HumblePod production. Stay humble.

airhacks.fm podcast with adam bien
Debezium, Server, Engine, UI and the Outbox

airhacks.fm podcast with adam bien

Play Episode Listen Later Nov 28, 2021 67:11


An airhacks.fm conversation with Gunnar Morling (@gunnarmorling) about: debezium as analytics enablement, enriching events with quarkus, ksqlDB and PrestoDB and trino, cloud migrations with Debezium, embedded Debezium Engine, debezium server vs. Kafka Connect, Debezium Server with sink connectors, Apache Pulsar, Redis Streams are supporting Debezium Server, Debezium Server follows the microservice architecture, pluggable offset stores, JDBC offset store is Apache Iceberg connector, DB2, MySQL, PostgreSQL, MongoDB change streams, Cassandra, Vitess, Oracle, Microsoft SQL Server scylladb is cassandra compatible and provides external debezium connector, debezium ui is written in React, incremental snapshots, netflix cdc system, DBLog: A Watermark Based Change-Data-Capture Framework, multi-threaded snapshots, internal data leakage and the Outbox pattern, debezium listens to the outbox pattern, OpenTracing integration and the outbox pattern, sending messages directly to transaction log with PostgreSQL, Quarkus outbox pattern extension, the transaction boundary topic Gunnar Morling on twitter: @gunnarmorling and debezium.io

Les Cast Codeurs Podcast
LCC 267 - Lagom efface sa dette technique

Les Cast Codeurs Podcast

Play Episode Listen Later Nov 15, 2021 76:33


Antonio et Emmanuel discutent Microsoft et Java, cryostat, Java 17, Micronaut, Quarkus, Play framework, Lagom, Amazon, CORS, CSS (si si), Hibernate Reactive, AtomicJar, canary, amplification algorithmique. Enregistré le 12 novembre 2021 Téléchargement de l'épisode LesCastCodeurs-Episode–267.mp3 News Langages Blog sur les extraits de code dans les JavaDocs (18 Oct 2021) C'est plus agréable à utiliser que les balises pre, pas besoin d'escaping (pour < et >), l'espace à gauche est normalisé On peut mettre en valeur certaines portion, ou remplacer par une expression régulière certains bouts Et on peut également externaliser d'où vient l'extrait de code, au lieu de le mettre dans la JavaDoc, on peut référencer une région de son vrai code. Donc au moins, on est sûr que c'est du code valide et qui compile évidemment Gunnar explique comment reprendre le code provenant de nos classes de test, pour le faire apparaître dans les JavaDocs, créant ainsi une vraie documentation “exécutable” Compress class space (27 Mars 2019) compressed object ou class pointer sur 64buts en 32 bits vis adresse relative due adresse relative, la Klass structure dans le metaspace doit être mémoire contiguë et pré allouée initialement (risque de non reallocation si mémoire libre non contiguë ) Donc le classpart et le non class part séparés dans le meta space. Klass is 32G max et contiguë et la klass part est appelé compressed class space Par défaut 1G mais configurable jusqu'à 3G. C'est virtual mémoire, juste une réservation. 1K pas classe environ donc 1000000 de classes max Que quand on utilise compressed oops Que pour Java heap size de 32G max Cryostat 2.0 (18 Oct 2021) Fournit une API sécurisée pour profiler et monitored les applis Java dans les containers avec Java Flight Recorder Cryostat peut récupérer stoquer et analyser les enregistrements flight recorder de containers Ensuite consommé par graphana ou l.appli JDK Mission Control desktop Fichier reste local au container par défaut donc pas pratique Connection via JMX directe pas pratique ni secure par défaut Cryostat récupère les recording via HTTPS A un opérateur kubernetes Etc Microsoft augmente ses investissements dans Java. (4 Nov 2021) Microsoft rejoints le JCP Travaille sur VSCode for Java avec Red Hat Est OK avec le LTS passant à 2 ans et va aider à supporter ces releases plus fréquentes Librairies Micronaut 3.1 (11 Oct 2021) support d'applications utilisant JDK 17 améliorations d'injections de dependances (repeatable scopes, primitive beans, etc) les classes générées sont plus petites et amélioration de consommation mémoire sous GraalVM routes HTTP par regexp random port binding (pour les conflits de tests) Changement certificats TLs via refresh sans arreter le serveur Kotlin coroutine supportées dans micronaut data extension de la couverture de support JPA (e.g. attribute converter) support des informers Kubernetes via le Kubernetes SDK integration Oracle Coherence sortie du mode preview Quarkus 2.4 (27 Oct 2021) Hibernate Reactive 1.0.0.Final Introducing Kafka Streams DevUI (c'est cool pour développer ca et savoir ce qui se passe Support continuous testing for multi module projects Support AWT image resize via new AWT extension Lightbend lâche Play Framework (20 Oct 2021) lightbend construit sur Scala, akka, et play framework C'est le moment de la 2.0 je crois Mais avec le cloud, ils veulent se focaliser sur les systèmes distribués Akka Open Source et Akka Serverless (leur PaaS) Laisse Play à la,communité et lightbend arrête d'investir dedans Dans une orga séparée Besoin de sponsors et de contributeurs Question: ils n'avaient pas déjà arrêté Scala? Lightbend déveste de Lagom aussi (27 Oct 2021) Lagom effacé par akka Platform'et Akka Serverless Trop de contraintes limitantes dans le framework Mais si client de Lightbend, supporté sur Lagom mais sans nouvelle fonctionnalité Infrastructure Installer et utiliser podman-machine sur macOS (19 Oct 2021) La virtualisation s'appuie sur qemu et met en place une VM dans laquelle les pods tournent. Podman Machine pour installer une VM linux avec les outils fonctionne aussi sous linux pour ceux qu ne supportent pas podman ou pour sandboxer fonctionne sous M1 homebrew pour l'installation comme docker machine avant en gros il y a aussi une belle présentation de Devoxx France Cloud Amazon déclaré la guerre à Microsoft en utilisant les arguments “Proprietaire” (28 Oct 2021) Aurora a un font qui parler protocole SQL server (Babelfish pour Aurora PostgreSQL). Et convertit les T-SQL Open source the t sql vers Postgres (debug). Sous license ASL Pas tout open sourcé encore Web CORS expliqué (12 Oct 2021) inclue images d'autres sites, c'est l'origine les cookies, credeitials etc etaient envoyés yahoo mail pouvait filer les credentials des utilisateurs une iFrame pouvait lire le contenu d'une autre iFrame (Netscape met en place le Cross-Frame Scripting) Access-Control-Allow-Origin: * est ok si pas de données privées Rendre une page HTML brute jolie en 100 caractères de CSS (16 Oct 2021) basique mais expliqué ligne par ligne E.g. 60–80 caractères pour la lecture Et 100 bytes de plus pour améliorer Data elasticsearch 8.0 will require java 17 (3 Nov 2021) definitely easier for something standalone than a library or anything that needs to share the JDK with all its apps PR GitHub Hibernate Reactive 1.0.0, ça vaut le coup ? (27 Oct 2021) PostgreSQL, MySQL, MariaDB, Db2, SQL Server, and CockroachDB bases de donnés désignées pour des interactions classiques Donc les constructions haut niveau ont tendances à être limitées par le protocole sous-jacent ce qui ne se voyait pas ou peu en JDBC utiliser HR si votre appli est déjà réactive au cœur (e.g. RESTEasy reactive dans Quarkus ou une appli Vert.x) Compareperfs acec techempower mais avec angle latence à un volume donné et et pas throughout max 20 requêtes d'affilée 20k request/s -> 35k sous 10ms de latence. C'est la valeur relative qui est intéressante Une requête et du processing pour rendre au client, peu de différence Toruhghput tend à être meilleur Amélioration de réactive sur un an Un vidéo cast sur le sujet Outillage AtomicJar se lance dans une offre Cloud (04 Nov 2021) les containers de test containers ne tournent plus en local Mais dans le cloud de AtomicJar A plus de spores source qu'une machine locale typique (2 cores et 8GB ram pour la docker machine) peut utiliser la machine quand les tests tournent Pour CI limitées vs containers ou les cloud IDE pour pas trop dépenser Pas de problème avec M1 Un petit binaire à installer (eg via curl) TestContainers et Quarkus: TestContainer Cloud fonctionne avec Dev Service (les containers lancés et configurés automatiquement) Encore en cours de développement (beta privée et on peut demander invitation) Méthodologies Canary releases ou avoir des testeurs (04 Nov 2021) canary release est une release en prod mais sur un petit sous ensemble des utilisateurs Peut aider a voir si une nouvelle fonctionnalité intéresse les utilisateurs avant de commiter sur le long terme Toujours option du retour arrière Donc peut on réduire les tests internes ? Risque de réputation ou abandon utilisateur (acquisition et rétentions sont chères) Test automatisés compréhensifs permettent le risque de canary Test exploratoires pour compléter les tests automatiques Loi, société et organisation Le droit à decompiler pour corriger des erreurs confirmé légal (21 Oct 2021) arrêt du 6 octobre 2021 Pour corriger une erreur affectant le fonctionnement y compris via la désactivation d'une fonction affectant le bon fonctionnement de l'application Influence de l'amplificartion algorithmique sur le contenu politique (21 Octo 2021) les recommendations algorithmiques amplifient-elle le contenu politique ? dans le cas des timeline organisées algorithmiquement et pas reverse chronologique Est-ce que ça varie entre partis politiques ou groups politiques Des sources de nouvelles plus amplifiées que d'autre Les élus sont plus amplifiés que le contenu politique général Pas d'amplification particulière d.individus ces d'autres au sein du même parti ???? La,droite tend à avoir une amplification plus importante que la gauche Les sources de nouvelles orientées à droite sont aussi plus amplifiées que celles de gauche La méthodologie est détaillée sur par exemple ce qu'est un journal de droite Pourquoi c'est amplifié différemment est une question plus difficile à répondre Amplification n'est pas mauvaise par défaut mais elle l'est si elle amène à un traitement préférentiel du à l'algorithme (vs comment les gens interagissent sur la plateforme) Le PDF de l'étude intégrale Conférences DevFest Lille le 19 novembre 2021 Devoxx France du 20 au 22 avril 2021 SunnyTech les 30 juin et 1er juillet 2022 à Montpellier 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/

BadGeek
Les Cast Codeurs n°267 du 15/11/21 - LCC 267 - Lagom efface sa dette technique

BadGeek

Play Episode Listen Later Nov 15, 2021 76:33


Antonio et Emmanuel discutent Microsoft et Java, cryostat, Java 17, Micronaut, Quarkus, Play framework, Lagom, Amazon, CORS, CSS (si si), Hibernate Reactive, AtomicJar, canary, amplification algorithmique. Enregistré le 12 novembre 2021 Téléchargement de l'épisode [LesCastCodeurs-Episode-267.mp3](https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-267.mp3) ## News ### Langages [Blog sur les extraits de code dans les JavaDocs](https://www.morling.dev/blog/executable-javadoc-code-snippets/) (18 Oct 2021) * C'est plus agréable à utiliser que les balises pre, pas besoin d'escaping (pour < et >), l'espace à gauche est normalisé * On peut mettre en valeur certaines portion, ou remplacer par une expression régulière certains bouts * Et on peut également externaliser d'où vient l'extrait de code, au lieu de le mettre dans la JavaDoc, on peut référencer une région de son vrai code. * Donc au moins, on est sûr que c'est du code valide et qui compile évidemment * Gunnar explique comment reprendre le code provenant de nos classes de test, pour le faire apparaître dans les JavaDocs, créant ainsi une vraie documentation “exécutable” [Compress class space](https://stuefe.de/posts/metaspace/what-is-compressed-class-space/) (27 Mars 2019) * compressed object ou class pointer sur 64buts en 32 bits vis adresse relative * due adresse relative, la Klass structure dans le metaspace doit être mémoire contiguë et pré allouée initialement (risque de non reallocation si mémoire libre non contiguë ) * Donc le classpart et le non class part séparés dans le meta space. Klass is 32G max et contiguë et la klass part est appelé compressed class space * Par défaut 1G mais configurable jusqu'à 3G. C'est virtual mémoire, juste une réservation. * 1K pas classe environ donc 1000000 de classes max * Que quand on utilise compressed oops * Que pour Java heap size de 32G max [Cryostat 2.0](https://developers.redhat.com/articles/2021/10/18/announcing-cryostat-20-jdk-flight-recorder-containers) (18 Oct 2021) * Fournit une API sécurisée pour profiler et monitored les applis Java dans les containers avec Java Flight Recorder * Cryostat peut récupérer stoquer et analyser les enregistrements flight recorder de containers * Ensuite consommé par graphana ou l.appli JDK Mission Control desktop * Fichier reste local au container par défaut donc pas pratique * Connection via JMX directe pas pratique ni secure par défaut * Cryostat récupère les recording via HTTPS * A un opérateur kubernetes * Etc [Microsoft augmente ses investissements dans Java](https://devblogs.microsoft.com/java/microsoft-deepens-its-investments-in-java/). (4 Nov 2021) * Microsoft rejoints le [JCP](https://jcp.org/) * Travaille sur VSCode for Java avec Red Hat * Est OK avec le LTS passant à 2 ans et va aider à supporter ces releases plus fréquentes ### Librairies [Micronaut 3.1](https://micronaut.io/2021/10/11/micronaut-framework-released/) (11 Oct 2021) * support d'applications utilisant JDK 17 * améliorations d'injections de dependances (repeatable scopes, primitive beans, etc) * les classes générées sont plus petites et amélioration de consommation mémoire sous GraalVM * routes HTTP par regexp * random port binding (pour les conflits de tests) * Changement certificats TLs via refresh sans arreter le serveur * Kotlin coroutine supportées dans micronaut data * extension de la couverture de support JPA (e.g. attribute converter) * support des informers Kubernetes via le Kubernetes SDK * integration Oracle Coherence sortie du mode preview [Quarkus 2.4](https://quarkus.io/blog/quarkus-2-4-0-final-released/) (27 Oct 2021) * Hibernate Reactive 1.0.0.Final * Introducing Kafka Streams DevUI (c'est cool pour développer ca et savoir ce qui se passe * Support continuous testing for multi module projects * Support AWT image resize via new AWT extension [Lightbend lâche Play Framework](https://www.lightbend.com/blog/on-the-future-of-play-framework) (20 Oct 2021) * lightbend construit sur Scala, akka, et play framework * C'est le moment de la 2.0 je crois * Mais avec le cloud, ils veulent se focaliser sur les systèmes distribués * Akka Open Source et Akka Serverless (leur PaaS) * Laisse Play à la,communité et lightbend arrête d'investir dedans * Dans une orga séparée * Besoin de sponsors et de contributeurs * Question: ils n'avaient pas déjà arrêté Scala? [Lightbend déveste de Lagom aussi](https://discuss.lightbend.com/t/the-future-of-lagom/8962) (27 Oct 2021) * Lagom effacé par akka Platform'et Akka Serverless * Trop de contraintes limitantes dans le framework * Mais si client de Lightbend, supporté sur Lagom mais sans nouvelle fonctionnalité ### Infrastructure [Installer et utiliser podman-machine sur macOS](https://blog.while-true-do.io/podman-machine/) (19 Oct 2021) * La virtualisation s'appuie sur qemu et met en place une VM dans laquelle les pods tournent. * Podman Machine pour installer une VM linux avec les outils * fonctionne aussi sous linux pour ceux qu ne supportent pas podman ou pour sandboxer * fonctionne sous M1 * homebrew pour l'installation * comme docker machine avant en gros * [il y a aussi une belle présentation de Devoxx France](https://www.youtube.com/watch?v=pUFIG2AMDhg) ### Cloud [Amazon déclaré la guerre à Microsoft en utilisant les arguments “Proprietaire”](https://aws.amazon.com/blogs/aws/goodbye-microsoft-sql-server-hello-babelfish/) (28 Oct 2021) * Aurora a un font qui parler protocole SQL server ([Babelfish pour Aurora PostgreSQL](https://aws.amazon.com/fr/rds/aurora/babelfish/)). * Et convertit les T-SQL * Open source the t sql vers Postgres (debug). Sous license ASL * Pas tout open sourcé encore ### Web [CORS expliqué](https://jakearchibald.com/2021/cors/) (12 Oct 2021) * inclue images d'autres sites, c'est l'origine * les cookies, credeitials etc etaient envoyés * yahoo mail pouvait filer les credentials des utilisateurs * une iFrame pouvait lire le contenu d'une autre iFrame (Netscape met en place le Cross-Frame Scripting) * `Access-Control-Allow-Origin: *` est ok si pas de données privées [Rendre une page HTML brute jolie en 100 caractères de CSS](https://www.swyx.io/css-100-bytes) (16 Oct 2021) * basique mais expliqué ligne par ligne * E.g. 60-80 caractères pour la lecture * Et 100 bytes de plus pour améliorer ### Data [elasticsearch 8.0 will require java 17](https://twitter.com/xeraa/status/1455980076001071106) (3 Nov 2021) * definitely easier for something standalone than a library or anything that needs to share the JDK with all its apps * [PR GitHub](https://github.com/elastic/elasticsearch/pull/79873) [Hibernate Reactive 1.0.0, ça vaut le coup ?](https://in.relation.to/2021/10/27/hibernate-reactive-performance/) (27 Oct 2021) * PostgreSQL, MySQL, MariaDB, Db2, SQL Server, and CockroachDB * bases de donnés désignées pour des interactions classiques * Donc les constructions haut niveau ont tendances à être limitées par le protocole sous-jacent ce qui ne se voyait pas ou peu en JDBC * utiliser HR si votre appli est déjà réactive au cœur (e.g. RESTEasy reactive dans Quarkus ou une appli Vert.x) * Compareperfs acec techempower mais avec angle latence à un volume donné et et pas throughout max * 20 requêtes d'affilée 20k request/s -> 35k sous 10ms de latence. C'est la valeur relative qui est intéressante * Une requête et du processing pour rendre au client, peu de différence * Toruhghput tend à être meilleur * Amélioration de réactive sur un an * [Un vidéo cast sur le sujet](https://youtu.be/VGAnVX1lCxg) ### Outillage [AtomicJar se lance dans une offre Cloud](https://www.atomicjar.com/2021/11/announcing-testcontainers-cloud/) (04 Nov 2021) * les containers de test containers ne tournent plus en local * Mais dans le cloud de AtomicJar * A plus de spores source qu'une machine locale typique (2 cores et 8GB ram pour la docker machine) * peut utiliser la machine quand les tests tournent * Pour CI limitées vs containers ou les cloud IDE pour pas trop dépenser * Pas de problème avec M1 * Un petit binaire à installer (eg via curl) * TestContainers et Quarkus: TestContainer Cloud fonctionne avec Dev Service (les containers lancés et configurés automatiquement) * Encore en cours de développement (beta privée et on peut demander invitation) ### Méthodologies [Canary releases ou avoir des testeurs](https://www.infoq.com/articles/canary-releases-testing/) (04 Nov 2021) * canary release est une release en prod mais sur un petit sous ensemble des utilisateurs * Peut aider a voir si une nouvelle fonctionnalité intéresse les utilisateurs avant de commiter sur le long terme * Toujours option du retour arrière * Donc peut on réduire les tests internes ? * Risque de réputation ou abandon utilisateur (acquisition et rétentions sont chères) * Test automatisés compréhensifs permettent le risque de canary * Test exploratoires pour compléter les tests automatiques ### Loi, société et organisation [Le droit à decompiler pour corriger des erreurs confirmé légal](https://www.legalis.net/actualite/le-droit-a-decompiler-un-logiciel-pour-corriger-des-erreurs-confirme-par-la-cjue/) (21 Oct 2021) * arrêt du 6 octobre 2021 * Pour corriger une erreur affectant le fonctionnement y compris via la désactivation d'une fonction affectant le bon fonctionnement de l'application [Influence de l'amplificartion algorithmique sur le contenu politique](https://blog.twitter.com/en_us/topics/company/2021/rml-politicalcontent) (21 Octo 2021) * les recommendations algorithmiques amplifient-elle le contenu politique ? * dans le cas des timeline organisées algorithmiquement et pas reverse chronologique * Est-ce que ça varie entre partis politiques ou groups politiques * Des sources de nouvelles plus amplifiées que d'autre * Les élus sont plus amplifiés que le contenu politique général * Pas d'amplification particulière d.individus ces d'autres au sein du même parti ???? * La,droite tend à avoir une amplification plus importante que la gauche * Les sources de nouvelles orientées à droite sont aussi plus amplifiées que celles de gauche * La méthodologie est détaillée sur par exemple ce qu'est un journal de droite * Pourquoi c'est amplifié différemment est une question plus difficile à répondre * Amplification n'est pas mauvaise par défaut mais elle l'est si elle amène à un traitement préférentiel du à l'algorithme (vs comment les gens interagissent sur la plateforme) * [Le PDF de l'étude intégrale](https://cdn.cms-twdigitalassets.com/content/dam/blog-twitter/official/en_us/company/2021/rml/Algorithmic-Amplification-of-Politics-on-Twitter.pdf) ## Conférences [DevFest Lille le 19 novembre 2021](https://devfest.gdglille.org/) [Devoxx France du 20 au 22 avril 2021](https://www.devoxx.fr/) [SunnyTech les 30 juin et 1er juillet 2022 à Montpellier](https://sunny-tech.io/) ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

The Cloud Pod
Ep141: The Cloud Pod Wears Gaudi Outfits for Amazon's New Deep Learning Accelerator

The Cloud Pod

Play Episode Listen Later Nov 5, 2021 64:13


On The Cloud Pod this week, half the team misses Rob and Ben. Also, AWS Gaudi Accelerators speed up deep learning, GCP announces that its Tau VMs are an independently verified delight, and Azure gets the chance to be Number One for once (with industrial IoT platforms.) A big thanks to this week's sponsors: Foghorn Consulting, which provides full-stack cloud solutions with a focus on strategy, planning and execution for enterprises seeking to take advantage of the transformative capabilities of AWS, Google Cloud and Azure. JumpCloud, which offers a complete platform for identity, access, and device management — no matter where your users and devices are located.  This week's highlights

Modernize or Die ® Podcast - CFML News Edition
Modernize or Die® - CFML News for November 2nd, 2021 - Episode 124

Modernize or Die ® Podcast - CFML News Edition

Play Episode Listen Later Nov 2, 2021 44:16


2021-11-02 Weekly News - Episode 124Watch the video version on YouTube at https://youtu.be/ruRGbtZepqI Hosts: Gavin Pickin - Senior Developer for Ortus SolutionsThanks to our Sponsor - Ortus SolutionsThe makers of ColdBox, CommandBox, ForgeBox, TestBox and almost every other Box out there. A few ways  to say thanks back to Ortus Solutions: Like and subscribe to our videos on YouTube.  Subscribe to our Podcast Sign up for a free or paid account on CFCasts, which is releasing new content every week Buy Ortus's new Book - 102 ColdBox HMVC Quick Tips and Tricks on GumRoad (http://gum.co/coldbox-tips) Patreon SupportWe have 38 patreons providing 93% of the funding for our Modernize or Die Podcasts via our Patreon site: https://www.patreon.com/ortussolutionsNow offering Annual Memberships, pay for the year and save 10% - great for businesses.News and EventsCFML Spreadsheet 3.1 releasedSpreadsheet CFML v3.1.0 just released. Supports the latest POI 5.1.0 out today, plus minor fixes/updates. https://github.com/cfsimplicity/spreadsheet-cfml/commit/f5698850f7691a0bf5578d77f4f3635a47b28b1c Adobe 1 Day Workshop - Adobe ColdFusion Workshop with Damien BruyndonckxWed, November 10, 202109:00 - 17:00 CEST EUROPEANJoin the Adobe ColdFusion Workshop to learn how you and your agency can leverage ColdFusion to create amazing web content. This one-day training will cover all facets of Adobe ColdFusion that developers need to build applications that can run across multiple cloud providers or on-premise.https://coldfusion-workshop.meetus.adobeevents.com/ Online CF Meetup - "Migrating apps to ColdFusion 2021 from earlier versions", with Charlie ArehartThursday, November 4, 20219:00 AM to 10:00 AM PDTWhile CF2021 has been out now for a year (released in Nov 2020), many orgs may only now be considering moving to it, whether from CF2018 or perhaps CF2016, CF11, CF10, or even earlier. How have the versions changed, in ways that some older code may not run on CF2021? And if you're skipping some CF version/s, what might have tripped you up in those, though not really "new" in CF2021 itself? And what can you do to mitigate such challenges?In this session, CF troubleshooter Charlie Arehart will share from his experience helping folks make such migrations the past year (and for years with previous CF versions), whether in his role as an independent consultant or providing assistance to the CF community. He'll cover things you can consider in advance of the migration as well as things that might help during or after the migration. Most importantly, this talk will focus on the differences between CF2021 and various earlier CF versions. (Note that he has previously given a talk on migrating CF admin settings, and he plans a future talk on some other aspects of migration.)https://www.meetup.com/coldfusionmeetup/events/281800384/ ICYMI - Online CF Meetup - Using LaunchDarkly for feature flag management in CF applications, w/ Brad WoodThursday, October 28, 2021 at 9:00 AM to 10:00 AM PDTFeature flags are a system of enabling certain functionality in your app based on test groups, cross-cutting segments of users, and your internal release processes. Feature flags can be updated on the fly at any time by any user and don't require deploying new code to your servers. LaunchDarkly is a system that helps you manage your feature flags and how they respond to the users of your site. It offers detailed tracking of each user, each flag, and a robust set of rules for determining which users see which features. In this session, we'll see an overview of how to use the new LaunchDarkly SDK which can be used in ColdFusion applications. Demos will include both ColdBox apps and non-ColdBox legacy apps.https://www.meetup.com/coldfusionmeetup/events/281577538/ Recording: https://www.youtube.com/watch?v=cjboLKvbGDc Ortus Webinar for November - Javier Quintero on ForgeBox BusinessDetails coming soonCBWire is ALIVE!!!Grant Copley is knocking out some great new features and documentation on CBWire, follow him or the #cbwire hashtag to keep up on everything. This session at ITB was great if you want to learn more about CBWire.A couple of links from his tweets.https://cbwire.ortusbooks.com/templates/loading-states#toggling-attributes https://cbwire.ortusbooks.com/component-features/logging CFCasts Content Updateshttps://www.cfcasts.com Just Released Up and Running with Quick Step 11 Exercise Step 12 Exercise Gavin Pickin on Building Quick APIs - Extended Version (FREE) Coming this weekRecordings in Spanish - University classes, Zero to Hero and moreSend your suggestions at https://cfcasts.com/supportConferences and TrainingMicrosoft Ignite - THIS WEEKNovember 2–4, 2021 Opportunity awaits, with dedicated content spotlighting Microsoft Business Applications and Microsoft Security.https://myignite.microsoft.com/homeDeploy by Digital OceanTHE VIRTUAL CONFERENCE FOR GLOBAL DEVELOPMENT TEAMSNovember 16-17, 2021 https://deploy.digitalocean.com/homeAWS re:InventNOV. 29 – DEC. 3, 2021 | LAS VEGAS, NVCELEBRATING 10 YEARS OF RE:INVENTVirtual: FreeIn Person: $1799https://reinvent.awsevents.com/ Postgres BuildOnline - FreeNov 30-Dev 1 2021https://www.postgresbuild.com/ ITB Latam 2021December 2-3, 2021Into the Box LATAM is back and better than ever! Our virtual conference will include speakers from El Salvador and all over the world, who'll present on the latest web and mobile technologies in Latin America.Registration is completely free so don't miss out!https://latam.intothebox.org/ Adobe ColdFusion Summit 2021December 7th and 8th - VirtualSpeakers are finalized and some Speakers and some session descriptions are now on the siteRegister for Free - https://cfsummit.vconfex.com/site/adobe-cold-fusion-summit-2021/1290Blog - https://coldfusion.adobe.com/2021/09/adobe-coldfusion-summit-2021-registrations-open/ Tweet from Mark Takata - OK! I can finally let you all know that for the @Adobe @coldfusion #CFSummit2021 keynote we will be featuring @ashleymcnamara! Her talk will focus on the history & future of DevRel how we got here & where we're going.cfsummit.vconfex.com to register!#CFML #DevRel #conferencehttps://twitter.com/MarkTakata/status/1449063259072438277 https://twitter.com/MarkTakata jConf.devNow a free virtual eventDecember 9th starting at 8:30 am CDT/2:30 pm UTC.https://2021.jconf.dev/?mc_cid=b62adc151d&mc_eid=8293d6fdb0 More conferencesNeed more conferences, this site has a huge list of conferences for almost any language/community.https://confs.tech/Blogs, Tweets and Videos of the WeekBlog - Charlie Arehart - FusionReactor 8.7.4 released, now tracks JDBC time and more on request list pagesFusionReactor version 8.7.4 was released recently (Oct 28. 2021), and while the release notes list several improvement (and a few bug fixes), I want to highlight in particular a couple of new features.TLDR; The first improvement is one I've been looking forward to for years: the display (on request list pages) of JDBC time spent and time spent calling out to remote services. This will really speed up assessment of the reason of slowness in listed requests. More on that feature (including a screenshot) and still another, below.https://www.carehart.org/blog/client/index.cfm/2021/11/1/fusionreactor_8_7_4_released Blog - Julian Halliwell - Lucee Spreadsheet is now Spreadsheet CFMLThe Lucee Spreadsheet library was born of my frustration 7 years ago at the difficulty of getting spreadsheet functionality to work in Railo and then Lucee.Not long after its release, I started getting requests to support Adobe ColdFusion (ACF). This seemed a bit odd at first. ACF already had built-in spreadsheet functionality so why would you need a third-party tool?The main reason is cross-platform compatibility: allowing for a code base (such as Preside CMS) to run on either CFML engine.https://blog.simplicityweb.co.uk/124/lucee-spreadsheet-is-now-spreadsheet-cfml Blog - Ben Nadel - The Value Class java.time.LocalDateTime Cannot Be Converted To A Date In ColdFusionYesterday, I went to debug an issue with the latest Adobe ColdFusion 2018 Updater. So, I first updated my CommandBox Docker Image (in an effort to reproduce the issue in my local development environment). This sent me down a 4-hour rabbit hole just trying to getting my ColdFusion site up-and-running before I could even debug the originally issue. One of the problems that I ran up against was an incompatibility with Adobe ColdFusion and the latest MySQL Connector/J, version 8.0.23+.https://www.bennadel.com/blog/4144-the-value-class-java-time-localdatetime-cannot-be-converted-to-a-date-in-coldfusion.htmBlog - Ben Nadel - From ColdFusion 10 To ColdFusion 2018 - Preparing For Some Blog LoveThis blog is hella old. It started back in 2006 on Macromedia ColdFusion MX 7. At some point, it was updated to ColdFusion 10, where it remained for the better part of a decade. Recently, I updated it to Adobe ColdFusion 2018. But, the underlying code is still hella old and in much need of some love and tenderness. I'd like to put some time into modernizing the internals. But, before I do that, I need to get a sense of what "modernization" even means when moving from ColdFusion 10 to ColdFusion 2018. This post is really a note to self that refreshes my brain as to what functionality is now available to me in the current Adobe ColdFusion 2018 install.https://www.bennadel.com/blog/4145-from-coldfusion-10-to-coldfusion-2018-preparing-for-some-blog-love.htm Blog - Ben Nadel - Managing Shared Secret Token Rotation Across Systems In Lucee CFML 5.3.7.47When two systems interact, a shared secret is often included with inter-system communication in order to make sure that the given calls are both authorized and have not been tampered with. For various reasons, those shared secrets need to be rotated over time. And, since multiple systems - that need to agree on which secrets are valid - cannot be deployed at the exact same moment, we need to have a token rotation strategy that allows for different systems to rotate tokens at different times. Since I've recently had to deal with this type of token rotation in my ColdFusion applications, I thought it would be good to codify my thoughts in a small demo in Lucee CFML 5.3.7.47.https://www.bennadel.com/blog/4142-managing-shared-secret-token-rotation-across-systems-in-lucee-cfml-5-3-7-47.htm Blog - Ben Nadel - Securing ColdFusion Scheduled Tasks In A Docker Container Using Lucee CFML 5.3.8.206As I mentioned in my previous post on managing shared secret token rotation across systems, I've been cleaning up some really old code, moving hard-coded passwords into environment variables. One place in which we had a hard-coded password was in our ColdFusion Scheduled Task ingress. As I was updating this code, it occurred to me that the Docker-based reality in which many of us now live has implications on the way in which we can secure our ColdFusion scheduled tasks. As such, I wanted to put together a small demo exploring the various ways in which we can secure a ColdFusion scheduled task running in a Dockerized container using Lucee CFML 5.3.8.206.https://www.bennadel.com/blog/4143-securing-coldfusion-scheduled-tasks-in-a-docker-container-using-lucee-cfml-5-3-8-206.htmTweet - Steven Erat - Mind Blown this Week!Mind blown this week. Watching #AdobeMax highlight projects I work on at Adobe Stock while following commentary from (#ColdFusion's) @benforta, dovetailing into #CFML podcast by @gpickin & @bdw429s, finally realizing #Selenium4 has been released this week. https://twitter.com/stevenerat/status/1453424787150180353https://twitter.com/stevenerat CFML JobsSeveral positions available on https://www.getcfmljobs.com/Listing over 226 ColdFusion positions from 102 companies across 123 locations in 5 Countries.5 new jobs listedFull-Time - Quality Assurance Engineer w/ ColdFusion Knowledge - Remote .. - United States Posted Nov 02https://www.getcfmljobs.com/jobs/index.cfm/united-states/Quality-Assurance-Engineer-w-ColdFusion-Knowledge-Remote-Position-at-Denver-CO/11374 Full-Time - Web Developer at Denver, CO - United States Posted Oct 29https://www.getcfmljobs.com/viewjob.cfm?jobid=11372Full-Time - HTML / Coldfusion Developer - Salford Quays + WFH at Salford.. - United Kingdom Posted Oct 29https://www.getcfmljobs.com/jobs/index.cfm/united-kingdom/HTML-Coldfusion-Developer-Salford-Quays-WFH-at-Salford/11373Full-Time - Coldfusion Developer at California - United States Posted Oct 29https://www.getcfmljobs.com/jobs/index.cfm/united-states/Coldfusion-Developer-at-California/11371 Full-Time -  Coldfusion Developer at Texas - United States Posted Oct 28https://www.getcfmljobs.com/jobs/index.cfm/united-states/Coldfusion-Developer-at-Texas/11370ForgeBox Module of the WeekColdBox ReCAPTCHA Google v3.0 Module By Javier Quintero for Ortus SolutionsThis module contains helpers for using Google's ReCAPTCHA API.reCAPTCHA is a free service that protects your site from spam and abuse. It uses advanced risk analysis techniques to tell humans and bots apart.reCAPTCHA v3 returns a score for each request without user friction. The score is based on interactions with your site and enables you to take an appropriate action for your site. Register reCAPTCHA v3 keys here: https://g.co/recaptcha/v3 https://www.forgebox.io/view/recaptcha3 VS Code Hint Tips and Tricks of the WeekSQLTools By Matheus Teixeira Database management done right. Connection explorer, query runner, intellisense, bookmarks, query history. Feel like a database hero!https://vscode-sqltools.mteixeira.dev/ https://marketplace.visualstudio.com/items?itemName=mtxr.sqltools Thank you to all of our Patreon SupportersThese individuals are personally supporting our open source initiatives to ensure the great toolings like CommandBox, ForgeBox, ColdBox,  ContentBox, TestBox and all the other boxes keep getting the continuous development they need, and funds the cloud infrastructure at our community relies on like ForgeBox for our Package Management with CommandBox. You can support us on Patreon here https://www.patreon.com/ortussolutionsNow offering Annual Memberships, pay for the year and save 10% - great for businesses. Bronze Packages and up, now get a ForgeBox Pro and CFCasts subscriptions as a perk for their Patreon Subscription. All Patreon supporters have a Profile badge on the Community Website All Patreon supporters have their own Private Forum access on the Community Website Patreons John Wilson - Synaptrix  Eric Hoffman Gary Knight Mario Rodrigues Giancarlo Gomez David Belanger Jonathan Perret Jeffry McGee - Sunstar Media Dean Maunder Joseph Lamoree Don Bellamy Jan Jannek Laksma Tirtohadi Carl Von Stetten Dan Card Jeremy Adams Jordan Clark Matthew Clemente Daniel Garcia Scott Steinbeck - Agri Tracking Systems Ben Nadel Mingo Hagen Brett DeLine Kai Koenig Charlie Arehart Jonas Eriksson Jason Daiger Jeff McClain Shawn Oden Matthew Darby Ross Phillips Edgardo Cabezas Patrick Flynn Stephany Monge Kevin Wright Steven Klotz You can see an up to date list of all sponsors on Ortus Solutions' Websitehttps://ortussolutions.com/about-us/sponsors ★ Support this podcast on Patreon ★

Melbourne AWS User Group
What‘s New in July and August 2021

Melbourne AWS User Group

Play Episode Listen Later Oct 3, 2021 62:20


July and August were very boring months for announcements, so Arjen, JM, and Guy decided to discuss them both in a single episode. They also decided to record before the month actually ended, which doesn't really behoove them as they missed out on a couple of actually interesting announcements. So those will be discussed in our September episode. News Finally in Sydney Amazon ml.Inf1 instances are now available on Amazon SageMaker in 4 additional AWS Regions Amazon RDS Cross-Region Automated Backups Regional Expansion AWS Directory Service now supports smart card authentication with AD Connector for Amazon WorkSpaces in 5 additional AWS Regions Serverless Lambda AWS Lambda adds support for Python 3.9 AWS Lambda now supports Amazon MQ for RabbitMQ as an event source Amplify AWS Amplify launches new full-stack CI/CD capabilities Complete guide to full-stack CI/CD workflows with AWS Amplify | Front-End Web & Mobile AWS Amplify CLI adds support for storing environment variables and secrets accessed by AWS Lambda functions AWS Amplify allows you to mix and match authorization modes in DataStore AWS Amplify now supports Sign in with Apple Announcing Amplify Geo (Developer Preview) for AWS Amplify Other Amazon API Gateway now supports mutual TLS with certificates from third-party CAs and ACM Private CA Simplify CI/CD configuration for serverless applications and your favorite CI/CD system — Public Preview AWS AppSync now supports custom authorization with AWS Lambda for GraphQL APIs Containers Amazon EKS and EKS Distro now support Kubernetes version 1.21 Amazon EKS now supports Kubernetes 1.21 | Containers Amazon EKS managed node groups now supports parallel node upgrades Amazon EKS now supports Multus Amazon ECS supports additional configurations for scheduled and event-driven tasks AWS Cloud Map supports configuring negative caching for DNS queries AWS App Mesh Constructs for AWS CDK are now generally available AWS Private Certificate Authority introduces integration with Kubernetes Amazon VPC CNI plugin increases pods per node limits EC2 & VPC Instances Introducing new Amazon EC2 G4ad instance sizes New – Amazon EC2 M6i Instances Powered by the Latest-Generation Intel Xeon Scalable Processors | AWS News Blog Amazon EC2 customers can now use ED25519 keys for authentication during instance connectivity operations Amazon EC2 Hibernation adds support for C5d, M5d, and R5d Instances Amazon Virtual Private Cloud (VPC) customers can now assign IP prefixes to their EC2 instances Assigning prefixes to Amazon EC2 network interfaces - Amazon Elastic Compute Cloud Amazon EC2 now supports custom time windows for Scheduled Events Auto Scaling Amazon EC2 Auto Scaling enhances Instance Refresh with configuration checks, Launch Template validation, and Amazon EventBridge notifications Amazon EC2 Auto Scaling now lets you control which instances to terminate on scale-in Other Amazon EC2 adds Resource Identifiers and Tags for VPC Security Group Rules Amazon CloudFront announces new APIs to locate and move alternate domain names (CNAMEs) AWS Elastic Beanstalk supports Capacity Rebalancing for Amazon EC2 Spot Instances AWS lowers data processing charges for AWS PrivateLink AWS IoT Core for LoRaWAN now supports VPC endpoints AWS IoT Core now supports VPC Endpoints Dev & Ops Dev Tooling EC2 Image Builder now supports parameters in components for creating custom images AWS Cloud9 introduces new features to browse CloudWatch Logs, S3, and use EC2 instance profiles Introducing AWS App Runner integration in the AWS Toolkit for VS Code Amazon CodeGuru Profiler adds recommendation support for Python applications Amazon CodeGuru Profiler extends visualizations capability with a new compare option for application profile Amazon CodeGuru Profiler announces new automated onboarding process for AWS Lambda functions CodeBuild Supports Publicly Viewable Build Results AWS AppConfig now enables customers to compare two application configuration versions AWS App2Container now supports containerization of complex multi-tier Windows applications CDK/CloudFormation Announcing CDK Pipelines GA, CI/CD for CDK Apps AWS CDK releases v1.111.0 - v1.116.0 with updates for unit testing and CDK Pipelines support AWS CloudFormation now supports more stacks per AWS account You can now import your AWS CloudFormation stacks into a CloudFormation stack set Systems Manager AWS Systems Manager Application Manager now supports full lifecycle management of AWS CloudFormation templates and stacks Now view inventory and patch compliance of stopped instances using AWS Systems Manager AWS Systems Manager Automation now supports upgrade of SQL Server 2012 AWS Systems Manager OpsCenter launches operational insights to identify duplicate items and event sources with unusual activity Now enable auto-approval of change requests and expedite changes with AWS Systems Manager Change Manager AWS Systems Manager Change Manager now supports AWS IAM roles as approvers AWS Systems Manager Fleet Manager now offers report generation for Managed Instances Other AWS Control Tower announces improvements to guardrail naming and descriptions Announcing Amazon CloudWatch cross account alarms Amazon CloudWatch Synthetics supports visual monitoring Amazon CloudWatch Logs now supports Usage Metrics Security AWS Firewall Manager now supports central monitoring of VPC routes for AWS Network Firewall AWS Shield Advanced no longer requires AWS WAF logging for web-application layer event response AWS Certificate Manager provides expanded usage of imported ECDSA and RSA Certificates Amazon QLDB supports customer managed KMS keys AWS Control Tower now provides support for KMS Encryption AWS Security Hub adds 10 new controls to its Foundational Security Best Practices standard for enhanced cloud security posture monitoring AWS License Manager now supports Delegated Administrator AWS WAF now offers managed rule group versioning AWS Security Hub adds 18 new controls to its Foundational Security Best Practices standard and 8 new partners for enhanced cloud security posture monitoring Data Storage & Processing AWS DataSync can now copy system access control lists (SACLs) to Amazon FSx for Windows File Server Amazon Lightsail now offers object storage for storing static content Amazon Data Lifecycle Manager launches new console experience Announcing availability of Red Hat Enterprise Linux with Microsoft SQL Server for Amazon EC2 Amazon Neptune now supports the openCypher query language Amazon RDS Proxy can now be created in a shared Virtual Private Cloud (VPC) Amazon RDS for SQL Server now supports Automatic Minor Version Upgrades Introducing Amazon MemoryDB for Redis – A Redis-Compatible, Durable, In-Memory Database Service | AWS News Blog AWS Transfer Family expands compatibility for FTPS/FTP clients and increases limit for number of servers Amazon ElastiCache for Redis now supports auto scaling EBS AWS Announces General Availability of Amazon EBS io2 Block Express Volumes Amazon Elastic Block Store now supports idempotent volume creation AWS CloudTrail now supports logging of data events for Amazon EBS direct APIs Athena Amazon Athena adds parameterized queries to improve reusability and security Amazon Athena announces data source connector for Power BI S3 AWS Storage Gateway adds support for AWS Privatelink for Amazon S3 and Amazon S3 Access Points Amazon S3 Access Points aliases allow any application that requires an S3 bucket name to easily use an access point Amazon S3 on Outposts supports direct access for applications running outside the Outposts VPC Amazon S3 on Outposts now supports sharing across multiple accounts Amazon EMR now supports Amazon S3 Access Points to simplify access control Redshift Amazon Redshift simplifies the use of JDBC/ODBC with authentication profile Cross-Account Data Sharing for Amazon Redshift | AWS News Blog Redshift spatial performance enhancements and new spatial functions Glue AWS Glue Studio now provides data previews during visual job authoring AWS Glue DataBrew now supports writing prepared data directly into JDBC-supported destinations AWS Glue DataBrew adds the ability to specify which data quality statistics are generated for your datasets AWS Glue DataBrew now supports numerical format transformations AWS Glue DataBrew now supports writing prepared data into AWS Lake Formation-based AWS Glue Data Catalog S3 tables Snow Family AWS Snowball Edge Storage Optimized devices now supports high performance NFS data transfer AWS Snow Family now enables you to remotely monitor and operate your connected Snowcone devices AWS Snowball now supports multicast streams and routing by providing instances with direct access to external networks AWS Snowcone now supports multicast streams and routing by providing instances with direct access to external networks AI & ML Amazon Textract announces improvements to detection of handwritten text, digits, dates, and phone numbers Amazon Textract announces specialized support for automated processing of invoices and receipts Announcing Model Variable Importance for Amazon Fraud Detector AWS customers can now view all the labels supported by Amazon Rekognition Amazon Neptune ML is now generally available with support for edge predictions, automation, and more Amazon EC2 Inf1 instances now supports TensorFlow 2 SageMaker Amazon announces new AWS Deep Learning Containers to deploy Hugging Face models faster on Amazon SageMaker Amazon SageMaker Pipeline introduces a automatic hyperparameter tuning step Amazon SageMaker Autopilot and Automatic Model Tuning now support more refined access control using Condition Key Policies Amazon SageMaker now supports M5d, R5, P3dn, and G4dn instances for SageMaker Notebook Instances Amazon SageMaker Pipelines now supports invoking AWS Lambda Functions Amazon SageMaker notebook instance now supports Amazon Linux 2 Introducing Amazon SageMaker Asynchronous Inference, a new inference option for workloads with large payload sizes and long inference processing times Kendra Announcing Amazon Kendra Smaller Units and Price Drop Amazon Kendra releases Web Crawler to enable web site search Amazon Kendra releases Principal Store for secure search Amazon Kendra releases WorkDocs Connector Other Cool Stuff IoT AWS IoT SiteWise is expanding its transforms and formula expressions capabilities AWS IoT SiteWise Edge now generally available AWS SiteWise now supports custom time intervals for metric aggregations Announcing support for new Timestamp function, PreTrigger function and ability to write nested expressions within aggregation functions (SiteWise) Announcing support for exporting data from AWS IoT SiteWise to Amazon S3 The rest The Amazon Chime SDK adds media capture pipelines to enable capture of meeting video, audio, and content streams Amazon AppStream 2.0 adds support for real-time audio-video using a web browser AWS Now Allows Customers To Pay For Their Usage in Advance AWS Organizations increases quotas for tag policies AWS DeepRacer announces DeepRacer LIVE races Amazon HealthLake is now Generally Available Introducing AWS for Health Introducing Amazon Route 53 Application Recovery Controller | AWS News Blog CloudFormation templates for Amazon Route 53 Application Recovery Controller (ARC) - GitHub Amazon CloudWatch adds support for trimmed mean statistics Amazon WorkSpaces now offers web access with WorkSpaces Streaming Protocol (WSP) Amazon WorkSpaces Renews Windows Desktop Experience with Windows Server 2019 bundles and 64-bit Microsoft Office 2019 Fully customizable action space now available in AWS DeepRacer Console Sponsors CMD Solutions Silver Sponsors Cevo Versent

airhacks.fm podcast with adam bien
Java, Blues and Tomitribe

airhacks.fm podcast with adam bien

Play Episode Listen Later Sep 5, 2021 60:29


An airhacks.fm conversation with David Blevins (@dblevins) about: Atari 800, then Atari 2600, playing Pitfall!, enjoying Apple II, enjoying the M.U.L.E. game, the creative art kid, working at Public-access station, making special effects with Amiga 500, the Monday the 13th horror movie, specializing on make-up, halloween was a working day, the amazing B.B. King, learning blues, studying psychology, going to Ecuador, going to Brown College in Minnesotta, hitting a truck with a mini van, a nice truck driver, starting the iWeb company, working with Apple, developing websites with HTML and JavaScript, 80k salary for a Java developer in 1998, learning Java 1.0 in a week, working as Java consultant, working on Visual Basic and Java integration, writing a web server, hotsite, Silverstream, Jigsaw, working with NorthWest Bank with Swing and CORBA backend, using visigenics ORB, the power of source code, using com.sun.swing, the cancellation of a 35 million project, writing JDBC drivers for PostgreSQL, generating code in bash and Pearl, David Blevins on twitter: @dblevins and David's company: tomitribe

airhacks.fm podcast with adam bien
EDI, Java Batch, MicroProfile, JSON-API and OpenAPI

airhacks.fm podcast with adam bien

Play Episode Listen Later Jul 3, 2021 49:47


An airhacks.fm conversation with Michael Edgar (@xlateio) about: custom Pentium 100, a telnet based, MUD game, Vallhalla MUD, BBS was used to connect to the network, enjoying Apple 2 at school, enjoying Sonic Sega games, learning C-structures at collage, learning 68000 assembly, from Assembly to Visual Basic and Java, starting at an insurance company and learning EDI, X12 and EDIFACT in EDI universe, the fascination with EDI, the beginners mind and Java Connector Architectures, the EDI "hello, world", starting to understand COBOL, back to Java with WSAD and IBM WebSphere, using JDBC, Servlets and Java Server Pages (JSP), using Java Batch processing (jbatch), using Java Batch DSL features, from WebSphere to Wildfly, misusing WildFly as Tomcat, from WildFly to MicroProfile using smallrye, JWT and OpenAPI committer, reusing Java Bean Validation as openAPI metadata, using jandex index for annotation scanning, smallrye OpenAPI already uses Bean Validation annotations, JSON API is used by Ember, JSON API is similar to odata, JSON-API is generated from JAX-RS, JPA and Bean Validation, JSON-API is used by EmberJs, xlate, RedHat OpenShift Streams for Apache Kafka Michael Edgar on twitter: @xlateio

Modernize or Die ® Podcast - CFML News Edition
Modernize or Die® - CFML News for June 8th, 2021 - Episode 107

Modernize or Die ® Podcast - CFML News Edition

Play Episode Listen Later Jun 8, 2021 49:57


2021-06-08 Weekly News - Episode 107Watch the video version on YouTube at https://youtu.be/eaX1QZszAwQ Hosts: Gavin Pickin - Software Consultant for Ortus SolutionsEric Peterson - Software Consultant for Ortus SolutionsThanks to our Sponsor - Ortus SolutionsThe makers of ColdBox, CommandBox, ForgeBox, TestBox and almost every other Box out there. A few ways  to say thanks back to Ortus Solutions: Like and subscribe to our videos on youtube.  Sign up for a free or paid account on CFCasts, which is releasing new content every week Buy Ortus's new Book - 102 ColdBox HMVC Quick Tips and Tricks on GumRoad (http://gum.co/coldbox-tips) Patreon SupportWe have 36 patreons providing 83% of the funding for our Modernize or Die Podcasts via our Patreon site: https://www.patreon.com/ortussolutions. If you love our podcasts and all we do for the #coldfusion #cfml community considers chipping in, we are almost there!https://www.ortussolutions.com/blog/we-need-your-help News and EventsCommandBox Docker v3.4.0 Images ReleasedToday we are pleased to announce the release of version 3.4.0 of our CommandBox Docker images, which bumps the CommandBox binary version to v5.3.1. This release primarily contains optimizations and updates to leverage the new environmental support options available in CommandBox 5.3.0 and above.https://www.ortussolutions.com/blog/commandbox-docker-v340-images-released https://hub.docker.com/r/ortussolutions/commandbox/ICYMI - Lucee 5.3.8.179-RC4 (Final Release Candidate) ReleasedThis will be the Final RC before STABLE, available via your admin or via https://download.lucee.org/There are some improvements for MS SQL users since RC3. There is currently a problem with MS SQL extensions not being available for download, including 7.22, apologies, this will be fixed tomorrow.https://dev.lucee.org/t/lucee-5-3-8-179-rc4-final-release-candidate/8400 Ortus Webinar for June - Eric Peterson - Topic - Build a Blog in 30 minutes with QuickWednesday, June 30th at 11:00 AM CTIn this webinar, Eric will: give us an overview of ColdBox and Quick, give us reasons why we would use this library, he'll show us an example app to explore how it works and we'll have tons of live coding!Webinars Page: https://www.ortussolutions.com/events/webinars Registration: https://us02web.zoom.us/meeting/register/tZIsd-2qrzMiG9DIROF-hQGy8Qj2TUkGHGth ICYMI - Online CF Meetup - Getting Started with FusionReactor, with Brad WoodThursday Jun 3rd at 12pm US Eastern Time, UTC-4.New to FusionReactor? Perhaps you have a license but aren't sure how to tap into the features? We'll cover the basics of using FR to profile code, view your running and recent requests, and how to tell what is making a request slow. We'll cover tracking JDBC requests, HTTPS calls, and using the Profiler feature. There are many more features in FR, but we'll cover enough to get you started.https://www.meetup.com/coldfusionmeetup/events/278404050/ Recording: https://www.youtube.com/watch?v=PWkh2Yig3yQ Reminder - State of the CF Union SurveyHelp us find out the state of the CF Union – what versions of CFML Engine do people use, what frameworks, tools etc. We will share the summary results with everyone who completes the survey so that you can see how you compare with other CF developers.Spread the news so we can get as many responses as possible.https://teratech.com/state-of-the-cf-union-2021-survey CFCasts Content Updateshttp://www.cfcasts.com Just ReleasedObject-Oriented Programming with Nolan Erck (https://cfcasts.com/series/oop-series) Abstract Classes Basic example of composition Changing Objects at Runtime Don't forget - the first 4 videos in this series are FREE Coming this weekObject-Oriented Programming with Nolan Erck (https://cfcasts.com/series/oop-series) Why Composition over Inheritance Diamond-design Problem Interfaces with Ducks Coming up soon More What's new with ColdBox 6 More What's new in qb 8 More Using DocBox Up and Running with Quick LogBox 101 Send your suggestions at https://cfcasts.com/supportConferences and TrainingAdobe ColdFusion Developers WeekJune 22-24, 2021 - OnlineAgenda now on the website - 2 tracks 4 times 7am 9am 12pm 2pm (PT)No podcast on the 22nd due to the Developer WeekCoders, mark your calendars for Adobe ColdFusion Developer Week 2021!Coders, Adobe ColdFusion Developer Week 2021 is edging closer! This year, we've lined up a series of sessions and webinars that will give you a 360-degree view of ColdFusion 2021's brand new features and updates. Right from developing cloud-native applications to reducing downtime, these webinars will let you in on the best tips to deploy applications rapidly and seamlessly.This is your chance to meet coders from across the globe and exchange ideas with some of the best minds in the industry. And that's not all! Your presence at the conference will earn you points that can help you win exciting prizes and vouchers. Our scoreboard will keep track of active participation!Whether you're a new developer, someone with little or no experience with Adobe ColdFusion, or even if you have been using it all your life, Adobe ColdFusion Developers Week 2021 is where you need to be. Don't miss out!https://adobe.vconfex.com/site/adobe-coldfusion-developer-week/977Apple WWDC21 - Glow and behold - this weekJune 7-11The Apple Worldwide Developers Conference is coming to a screen near you, June 7 to 11. Join the worldwide developer community for an all-online program with exciting announcements, sessions, and labs at no cost. You'll get a first look at the latest Apple platforms, tools, and technologies — so you can create your most innovative apps and games yet.Learn about this year's Swift Student Challenge, and stay tuned for additional details.https://developer.apple.com/wwdc21/ Ortus's Conferences for 2021Into the Box - ITB Online or In Person - Survey went out to ask would you be willing to attend in personSeptember 2021Call for speakers coming soon (once we decide online or in person)ITB LatamDecember 2021More conferencesNeed more conferences, this site has a huge list of conferences for almost any language/community.https://confs.tech/ Blogs, Tweets and Videos of the WeekBlog - Jon Clausen - Ortus Solutions - CommandBox Docker v3.4.0 Images ReleasedToday we are pleased to announce the release of version 3.4.0 of our CommandBox Docker images, which bumps the CommandBox binary version to v5.3.1. This release primarily contains optimizations and updates to leverage the new environmental support options available in CommandBox 5.3.0 and above.https://www.ortussolutions.com/blog/commandbox-docker-v340-images-released   Blog - Charlie Arehart - My upcoming talk, "ColdFusion at 25: not the kid most have stuck in their minds"As you may have heard by now, the Adobe CF Developer Week 2021 will be held June 22-24. My session will be on June 22 at 4p Central in Track 2. While currently the DevWeek site only offers session titles and speakers (not descriptions) here is mine, from the "presentations" page here on my site.https://www.carehart.org/blog/client/index.cfm/2021/6/8/my_upcoming_cfdevweek_talk_CF_at_25Blog - Wil De Bruin - A new coldbox app with commandbox: A walk in the park?I want to share some recent experience with you, when I created a new coldbox app. Disclaimer: Actually I would like to improve the first impression when generating a new coldbox app, but I may sound a bit biased. As some of you might know I am not always happy with commandbox, especially with the way it handles lucee in production environments.Most of the time, we are working on some long term projects, but recently I had to setup something new, just some proof of concept. So I created a project, ran some of these box coldbox create app wizards and became the proud owner of a brand new cfml advancedscript template setup. https://shiftinsert.nl/a-new-coldbox-app-with-commandbox-a-walk-in-the-park/ Relevant Docs: https://coldbox.ortusbooks.com/for-newbies/60-minute-quick-startBlog - Charle Arehart - CF DevWeek 2021 agenda now postedWhile we've heard for several weeks about the coming Adobe ColdFusion Developer Week event (June 22-24) since it's announcement here and elsewhere, some great news is that the agenda has now been posted. (The topics have also been trickled out via the Adobe CF twitter account.)You can find all the session topics and their times at the registration site. When you click the “Agenda” menu option, you'll find the 3 days of sessions, in two tracks with about 3-4 sessions per track each day, for a total of 20 sessions.https://coldfusion.adobe.com/2021/06/cf-devweek-2021-agenda-now-posted/ Blog - Wil De Bruin - Module dependencies in interceptorsInterceptors in coldbox are very powerful. They are components which listen to events which are announced by the core framework or modules or custom events created by your application. But this post is not about all details of creating interceptors, you can read all about it in the coldbox documentation. I am using them all the time since they are so powerful, but sometimes they don't behave as expected, especially when your interceptor depends on other modules.https://shiftinsert.nl/module-dependencies-in-interceptors/ Blog - Ben Nadel - Managing Lists Of IDs Using HTML FORM Posts In Lucee CFML 5.3.7.47At InVision, I'm in the middle of building a custom feature for one of our clients. This feature lives outside of any SPA (Single-Page Application); and, uses "old school" form submission techniques to process the interactions. The techniques that I'm using are the same ones that I learned 2 decades ago. And they still work perfectly well! This is a testament to both the HTML specification and the way that ColdFusion simplifies the management of form submission data. And while this feels like "old technology" to me, it occurred to me that there might be little gems in here that newer developers don't know about. As such, I wanted to put together a quick demo on managing lists of IDs using HTML FORM posts in Lucee CFML 5.3.7.47.https://www.bennadel.com/blog/4061-managing-lists-of-ids-using-html-form-posts-in-lucee-cfml-5-3-7-47.htm Blog Adam Cameron - CFML: messing around with mixins (part 1)There was a conversation on the CFML Slack channel the other day about mixing-in functions into objects in CFML. This stemmed from some of the way CFWheels has been architected, such as how the main Controller class is composed:https://blog.adamcameron.me/2021/06/cfml-messing-around-with-mixins-part-1.html Tweet - Brad Wood - New CommandBox Themed shirt on BoxLife storeHey CommandBox users, we've added a cool CommandBox-themed shirt to the BoxLife store that says "Server is Up" to remind you of the magic of starting CF servers!https://www.ortussolutions.com/about-us/shop#!/server+is+up!?idea=60b4a32396e7c070517d5872 #CFML #ColdFusionhttps://twitter.com/bdw429s/status/1400908226854539266 https://twitter.com/bdw429s Blog - Ben Nadel - Changing Function Argument Defaults At Runtime In Lucee CFML 5.3.7.47In the vast, vast majority of cases, when I author a Function in ColdFusion that has default argument values, those values are static. Meaning, the argument falls-back to a hard-coded token like 0 or "" or false. The other day, however, when I was exploring the Password4j password hashing library in Lucee CFML, I created a ColdFusion component that had dynamic Function Argument defaults that could be changed at runtime. To be honest, it felt a little strange at the time. As such, I wanted to isolate the use-case and think-it-through a bit in Lucee CFML 5.3.7.47.https://www.bennadel.com/blog/4060-changing-function-argument-defaults-at-runtime-in-lucee-cfml-5-3-7-47.htm Blog - FusionReactor - Automatic Root Cause Error AnalysisEvent Snapshots are intended to provide deep-level insight whenever a problem, such as an exception or thread latency occurs. Snapshots are triggered automatically. The Event Snapshot provides automatic root cause error analysis by displaying source code, scope variables, stack trace, and logging information at the point the problem occurs. This, therefore, provides everything you need to isolate the issue as quickly and efficiently as possible.https://www.fusion-reactor.com/blog/technical-blogs/automatic-root-cause-error-analysis/ CFML JobsSeveral positions available on https://www.getcfmljobs.com/Listing over 134 ColdFusion positions from 60 companies across 97 locations in 5 Countries since Dec 1st.2 new jobs listed this weekContract - ColdFusion Developer at Middle Town, NJ - United States Posted Jun 04https://www.getcfmljobs.com/jobs/index.cfm/united-states/CFDev-at-NJ-MiddleTow/11281 Full-Time - Coldfusion Developer at Bengaluru, Karnataka - India Posted Jun 01https://www.getcfmljobs.com/jobs/index.cfm/india/Coldfusion-Developer-at-Bengaluru-Karnataka/11280 Ortus - Senior Developer (USA and El Salvaldor)https://www.ortussolutions.com/about-us/careersForgeBox Module of the WeekJSONPrettyPrint Pretty print JSON objects with line breaks and indentation to make it more human readable. If you have an app that writes JSON files that humans need to easily be able to read, run the JSON through this library first. By default, it doesn't modify the data at all-- only the whitespace. It can, however, sort JSON object keys for you if you wish. https://www.forgebox.io/view/JSONPrettyPrint  VS Code Hint Tips and Tricks of the WeekRemote - Containers (Preview) by Microsoft 3,933,782 installsThe Remote - Containers extension lets you use a Docker container as a full-featured development environment. Whether you deploy to containers or not, containers make a great development environment because you can: Develop with a consistent, easily reproducible toolchain on the same operating system you deploy to. Quickly swap between different, separate development environments and safely make updates without worrying about impacting your local machine. Make it easy for new team members / contributors to get up and running in a consistent development environment. Try out new technologies or clone a copy of a code base without impacting your local setup. https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers  Thank you to all of our Patreon SupportersThese individuals are personally supporting our open source initiatives to ensure the great toolings like CommandBox, ForgeBox, ColdBox,  ContentBox, TestBox and all the other boxes keep getting the continuous development they need, and funds the cloud infrastructure at our community relies on like ForgeBox for our Package Management with CommandBox. You can support us on Patreon here https://www.patreon.com/ortussolutions Bronze Packages and up, now get a ForgeBox Pro and CFCasts subscriptions as a perk for their Patreon Subscription. All Patreon supporters have a Profile badge on the Community Website All Patreon supporters have their own Private Forum access on the Community Website Our Patreons  Don Bellamy Eric Hoffman David Belanger Gary Knight Giancarlo Gomez Jonathan Perret Mario Rodrigues Jeffry McGee - Sunstar Media John Wilson - Synaptrix  Yogesh Mathur Joseph Lamoree Ben Nadel Brett DeLine Carl Von Stetten Charlie Arehart Dan Card Daniel Garcia Didier Lesnicki Edgardo Cabezas Jan Jannek Jason Daiger Jeff McClain Jeremy Adams Jonas Eriksson Jordan Clark Kai Koenig Laksma Tirtohadi Leon Seremelis Matthew Darby Matthew Clemente Mingo Hagen Patrick Flynn Ross Phillips Scott Steinbeck Stephany Monge Steven Klotz You can see an up to date list of all sponsors on Ortus Solutions' Websitehttps://ortussolutions.com/about-us/sponsors★ Support this podcast on Patreon ★

Modernize or Die ® Podcast - CFML News Edition
Modernize or Die® - CFML News for June 1st, 2021 - Episode 106

Modernize or Die ® Podcast - CFML News Edition

Play Episode Listen Later Jun 1, 2021 52:08


2021-06-01 Weekly News - Episode 106Watch the video version on YouTube at https://youtu.be/jmA7-rHjomk Hosts: Gavin Pickin - Software Consultant for Ortus SolutionsEric Peterson - Software Consultant for Ortus SolutionsThanks to our Sponsor - Ortus SolutionsThe makers of ColdBox, CommandBox, ForgeBox, TestBox and almost every other Box out there. A few ways  to say thanks back to Ortus Solutions: Like and subscribe to our videos on youtube.  Sign up for a free or paid account on CFCasts, which is releasing new content every week Buy Ortus's new Book - 102 ColdBox HMVC Quick Tips and Tricks on GumRoad (http://gum.co/coldbox-tips) Patreon SupportWe have 36 patreons providing 84% of the funding for our Modernize or Die Podcasts via our Patreon site: https://www.patreon.com/ortussolutions. If you love our podcasts and all we do for the #coldfusion #cfml community considers chipping in, we are almost there!https://www.ortussolutions.com/blog/we-need-your-help News and EventsLucee 5.3.8.179-RC4 (Final Release Candidate) ReleasedThis will be the Final RC before STABLE, available via your admin or via https://download.lucee.org/There are some improvements for MS SQL users since RC3. There is currently a problem with MS SQL extensions not being available for download, including 7.22, apologies, this will be fixed tomorrow.https://dev.lucee.org/t/lucee-5-3-8-179-rc4-final-release-candidate/8400 Adobe leaking Dev Week Sessions on TwitterAdobe has not added sessions to the Dev Week site yet, but Adobe is tweeting promos with the Session Name, Speaker, date and time on Twitter.https://twitter.com/coldfusionOnline CF Meetup - Getting Started with FusionReactor, with Brad WoodThursday Jun 3rd at 12pm US Eastern Time, UTC-4.New to FusionReactor? Perhaps you have a license but aren't sure how to tap into the features? We'll cover the basics of using FR to profile code, view your running and recent requests, and how to tell what is making a request slow. We'll cover tracking JDBC requests, HTTPS calls, and using the Profiler feature. There are many more features in FR, but we'll cover enough to get you started.https://www.meetup.com/coldfusionmeetup/events/278404050/ Ortus Webinar for June - Eric Peterson - Topic - Build a Blog in 30 minutes with QuickWebinars Page: https://www.ortussolutions.com/events/webinars Registration: coming soonICYMI TestBox v4.3 Released!We are excited to announce a new minor version release of TestBox version 4.3.x. To install just use CommandBox: install testbox --saveDev or to update your TestBox installation update testbox.This update includes several cool new features and improvements that will delight your testing life! For example, we have integrated your favorite code editors to the simple reporter so you can now open the line of code that failed your test or created and exception!https://www.ortussolutions.com/blog/testbox-v43-released  Reminder - State of the CF Union SurveyHelp us find out the state of the CF Union – what versions of CFML Engine do people use, what frameworks, tools etc. We will share the summary results with everyone who completes the survey so that you can see how you compare with other CF developers.Spread the news so we can get as many responses as possible.https://teratech.com/state-of-the-cf-union-2021-survey CFCasts Content Updateshttp://www.cfcasts.com New features alert

Modernize or Die ® Podcast - CFML News Edition
Modernize or Die® - CFML News for May 25th, 2021 - Episode 105

Modernize or Die ® Podcast - CFML News Edition

Play Episode Listen Later May 25, 2021 76:38


2021-05-25 Weekly News - Episode 105Watch the video version on YouTube at https://youtu.be/cwD6BFdhR0M Hosts: Gavin Pickin - Software Consultant for Ortus SolutionsBrad Wood - Software Consultant for Ortus SolutionsThanks to our Sponsor - Ortus SolutionsThe makers of ColdBox, CommandBox, ForgeBox, TestBox and almost every other Box out there. A few ways  to say thanks back to Ortus Solutions: Like and subscribe to our videos on youtube.  Sign up for a free or paid account on CFCasts, which is releasing new content every week Buy Ortus’s new Book - 102 ColdBox HMVC Quick Tips and Tricks on GumRoad (http://gum.co/coldbox-tips) Patreon SupportWe have 36 patreons providing 83% of the funding for our Modernize or Die Podcasts via our Patreon site: https://www.patreon.com/ortussolutions. If you love our podcasts and all we do for the #coldfusion #cfml community considers chipping in, we are almost there!https://www.ortussolutions.com/blog/we-need-your-help News and EventsTestBox v4.3 Released!We are excited to announce a new minor version release of TestBox version 4.3.x. To install just use CommandBox: install testbox --saveDev or to update your TestBox installation update testbox.This update includes several cool new features and improvements that will delight your testing life! For example, we have integrated your favorite code editors to the simple reporter so you can now open the line of code that failed your test or created and exception!https://www.ortussolutions.com/blog/testbox-v43-released  Java 16 is out - It doesn’t play nice with ColdFusion (ACF and LUCEE)PSA: Java 16 is out, but DO NOT try to run it as it has broken both Lucee Server and Adobe ColdFusionhttps://luceeserver.atlassian.net/browse/LDEV-3526 https://tracker.adobe.com/#/view/CF-4211844 Oracle has started making good on their deprecation threats regarding illegal reflective access. #CFML #ColdFusionhttps://twitter.com/bdw429s/status/1395432704846536711 Online CF Meetup - Getting Started with FusionReactor, with Brad WoodThursday Jun 3rd at 12pm US Eastern Time, UTC-4.New to FusionReactor? Perhaps you have a license but aren't sure how to tap into the features? We'll cover the basics of using FR to profile code, view your running and recent requests, and how to tell what is making a request slow. We'll cover tracking JDBC requests, HTTPS calls, and using the Profiler feature. There are many more features in FR, but we'll cover enough to get you started.https://www.meetup.com/coldfusionmeetup/events/278404050/ ICYMI - Adobe Webinar Series - API Creation and ManagementNext Webinar:  5/24/21ColdFusion Developers, do you want a first hand look at publishing APIs securely and at scale? Then mark your calendars for Brian Sappey’s upcoming webinars! This seven-part series will give you a 360 degree view of the API Manager and teach you how to build RESTful APIs with Adobe ColdFusion. Everything from securing, publishing and monitoring APIs, will be covered with hands-on examples, and easy discussions.Dates: 3/24/21, 3/25/21, 4/28/21, 4/29/31, 5/12/21, 5/13/21, 5/24/21Information: https://coldfusion.adobe.com/2021/03/webinar-series-api-creation-management/ Recordings: https://t.co/ZQc637BSkv (2 videos posted)ICYMI - Ortus Webinar for May - What's new in CommandBox 5.3 with Brad WoodFriday, May 21st at 11:00 AM CTCome learn with Brad Wood about all the new features and tricks in the newest CommandBox releases, including versions 5.1.0, 5.2.0, and 5.3.0.Recording: https://cfcasts.com/series/webinars-2021/videos/brad-wood-on-what's-new-with-commandbox-5.3 Webinar Page: https://www.ortussolutions.com/events/webinars CFCasts Content Updateshttp://www.cfcasts.com New features alert

Modernize or Die ® Podcast - CFML News Edition
Modernize or Die® - CFML News for May 11th, 2021 - Episode 103

Modernize or Die ® Podcast - CFML News Edition

Play Episode Listen Later May 11, 2021 69:53


2021-05-11 Weekly News - Episode 103Watch the video version on YouTube at https://youtu.be/ktGWQa_OUA4 Hosts: Gavin Pickin - Software Consultant for Ortus SolutionsBrad Wood - Software Consultant for Ortus SolutionsThanks to our Sponsor - Ortus SolutionsThe makers of ColdBox, CommandBox, ForgeBox, TestBox and almost every other Box out there. A few ways  to say thanks back to Ortus Solutions:- Like and subscribe to our videos on youtube. - Sign up for a free or paid account on CFCasts, which is releasing new content every week- Buy Ortus’s new Book - 102 ColdBox HMVC Quick Tips and Tricks on GumRoad (http://gum.co/coldbox-tips)Patreon SupportWe have 37 patreons providing 84% of the funding for our Modernize or Die Podcasts via our Patreon site: https://www.patreon.com/ortussolutions. If you love our podcasts and all we do for the #coldfusion #cfml community considers chipping in, we are almost there!https://www.ortussolutions.com/blog/we-need-your-help News and EventsAdobe ColdFusion Projects page is now liveWe have just launched the Projects page on our Community portal to enable our developers to find some examples to help them get started quicker in their Projects. All these Projects are free to download and to reuse. Please feel free to reuse the Projects or part of the Project.https://coldfusion.adobe.com/2021/05/adobe-coldfusion-projects-page-now-live/ ICYMI - VS Code Release partyRelease party happened May 11th, at 8am PSTLive event and Q&A with the VS Code team to discuss highlights from the March 2021, 1.55 release.https://docs.microsoft.com/en-us/learn/tv/?WT.mc_id=devcloud-18509-cxa Meetup: https://www.meetup.com/global-visual-studio-code-meetup-group/ ICYMI - CommandBox 5.3.0 ReleasedUPDATE: 5.3.1 update coming shortly for Web Aliases and Relative paths.We are pleased to announce the general availability of our latest CommandBox CLI release. This is a minor release that's full of bug fixes and enhancements.  It should be backwards compatible (with one caveat below) and you can upgrade any previous version of CommandBox in-place to the latest release.https://www.ortussolutions.com/blog/commandbox-530-releasedICYMI - Bintray decommissioning - Adobe Docker image updateOn May 1, 2021, all Bintray services will be deprecated, and your accounts will be disabled. For more information, see the official Bintray blog. This means that the ColdFusion, Performance Monitoring Toolset, and API Manager containers for the versions 2016/2018/2021 will no longer be accessible. This may lead to interruption in your automation scripts and other CI/CD pipelines.We have moved all the containers to ColdFusion downloads. You’ll load the tar file in Docker and then run ColdFusion or the other tools.https://coldfusion.adobe.com/2021/04/bintray-decommissioning/FusionReactor Webinar - Reach for the Clouds with FusionReactorMay 12, 2021 05:00 PM in Amsterdam, Berlin, Rome, Stockholm, Vienna8am PST, 10am CSTFusionReactor APM has been available as a cloud-based or SaaS solution for a few years now. This webinar will reveal what additional capabilities and benefits this platform has to offer (on top of everything which FusionReactor on-premise provides). We will also answer questions about licensing, data retention and technical aspects of expanding to the cloud.https://us02web.zoom.us/webinar/register/4516197692493/WN__nI6dnlmRB6jafaKZmA_QAICYMI - Adobe’s ColdFusion Certification price dropsAdobe Certified Professional: Adobe ColdFusion is an industry-leading certification program from Adobe, for Adobe ColdFusion developers. The course consists of 50+ online videos and is designed for professionals who have basic to advanced level proficiency in any computer language and basic understanding of how web pages work. Successfully passing an assessment test at the end of the program will reward participants with a badge and certificate from Adobe. Only $149https://www.adobe.com/products/coldfusion-family/certificate.html ICYMI - Adobe Webinar- Building modern web apps with ContentBox Modular CMS with Luis MajanoMay 5, 2021 - 12 PM ET ContentBox is a professional open source modular content management system powered by ColdBox HMVC and ColdFusion.  In this session, we will get an overview of this CMS platform and how you can leverage to not only deliver content based applications, but any modern web application thanks to its powerful headless API and ColdBox services.https://cfwebinar-modularcms.meetus.adobeevents.com/ No recording yetAdobe Webinar Series - API Creation and ManagementNext Webinar:  5/12/21ColdFusion Developers, do you want a first hand look at publishing APIs securely and at scale? Then mark your calendars for Brian Sappey’s upcoming webinars! This seven-part series will give you a 360 degree view of the API Manager and teach you how to build RESTful APIs with Adobe ColdFusion. Everything from securing, publishing and monitoring APIs, will be covered with hands-on examples, and easy discussions.Dates: 3/24/21, 3/25/21, 4/28/21, 4/29/31, 5/12/21, 5/13/21, 5/24/21Information: https://coldfusion.adobe.com/2021/03/webinar-series-api-creation-management/ Registration: https://coldfusion-api-management-solution.meetus.adobeevents.com/?fbclid=IwAR2q7aEI9u1ibBKrneeDvAhKWWW7V78bB_P1rTzWAh8x4e20q68gXLeMVrMRecordings: https://t.co/ZQc637BSkv Ortus Webinar for May - What's new in CommandBox 5.3 with Brad WoodFriday, May 21st at 11:00 AM CTCome learn with Brad Wood about all the new features and tricks in the newest CommandBox releases, including versions 5.1.0, 5.2.0, and 5.3.0.Register: https://us02web.zoom.us/meeting/register/tZ0kdeytrTMrHdW9ahnIZvSQJdRZalO7yeBn Webinar Page: https://www.ortussolutions.com/events/webinarsCFCasts Content Updateshttp://www.cfcasts.com Just Released- Object-Oriented Programming with Nolan Erck (https://cfcasts.com/series/oop-series)    - Constructors and Pseudo-Constructors    - Object Properties: Accessors and Visibility Types    - Methods : Definitions, Scopes (public vs private (vs protected) package vs static vs remote) Don't forget - the first 4 videos from last week in this series were FREEComing this week- Object-Oriented Programming with Nolan Erck (https://cfcasts.com/series/oop-series)    - Var Scoping    - Static Properties and Methods    - Encapsulation and CohesionComing up soon- More CommandBox Zero to Hero- More What’s new with ColdBox 6- Up and Running with Quick- LogBox 101- Using DocBoxSend your suggestions at https://cfcasts.com/supportConferences and TrainingAdobe ColdFusion Developers WeekJune 22-24, 2021 - OnlineCoders, mark your calendars for Adobe ColdFusion Developer Week 2021!Coders, Adobe ColdFusion Developer Week 2021 is edging closer! This year, we’ve lined up a series of sessions and webinars that will give you a 360-degree view of ColdFusion 2021’s brand new features and updates. Right from developing cloud-native applications to reducing downtime, these webinars will let you in on the best tips to deploy applications rapidly and seamlessly.This is your chance to meet coders from across the globe and exchange ideas with some of the best minds in the industry. And that’s not all! Your presence at the conference will earn you points that can help you win exciting prizes and vouchers. Our scoreboard will keep track of active participation!Whether you’re a new developer, someone with little or no experience with Adobe ColdFusion, or even if you have been using it all your life, Adobe ColdFusion Developers Week 2021 is where you need to be. Don’t miss out!https://adobe.vconfex.com/site/adobe-coldfusion-developer-week/977AWS Summit Online - Americas THIS WEEKMay 12-13Online and Free AWS Summit Online is designed for developers and IT professionals looking to learn how to build and innovate at scale using AWS Cloud. Hear the very latest from AWS executives, attend breakout sessions featuring customer stories, and engage with AWS experts to get your questions answered. Enhance your skills with hands-on labs and workshops, learn from inspiring demos, and discover what AWS and our Partner Solutions can do for your business.This free online conference is designed to educate you about AWS services; and help you design, deploy, and operate infrastructure and applications.https://aws.amazon.com/events/summits/online/americas/ Google I/OMay 18-20 - Online and Free for EveryoneConnect with developers from around the world at this year's virtual Google I/O for thoughtful discussions, hands-on learning with Google experts, and a first look at our latest developer products.https://events.google.com/io/ MS BuildMay 25-27Learn. Connect. Code. Explore what’s next in tech and the future of hybrid work. Find solutions, sharpen skills, and find what you can add to your toolbox at this year’s event.https://mybuild.microsoft.com/home DockerConMay 27th 2021DockerCon 2021 is a free, one-day virtual event that is a unique experience for developers and development teams who are building the next generation of modern applications. If you want to learn about how to go from code to cloud fast and how to solve your development challenges, DockerCon 2021 offers engaging live content to help you build, share and run your applications.Call for Speakers open until Midnight April 1sthttps://www.docker.com/dockercon-live/2021 Apple WWDC21 - Glow and beholdJune 7-11The Apple Worldwide Developers Conference is coming to a screen near you, June 7 to 11. Join the worldwide developer community for an all-online program with exciting announcements, sessions, and labs at no cost. You’ll get a first look at the latest Apple platforms, tools, and technologies — so you can create your most innovative apps and games yet.Learn about this year’s Swift Student Challenge, and stay tuned for additional details.https://developer.apple.com/wwdc21/ Ortus’s Possible Conferences for 2021Due to Online conference overload, we are thinking about not expanding the number of events, but more content in more timezones with a different format.ITB - Developer Week Style?? - (please be in-person!!!)With some European Timezone Friendly slots from our European Community MembersSeptember 2021Call for speakers coming soonITB LatamDecember 2021More conferencesNeed more conferences, this site has a huge list of conferences for almost any language/community.https://confs.tech/Blogs, Tweets and Videos of the WeekBlog - Pete Freitag - Java versions supporting TLS 1.3What versions of Java support TLSv1.3 / TLS 1.3?https://www.petefreitag.com/item/918.cfm Video - FusionReactor - FusionReactor DashboardsIn this blog, we are going to cover the dashboards available in FusionReactor.https://www.fusion-reactor.com/blog/technical-blogs/fusionreactor-dashboardsBlog - Ben Nadel - Creating Page-Breaks In CFDocument Without Using CFDocumentItem In Lucee CFML 5.3.7.47The other day, I was experimenting with the SrcFile attribute on the CFDocument tag as a means to pre-generate the HTML source for a PDF. Normally, when generating a PDF, I would just inline the CFML code inside the CFDocument tag-body; and, I'd use the CFDocumentItem tag with type="pagebreak" to create page-breaks. Which begs the question: if I'm using an externalized HTML source file, how do I create page-breaks? It turns out, since the CFDocument tag supports some CSS, we can use the page-break-before property to generate page-breaks without the CFDocumentItem tag in Lucee CFML 5.3.7.47.https://www.bennadel.com/blog/4045-creating-page-breaks-in-cfdocument-without-using-cfdocumentitem-in-lucee-cfml-5-3-7-47.htm Blog - Ben Nadel - CFSaveContent Trim And Append Attributes In Lucee CFML 5.3.7.47The other day on the Lucee Dev forum, I proposed that we add a file attribute to the CFSaveContent tag in Lucee CFML. And, as I was writing that proposal, I pulled up the docs page for the CFSaveContent tag; which is when I was surprised to see that Lucee actually offers two additional attributes on that tag: trim and append. I had no idea that these existed. So, I wanted to put together a quick demo (for myself) in Lucee CFML 5.3.7.47.https://www.bennadel.com/blog/4044-cfsavecontent-trim-and-append-attributes-in-lucee-cfml-5-3-7-47.htm Blog - Adam Cameron - Setting up a MariaDB JDBC datasource in ColdFusion 2021 in Application.cfcThis is how I needed to set my datasource in Application.cfc to get ColdFusion 2021 to connect to MariaDB. I'm writing this because I could not - for the life of me - find this information in any one place in the docs. Nor could I find it anywhere else via Google. I have pieced this together from various sources (including Lucee docs, which were more helpful than the Adobe ColdFusion documentation), and want to put it in one place for my own future reference, or should anyone else need to know how to set up a MariaDB datasouce in ColdFusion using their JDBC driver. The params should also work for any other JDBC datasource.https://blog.adamcameron.me/2021/05/setting-up-mariadb-jdbc-datasource-in.html Blog - Ray Camden - Updating (and Supporting) URL Parameters with Vue.jsToday's article is something that's been kicking around in my head for a few months now, and seeing a recent article (Update URL query parameters as you type in the input using JavaScript) encouraged me to finally get around to writing it. The basic idea is to make it easier for a person to share or bookmark the current state of an application. Let's start with a basic example.https://www.raymondcamden.com/2021/05/08/updating-and-supporting-url-parameters-with-vuejs Blog - Ben Nadel - Collecting HTML Class Name Attributes In Template Rendering In Lucee CFML 5.3.7.47The other day, I was updating a CFML template to include some conditional CSS class names in an ordered list. And, by the time I was done, the CFML looked a hot mess with several ternary operators all being interpolated into one class="" attribute. And, as I sat there, wallowing in the shame of such ugly looking code, it hit me like a bolt of lightening: Angular already solved this problem so elegantly with the NgClass directive that applies dynamic class names based on a set of conditionals. The same exactly thing should be quite doable in Lucee CFML 5.3.7.47.https://www.bennadel.com/blog/4043-collecting-html-class-name-attributes-in-template-rendering-in-lucee-cfml-5-3-7-47.htm Blog - Ben Nadel - Using Both SrcFile And CFDocumentItem In The Same CFDocument Tag In Lucee CFML 5.3.7.47At InVision, we generate a surprising number of PDF documents. For the most part, the CFDocument tag in Lucee CFML just works. But, sometimes, PDF generation eats-up all the RAM and an OOM (Out of Memory) error is thrown. As such, I'm always on the lookout for ways to tweak the PDF generation process to see if I can consume fewer resources. One idea that I had was to pre-generate the HTML file instead of just rendering the HTML content within the CFDocument tag-body. But, I wasn't sure if I could combine the concept of the srcfile attribute with the child-tag, CFDocumentItem. As such, I wanted to try it out in Lucee CFML 5.3.7.47.https://www.bennadel.com/blog/4042-using-both-srcfile-and-cfdocumentitem-in-the-same-cfdocument-tag-in-lucee-cfml-5-3-7-47.htm Blog - Ben Nadel - Validating And Documenting Complex Object Structures With CFParam In Lucee CFML 5.3.7.47At InVision, we generate our transactional emails by including a CFML template into a buffer; and then, using that buffer as the body attribute of a CFMail tag. And, since the definition of that template feels somewhat "far away" from the context in which it is being consumed, I've gotten into the habit of parameterizing the template variables using CFParam tags. This way, it's intensely obvious which variables are being used in the template; and, if I accidentally forget to define a variable during refactoring, the template will blow-up when I go to test it. Part of what makes this easy to do is the fact that the CFParam tag can validate complex object structures. I don't often use it this way, so I thought it would be interesting to share in Lucee CFML 5.3.7.47.https://www.bennadel.com/blog/4041-validating-and-documenting-complex-object-structures-with-cfparam-in-lucee-cfml-5-3-7-47.htm Blog - Charlie Arehart - Adobe CF certification now only US$149, including many hours of trainingIf you may not have heard the news or noticed it on the Adobe CF Certification page, the price is now listed as only US$149.https://coldfusion.adobe.com/2021/05/adobe-cf-certification-now-us149-including-many-hours-training/ CFML JobsSeveral positions available on https://www.getcfmljobs.com/Listing over 120 ColdFusion positions from 52 companies across 90 locations in 5 Countries since Dec 1st.Full-Time - Coldfusion/SUNCORP INSURANCE at Sydney NSW - Australia Posted May 11https://www.getcfmljobs.com/jobs/index.cfm/australia/ColdfusionSUNCORP-INSURANCE-at-Sydney-NSW/11267 Full-Time - Coldfusion Developer at Vancouver, BC - Canada Posted May 08https://www.getcfmljobs.com/jobs/index.cfm/canada/Coldfusion-Developer-at-Vancouver-BC/11266 Full-Time - Coldfusion at Bengaluru, Karnataka - India Posted May 07https://www.getcfmljobs.com/jobs/index.cfm/india/Coldfusion-at-Bengaluru-Karnataka/11265 Full-Time - ColdFusion Developer (Secret clearance) at Chantilly, VA - United States Posted May 05https://www.getcfmljobs.com/jobs/index.cfm/united-states/ColdFusion-Developer-Secret-clearance-at-Chantilly-VA/11256 ForgeBox Module of the WeekFacebook Conversions - CFML by Matthew ClementeA CFML wrapper for the Facebook Conversions API. Record Facebook conversions using their Server-Side API.The CFC only has one method, used to send events to Facebook. Here's how you use it, along with the helper component for building eventshttps://www.forgebox.io/view/fbccfml VS Code Hint Tips and Tricks of the WeekHTML accented character converterVSCode extension for quick replacements of accented characters into html entities.This extension adds a command to Visual Studio Code to replace some special characters into html entities. The command will appear in your command palette as Replace special characters with Html entities. Recommended by James Moberghttps://marketplace.visualstudio.com/items?itemName=enriquein.htmlentity-replacer Thank you to all of our Patreon SupportersWil De Bruin (bru-hein) is our latest Patreon Supporterhttps://forvo.com/word/bruin/#nl These individuals are personally supporting our open source initiatives to ensure the great toolings like CommandBox, ForgeBox, ColdBox,  ContentBox, TestBox and all the other boxes keep getting the continuous development they need, and funds the cloud infrastructure at our community relies on like ForgeBox for our Package Management with CommandBox. You can support us on Patreon here https://www.patreon.com/ortussolutions- Bronze Packages and up, now get a ForgeBox Pro and CFCasts subscriptions as a perk for their Patreon Subscription.- All Patreon supporters have a Profile badge on the Community Website- All Patreon supporters have their own Private Forum access on the Community WebsiteDon BellamyEric HoffmanDavid BelangerGary KnightGiancarlo GomezJonathan PerretMario RodriguesJeffry McGee - Sunstar MediaJohn Wilson - Synaptrix Yogesh MathurJoseph LamoreeBen NadelBrett DeLineCarl Von StettenCharlie ArehartDan CardDaniel GarciaDidier LesnickiEdgardo CabezasJan JannekJason DaigerJeff McClainJeremy AdamsJonas ErikssonJordan ClarkKai KoenigLaksma TirtohadiLeon SeremelisMatthew DarbyMatthew ClementeMingo HagenPatrick FlynnRoss PhillipsScott SteinbeckStephany MongeSteven KlotzWil de Bruin  (bru-hin)You can see an up to date list of all sponsors on Ortus Solutions' Websitehttps://ortussolutions.com/about-us/sponsors ★ Support this podcast on Patreon ★

airhacks.fm podcast with adam bien
Java Persistence: From DB over JDBC to Transactions

airhacks.fm podcast with adam bien

Play Episode Listen Later Dec 6, 2020 72:14


An airhacks.fm conversation with Vlad Mihalcea (@vlad_mihalcea) about: accessing database from Java, the four Java Database Connectivity (JDBC) driver levels, JDBC-ODBC bridge, native JDBC driver via Java Native Interface (JNI), JDBC middleware driver, the JDBC thin driver, the CloudscapeDB, the JDBC Driver initialization sequence, physical va. logical connections, connection pools and HikariCP, p6spy - the JDBC pool decorator, JDBC made databases more portable, evaluating project's age by the version of JDBC driven in Apache Maven's POM, statement caching, execution plan reuse, table scanning and index, execution plan is binding parameter dependent, PreparedStatements are not always preparing the statement, keeping connection timeout short, the JDBC "isValid" method, client side metadata caching, JDBC SQL statement compression, JDBC network data compression with Oracle, and MySQL, SSL encryption and fault tolerance, JDBC and transaction routing, primary and secondary node selection on the JDBC level, MySQL fault tolerance and fail over: Java EE, Jakarta EE, Helidon and quarkus programming models, GraalVM vs. Java / JVM mode, the Hibernate Types project, dependency reduction and ThinWARs, backward compatibility on NeXT generation runtimes, JDBC and auto-commit on, JDBC and Isolation Levels, disabling transactions and auto-commit mode, BASE vs. ACID, the trend to more correctness and consistency, SAGAs, compensative transactions, and the MiB flashlight, strict serialiazablity, read committed isolation level and data drift, isolation levels anomalies, serializable vs. snapshot isolation, the "High-Performance Java Persistence" book, the Hypersistence Optimizer, flexy pool, Vlad Mihalcea on twitter: @vlad_mihalcea

A Bootiful Podcast
Spring legend Thomas Risberg on JDBC, Spring Cloud Data Flow, Kubernetes and so much more

A Bootiful Podcast

Play Episode Listen Later Nov 5, 2020 72:29


Hi, Spring fans! In this episode Josh talks to Spring legend [Thomas Risberg (@trisberg)](http://twitter.com/trisberg).

airhacks.fm podcast with adam bien
High-Performance Java Persistence and Cloud Native QBasic

airhacks.fm podcast with adam bien

Play Episode Listen Later Sep 27, 2020 56:04


An airhacks.fm conversation with Vlad Mihalcea (@vlad_mihalcea) about: the romanian HC computer, running QBasic on HC, GOTO 30 and typing programs from a book, designing 8 by 8 images, building the first video game with 11-12 years, the spider is walking, learning turbo pascal at high school, mathematics and physics at high school, studying telecommunications in bucharest and Cluj, Technical University of Cluj-Napoca, the beautiful city of Brasov Palm Pilot, the unstructured Java programming classes, the object oriented programming excitement, "Thinking in Java" book by Bruce Eckel, Chomsky Hierarchy, Information Theory by Shannon, starting with Java 1.3 / 1.4, starting at www.artsoft-consult.ro, full stack Java developer in 2005, developing fourier tranformation in JavaScript, fft.js, participating in math olympics, Sun Certified Java Programmer, starting a blog and becoming freelancer in 2013, the "High-Performance Java Persistence", working as developer advocate for RedHat with focus on Hibernate, using NHIbernate in diploma, JDBC, JPA and jooq, High-Performance SQL, the Hypersistence Optimizer, Hibernate Types, airhacks.tv and the JDBC pool question, flexy pool, the proper size of connection pool is hard to estimate, moving away from consulting - or trading time for money, Vlad Mihalcea on twitter: @vlad_mihalcea

javaswag
#13 - Сергей Цыпанов - Производительные строки и Хибернейтный Спринг Type episode Kind page

javaswag

Play Episode Listen Later Sep 9, 2020 90:53


В 13 выпуске подкаста Javaswag поговорили с Сергеем Цыпановым о производительности строк, Спринге и Хибернейте. 00:01:17 О себе 00:02:35 Как начал заниматься производительностью? 00:06:59 Что делать когда приходят люди и говорят “у нас проблема”? 00:09:05 Нужен ли выделенный перфоманс инженер? 00:14:42 Патчи в OpenJDK 00:23:19 Project Skara 00:26:19 Баги при работе со строками 00:31:35 В 2к20 FindBugs, SonarQube, Intellij IDEA must have 00:32:42 Доклад на JPoint 00:37:45 Spring и производительность 00:39:55 Можно ли на Спринге написать производительное приложение? 00:47:15 Модули спринга 00:48:19 Spring Data JPA чем так хороши? 00:53:43 Можно ли использовать Spring Data без Hibernate? 01:58:48 Сложность конфигурирования Hibernate 01:02:48 Когда использовать Hibernate а когда JDBC? 01:07:12 Информационный пузырь Спринга 01:09:11 Есть ли конкурент спринга? 01:11:26 Есть будущее у Котлина в разработке бекендов? 01:12:25 Хибернейт и реактивщина 01:13:50 Стоит ли изучать Спринг и Хибернейт начинающему разработчику? 01:14:51 Архитектура проекта 01:18:33 CI/CD/CodeReview 01:20:44 Сервис Дискавери 01:24:31 Тестирование Гость - https://habr.com/users/tsypanov/ Телеграм канал подкаста t.me/javaswag Чат t.me/javaswag_chat

airhacks.fm podcast with adam bien
25 Years of Java: JDK 1.0 to JDK 1.1

airhacks.fm podcast with adam bien

Play Episode Listen Later Aug 22, 2020 61:56


An airhacks.fm conversation with Wolfgang Weigend (@wolflook) about: JDK 1.0 and applets, the great "hello, world" main, the fake portability, the Mosaic browser was the break through, the HP-UX workstations, applets and the grey rectangle, the duke artist Java's AppletViewer, AWT event model in JDK 1.0, JDK 1.1 with JDBC, RMI was the baseline for application servers, the great JDBC debate, ODBC-JDBC bridge, JDBC type-2 driver, building chats with Java's Remote Method Invocation (RMI), rmic for stub and skeleton generation, rmic vs. grpc, don't forget your history, the history reset, JDK 1.1 introduced inner classes, RMI was not optimized, T3 RMI came with 10 times higher performance, building logistics enterprise applications with JDK 1.1, refactoring of AWT event model in JDK 1.1, JavaBeans and Sun's BeanBox, getters / setters - the reminder of "visual programming", Sun Java Studio, Sun Microsystems trainings, the disappointed student--Enterprise Java Beans are not Java Beans, the unfortunate Enterprise Java Beans and Java Beans naming, Java's introspection vs. reflection, AWT was crucial for Java's success, JDK 1.1 was tiny, the size of Java, using serialized JavaBeans for configuration purposes, unexpected business case with connection pooling, from client server and dedicated connections to middleware and connection pooling, form dedicated to technical user, watching Java from C-perspective, the Systems Conference with huge Java interests, you could use JDK 1.1 for a lot of projects, Java was a game changer, "Karl Klammer" is "Clippy", problematic, distributed garbage collection with RMI, the CORBA vs. RMI battle, the NetDynamics application server, the application servers took over CORBA, parallelisation with Java Collection, pass by value vs. pass by reference with CORBA, RMI over IIOP, IONA's ORBIX vs. Visigenics Visibroker battles, Visual Age For Java and IBM's San Francisco Framework, Symantec Visual Cafe for Java, JBuilder Professional and Enterprise, Java Studio Workshop and Java Studio Creator, Metrowerks Code Warrior for Java, Eclipse and NetBeans, Programmers Paradise, Eclipse killed JBuilder, the JGoodies library, JBCL foundation classes, Wolfgang Weigend on twitter: @wolflook

The Stack Overflow Podcast
25 Years of Java - the present to the future

The Stack Overflow Podcast

Play Episode Listen Later Jul 30, 2020 19:20


For this episode we spoke again with Georges Saab, Vice President of Software Development at the Java Platform Group and Manish Gupta, Vice President of Global Marketing for Java and GraalVM. The very first feature that made a massive impact wasn’t a change in the Java language at all. It was the vastly improved library support that happened in the early releases. Between 1.0 and 1.3, these libraries included the Swing window toolkit, the Collections framework, a RPC-like API for remote calls, JDBC for interacting with databases, and more. The standard libraries grew richer, more sophisticated, and allowed Java to become a real enterprise language. In 2004, Java added generics, which allowed types, methods, and interfaces to be specified with the associated data types to be specified when that item was instantiated without sacrificing type safety. “At the time, generics were a challenge and people had strong opinions about them,” said Saab. Today, generics are one of the enduring features of the language. Java may have been designed as a completely object oriented language, but when Java SE 8 was released in 2014, it added Lamda expressions (aka closures), which added some functional programming elements. Not every problem is best served by OOP, and by adding Lambdas, Java became more flexible. Despite its prominence across numerous industries, Java isn’t sitting still. Saab mentioned four big projects coming to Java that had him excited, all designated by codenames: Loom, Valhalla, Leyden, and ZGC. You can read all about them on our blog.If you want to learn more, Oracle has put together a wealth of resources to celebrate Java's 25th anniversary.

The Stack Overflow Podcast
25 Years of Java - the present to the future

The Stack Overflow Podcast

Play Episode Listen Later Jul 30, 2020 19:20


For this episode we spoke again with Georges Saab, Vice President of Software Development at the Java Platform Group and Manish Gupta, Vice President of Global Marketing for Java and GraalVM. The very first feature that made a massive impact wasn't a change in the Java language at all. It was the vastly improved library support that happened in the early releases. Between 1.0 and 1.3, these libraries included the Swing window toolkit, the Collections framework, a RPC-like API for remote calls, JDBC for interacting with databases, and more. The standard libraries grew richer, more sophisticated, and allowed Java to become a real enterprise language. In 2004, Java added generics, which allowed types, methods, and interfaces to be specified with the associated data types to be specified when that item was instantiated without sacrificing type safety. “At the time, generics were a challenge and people had strong opinions about them,” said Saab. Today, generics are one of the enduring features of the language. Java may have been designed as a completely object oriented language, but when Java SE 8 was released in 2014, it added Lamda expressions (aka closures), which added some functional programming elements. Not every problem is best served by OOP, and by adding Lambdas, Java became more flexible. Despite its prominence across numerous industries, Java isn't sitting still. Saab mentioned four big projects coming to Java that had him excited, all designated by codenames: Loom, Valhalla, Leyden, and ZGC. You can read all about them on our blog.If you want to learn more, Oracle has put together a wealth of resources to celebrate Java's 25th anniversary.

airhacks.fm podcast with adam bien
The Lightguard and the Quarkus Cookbook

airhacks.fm podcast with adam bien

Play Episode Listen Later Jul 19, 2020 69:24


An airhacks.fm conversation with Jason Porter (@lightguardjp) about: From old 8086 in the late 80-ties, to a Pentium, old GW-BASIC games like snake and gorillas, finding game source by accident, learning Java in 21 days - with a book, fascination with Java Applets, learning C++ at middle school, writing C code with Metrowerks CodeWarrior, learning pointers with 14, building OCR in C at high school, Pearl and PHP before Neumont University, contributing to FlySpray the bugtracker, building inventory application with C# and WinForms, building a scrapbook with full-text search in 10 weeks, accessing lucene from C#, first Java project for the State of Utah with JBoss Portal, a JDBC wrapper around LDAP, building a client library to wrap SOAP, curiosity about Java EE 5, creating student portfolios with Java EE 5, EJB 3, JSF and GlassFish, commercial support was available from Sun Microsystems for Glassfish, there was a lag between JBoss and WildFly versions, working with ATG dynamo for oc tanner, accelerating ETL and data validation with Java EE 5 and JMS, increasing performance with JBoss from a day to one and half hour, joining the Seam Team at RedHat, Seam Solder became Apache Delta Spike, DeltaSpike became the groundwork for e.g. MicroProfile Config, Injection, Outjection and Bijection, from Java to Ruby, from Ruby to Drupal, form Drupal back to Java and Quarkus, asciidoc is like markdown, but better, contributing to Quarkus, joining forces with Alex Soto for Quarkus Cookbook, Kubernetes operators with Quarkus, why lightguard (@lightguardjp)?, Jason Porter on twitter: @lightguardjp and linkedin

Les Cast Codeurs Podcast
LCC 236 - Azimov et le cycle fondation

Les Cast Codeurs Podcast

Play Episode Listen Later Jul 17, 2020 78:12


Dans cet épisode, Vincent, Antonio et Guillaume discutent du décès de l’architecte de Java EE, d’AdoptOpenJDK, de Micronaut, de Istio qui bougent dans des fondations, du papa de Micronaut qui va chez Oracle et bien d’autres sujets encore. Enregistré le 10 juillet 2020 Téléchargement de l’épisode LesCastCodeurs-Episode–236.mp3 News Bill Shannon l’architecte de Java EE est mort. Il a été le gardien de Java EE aussi longtemps que j’ai connu l’api. Tu aimes ou pas mais tous les backends Java utilisent une ou plusieurs APIs de Java EE et la compatibilité et cohérence de la plateforme lui doit beaucoup. Triste. Langages Classes Sealed Les classes sealed arrivent dans Java 15 en septembre, ce sont des classes ou interfaces qui restreignent qui peut les étendre ou implémenter. Un peu comme les enum les classes sealed représentent un nombre limité de valeurs possibles, ce qui permet de coder en terme d’exhaustivité (si c’est pas A ou B, alors c’est C, parce qu’il y a pas d’autres alternatives). Avec ça, on peut faire des types sommes et produits, des structures de données algébriques, comme dans les langages fonctionnels. Le développeurs qui les utilise est donc en contrôle de la hiérarchie de ces interfaces, et contrôler les implémentations autorisées. Les classes sealed fonctionnent avec les records et le pattern matching. AdoptOpenJDK rejoint la fondation Eclipse Avec son adoption massive depuis 2017, le projet devient trop gros pour rester sous la gouvernance du LJC La migration sous la fondation eclipse permets de conserver la position de neutralité Le projet est renommé Eclipse Adoptium La structure de gouvernance est séparée en 2 : le Project Management Committee pour les décisions techniques et le Working Group pour les questions financières, légales, marketing etc… Histoire du langage Groovy Les opérateurs que Groovy a amené aux langagues modernes This includes Groovy’s dangling closure,Groovy builders, null-safe navigation, the Elvis operator, ranges, the spaceship operator, and flow typing. Formost languages, we don’t know to what extent Groovy played a part in their choices Les choix fort dynamiques Le passage par la JSR Mandrel GraalVM: une nouvelle distribution OpenJDK de RedHat spécifique pour GraalVM, ce qui montre l’implication de RedHat sur GraalVM et l’ouverture d’Oracle sur des collaborations sur ce projet. On entends parler souvent du livre Clean Code de Uncle Bob Martin, c’est souvent une référence dans les livres d’informatique à lire. Cet article critique ce livre, pour son inconsistence, ses conseils que l’auteur n’applique même pas dans ses propres exemples de code. Il parait que les tests unitaires c’est surfait. Runtime Micronaut 2.0 est sorti Micronaut Launch : permet de générer des apps Micronaut en configurant modules optionnels, langage, outil de build JDK 14 et Groovy 3 supportés Améliorations de performance de 20% Support des plateformes serverless : Google Cloud Functions, Microsoft Azure Functions, Amazon Lambda Nouveau plugin Maven Possibilité de faire tourner ses applis Micronaut dans un conteneur de Servlet Meilleur support de GraalVM, avec automatisation de la configuration de ressources statiques, de la configuration de drivers JDBC, d’Hibernate, de Flyway Utilisation de Gradle 6.5 qui permet de faire de la compilation incrémentale, même avec les annotation processors Support HTTP/2 Object Computing (OCI) crée une fondation pour héberger Micronaut. La société garde une place majoritaire mais inclue des technical advisory boards dont des membres de ThoughtWorks, mais aussi… notre Guillaume Laforge. Graeme rocher rejoins Oracle Quarkus 1.6 Support des archives AppCDS pour améliorer le démarrage en mode JVM Support de Google Cloud Functions (en plus deLambda Azure) Client IBM DB2 réactif Client Apache Cassandra Support de WebJars Locator Support de l’annotation Spring @Scheduled Amélioration d’outils pour le débuggage des applications Upgrade à GraalVM 20.1.0 CrowdCast fast Jar Quarkus par Emmanuel Cloud AWS going after nexus/artifactory. Nouveau concurrent / nouvel entrant Nouvelle entité open source annoncée par Google : Open Usage Commons, pour gérer les marques et logos open source Open Usage Commons qui accueille les marques de Angular, Gerrit et Istio Le projet Istio annonce que les trademarks du projet sont transférées dans l’organisation Open Usage Commons Mais IBM qui avait travaillé avec Google au lancement d’Istio et contribué depuis n’est pas très content. IBM aurait préféré une gouvernance encore plus ouverte que cela Web Bootstrap 5 Alpha Bootstrap no longer depends on jQuery Dropped support for Internet Explorer CSS custom properties Alpha: breaking changes will continue to occur until our first beta Better documentation Data Oracle annonce une version Community Edition de Coherence (in-memory data grid) open source, sous licence Universal Permissive License (supporté par l’OSI). Une version Enteprise continuera d’être proposée également. Outillage Plugin Maven Asciidoc 2.0 Support de AsciidoctorJ 2.x Alignement avec le plugin Gradle plugin et Antora Première version introduisant des changements cassants (arrêt du support de Java 7, et le nouveau backend par défaut est HTML 5 au lieu de DocBook) Une proposition de spécification du langage AsciiDoc a été soumise par l’équipe AsciiDoctor à la fondation Eclipse Conférences JNation virtal conf pour 2020 JNation est une conférence communautaire qui a lieu annuellement au Portugal. Suite au Covid ils ont décidé de ne pas annuler… mais de faire du remote (virtual conf). Ils viennent de mettre en ligne les 45 vidéos. BDX.io annulée 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/

BadGeek
Les Cast Codeurs n°235 du 17/07/20 - LCC 236 - Azimov et le cycle fondation (78min)

BadGeek

Play Episode Listen Later Jul 17, 2020 78:14


Dans cet épisode, Vincent, Antonio et Guillaume discutent du décès de l'architecte de Java EE, d'AdoptOpenJDK, de Micronaut, de Istio qui bougent dans des fondations, du papa de Micronaut qui va chez Oracle et bien d'autres sujets encore. Enregistré le 10 juillet 2020 Téléchargement de l'épisode [LesCastCodeurs-Episode-236.mp3](https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-236.mp3) ## News [Bill Shannon](https://twitter.com/sharat_chander/status/1276675743716540417?s=21) l’architecte de Java EE est mort. Il a été le gardien de Java EE aussi longtemps que j’ai connu l’api. Tu aimes ou pas mais tous les backends Java utilisent une ou plusieurs APIs de Java EE et la compatibilité et cohérence de la plateforme lui doit beaucoup. Triste. ### Langages [Classes Sealed](https://www.infoq.com/articles/java-sealed-classes) * Les classes sealed arrivent dans Java 15 en septembre, ce sont des classes ou interfaces qui restreignent qui peut les étendre ou implémenter. * Un peu comme les enum les classes sealed représentent un nombre limité de valeurs possibles, ce qui permet de coder en terme d’exhaustivité (si c’est pas A ou B, alors c’est C, parce qu’il y a pas d’autres alternatives). * Avec ça, on peut faire des types sommes et produits, des structures de données algébriques, comme dans les langages fonctionnels. * Le développeurs qui les utilise est donc en contrôle de la hiérarchie de ces interfaces, et contrôler les implémentations autorisées. * Les classes sealed fonctionnent avec les records et le pattern matching. [AdoptOpenJDK rejoint la fondation Eclipse](https://blog.adoptopenjdk.net/2020/06/adoptopenjdk-to-join-the-eclipse-foundation) * Avec son adoption massive depuis 2017, le projet devient trop gros pour rester sous la gouvernance du LJC * La migration sous la fondation eclipse permets de conserver la position de neutralité * Le projet est renommé Eclipse Adoptium * La structure de gouvernance est séparée en 2 : le Project Management Committee pour les décisions techniques et le Working Group pour les questions financières, légales, marketing etc… [Histoire du langage Groovy](https://dl.acm.org/doi/pdf/10.1145/3386326) * Les opérateurs que Groovy a amené aux langagues modernes This includes Groovy’s dangling closure,Groovy builders, null-safe navigation, the Elvis operator, ranges, the spaceship operator, and flow typing. Formost languages, we don’t know to what extent Groovy played a part in their choices * Les choix fort dynamiques * Le passage par la JSR [Mandrel GraalVM](https://www.infoq.com/news/2020/07/mandrel-graalvm): une nouvelle distribution OpenJDK de RedHat spécifique pour GraalVM, ce qui montre l'implication de RedHat sur GraalVM et l'ouverture d'Oracle sur des collaborations sur ce projet. On entends parler souvent du [livre Clean Code de Uncle Bob Martin](https://qntm.org/clean), c’est souvent une référence dans les livres d'informatique à lire. Cet article critique ce livre, pour son inconsistence, ses conseils que l’auteur n’applique même pas dans ses propres exemples de code. Il parait que les [tests unitaires c'est surfait](https://tyrrrz.me/blog/unit-testing-is-overrated). ### Runtime [Micronaut 2.0 est sorti](https://micronaut.io/blog/2020-06-26-announcing-micronaut-20.html) * Micronaut Launch : permet de générer des apps Micronaut en configurant modules optionnels, langage, outil de build * JDK 14 et Groovy 3 supportés * Améliorations de performance de 20% * Support des plateformes serverless : Google Cloud Functions, Microsoft Azure Functions, Amazon Lambda * Nouveau plugin Maven * Possibilité de faire tourner ses applis Micronaut dans un conteneur de Servlet * Meilleur support de GraalVM, avec automatisation de la configuration de ressources statiques, de la configuration de drivers JDBC, d’Hibernate, de Flyway * Utilisation de Gradle 6.5 qui permet de faire de la compilation incrémentale, même avec les annotation processors * Support HTTP/2 [Object Computing (OCI) crée une fondation pour héberger Micronaut](https://objectcomputing.com/news/2020/06/29/micronaut-foundation-established). La société garde une place majoritaire mais inclue des technical advisory boards dont des membres de ThoughtWorks, mais aussi... notre Guillaume Laforge. [Graeme rocher rejoins Oracle](https://twitter.com/helidon_project/status/1278753593458331648?s=21) [Quarkus 1.6](https://quarkus.io/blog/quarkus-1-6-0-final-released) * Support des archives AppCDS pour améliorer le démarrage en mode JVM * Support de Google Cloud Functions (en plus deLambda Azure) * Client IBM DB2 réactif * Client Apache Cassandra * Support de WebJars Locator * Support de l'annotation Spring @Scheduled * Amélioration d'outils pour le débuggage des applications * Upgrade à GraalVM 20.1.0 CrowdCast fast Jar Quarkus par Emmanuel ### Cloud [AWS going after nexus/artifactory](https://aws.amazon.com/codeartifact). Nouveau concurrent / nouvel entrant [Nouvelle entité open source annoncée par Google](https://opensource.googleblog.com/2020/07/announcing-new-kind-of-open-source.html) : Open Usage Commons, pour gérer les marques et logos open source [Open Usage Commons](https://openusage.org/news/introducing-the-open-usage-commons/) qui accueille les marques de Angular, Gerrit et Istio [Le projet Istio annonce que les trademarks du projet sont transférées dans l’organisation Open Usage Commons](https://istio.io/latest/blog/2020/open-usage/) [Mais IBM qui avait travaillé avec Google au lancement d’Istio et contribué depuis n’est pas très content](https://developer.ibm.com/blogs/istio-google-open-usage-commons/). IBM aurait préféré une gouvernance encore plus ouverte que cela ### Web [Bootstrap 5 Alpha](https://blog.getbootstrap.com/2020/06/16/bootstrap-5-alpha) * Bootstrap no longer depends on jQuery * Dropped support for Internet Explorer * CSS custom properties * Alpha: breaking changes will continue to occur until our first beta * Better documentation ### Data [Oracle annonce une version Community Edition de Coherence](https://blogs.oracle.com/oraclecoherence/announcing-coherence-community-edition) (in-memory data grid) open source, sous licence Universal Permissive License (supporté par l’OSI). Une version Enteprise continuera d’être proposée également. ### Outillage [Plugin Maven Asciidoc 2.0](https://twitter.com/abelsromero/status/1274421896445132802) * Support de AsciidoctorJ 2.x * Alignement avec le plugin Gradle plugin et Antora * Première version introduisant des changements cassants (arrêt du support de Java 7, et le nouveau backend par défaut est HTML 5 au lieu de DocBook) [Une proposition de spécification du langage AsciiDoc](https://projects.eclipse.org/proposals/asciidoc-language) a été soumise par l’équipe AsciiDoctor à la fondation Eclipse ## Conférences [JNation virtal conf pour 2020](https://twitter.com/JNationConf/status/1273755895516839937) JNation est une conférence communautaire qui a lieu annuellement au Portugal. Suite au Covid ils ont décidé de ne pas annuler... mais de faire du remote (virtual conf). Ils viennent de mettre en ligne les 45 vidéos. BDX.io annulée ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

A Bootiful Podcast
Spring Data JDBC co-founder on JDBC, JPA and domain driven design

A Bootiful Podcast

Play Episode Listen Later Jul 10, 2020 94:30


Hi Spring fans! Welcome to another installment of a Bootiful Podcast! In this installment [Josh Long](http://twitter.com/starbuxman) talks about the week that was and talks to the amazing Spring Data JDBC cofounder [Jens Schauder](https://twitter.com/jensschauder) about JPA, JDBC and domain driven design.

airhacks.fm podcast with adam bien
500 kB ThinWARs on AWS

airhacks.fm podcast with adam bien

Play Episode Listen Later Mar 22, 2020 96:39


An airhacks.fm conversation with Bastian Sperrhacke (@deratzmann) about: 80286, qbasic,CLI, Turbo Pascal, if-thens and "Who Wants to Be a Millionaire?", inhouse outsourcing with sister, playing Prince of Persia, MS DOS games, memory management with autoexec.bat and config.sys, taking a Macromedia Flash class ...at army, programming a beer shop in a JavaScript course by mistake, "JavaScript is dead" - in 2001, programming Java for Windows PDAs, Sharp Zaurus ran Linux, searching stuff in adventure parks with PDAs, chats and XMPP, chasing hidden boxes, Java ME is not MicroProfile, developing digital TV on Nokia phones with ads over DVB-T, developing WAP applications, mobile portals, ringtones and games, Nokia Communicator, WAP - "Wait And Pay", developing web sites with Struts and JSPs, using JDBC from Struts actions to access the database, Java EE best practices training by OOSE, refactoring with GlassFish 2.1 and 3.1 and EJB 3, working since 2013 for Otto - the German amazon, home made persistence layers before Hibernate, selling insurances instead of ORM mappers, starting with microservices in cross-functional teams, using Payara for e-commerce, running Payara, Jakarta EE on AWS, seamless migration to AWS, implementing additional services with Payara, Java EE and AWS, buying a barista, the largest ThinWARs are 500kB, swagger UI is larger than the business logic, 3-5 seconds boot times, layered docker deployments, 700MB base layer, 5-10 cloud deployments a day, using AWS Fargate, business driven MicroProfile metrics, experimenting with OpenLiberty, WildFly 19 comes with MicroProfile support, Quarkus is the nextgen application server, migrating Boundary Control Entity applications to Quarkus, the push gateway blogpost / application, replacing Stateless EJBs with CDI Stereotypes, Quarkus vs. WildFly performance comparison, Quarkus saves 50% of RAM in JVM mode, drinking a coffee together at JavaONE, coding technical lead, casual gaming, building bases with StarCraft, the a+ team Bastian Sperrhacke on twitter: @deratzmann, interview with Bastian

airhacks.fm podcast with adam bien
Quarkus Developer Experience

airhacks.fm podcast with adam bien

Play Episode Listen Later Feb 21, 2020 57:59


An airhacks.fm conversation with Alex Soto (@alexsotob) about: Director of Developer Experience, Quarkus was secret at the beginning at RedHat, replacing Micronaut with Quarkus, public Quarkus release, Micronaut comes with its own API, Quarkus is more familiar for WildFly / Java EE / Jakarta EE developers, Quarkus separates the business logic from the infrastructure, Quarkus also supports FatJARs / UeberJARs but this feature is pointless for container deployments, Quarkus and FatJARs are interesting for desktop, electron-like deployments, The Quarkus Cookbook, quarkus disabling HTTP cache, kaffein cache, quarkus and batch processing -- building CLIs with quarkus, combining quarkus with picocli, quarkus integrates kafka kstreams without the necessity of including JAX-RS, airhacks.fm episode #23 with alexis about glassfish, the easy loading vs. eager loading trade off, quarkus optimizes hibernate, tree shaking of JDBC-drivers in quarkus, proactively introducing DAOs: "Generic CRUD Service aka DAO - EJB 3.1/0 Code - Only If You Really Needed" then deleting them, the quarkus developer mode mvn compile quarkus:dev, dynamically adding columns with Panache in development mode, adding extensions on-the-fly, mapping kafka streams to websockets with microprofile reactive streams, quarkus should support both: application.properties and mp-config.properties, The Quarkus cookbook is going to be published in summer 2020, writing kubernetes operators with quarkus, the quarkus vault integration, airhacks.tv quarkus / vault questions, the vault sidecar container, Alex Soto on twitter: @alexsotob

Tôi Đi Code Dạo - Podcast dành cho dân IT Việt Nam - WAVES
Lộ trình tự học Java Web để thành back-end developer

Tôi Đi Code Dạo - Podcast dành cho dân IT Việt Nam - WAVES

Play Episode Listen Later Dec 27, 2019 13:13


Hãy tải ứng dụng Waves để cập nhật những tập podcast mới nhất và có những trải nghiệm miễn phí tuyệt vời nhất: iOS: https://apps.apple.com/gb/app/waves-podcast-player/id1492378044 Android: https://play.google.com/store/apps/details?id=com.waves8.app Trong tập này, chúng ta cùng nghe lộ trình để học Java để làm back-end developer nhé. Lộ trình này sẽ giúp bạn hiểu hơn những gì mình sẽ phải học và làm. Hơn thế, bạn sẽ biết được những điều khó khăn và những điều cần phải tập trung học để trở thành một back-end developer chuyên nghiệp. TÓM TẮT Back-end là nghề gì? Lương của Java Back-end ra sao? Cần tố chất gì để có thể theo nghề này? Lộ trình học Java Back-end Hỏi đáp Làm Back-end là làm gì? Làm các chức năng phía sau (back) như Đăng nhập, đăng ký, tìm kiếm, giỏ hàng,... Quản lý, lưu trữ, xử lý dữ liệu (thông tin khách hàng, thông tin sản phẩm). Viết Web Service / Web API Bảo mật + optimize hệ thống Hiển thị dash board: front-end Chạy report: back0endLƯƠNG NHIÊU?Việc nhiều quá trời, lương khá ($400-$2500) https://itviec.com/it-jobs/javaCần những tố chất gì? Đam mê lập trình. Biết tư duy logic. Điềm tĩnh xử lý công việc. Có khả năng tự học và cập nhật kiến thức. Thích tìm hiểu sâu về hệ thống “Ghiền” tối ưu đến mức không thể tối ưu nữa. Có am hiểu về cheat, hack là một lợi thế.Lộ trình học gồm những gì? Java cơ bản tới nâng cao + Lập trình hướng đối tượng (OOP). Nền tảng về Cơ Sở Dữ Liệu (SQL). Một số kiến thức Front-End căn bản (HTML/CSS/JS). Khởi đầu Back-End Java với Servlet (Cookie/Session/MVC) và JDBC. Một số Design Pattern cơ bản Tìm hiểu chuyên sâu Spring: Spring MVC, Spring Boot, Spring Security, Hibernate. Code các dự án thực tế. Bonus: Git/SVN + Unit Test + Cloud Computing + Deploy (Tomcat/JBoss)Giới thiệu về Cybersoft Chương trình Back-end Java PHẦN 1: LUYỆN TẬP JAVA CORE, OOP QUA MỘT SỐ DỰ ÁN PHẦN 2: NỀN TẢNG FRONT-END CHO HỆ THỐNG WEBSITE PHẦN 3: KỸ NĂNG LÀM VIỆC NHÓM VÀ MỘT SỐ CÔNG CỤ HỖ TRỢ PHẦN 4: PHÂN TÍCH DỰ ÁN VỚI BIỂU ĐỒ UML, LƯỢC ĐỒ USE-CASE, ACTOR, SEQUENCE. PHẦN 5: LÀM VIỆC VỚI HỆ THỐNG CƠ SỞ DỮ LIỆU MYSQL PHẦN 6: JAVA SERVLET QUA DỰ ÁN CRM PHẦN 7: LÀM QUEN VỚI JSP/SERVLET QUA DỰ ÁN Phần 8: JAVA SPRING MVC CĂN BẢN QUA DỰ ÁN E-LEARNING Phần 9: JAVA SPRING MVC NÂNG CAO VỚI SPRING TILE 3,SECURITY, MESSAGE PROPERTIES, MAIL Phần 10: SPRING MVC VÀ SERVICES Giới thiệu về Cybersoft Chương trình Back-end Java PHẦN 11: SPRING BOOT QUA DỰ ÁN RẠP CHIẾU PHIM PHẦN 12: CHUYÊN SÂU SPRING BOOT VỚI JDBC, UPLOAD, JPA HIBERNATE, SECURITY PHẦN 13: TỐI ƯU WEBSITE VỚI KỸ THUẬT SPRITE ẢNH, CACHE, CÔNG CỤ ĐO TỐC ĐỘ TRÌNH DUYỆT PHẦN 14: THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP - VẤN ĐÁP ĐỒ ÁN - DOANH NGHIỆP PHỎNG VẤNChannel Tôi Đi Code Dạo là nơi mình chia sẻ những kiến thức, kinh nghiệm về ngành lập trình mà mình đạt được trong quá trình làm việc. Những kiến thức này sẽ biến các bạn từ một coder trở thành developer - lập trình viên thứ thiệt. Các bạn có thể xem video của tập podcast này tại đây: https://www.youtube.com/watch?v=gE6kvOd-DaoAnh Huy tư vấn lộ trình free: https://bit.ly/tuhoc-tuvan Link slide: https://bit.ly/java-slide Chi tiết khóa học: https://bit.ly/cyber-javaKênh podcast Tôi Đi Code Dạo được hợp tác sản xuất bởi Phạm Huy Hoàng và Waves. Waves là một nền tảng âm thanh trực tuyến, chuyên cung cấp các audiobook và podcast dành riêng cho người Việt. Các bạn có thể nghe được tất cả các podcast nổi tiếng tại Việt Nam trên Waves. Hơn thế, bạn cũng có thể xây dựng chương trình podcast riêng cho mình. Website: https://waves8.com/ Facebook: https://www.facebook.com/WavesVietnam/ Instagram: @wavesvietnam

Google Cloud Platform Podcast
End to End Java on Google Cloud with Ray Tsang

Google Cloud Platform Podcast

Play Episode Listen Later Nov 19, 2019 38:05


Mark Mirchandani hosts solo today but is later joined by fellow Googler and Developer Advocate Ray Tsang to talk Java! Ray tells us what’s new with Java 11, including more memory and fewer restrictions for developers. One of the greatest things for Ray is using Java 11 in App Engine because of the management support that it provides. Later, we talk about Spring Boot on GCP. Ray explains the many benefits of using this framework. Developers can get their projects started much more quickly, for example, and with Spring Cloud GCP, it’s easy to integrate GCP services like Spanner and run your project in the cloud. For users looking to containerize their Java projects, JIB can help you do this without having to write a Dockerfile. At the end of the show, Ray and Mark pull it all together by explaining how Spring Boot, Cloud Code, Skaffold, and proper dev-ops can work together for a seamless Java project. Ray Tsang Ray is a Developer Advocate for the Google Cloud Platform and a Java Champion. Ray works with engineering and product teams to improve Java developer productivity on GCP. He also helps Alphabet companies migrate and adopt cloud native architecture. Prior to Google, Ray worked at Red Hat, Accenture, and other consulting companies, where he focused on enterprise architecture, managed solutions delivery, and contributed to open source projects. Aside from technology, Ray enjoys traveling and adventures. Cool things of the week Cloud Run is now GA blog Budget API in Beta blog Interview App Engine site Micronaut site Quarkus site Java 11 on App Engine blog and docs Spring Boot and Spring Cloud site Spring Cloud GCP Projects site Cloud Spanner site Spring Cloud Sleuth site Stackdriver site Bootiful GCP: To Production! blog Effective Cloud Native Spring Boot on Kubernetes & Google Cloud Platform blog JDBC drivers site Hibernate ORM with Cloud Spanner docs Effective Cloud Native Spring Boot on Kubernetes & Google Cloud Platform blog Dev to Prod with Spring on GCP in 20 Minutes (Cloud Next ‘19) video Cloud Code site JIB site Skaffold site Debugger site Troubleshooting & Debugging Microservices in Kubernetes blog Cloud Code Quickstart docs Spring (or Java) to Kubernetes Faster and Easier blog GCP Podcast Episode 58: Java with Ray Tsang and Rajeev Dayal podcast Question of the week How do I dockerize my Java app? video github Where can you find us next? Ray is taking a break for the holidays, but in the future, you can find him at Java and JUG conferences. Mark is hanging out in the Bay Area, but Google Cloud Next in London and KubeCon and CloudNativeCon are happening now! Sound Effect Attribution “Small Group Laugh 4, 5 & 6” by Tim.Kahn of Freesound.org “Tre-Loco1” by Sonipro of Freesound.org “Mens Sincere Laughter” by Urupin of Freesound.org “Party Pack” by InspectorJ of Freesound.org “DrumRoll” by HolyGhostParty of Freesound.org “Tension” by ERH of Freesound.org

airhacks.fm podcast with adam bien
Java EE, Jakarta EE, MicroProfile and the Big Bang

airhacks.fm podcast with adam bien

Play Episode Listen Later Nov 3, 2019 69:00


An airhacks.fm conversation with Kevin Sutter (@kwsutter) about: C64 for gaming - Datasette included with 16, how to break in and modify the code, the high school teletype course in Basic on serious machines in Austin Minnesota, applied math in high school, compute science degree in Pascal at the University of Wisconsin, working for Sperry and the merger with Burroughs, information and systems and Unisys, writing code in Pascal-like language, writing chip-design simulators in Alabama, the best software engineering project award, SOM and DSOM, (not ISAM) IBM buys Transarc, from Transarc to WebSphere, the "bring up lab" - the early CI / CD, the performance boost of JDK 1.1.8, the Java Connector Architecture (JCA) for JDBC and JMS around 2000, working on caching, data grid, object grid, and eXtreme Scale with Billy Newport, WebSphere eXtreme Scale and "Eventual Consistency", leading the JPA spec and the first opensource interaction around 2005, BEA donates kodo to apache which became openJPA, the convenient way to become a committer, Java is nicer than C++, IBM buys Gluecode - the company which provides commercial support for the Geronimo Application Server, David Blevins worked on openEJB at the same time, becoming a Java EE architect for WebSphere product in 2013, the development with OpenLiberty is more fun, IBM moves to EclipseLink but still supports openJPA, Microprofile involvement, Microprofile became immediately popular, Ian Robinson and Mark Little met at Devoxx UK and started the initial conversation about MicroProfile in 2016, MicroProfile 1.0 started with JSON-P, CDI and JAX-RS APIs from Java EE, Oracle proposes the opensourcing of Java EE, the meeting with Oracle in London to talk about opensourcing Java EE, behind the scenes of the Big Bang "javax" migration to "jakarta", the relation between the steering committee and the platform group, the relation between Jakarta EE and MicroProfile, the advantages of keeping Jakarta EE and MicroProfile separate, opentracing.io became opentelemetry which affects MicroProfile distributed tracing, MicroProfile iterates faster than Jakarta EE, from opentracing.io to opentelemetry.io, SOAP deprecation, openJPA started from a project named KODO, the openliberty guides, microprofile.io and jakarta.ee, start.microprofile.io, Jakarta EE Blogs Kevin Sutter on twitter: @kwsutter and github: https://github.com/kwsutter

Java Off-Heap
Episode 48. On Jakarta EE 9 Band-aids, OracleCodeOne Debrief, Unionizing Tech, IBM vs Microsoft and Oracle JDBC Drivers!

Java Off-Heap

Play Episode Listen Later Oct 30, 2019 68:57


Oh Goody, this is the first episode after coming back from both OracleCodeOne and ApacheCon... and things are happening! First off we start that Oracle JDBC Drivers are FINALLY in Maven Central (hey, missed the mark for a couple of years). We then dive into Jakarta EE 9 updates, including Oracle's position on the "Big Bang" approach to the namespace changes (Hint, you WILL be affected by this, even when you think you aren't). We then look at Java SE 13 (Woohoo!), and that we can finally have Text Blocks (yeah, go crazy with that Json String), and look at Java SE 14 Early builds (including Helpful NullPointerExceptions). Spring is in the news as their Conference SpringOne went underway, and we talk about OracleCodeOne and ApacheCon (good, bad, bust?) Lastly we cover Unionizing Tech Workers and what could it mean to our industry, and we end up by setting the record straight on an article that seems to imply IBM is divesting in Java (This is a far cry from the truth). In all, a fun and great episode to listen while having a beer. We thank DataDogHQ for sponsoring this podcast episode DO follow us on twitter @offheap Oracle JDBC Drivers on MavenCentral Jakarta One Livestream Java 13 - A deep dive JDK 14 Early Access Release notes NetBeans 11.2 Early Access Google Contractors Vote to Join United Steelworkers Union Oracle's Position on Jakarta EE 9 IBM vs Microsoft

airhacks.fm podcast with adam bien
Blockchain, Heavy Metal and Testcontainers

airhacks.fm podcast with adam bien

Play Episode Listen Later Oct 28, 2019 65:48


An airhacks.fm conversation with Kevin Wittek (@kiview) about: typing with 3 on a terminal, 486 for playing DOS games, radio controlled cars for fathers, RC car races with transponders, worldcup in beijing, hawaii, las vegas, tamiya, kyosho, professional competition RC cars by Mugen Seiki, playing civilization-like game, switching from PCs to console gaming, starting with Quick Basic programming at highschool, writing text adventures with Quick Basic and huge if-else blocks, advent calendar with Quick Basic, switching from Quick Basic to Java 1.4, a coffee lover without aeropress, aeropress and aerospace technology, aerobie frizbies, teaching polymorphic dispatches at highschool, who cares about object orientation, bluej programming learning environment, the great scratch IDE, manipulating the ASCII characters might not be the future, sometimes it is better to manipulate the Abstract Syntax Tree (AST) directly, writing a ZIP-compressor in Java, studying in Gelsenkirchen-the Java-focussed university, writing Android software for Museums, Museums don't have money, writing fraud detection services for GData, banking trojan detection was really successful, leading the blockchain research group, having a dream job, lazy loading the PhD topic, assessing the non-functional aspects of a blockchain system, why Groovy is a pragmatic language, Groovy started as an ergonomic version of Java, playing e-guitar at a heavy metal band "Iron Kobra", Rush, Deep Purple, Led Zeppelin, and a bit Metallica, one of the best guitar players is Uli Jon Roth from the German Scorpions band, starting to play guitar with 16, starting with TNT from AC/DC, software engineering is like playing blues, the SoCraTes Conference, the JUnit 5 extension for Docker, the beginnings as TestContainers committer, Richard North was the initiator of the TestContainers project, TestContainers started in a blockchain-related project, TestContainers project was written in Java from the beginning, TestContainers started with JUnit 4 integration, the TestContainers project has actually nothing todo with testing, ephemeral container concept is built-in into the testcontainers, the docker container is going to be removed after the JVM exits, ryuk is a side container which watches the actual container, when the JVM stops sending the heartbeat - ryuk will remove the container, GraalVM might replace Go in the sidecontainer, testcontainers gives strong guarantees about readiness, testcontainer ships with multiple probes / wait strategies: log-based wait strategy, port-based wait strategy, docker health-check strategy, testcontainers ships with container communication API, in the case of a database testcontainer will provide a JDBC-URL, testcontainer can is able to start DB on demand by using the JDBC driver, testcontainer also works with remote Docker daemons, testcontainer is using the REST interface to communicate with Docker, the switch from Netty to OkHTTP, testcontainers relies on Docker Java, hardcoding functionality in a project is the right choice at the beginning, testcontainers has to be refactored into two parts, testcontainer's 2.0 goal are distinct APIs for testing and container orchestration, windows support was a challenge, testcontainers supports windows, linux and MacOS, the testcontainers team is using Macs for local development, azure pipelines is used to test windows, Kevin Wittek on twitter: @kiview, on github https://github.com/kiview and Kevin's blog.

airhacks.fm podcast with adam bien
DBs-ium, CDC and Streaming

airhacks.fm podcast with adam bien

Play Episode Listen Later Oct 13, 2019 71:14


An airhacks.fm conversation with Gunnar Morling (@gunnarmorling) about: The first Debezium commit, Randal Hauch, DBs-iuim, Java Content Repository JCR / modshape, exploring the Change Data Capture (CDC), how Debezium started, the MySQL binlog, the logical decoding in Postgres, Oracle Advanced Queuing, update triggers, Java Message System (JMS), there is no read detection, switching the current user at JDBC connection for audit purposes, helping Debezium with additional metadata table, using Kafka Streams to join the metadata and the payload, installing the logical decoding plugins into PostgreSQL, logical decoding plugin exposes the data from the write ahead log, decoding into protocol buffers with decoderbufs, in cloud environments like e.g. Amazon RDS you are not allowed to install any plugins, wal2json is verbose but comes preinstalled on RDS, pgoutput is responsible for the actual decoding of the events, debezium only sees committed transactions, debezium is mainly written in Java, decoderbufs was written by community and included to debezium, Debezium communicates with Postgres via the JDBC / Postgres API, pgoutput format is converted into Kafka Connector source format, Kafka Connect is a framework for running connectors, Kafka Connect comes with sink and source connectors, Kafka Connect comes with connector specific connectors like e.g. StringConverter, Converters are not Serializers, Debezium ships as Kafka Connect plugin, Kafka Connector runs as standalone process, running Debezium in embedded mode, JPA cache invalidation with Debezium, converting Debezium events into CDI events, converting database changes to WebSockets events, database polling vs the Debezium approach, DB2 will support Debezium, Oracle support is "on the horizon", Oracle LogmMiner, Oracle XStream, Debezium supports Microsoft SQL Server (starting with Enterprise license), Apache Pulsar comes with Debezium out-of-the-box, Pulsar IO, running Debezium as standalone service with outbounds APIs, MongoDB supports the "Debezium Change Event Format", Kafka Sink connectors are easy to implement, Debezium embedded mode and offsets, embedded connector has to remember the offset, an offset API is available for embedded Debezium connectors, combining CDC with Kafka Streams, Quarkus supports Kafka Streams and Reactive Messaging, Quarkus and Kafka Streams, Quarkus supports Kafka Streams in dev mode, replacing Hibernate Envers with Debezium, Messaging vs. Streaming or JMS vs. Kafka, Kafka is a database, the possible Debezium features, Cassandra support is coming, Outbox pattern is going to be better supported, transactional event grouping, dedicated topic for transaction demarcations, commercial support for Debezium, Debezium exposes JMX metrics, Five Advantages of Log-Based Change Data Capture, Reliable Microservices Data Exchange With the Outbox Pattern, Automating Cache Invalidation With Change Data Capture Gunnar Morling on twitter: @gunnarmorling and github: https://github.com/gunnarmorling. Gunnar's blog: https://morling.dev/.

The History of Computing
Java: The Programming Language, Not The Island

The History of Computing

Play Episode Listen Later Sep 25, 2019 21:17


Welcome to the History of Computing Podcast, where we explore the history of information technology. Because understanding the past prepares us for the innovations of the future! Today we're going to look at Java. Java is an Indonesian island with over 141 million people. Java man lived there 1.7 million years ago. Wait, wrong java. The infiltration of coffee into the modern world can really trace its roots to ancient coffee forests on the Ethiopian plateau. Sufis in Yemen began importing coffee in the 1400s to make a beverage that would aid in concentration and as a kind of spiritual intoxication. Um, still the wrong java… Although caffeine certainly has a link somewhere, somehow. The history of the Java programming language dates back to early 1991. It all started at Sun Microsystems with the Stealth Project. Patrick Naughton had considered going to NeXT due to limitations in C++ and the C APIs. But he stayed to join Stealth, a secret team of engineers led by a developer Sun picked up from Carnegie Mellon named James Gosling . Stealth was formed to explore new opportunities in the consumer electronics market. This came up when Gosling was writing a program to port software from perf to vax and emulating hardware as many, many, many programers had done before him. I wonder if he realized when he went to build the first Java compiler and the original virtual machine code that would go on to write a dozen books about Java and it would consume most of his professional life. I wonder how much coffee he would have consumed if he had. They soon added Patrick Sheridan to the team. The project was later known as the “Green” project and with the advent of the web, somewhat pivoted into more of a web project. You see, Microsoft and the clones had some runaway success but Apple and other vendors were a factor in the home market. But Sun saw going down market as the future of the company. They added a few more people and rented separate offices in Menlo Park. Lisa Friendly was the first employee in the Java Products Group. Gosling would be lead engineer. John Gage would direct the project. Jonni Kanerva would write Java FAQ1. The team started to build C++ ++ —. Sun founder Bill Joy wanted a language that combined the the best parts of Mesa and C. In 1993, NCSA gave us Mozilla. That Andreessen guy was on the news saying the era of the desktop was over. These brilliant designers knew they needed an embedded application, one that could even be used in a web browser, or an applet. The language was initially called “Oak,” but was later renamed “Java” in 1995, supposedly from a list of random words but really due to massive consumption of coffee imported from the island of Java. By the way, it only aids in concentration up to a point. Then you get jumpy. Like a Halfling. It took the Java team 18 months to develop the first working version. It is unknown how much Java they drank in this time. Between the initial implementation of Oak in the fall of 1992 and the public announcement of Java in the spring of 1995, around 13 people ended up contributing to the design and evolution of the language. They were going to build a language that could sit on top of the operating systems on the market. This would allow them to be platform agnostic. In 1995, the team announced that the evolution of Mosaic, Netscape Navigator, would provide support for Java. Java gave us Write Once, Run Anywhere platform independence. You could run the code on a Mac, on Solaris, or on Windows. Java derives its syntax from C and many of the object oriented features were influenced by C++. Several of Java's defining characteristics come from—or are responses to—its predecessors. Therefore, Java was meant to build on these and become a simple, object-oriented, distributed, interpreted, robust, secure, architectural neutral, portable, high performance, multithreaded, and dynamic language. Before I forget. The "Mocha Java" blend pairs coffee from Yemen and Java to get a thick, syrupy, and highly caffeinated blend that is often found with a hint of cinnamon or clove. Similar to all other computer language, all innovation in the design of the language was driven by the need to solve a fundamental problem that the preceding languages could not solve. To start, the creation of C is considered by many to have marked the beginning of the modern age of computer languages. It successfully synthesized the conflicting attributes that had so troubled earlier languages. The result was a powerful, efficient, structured language that was relatively easy to learn. It also included one other, nearly intangible aspect: it was a programmer's language. Prior to the invention of C, computer languages were generally designed either as academic exercises or by bureaucratic committees. C was designed, implemented, and developed by real, working programmers, reflecting how they wanted to write code. Its features were honed, tested, thought about, and rethought by the people who actually used the language. C quickly attracted many followers who had a near-religious zeal for it. As such, it found wide and rapid acceptance in the programmer community. In short, C is a language designed by and for programmers, as is Java. Throughout the history of programming, the increasing complexity of programs has driven the need for better ways to manage that complexity. C++ is a response to that need in C. To better understand why managing program complexity is fundamental to the creation of C++, consider that in the early days of programming, computer programing was done by manually toggling in the binary machine instructions by use of the front panel or punching cards. As long as programs were just a few hundred instructions long, this worked. Then came Assembly and Fortran and then But as programs grew, assembly language was invented so that a programmer could deal with larger, increasingly complex programs by using symbolic representations of the machine instructions. As programs continued to grow, high-level languages were introduced that gave the programmer more tools with which to handle complexity. This gave birth to the first popular programing language; FORTRAN. Though impressive it had its shortcomings as it didn't encourage clear and easy-to-understand programs. In the 1960s structured programming was born. This is the method of programming championed by languages such as C. The use of structured languages enabled programmers to write, for the first time, moderately complex programs fairly easily. However, even with structured programming methods, once a project reaches a certain size, its complexity exceeds what a programmer can manage. Due to continued growth, projects were exceeding the limits of the structured approach. To overcome this problem, a new way to program had to be invented; it is called object-oriented programming (OOP). Object-oriented programming (OOP) is a programming methodology that helps organize complex programs through the use of inheritance, encapsulation, and polymorphism. In spite of the fact that C is one of the world's great programming languages, there is still a limit to its ability to handle complexity. Once the size of a program exceeds a certain point, it becomes so complex that it is difficult to grasp as a totality. While the precise size at which this occurs differs, depending upon both the nature of the program and the programmer, there is always a threshold at which a program becomes unmanageable. C++ added features that enabled this threshold to be broken, allowing programmers to comprehend and manage larger programs. So if the primary motivation for creating Java was the need for a platform-independent, architecture-neutral language, it was to create software to be embedded in various consumer electronic devices, such as microwave ovens and remote controls. The developers sought to use a different system to develop the language one which did not require a compiler as C and C++ did. A solution which was easier and more cost efficient. But embedded systems took a backseat when the Web took shape at about the same time that Java was being designed. Java was suddenly propelled to the forefront of computer language design. This could be in the form of applets for the web or runtime-only packages known as Java Runtime Environments, or JREs. At the time, developers had fractured into the three competing camps: Intel, Macintosh, and UNIX. Most software engineers stayed in their fortified boundary. But with the advent of the Internet and the Web, the problem that the portability of software between platforms suddenly got important in ways it hadn't been since the forming of ARPANET. Even though many platforms are attached to the Internet, users would like them all to be able to run the same program. What was once an irritating but low-priority problem had become a high-profile necessity. The team realized this pressing need and later made the switch to refocus Java from embedded, consumer electronics to Internet programming. So while the desire for an architecture-neutral programming language provided the initial spark, the Internet ultimately led to Java's large-scale success. So if Java derives much of its character from C and C++, this is by intent. The original designers knew that using familiar syntax would make their new language appealing to legions of experienced C/C++ programmers. Java also shares some of the other attributes that helped make C and C++ successful. Java was designed, tested, and refined by real, working programmers. Not scientists. Java is a programmer's language. Java is also cohesive and logically consistent. If you program well, your programs reflect it. If you program poorly, your programs reflect that, too. Put differently, Java is not a language with training wheels. It is a language for professional programmers. Java 1 would be released in 1996 for Solaris, Windows, Mac, and Linux. It was released as the Java Development Kit, or JDK, and to this day we still refer to the version we're using as JDK 11. Version 2, or 1.2 came in 1998 and with the rising popularity we had a few things that the burgeoning community needed. These included event listeners, Just In Time compilers, and change thread synchronizations. 1.3, code named Kestrel came in 2000, bringing RMI for CORBA compatibility, synthetic proxy classes, the Java Platform Debugger Architecture, Java Naming and Directory Interface in core libraries, the HostSpot JVM, and Java Sound. Merlin, or 1.4 came in 2002 bringing the frustrating regular expressions, native XML processing, logging, Non-Blocking I/O, and SSL. Tiger, or 1.5 came in 2004. This was important. We could autobox, get compile time type safety in generics, static import the static part of a class, annotations for declarative programming, and run time libraries were mapped into memory - a huge improvements to how JVMs work. Java 5 also gave us the version number change. So JDK 1.5 was officially recognized as Java 5. JDK 1.6, or Mustang, came in 2006. This was a big update, bringing monitoring and management tools, compiler access gave us programmatic access to javac and pluggable annotations allowed us to analyze code semantically as a step before javac compiles the code. WebStart got a makeover and SE 6 unified plugins with webstart. Enhanced XML services would be important (at least until he advent of son) and you could mix javascript up with Java. We also got JDBC 4, Character Large Objects, SwingWorker, JTable, better SQL datatypes, native PKI, Kerberos, LDAP, and honestly the most important thing was that it was stable. Although I've never written code stable enough to encounter their stability issues… Not enough coffee I suppose. Sun purchased Oracle in 2009. Wait, no, that's one of my Marvel What If comic book fantasies where the world was a better place. Oracle bought Sun in 2009. After ponying up $5.6 billion dollars, Oracle had a lot of tech based on Sun products and seeing Sun as an increasingly attractive acquisition target by other companies, Oracle couldn't risk someone else swooping in and buying Sun. With all the turmoil created, it took 5 years during a pretty formative time on the web, but we finally got Dolphin, or 1.7, which came in 2011 and gave us compressed, 64-bit pointers, strings in switch statements, the ability to make a binary integer and use underscores in literals, better graphics APIs, more cryptography algorithms, and a new I/O library that gave even better platform compatibilities. Spider, or 1.8, came along in 2014. We got the ability to Launch JavaFX application Jars, statically-linked JNI libraries, a new date an time API, annotation for java types, unsigned integer arithmetic, a JavaScript runtime that allowed us to embed Javascript code in apps - whether this is a good idea or not is still tbd. Lambda functions had been dropped in Java 7 so here we also got lambda expressions. And this kickstarted a pretty interesting time in the development of Java. We got 9 in 2017, 10 and 11 in 2018, 12, 13, and 14 in 2019. Of these, only 8 and 11 are LTS, or commercial Long Term Support releases, basically meaning we got the next major release after 8 in 2018 and according to my trend line should expect the next LTS in 2021 or 2022. JDK 13, when released later in 2019, will give us text blocks, Switch Expressions, improved memory management by returning unused heap memory to the OS, improves application class and data sharing, and brings back the legacy socket API. But it won't likely be an LTS release. Today there are over 45 billion active Java Virtual Machines and java remains arguably the top language for micro service, ci/cd environments, and a number of other use cases. Other languages have come. Other languages have gone. Many are better in their own right. Some are not. Java is not perfect. It was meant to reduce complexity. But as languages evolve they become more complex. A project with a million lines of code is monolithic and probably incorporates plugins or frameworks like spring security as an example, that make code even more complex. But Java is meant to reduce cyclomatic complexity, to allow for a language that is simple enough for a professional to pick up quickly and only be as complex as the quality of the code being compiled. I don't personally love Java. I respect it. And I adore high-quality programmers and their code in any language. But I've had to redo so much work because other languages have come and gone over the years that if I were to be starting a new big monolithic web-app today, I'd probably use Java every time. Which isn't to say that Java isn't useful in micro-service architectures. According to what's required from the contract testing on a service, I might use Java, Go, node, python or even the formerly hipster Ruby. Although I don't love drinking PBR… If I'm writing an Android app, I need to know Java. No matter what the lawyers say. If I'm planning on an enterprise webapp, Java needs to be in the conversation. But usually, I can do the work in a fraction of the time using something like python. But most big companies speak Java. And for good reason. Because of the write once run anywhere approach and the level of permissions a JRE needs, there have been security challenges with running Java on desktop computers. Apple deprecated Java on the Mac in 2010. Users could still instal lications and is the gold standard for those. I'm certainly not advocating going back to the 90s and running Java apps on our desktops any more. No matter what you think of Java, one thing you have to admit, the introduction of the language and the evolution have had a substantial impact on the IT industry and it will continue to do so. A great takeaway here might be that there's always a potential alternative that might be better suited for a given task. But when it comes to choosing a platform that will be there in a decade or 3, getting support, getting a team that can scale, sometimes you might end up using a solution that doesn't immediately seem as well suited to a need. But it can get the job done. As it's been doing since James Gosling and the rest of the team started the project back in the early 90s. So thank you listeners, for sticking with us through this episode of the History of Computing Podcast. We're lucky to have you.

airhacks.fm podcast with adam bien
From PHP to Transactions

airhacks.fm podcast with adam bien

Play Episode Listen Later Sep 14, 2019 90:35


An airhacks.fm conversation with Ondrej Chaloupka (@_chalda) about: RPG character generators with Turbo Pascal, Delphi and Visual Basic. D&D, Pentium 100 and Atari 500 ST, the joy of programming, the object oriented paradigm with Java 1.5 at university, warehouse software with JBoss 5 and enterprise Java, the first line of Java code was "public static void main", Java is not the ideal language to start programming with, building Swing apps at the University of Brno, studying computer science was hard, computer theory at the university is actually useful, design pattern overuse is an enterprise Java disease, some best practices move to Java EE platform - there is not need to solve the already solved problems, internship in Brazil with PHP and JQuery in 2009, the main problem of early Java EE was slow deployments, starting at RedHat as quality engineer for JBoss AS 7, quality insurance is a great way of on-boarding, starting to work on transactions, most PHP applications were built with "auto commit" transactions, transactions are convenient, enhancing code coverage for the transaction manager, fixing own bugs filed as quality engineer, starting as narayana developer, narayana, arjuna and JBoss Transaction Manager are the same bits, migrating narayana to MicroProfile Long Running Action (LRA), building transactional file system JCA connectorz, the narayana bootstrap with XML (timeout, implementation, recovery, transaction log), transaction manager and transaction recovery manager are the key parts, the transaction recovery manager is needed to remember what the server did, XID vs. Global ID, transaction context is stored in a ThreadLocal, joining transactions with JPA EntityManager, UnitOfWork in EntityManager, JDBC and XA transactions, a XA JDBC driver has to be exposed to the TransactionManager, a local transaction can be directly managed by the EntityManager, the XA / 2PC (two phase commit) protocol in detail, EntityManager: transactions and flushing, XA optimizations, Quarkus and Narayana, storing transaction logs in a central database, @Stateless, @Transactional and UserTransaction, code simplification with CDI and EJB, premature transaction optimisation is the root of some evil, starting transactions at the boundary layer, slower performance without transactions, in business applications with some state you will always need something like local transaction, thinking differently with NoSQL, Dr. Martin Kleppmann (@martinkl) transactions, challenges with microservices and transactions. Ondrej Chaloupka on twitter: @_chalda, and the JBoss Trasactions, Narayana, Arjuna blog

airhacks.fm podcast with adam bien
The First Line of Quarkus

airhacks.fm podcast with adam bien

Play Episode Listen Later Sep 2, 2019 115:24


An airhacks.fm conversation with Emmanuel Bernard (@emmanuelbernard) about: Amstrad PC 1512, the first PC computer ever made by Amstrad, two floppies are better than a hard drive, deleting double dots, C/PM OS, BIOS as cheating detection, creating snake game in BASIC, playing with Turbo Pascal, from GO TOs over loops to procedures, objects, aspects to functional programming, exploring Mandrake Linux, Tibco Messaging and C++, killing yourself with casting, the C discipline checker - an enforced linter, 120 errors caused by Coke break, no version control -- no time machine, starting with Java 1.2, replacing buttons with images in Swing / AWT, memory leaks in Java UI, creating ASP websites for fnac, building shopping cart with VB, going back with Visual Basic debugger, exploring Java as C# alternative, WebSphere vs. WebLogic, WebLogic was the JBoss of early 2000's, Apache Excalibur container, editing TopLink files with Eclipse IDE, replacing TopLink with early Hibernate, providing Hibernate support, the Rational Unified Process Workbench, hacking the organization is important, the gradient from hacking to politics, JOnAS was big in France, translating Hibernate documentation, patching Hibernate via CVS and email, Gavin King, Oracle and annotations as XML replacement, xdoclet was a great EJB annotation PoC, Cedric Beust created XDoclet, early Apache Geronimo participation, a French engineer will only tell you what you can do better, XML mapping with deeply nested annotations as prototype, EJB 3 specification comprised the component model and the persistence, Eclipse IDE was late with annotation support, working on EntityManager API with Bill Burke, joining forces with Java Data Objects (JDO) to participate on JPA, switching from fnac to JBoss, the first day at JBoss, Gaving King and Christian Bauer were Hibernate consultants, Steve Ebersole worked on Hibernate Core and Max Andersen on Eclipse tooling, Gavin King implemented an early bean validation prototype and Emmanuel took it over, contributing to a mature opensource project is really hard, Google App Engine wanted to use Hibernate as persistence backend, then google decided to use datanucleus.org, Book Driven Development is better than Conference Driven Development, Emmanuel started OGM - the Object Grid Mapper, in NoSQL space the model is simpler, JSON-P or JSON-B can be used as replacement for JPA entities, JDBC is hard to use what explains the success of ORM products, RedHat acquired JBoss, the switch from 200 employee company to 2000 employees company, developer is king at RedHat, RedHat acquired JBoss right after the introduction of JPA, becoming an architect, debezium was started by Randall Hauch then continued by Gunnar Morling, creating architecture slides with Google Docs, throughput driven optimizations, with containers throughput becomes less important, Java was designed for throughput and not memory efficiency and startup time, openJDK team, middleware team at Redhat had conversations about the future of Java on containers, Kubernetes is your cluster manager, WildFly is the flagship and the integration point, Sanne Grinovero was behind optimizations, Java's metaspace was too high, Java is a highly dynamic environment and therefore hard to optimize, the Excelsior JET VM, GCJ, Project Maxwell, GraalVM and the compiler is written in Java, WildFly Swarm became Thorntail and was an attempt to make the runtime smaller, Java's memory usage is the real problem, Quarkus came with the idea to make all the optimization at build time, not runtime, Emmanuel started Quarkus with Jason Greene and Bob McWhirter, the very first line of Quarkus code was written in a pub, the Quarkus project name was Shamrock what was the name of the pub, 3 months time for a PoC, hibernate, CDI, JAX-RS and JDBC drivers had to be optimized for the MVP, June 2018 was the very beginning of Quarkus, the shamrock pub is located in Australia, docker containers are immutable and the WAR deployment does not fit into this model, ThornTail's hollow JARs separate the business logic from the architecture, one of the Quarkus inspirations is the Play framework, Hibernate Panache got the idea from Play persistence, wad.sh watches changes and redeploys WARs on-the-fly, QuarkEE makes Quarkus look like a Java EE application, Quarkus on GraalVM is the perfect storm, Jakarta EE is a good way to reset Java EE expectations, the j4k conference, Emmanuel Bernard on twitter: @emmanuelbernard, Emannuel's website: https://emmanuelbernard.com

airhacks.fm podcast with adam bien
The Jakarta EE / MicroProfile and WebStandards Startup

airhacks.fm podcast with adam bien

Play Episode Listen Later Aug 17, 2019 78:44


An airhacks.fm conversation with Matthias Reining (@MatthiasReining) about: Power Basic is not QBasic and was comparable with Turbo Pascal, game high score manipulation as programming motivation, C 64 was the first computer encounter, writing a "Jump and Run" game in Power Basic, Power Basic IDE as Christmas present, the menu bar fascination, using GW-Basic at high school, call by value vs. call by reference in Power Basic and Turbo Pascal, the Comal programming language, learning C, the University of Wuerzburg, learning Visual C++ and object oriented programming at university, C over C++, learning Java during internship at Nobiscum, writing a Java frontend with AWT for CVS as proof of concept, renaming com.sun.swing to javax.swing, switching to Lotus Notes as consultant, improving Lotus Notes user interface with Java, accessing Lotus Notes with JDBC, CouchDB the Lotus Notes "successor" created by Damien Katz - a former Lotus Notes developer, Lotus Notes the NoSQL database before the popularity of NoSQL, Transact-SQL, PL/SQL and back to Java, JSPs, Servlets, Tomcat and Apache Struts, from Java back to Pearl, the strategy of spending as much time as possible in a single project, writing fronted code with "this and that" or ES 5-the ancient JavaScript, the Java EE 5 fascination, xdoclet code generation for early EJB versions was slow, annotation-based programming with Java EE 5 improved the productivity, building a freelancer portal with Java EE 5 as proof of concept, a Java EE workshop in 2011, learning politics in Java insurance projects with "C-structs" as design pattern, enjoying PowerPoint time, founding a startup with Java EE 8 / Jakarta EE 8 and MicroProfile as technology choice, WildFly and Keycloak are the perfect technologies for a startup, focus on the business and not the technology, considering OpenLiberty and Quarkus as migration target caused by slow support of MicroProfile APIs by WildFly, saving memory with Quarkus, making WARs thinner by moving to MicroProfile JWT from proprietary Keycloak libraries, building the heart of an insurance company - an insurance platform, cloud-ready and private clouds are a common deployment model, migration from COBOL systems to tech11 insurance platform, team of 8 people is incredibly productive, it is hard to find good developers in Germany, hiring pragmatic developers from Afrika with the "ThinWAR" mindset, the "airhacks stack", polyglot programming is chaos, using Java EE 8 as the baseline, all other dependencies require permission, an average tech11 ThinWAR is a few hundreds kB, code snippets from 2005 gave Java EE a bad name, implement whatever you can today and care about potential problems tomorrow, the time to first commit has to be as low as possible, projects and products require different approaches, the "getting things done" developer, long-term maintenance is key to product success, every company has the right technology at certain time, Java EE is not the only "right" technology, projects are also barely dependent on Java EE, tech11 does not sell technology, tech11 sells solutions, using plain WebStandards with WebComponents, ES 6 in the frontend, Custom Elements looks like ReactJS, lit-html is one of the few dependencies in frontend, tech11 started with hyperHTML, then migrated to lit-html, open-wc comes with lots of examples with LitElement what is not necessary, using Parcel for packaging without any transpiling, rollup.js is great for packaging, Jenkins transpiles for older browsers, on developer machines not even npm is necessary, airhacks.io workshop about WebComponents: webcomponents.training, tech11 uses a BPM engine to manage processes, tarifs claims, policies are the names of microservices (ThinWARs), the episode #36 with Markus Kett mentions the JCon keynote, Matthias Reining on twitter: @MatthiasReiningand his startup: https://tech11.com

airhacks.fm podcast with adam bien
KISS Java EE, MicroProfile, AI, (Deep) Machine Learning

airhacks.fm podcast with adam bien

Play Episode Listen Later Aug 10, 2019 81:40


An airhacks.fm conversation with Pavel Pscheidl (@PavelPscheidl) about: Pentium 1 with 12, 75 MHz, first hello world with 17, Quake 3 friend as programming coach, starting with Java 1.6 at at the university of Hradec Kralove, second "hello world" with Operation Flashpoint, the third "hello world" was a Swing Java application as introduction to object oriented programming, introduction to enterprise Java in the 3rd year at the university, first commercial banking Java EE 6 / WebLogic project in Prague with mobile devices, working full time during the study, the first Java EE project was really successful, 2 month development time, one DTO, nor superfluous layers, using enunciate to generate the REST API, CDI and JAX-RS are a strong foundation, the first beep, fast JSF, CDI and JAX-RS deployments, the first beep, the War of Frameworks, pragmatic Java EE, "no frameworks" project at telco, reverse engineering Java EE, getting questions answered at airhacks.tv, working on PhD and statistics, starting at h2o.ai, h2o is a sillicon valley startup, h2o started as a distributed key-value store with involvement of Cliff Click, machine learning algorithms were introduced on top of distributed cache - the advent of h2o, h2o is an opensource company - see github, Driverless AI is the commercial product, Driverless AI automates cumbersome tasks, all AI heavy lifting is written in Java, h2o provides a custom java.util.Map implementation as distributed cache, random forest is great for outlier detection, the computer vision library openCV, Gradient Boosting Machine (GBM), the opensource airlines dataset, monitoring Java EE request processing queues with GBM, Generalized Linear Model (GLM), GBM vs. GLM, GBM is more explained with the decision tree as output, XGBoost, at h2o XGBoost is written in C and comes with JNI Java interface, XGBoost works well on GPUs, XGBoost is like GBM but optimized for GPUs, Word2vec, Deep Learning (Neural Networks), h2o generates a directly usable archive with the trained model -- and is directly usable in Java, K-Means, k-means will try to find the answer without a teacher, AI is just predictive statistics on steroids, Isolation Random Forest, IRF was designed for outlier detection, and K-Means was not, Naïve Bayes Classifier is rarely used in practice - it assumes no relation between the features, Stacking is the combination of algorithms to improve the results, AutoML: Automatic Machine Learning, AutomML will try to find the right combination of algorithms to match the outcome, h2o provides a set of connectors: csv, JDBC, amazon S3, Google Cloud Storage, applying AI to Java EE logs, the amount of training data depends on the amount of features, for each feature you will need approx. 30 observations, h2o world - the conference, cancer prediction with machine learning, preserving wildlife with AI, using AI for spider categorization Pavel Pscheidl on twitter: @PavelPscheidl, Pavel's blog: pavel.cool

defn
#51 - Sean Corfield a.k.a @seancorfield

defn

Play Episode Listen Later Jul 2, 2019 85:19


We meet the king of JDBC and discover his many other areas of expertise. A gentle and warm conversation with a delightful gent. Enjoy his many repos and links to his other work https://github.com/seancorfield

airhacks.fm podcast with adam bien
Jakarta EE, MicroProfile, OpenLiberty: Better Than Ice Hockey

airhacks.fm podcast with adam bien

Play Episode Listen Later Apr 7, 2019 65:00


An airhacks.fm conversation with Andrew Guibert (@andrew_guibert) about: old IBM PCs and old school Legos, starting programming in elementary school to write video games, the market for enterprise software is better, than the market for video games, World of Warcraft is good for practicing team work, ice hockey, snowboarding and baseball, getting job at IBM by pitching Nintendo WII hacking, why Java EE is exciting for young developers, OpenLiberty is a dream team at IBM, providing Java EE support for WebSphere Liberty and WebSphere "traditional" customers, Java EE 8 was good, and MicroProfile is a good platform for innovation, quick MicroProfile iterations, sprinkling MicroProfile goodness into existing applications, MicroProfile helps glue things together, OpenLiberty strictly follows the Java EE standards, how OpenLiberty knows what Java EE 8 is, OpenLiberty is built on an OSGi runtime, features are modules with dependencies, OpenLiberty comprises public and internal features, Java EE 8 is a convenience feature which pulls in other modules / features, OpenLIberty also supports users features, OpenLiberty works with EclipseLink, as well as, Hibernate, OpenLiberty comes with generic JPA support with transaction integration, Erin Schnabel fixes OpenLiberty configuration at JavaONE, IBM booth with vi in a few seconds, Erin Schnabel is a 10x-er, IBM MQ / MQS could be the best possible developer experience as JMS provider, Liberty Bikes - a Java EE 8 / MicroProfile Tron-like game, scaling websockets with session affinity, tiny ThinWARs, there is MicroProfile discussion for JWT token production, controlling OpenLiberty from MineCraft, testing JDBC connections, BulkHeads with porcupine, all concurrency in OpenLiberty runs on single, self-tuning ThreadPool Andy on twitter: @andrew_guibert and github.

AWS Podcast
#263: September Update Show

AWS Podcast

Play Episode Listen Later Sep 15, 2018 33:34


Simon walks you through some great new things you can use on your projects today! Shownotes: Amazon Lightsail Announces 50% Price Drop and Two New Instance Sizes | https://aws.amazon.com/about-aws/whats-new/2018/08/amazon-lightsail-announces-50-percent-price-drop-and-two-new-instance-sizes/ Introducing Amazon EC2 T3 Instances | https://aws.amazon.com/about-aws/whats-new/2018/08/introducing-amazon-ec2-t3-instances/ Amazon EC2 M5d Instances are Now Available in Additional Regions | https://aws.amazon.com/about-aws/whats-new/2018/09/amazon-ec2-m5d-instances-are-now-available-in-additional-regions/ Amazon EC2 C5d Instances are Now Available in Tokyo and Sydney Regions | https://aws.amazon.com/about-aws/whats-new/2018/09/amazon-ec2-c5d-instances-are-now-available-in-tokyo-and-sydney-regions/ AWS Batch Now Supports z1d, r5d, r5, m5d, c5d, p3, and x1e Instance Types | https://aws.amazon.com/about-aws/whats-new/2018/09/aws-batch-now-supports-z1d-r5d-r5-m5d-c5d-p3-and-x1e-instance-types/ Amazon ElastiCache for Redis adds support for in-place version upgrades for Redis Cluster | https://aws.amazon.com/about-aws/whats-new/2018/08/amazon-elasticache-for-redis-adds-support-for-in-place-version-upgrades-for-redis-cluster/ Introducing AWS CloudFormation Macros | https://aws.amazon.com/about-aws/whats-new/2018/09/introducing-aws-cloudformation-macros/ AWS CloudFormation Now Supports AWS PrivateLink | https://aws.amazon.com/about-aws/whats-new/2018/08/aws-cloudformation-now-supports-aws-privatelink-/ New Amazon EKS-optimized AMI and CloudFormation Template for Worker Node Provisioning | https://aws.amazon.com/about-aws/whats-new/2018/08/new-amazon-eks-optimized-ami-and-cloudformation-template-for-worker-node-provisioning/ Amazon EKS Supports GPU-Enabled EC2 Instances | https://aws.amazon.com/about-aws/whats-new/2018/08/amazon-eks-supports-gpu-enabled-ec2-instances/ Introducing Amazon EKS Platform Version 2 | https://aws.amazon.com/about-aws/whats-new/2018/08/introducing-amazon-eks-platform-version-2/ Amazon ECS Service Discovery Now Available in Frankfurt, London, Tokyo, Sydney, and Singapore Regions | https://aws.amazon.com/about-aws/whats-new/2018/08/amazon-ecs-service-discovery-now-available-in-frankfurt--tokyo--/ AWS Fargate Now Supports Time and Event-Based Task Scheduling | https://aws.amazon.com/about-aws/whats-new/2018/08/aws-fargate-now-supports-time-and-event-based-task-scheduling/ Amazon Athena releases an updated JDBC driver with improved performance when retrieving results | https://aws.amazon.com/about-aws/whats-new/2018/08/amazon-athena-streaming-jdbc-driver/ AWS Key Management Service Increases API Requests Per Second Limits | https://aws.amazon.com/about-aws/whats-new/2018/08/aws-key-management-service-increases-api-requests-per-second-limits/ Use Amazon DynamoDB Local More Easily with the New Docker Image | https://aws.amazon.com/about-aws/whats-new/2018/08/use-amazon-dynamodb-local-more-easily-with-the-new-docker-image/ Amazon DynamoDB Global Tables Available in Additional Regions | https://aws.amazon.com/about-aws/whats-new/2018/08/amazon-dynamodb-global-tables-available-in-additional-regions/ Performance Insights Supports Amazon Relational Database Service (RDS) for MySQL | https://aws.amazon.com/about-aws/whats-new/2018/08/performance-insights-supports-amazon-relational-database-service-for-mysql/ AWS Glue now supports data encryption at rest | https://aws.amazon.com/about-aws/whats-new/2018/09/aws-glue-now-supports-data-encryption-at-rest/ Deploy an AWS Cloud environment for VFX workstations with new Quick Start | https://aws.amazon.com/about-aws/whats-new/2018/08/deploy-an-aws-cloud-environment-for-vfx-workstations-with-new-quick-start/ New in AWS Deep Learning AMIs: TensorFlow 1.10, PyTorch with CUDA 9.2, and More | https://aws.amazon.com/about-aws/whats-new/2018/08/new-in-dl-amis-tensorflow1-10-pytorch-with-cuda9-2/ Amazon Rekognition announces the ability to more easily manage face collections | https://aws.amazon.com/about-aws/whats-new/2018/08/amazon-rekognition-announces-the-ability-to-more-easily-manage-face-collections/ Amazon SageMaker Supports TensorFlow 1.10 | https://aws.amazon.com/about-aws/whats-new/2018/09/amazon-sagemaker-supports-tensorflow-1-10/ Amazon SageMaker Supports A New Custom Header For The InvokeEndPoint API Action | https://aws.amazon.com/about-aws/whats-new/2018/09/amazon-sagemaker-supports-a-new-custom-header-for-the-invokeendp/ Amazon FreeRTOS Over-the-Air Update Feature Generally Available | https://aws.amazon.com/about-aws/whats-new/2018/08/amazon-freertos-over-the-air-update-feature-generally-available/ Announcing New Custom Analysis Features for AWS IoT Analytics with Custom Container Execution for Continuous Analysis | https://aws.amazon.com/about-aws/whats-new/2018/08/announcing-new-features-for-aws-iot-analytics-including-custom-container-execution/ AWS IoT Device Management Now Allows Thing Groups Indexing | https://aws.amazon.com/about-aws/whats-new/2018/08/aws-iot-device-management-now-allows-thing-groups-indexing/ AWS IoT Core Adds New Endpoints Serving Amazon Trust Services (ATS) Signed Certificates to Help Customers Avoid Symantec Distrust Issues | https://aws.amazon.com/about-aws/whats-new/2018/08/aws-iot-core-adds-new-endpoints-serving-amazon-trust-services-signed-certificates-to-help-customers-avoid-symantec-distrust-issues/ AWS WAF Launches New Comprehensive Logging Functionality | https://aws.amazon.com/about-aws/whats-new/2018/08/aws-waf-launches-new-comprehensive-logging-functionality/ AWS Direct Connect now in Dubai | https://aws.amazon.com/about-aws/whats-new/2018/08/aws-direct-connect-now-in-dubai/ New AWS Direct Connect locations in Paris and Taipei | https://aws.amazon.com/about-aws/whats-new/2018/08/new-aws-direct-connect-locations-paris-taipei/ Amazon Route 53 Auto Naming Available in Five Additional AWS Regions | https://aws.amazon.com/about-aws/whats-new/2018/08/amazon-route-53-auto-naming-available-in-five-additional-AWS-regions/ Amazon S3 Announces New Features for S3 Select | https://aws.amazon.com/about-aws/whats-new/2018/09/amazon-s3-announces-new-features-for-s3-select/ AWS Systems Manager Automation Now Supports Calling AWS APIs | https://aws.amazon.com/about-aws/whats-new/2018/08/AWS_Systems_Manager_Automation_Now_Supports_Invoking_AWS_APIs/ AWS Serverless Application Repository Adds Sorting Functionality and Improves Search Experience | https://aws.amazon.com/about-aws/whats-new/2018/08/aws-serverless-application-repository-adds-sorting-and-improves-search/ AWS SAM CLI Now Supports Debugging Go Functions and Testing with 50+ Events | https://aws.amazon.com/about-aws/whats-new/2018/08/aws-sam-cli-supports-debugging-go-functions-and-testing-for-additional-events/ AWS X-Ray Adds Support for Controlling Sampling Rate from the X-Ray Console | https://aws.amazon.com/about-aws/whats-new/2018/08/aws-xray-adds-support-for-controlling-sampling-rate-from-the-xray-console/ Amazon API Gateway Adds Support for AWS X-Ray | https://aws.amazon.com/about-aws/whats-new/2018/09/amazon-api-gateway-adds-support-for-aws-x-ray/ AWS CodeBuild Adds Ability to Create Build Projects with Multiple Input Sources and Output Artifacts | https://aws.amazon.com/about-aws/whats-new/2018/08/aws-codebuild-adds-ability-to-create-build-projects-with-multiple-input-sources-and-output-artifacts/ Announcing the AWS Amplify CLI Toolchain | https://aws.amazon.com/about-aws/whats-new/2018/08/annoucing-aws-amplify-cli-toolchain/ New Amazon Kinesis Data Analytics capability for time-series analytics | https://aws.amazon.com/about-aws/whats-new/2018/09/new-amazon-kinesis-data-analytics-capability-for-time-series-analytics/ Amazon Kinesis Video Streams Producer SDK Is Now Available For Microsoft Windows | https://aws.amazon.com/about-aws/whats-new/2018/08/kinesis-video-streams-producer-sdk-windows/ AWS Config Announces New Managed Rules | https://aws.amazon.com/about-aws/whats-new/2018/09/aws-config-announces-new-managed-rules/ Deploy Three New Amazon Connect Integrations from CallMiner, Aspect Software, and Acqueon | https://aws.amazon.com/about-aws/whats-new/2018/08/deploy-three-new-amazon-connect-integrations-from-callminer-aspect-acqueon/

Aprende a programar, el Podcast
21. Conectar a bases de datos con JDBC en Java

Aprende a programar, el Podcast

Play Episode Listen Later May 22, 2018 7:34


En el episodio de hoy hablamos sobre la manera más sencilla que tenemos para poder conectar con una base de datos desde Java y es con JDBC. La entrada 21. Conectar a bases de datos con JDBC en Java aparece primero en Emilio Pérez.

AWS Podcast
#241: Service Update Show

AWS Podcast

Play Episode Listen Later Apr 29, 2018 32:03


Another big round up of useful new capabilities for customers! Shownotes: Announcing S3 One Zone-Infrequent Access, a New Amazon S3 Storage Class | https://aws.amazon.com/about-aws/whats-new/2018/04/announcing-s3-one-zone-infrequent-access-a-new-amazon-s3-storage-class/ Amazon S3 Select Is Now Generally Available | https://aws.amazon.com/about-aws/whats-new/2018/04/amazon-s3-select-is-now-generally-available/ Amazon DynamoDB Adds Support for Continuous Backups and Point-In-Time Recovery (PITR) | https://aws.amazon.com/about-aws/whats-new/2018/03/amazon-dynamodb-adds-support-for-continuous-backups-and-point-in-time-recovery/ Amazon DynamoDB Encryption at Rest Now Available in Additional Regions | https://aws.amazon.com/about-aws/whats-new/2018/04/amazon-dynamodb-encryption-at-rest-now-available-in-additonal-regions/ Amazon AppStream 2.0 Enables Custom Branding | https://aws.amazon.com/about-aws/whats-new/2018/03/appstream2-enables-custom-branding/ AWS Cloud9 Supports Local Debugging of AWS Lambda Functions in Python | https://aws.amazon.com/about-aws/whats-new/2018/03/aws-cloud9-supports-local-debugging-of-aws-lambda-functions-in-python/ AWS Lambda Supports Node.js v8.10 | https://aws.amazon.com/about-aws/whats-new/2018/04/aws-lambda-supports-nodejs/ AWS CloudFormation Now Supports Launch Templates | https://aws.amazon.com/about-aws/whats-new/2018/03/aws-cloudformation-now-supports-launch-templates/ AWS Serverless Application Model (SAM) Implementation is Now Open-source - Amazon Web Services | https://aws.amazon.com/about-aws/whats-new/2018/04/aws-sam-implementation-is-now-open-source/ Introducing Service Discovery for Amazon ECS | https://aws.amazon.com/about-aws/whats-new/2018/03/introducing-service-discovery-for-amazon-ecs/ AWS Fargate Platform Version 1.1 Adds Support for Task Metadata, Container Health Checks, and Service Discovery | https://aws.amazon.com/about-aws/whats-new/2018/03/aws-fargate-platform-version-1-1/ AWS AppSync now Generally Available (GA) with new GraphQL Features | https://aws.amazon.com/about-aws/whats-new/2018/04/aws-appsync-now-ga/ AWS Amplify Adds Support for GraphQL and AWS AppSync Enabling Real-time Data Capabilities in JavaScript Applications | https://aws.amazon.com/about-aws/whats-new/2018/04/aws-amplify-adds-support-for-graphql-and-aws-appsync-enabling-re/ AWS X-Ray Adds Support for Customer Managed AWS KMS Keys | https://aws.amazon.com/about-aws/whats-new/2018/04/aws-x-ray-adds-support-for-customer-managed-aws-kms-keys/ Amazon API Gateway Supports Cross-Account AWS Lambda Authorizers and Integrations | https://aws.amazon.com/about-aws/whats-new/2018/04/amazon-api-gateway-supports-cross-account-aws-lambda-authorizers/ Amazon API Gateway Supports Resource Policies for APIs | https://aws.amazon.com/about-aws/whats-new/2018/04/amazon-api-gateway-supports-resource-policies/ Introducing AWS Certificate Manager Private Certificate Authority | https://aws.amazon.com/about-aws/whats-new/2018/04/introducing-aws-certificate-manager-private-certificate-authority/ Longer Sessions For IAM Roles | https://aws.amazon.com/about-aws/whats-new/2018/03/longer-role- sessions/ Enable Trusted Organization Access in AWS Organizations | https://aws.amazon.com/about-aws/whats-new/2018/03/aws-organizations-trusted-organization-access/ Increase User Logon Performance in AWS Managed Microsoft AD | https://aws.amazon.com/about-aws/whats-new/2018/03/increase-user-logon-performance-in-aws-managed-microsoft-ad/ New Multi-Account, Multi-Region Data Aggregation Capability in AWS Config | https://aws.amazon.com/about-aws/whats-new/2018/04/new-multi-account-multi-region-data-aggregation-capability-in-aws-config/ Introducing AWS Firewall Manager - Amazon Web Services (AWS) | https://aws.amazon.com/about-aws/whats-new/2018/04/introducing-aws-firewall-manager/ Introducing AWS Secrets Manager - Amazon Web Services (AWS) | https://aws.amazon.com/about-aws/whats-new/2018/04/introducing-aws-secrets-manager/ Amazon CloudWatch Metric Math | https://aws.amazon.com/about-aws/whats-new/2018/04/amazon-cloudwatch-adds-metric-math-to-enable-custom-operations-on-metrics/ Amazon CloudWatch Events Adds Amazon SQS FIFO as an Event Target | https://aws.amazon.com/about-aws/whats-new/2018/04/amazon-cloudWatch-events-adds-amazon-SQS-FIFO-as-an-event-target/ Amazon CloudWatch Adds Route 53 Logs to Vended Logs | https://aws.amazon.com/about-aws/whats-new/2018/03/amazon-cloudwatch-adds-route53-logs-to-vended-logs/ Making Easier to Track Your Amazon EBS Volume State | https://aws.amazon.com/about-aws/whats-new/2018/03/making-easier-to-track-your-amazon-ebs-volume-state/ Resource Groups Tagging API | https://aws.amazon.com/about-aws/whats-new/2018/03/resource-groups-tagging-api-now-supports-13-additional-aws-services/ AWS Systems Manager Adds Patch Management for CentOS Linux | https://aws.amazon.com/about-aws/whats-new/2018/03/aws-systems-manager-adds-patch-management-for-centos-linux/ AWS Config Notifications Are Now Integrated with Amazon CloudWatch Events | https://aws.amazon.com/about-aws/whats-new/2018/03/aws-config-notifications-are-now-integrated-with-amazon-cloudwatch-events/ Amazon Connect Automated Outbound Calling is Now Generally Available | https://aws.amazon.com/about-aws/whats-new/2018/03/amazon-connect-automated-outbound-calling-is-now-generally-available/ Amazon Connect Federated Single Sign-On Using SAML 2.0 is Generally Available | https://aws.amazon.com/about-aws/whats-new/2018/03/amazon-connect-federated-single-sign-on-using-saml-2-0-is-generally-available/ Amazon Elasticsearch Service Simplifies User Authentication and Access for Kibana with Amazon Cognito | https://aws.amazon.com/about-aws/whats-new/2018/04/amazon-elasticsearch-service-simplifies-user-authentication-and-access-for-kibana-with-amazon-cognito/ Amazon EFS Now Supports Encryption of Data in Transit | https://aws.amazon.com/about-aws/whats-new/2018/04/amazon-efs-now-supports-encryption-of-data-in-transit/ Apache MXNet Model Server Adds Container Support for Scalable Model Serving | https://aws.amazon.com/about-aws/whats-new/2018/04/mxnet-model-server-container-support/ AWS Deep Learning AMIs Now Include Optimized TensorFlow 1.6 for Amazon EC2 P3 and C5 Instances | https://aws.amazon.com/about-aws/whats-new/2018/03/aws-deep-learning-amis-optimized-tensorflow/ Amazon SageMaker has Open Sourced TensorFlow 1.6 and Apache MXNet 1.1 Docker Containers with Support for Local Mode, and More Instance Types Across All Modules | https://aws.amazon.com/about-aws/whats-new/2018/04/amazon-sagemaker-has-open-sourced-tensorflow-1-6-and-apache-mxnet-1-1-docker-containers-with-support-for-local-mode-and-now-supports-more-instance-types-across-all-modules/ Amazon Translate is Now Generally Available | https://aws.amazon.com/about-aws/whats-new/2018/04/amazon-translate-is-now-generally-available/ Amazon Transcribe is Now Generally Available | https://aws.amazon.com/about-aws/whats-new/2018/04/amazon-transcribe-is-now-generally-available/ Amazon Polly Increases Character Limits | https://aws.amazon.com/about-aws/whats-new/2018/03/amazon-polly-increases-character-limits/ Amazon Rekognition Improves Accuracy of Real-Time Face Recognition and Verification | https://aws.amazon.com/about-aws/whats-new/2018/04/amazon-rekognition-improves-accuracy-of-real-time-face-recognition-and-verification/ Amazon Simple Notification Service (SNS) now Supports AWS PrivateLink | https://aws.amazon.com/about-aws/whats-new/2018/04/amazon-SNS-now-supports-aws-privatelink/ Amazon Athena releases an updated JDBC driver with support for Array data types | https://aws.amazon.com/about-aws/whats-new/2018/04/amazon-athena-updated-jdbc-driver-launch/ Amazon QuickSight Adds New Data Connectors to Popular Business Apps and JSON | https://aws.amazon.com/about-aws/whats-new/2018/04/AmazonQuickSight-adds-new-app-connectors-and-JSON-support/ AWS Batch Adds Support for Automatic Termination with Job Execution Timeout | https://aws.amazon.com/about-aws/whats-new/2018/04/aws-batch-adds-support-for-automatic-termination-with-job-execution-timeout/ Announcing Enhancements to AWS Auto Scaling | https://aws.amazon.com/about-aws/whats-new/2018/04/announcing-enhancements-to-aws-auto-scaling/ Announcing 4 Free Digital Training Courses on New AWS Services | https://aws.amazon.com/about-aws/whats-new/2018/04/four-digital-courses-on-new-AWS-services/ Announcing the AWS Certified Security - Specialty Exam | https://aws.amazon.com/about-aws/whats-new/2018/04/aws-certified-security-specialty/ AWS Elemental MediaConvert Introduces Basic Pricing Tier | https://aws.amazon.com/about-aws/whats-new/2018/03/aws-elemental-mediaconvert-introduces-basic-pricing-tier/ Identify Opportunities for Amazon RDS Cost Savings Using AWS Cost Explorer's Reserved Instance (RI) Purchase Recommendations | https://aws.amazon.com/about-aws/whats-new/2018/04/cost-explorer-reserved-instance-purchase-recommendations/

data integration python aws transit apis amazon web services sns verification logs array json graphql kibana amazon sagemaker service update cloudwatch adds support generally available jdbc docker containers aws appsync amazon ecs amazon athena aws organizations aws config amazon cognito amazon transcribe amazon appstream apache mxnet amazon translate aws lambda functions amazon cloudwatch events amazon ec2 p3
Scalalaz Podcast
Выпуск 35 - Новогодний Блокчейн

Scalalaz Podcast

Play Episode Listen Later Dec 27, 2017


00:00:57 - Рассказ про поездку на конференцию fby.by 00:08:06 - Blockchain индустрия 00:23:36 - Проект про сравнение структуры protobuff объектов 00:35:00 - Как хранить картинки на HDFS или S3 в человекочитаемом виде 00:40:56 - Генератор ctags для scala с поддержкой зависимостей(для emacs и других редакторов). Будет тут sbt-ctags4s 00:46:13 - Как королев генерит формы и вебкомпоненты. И поможет ли в этом Magnolia и Shapeless? 00:58:09 - Обсуждаем макбуки 01:11:39 - Опенсорс 01:13:20 - Scala Platform by Scala Center (Обсуждение на reddit). 01:19:25 - Что не так с JDBC либами? - В очередной раз! Поддержи подкаст https://www.patreon.com/scalalalaz Голоса выпуска: Алексей Фомкин, Евгений Токарев, Григорий Помадчин, Ольга Махасоева

Les Cast Codeurs Podcast
LCC 159 - Si les méchants se mettent à être gentils

Les Cast Codeurs Podcast

Play Episode Listen Later Dec 19, 2016 95:51


Dans cet épisode, l’équipe canal historique est rejointe par Audrey Neveu pour discuter des nouvelles récentes. Java 9 et 10, reactive streams, les tensions entre Datastax et Apache, un peu de Docker bashing, le retour d’AWS sans oublier 2 crowdquestions. Enregistré le 12 décembre 2016 Téléchargement de l’épisode LesCastCodeurs-Episode–159.mp3 News Comment poser des crowdquestions Java et langages Java 9 peut-être à l’heure mais sans les tests ? La mailing liste JDK 10 est ouverte Java 9 peut-être à l’heure mais sans les tests ? Les JEP pour Java 10+: Lambda Enums et Generics Declaration et variance Ceylon 1.3.1 est sorti ainsi que le support pour Eclipse et IntelliJ IDEA Framework Interview sur RxJava 2 et reactive streams Grails arrive avec start.grails.io Nouveaux guides pratiques sur Grails Java EE: Management 2.0 et JMS 2.1 jetés, MVC cherche une nouvelle famille Donnée MongoDB Driver 3.4 Y a pas que le théorème CAP dans la vie Apache, Cassandra et Datastax: le ménage à trois Le driver JDBC de Microsoft SQLServer open source Saagie lève 4,2 millions Infrastructure Docker rachete Infinit Retour (naif) sur Docker Retour moins naif sur Docker La mémoire des process expliques aux enfants AWS a fait sa grand-messe (quelqu’un a suivi d’un peu plus pret que moi?) Snowball, Snowmobile, glue, Lambda edge, lightsail (VPS) Ce que Dropbox a fait depuis qu’ils sont partis de AWS StackOverflow: combien de serveurs OpenShift dédié sur Google Cloud Web et design L’expérience utilisateur de l’entourloupe Angular embrasse SemVer Outillage 2017 l’année du desktop Linux Grafana apporte l’alerting Prometeus 1.4 est sorti Support de Java dans Visual studio Code et support de Lombok Présentation Java 9 et Maven Générer des JARs pour Java 8 et Java 9 Méthodologie et politique Financer un projet open source Palantir et La DGSI le Trump’s Tech Summit de mercredi Divers Simulateur de startup l’ouverture du dépôt des candidatures pour Station F Outils de l’épisode Julien nous présente EvoSuite Crowdquestion Héritage OO et REST vs message. Conférences Snowcamp les 8–10 fevrier Devoxx France les 5–7 avril 2016 Mix-IT les 20–21 avril 2017 Breizhcamp les 19–21 avril 2017 RivieraDev les 11–12 mai 2017 Voxxed Days au CERN Nous contacter 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/ Flattr-ez nous (dons) sur https://lescastcodeurs.com/ En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com  

Les Cast Codeurs Podcast
LCC 155 - Java EE et l'ardoise magique

Les Cast Codeurs Podcast

Play Episode Listen Later Oct 3, 2016 91:41


L’équipe est rejointe par Quentin Adam et parle de JavaOne, Java EE 8 et 9, Ceylon, Angular 2, docker et les forks, d’attaque de services, et bien d’autres choses encore. Merci à Clever Cloud pour son aide et de nous avoir prêté Quentin ;) Enregistré le 26 septembre 2016 Téléchargement de l’épisode LesCastCodeurs-Episode–155.mp3 Sponsor - Clever Cloud Quentin Adam - @waxzce Clever Cloud It automation, concentrez vous sur votre code, Clever Cloud fait tourner le site, reprise sur crash automatique, monitoring auto, scaling up/down/out automatique, security fix, backups… Rien à gérer, le travail du développeur s’arrête à git push. http://www.clever-cloud.com/ https://www.clever-cloud.com/doc/java/java-maven/ News Quentin Adam sur Twitter JavaOne Lancement de go.java Oracle écoute et change Java EE Java EE 8 fin 2017 et 9 un an après 9 ne gardera pas la compatibilité ascendante parce que pour les microservices. Le rationnel pour les changements proposés dans Java EE MicroProfile 1.0 est sorti et plans pour le futur JDBC asynchrone les low levels parallèles de la JVM avancent (un jour peut être on pourra deprecate unsafe) Langages Ceylon 1.3 android, WildFly Swarm, IntelliJ IDEA, fat jars Ensime Plus de temps pour Java 9 Gradle 3.1 avec les builds composites, synchro Android Studio plus rapide Sortie de TypeScript 2.0 Scala 2.12 est en RC1 - Target de Java8, rapprochement de la sémantique bytecode qui va permettre plus d’interrop entre les langages - trait => interface, Lambda + Either right biaise Middleware JSON-B a un nouveau site Bean Validation 2.0 et les collections Github qui se met à GraphQL pour son API Web (et critique du tout GraphQL) Web Angular 2.0 est sorti Overview de la fetch API (article de Guillaume avec un exemple) Utiliser Ngrok pour déveloper ses webhooks Data Le coût de parser du SQL Infrastructure Evernote chez Google 3scale racheté par Red Hat Apigee acheté par Google Cloud Platform La controverse autour d’un fork de Docker une autre opinion ici New Red Hat project looks a lot like a Docker fork Les Ipv4 s’épuisent et tout le monde fait des bricolages pour retarder l’échéance, c’est assez efficace, paradoxalement - APNIC Architecture Casser des APIs : comment La vue XWiki Revapi Sécurité Un attaquant mystère se prépare OVH attaqué par des… caméras connectées Security is a process not a reaction Outils et DevOps IntelliJ IDEA pas prêt pour macOS Sierra NetBeans rejoint Apache Support Java dans VisualStudio Code Homebrew 1.0 OSS projects on http://SonarQube.com : claim the ownership! ripgrep - fast gret for all grep usage, build with rust Organisation, communication et politique Accenture rachete Octo autre Divers CommitStrip sort un second livre Outils de l’épisode Un crowdcast de Omar Mebarki neststat $ netstat -anp | grep 8888 -a: Toues les sockets -n: numeric, pas de resolution de non dns. Afficher les numéro de port au lieu du nom du protocole supposé (80 au lieu de http) -p: affiche le PID (qui est le numéro du process) Ce numéro peut être utilisé ensuite avec la command ‘ps’ pour avoir lus de détails Conférences ngEurope 25, 26 octobre 2016 Codeurs en Seine, le CfP le jeudi 24 novembre (avec des ateliers le 26 novembre) DevFest Nantes, le CfP les 9 et 10novembre à Nantes. CfP jusqu’à fin août. Devoxx Belgique du 7 au 11 novembre Snowcamp les 8–10 fevrier scala.io 27 et 28 octobre + une track débutant total Nous contacter 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/ Flattr-ez nous (dons) sur https://lescastcodeurs.com/ En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com  

DEF CON 23 [Audio] Speeches from the Hacker Convention
Bart Kulach (Bartlomiej Jakub Kulach - Hack the Legacy! IBM i (aka AS/400) Revealed

DEF CON 23 [Audio] Speeches from the Hacker Convention

Play Episode Listen Later Oct 21, 2015


Materials Available here:https://media.defcon.org/DEF%20CON%2023/DEF%20CON%2023%20presentations/DEFCON-23-Bart-Kulach-Hack-the-Legacy-IBMi-revealed.pdf Hack the Legacy! IBM i (aka AS/400) Revealed. Bart Kulach (Bartlomiej Jakub Kulach) Security Researcher Have you ever heard about the famous "green screen"? No, it's not a screensaver... Believe me, it still does exist! In many industries, although the front-end systems are all new and shiny, in the back-end they still rely on well-known, proven IBM i (aka AS/400) technology for their back-office, core systems. Surprisingly, nobody truly seems to care about the security. Even if these nice IBM heavy black boxes are directly connected to the Internet... The aim of the talk is to give you more insight in a number of techniques for performing a security test of / securing an IBM i system from perspective of an external and internal intruder. Methods like privilege escalation by nested user switching, getting full system access via JDBC or bypassing the "green screen" (5250) limitations will be presented. Last but not least: I will also show a undocumented output format of the built-in password transfer API, giving you direct access to all password hashes. Even IBM engineers may wonder... Bart Kulach: Aged 31, with 14 years of work experience within IT security, risk management and IT operations. Security specialist and experienced supervisor for IT audits, CISA, CISM. Working currently for NN Group in the Netherlands as coordinator for IT audits within Investment and Insurance business units in Europe and Asia. The past 7 years he held various security and risk management related positions. Focused on security of IBM i (aka AS/400, iSeries), website security as well as lean IT processes and architecture. Facebook: (bart.kulach)

The Record
Seattle Before the iPhone #4 - Gus Mueller

The Record

Play Episode Listen Later Feb 14, 2014 76:15


This episode was recorded 17 May 2013 live and in person at Omni's lovely offices overlooking Lake Union in Seattle. You can download the m4a file or subscribe in iTunes. (Or subscribe to the podcast feed.) Gus Mueller, Flying Meat founder, created VoodooPad (now at Plausible Labs) and Acorn, the image editor for humans. Gus is also responsible for open source software such as FMDB and JSTalk. This episode is sponsored by Squarespace. Get 10% off by going to http://squarespace.com/therecord. Better still: go work for Squarespace! They're hiring 30 engineers and designers by March 15, and, “When you interview at Squarespace, we'll invite you and your spouse or partner to be New Yorkers for a weekend—on us.” The great designers at Squarespace have designed an entire weekend for you, from dining at Alder to going to the Smalls Jazz Club and visiting The New Museum. Seriously cool deal at beapartofit.squarespace.com. This episode is also sponsored by Microsoft Azure Mobile Services. Mobile Services is a great way to provide backend services — syncing and other things — for your iPhone, iPad, and Mac apps. Write code — Javascript code — in your favorite text editor on your Mac. (Mobile Services runs Node.js.) Deploy via git. Write unit tests using mocha (or your tool of choice). Supports authenticating via Twitter, Facebook, and Google — and you can roll your own system. It's cool. Things we mention, in order of appearance (more or less): Rock climbing Luke Adamson Missouri 2001 2002 Cocoa Apple IIc 1993 Mac Color Classic BASIC ELIZA Artificial Intelligence Assembler Missile Command Java Eric Albert Perl Animated GIFs CGIs Server push images REALBasic PC Apple IIe DOS Colossal Caves Plover Nibble Civilization UNIX AIX A/UX St. Louis Columbia Math is hard Single sign-on Servlets OS X WWDC Rhapsody 1995 MacPERL NiftyTelnet BBEdit FlySketch Coffee Picasso's bull sketches VoodooPad 22" Cinema Display OS X Innovator's Award O'Reilly Peter Lewis Rich Siegel Mark Aldritt Ambrosia Panic Transmit Audion O'Reilly Mac OS Conference Audio Hijack Paul Kafasis SubEthaEdit Mac Pro Ireland XML PDF Victoria's Secret Caterpillar Adobe InDesign OS X Server Xserve Macintosh G5 MacUpdate VersionTracker QuickDraw Kerberos HyperCard Objective-C messaging system Aaron Hillegass's book Java-Cocoa bridge JDBC Oracle databases 2005 Seattle Microsoft Parents Just Don't Understand Vancouver, BC B.B. King Seattle Xcoders Joe Heck University of Missouri Evening at Adler Wil Shipley Daniel Jalkut Eric Peyton Quicksilver Rosyna Chicago Drunkenbatman Adler Planetarium C4 Wolf Colin Barrett Delicious Generation Disco.app My Dream App Chimera / Camino Santa Clara World Wrapps Buzz Andersen Quartz Core Image Filters Bezier curves Wacom Unit tests Automated builds ZeroLink Metrowerks CodeWarrior NeXT BeOS Macintosh Performa Display Postscript SGIs Sun boxes Mac OS 8 MachTen Netscape Internet Explorer for Mac OS Outlook Express OmniGroup Shakespeare's pizza Pagliacci Neapolitan pizza Everett FIOS Fender Stratocaster GarageBand AudioBus Adobe Photoshop Adobe Photoshop Elements JSTalk AppleScript SQLite WebKit Napkin

Podcast
JavaHispano Podcast - 152 - Noticias de febrero 2013

Podcast

Play Episode Listen Later Feb 26, 2013


En esta ocasión Eduardo Frigerio y un servidor repasamos las noticias más relevantes del último mes. Este podcast ha sido editado por Daniel Sánchez. Noticias:   SEO para desarrolladores. Seminario de javaHispano y Paradigma Tecnológico Oracle vuelve a la carga contra Google por Android Opera abandona el desarrollo propio y se suma a WebKit Java vuelve a liderar el índice TIOBE Aplicación didáctica: Swing y JDBC Codename One 1.0: escribe en Java y ejecuta en iOS, Blackberry y Android Android no es sólo para teléfonos móviles

Unsupported Operation

Unsupported Operation - Final for 2011Java / Oracle / Tool / Language RelatedJava 7u2 released, ships with JavaFX 2.0.2 which was also released JavaFX 2.0 - Intro By Example is available on Kindle as well - didn’t realize there any books out on this.Java 6u30 also releasedeFX is a new JavaFX/Netbeans Platform frameworkNetBeans 7.1 RC1 releasedJetBrains released IntelliJ IDEA 11 - a bugfix update to TeamCity was also released last weekGoogle’s Eclipse plugin is now open sourceOrion, Eclipses Cloud IDE has gone 0.4 M1 - new and noteworthy include HTML syntax highlighting, Code Mirror syntax highlighting (including mixed-mode documents, such as htmll/javascript/php), syntax validation, content type service (to store different mime types), and much moreState of the LambdaJSR 292 Goodness: Almost static final fields - for the language level hackersJSR 352 passes with two no votes - Batch JSRRedline Smalltalk compiler “complete” - work on the runtime begins. Why Smalltalk on the JVM?Dart on ChromiumShaftServer is a new DartVM Application Server - jHiccup is a new performance monitoring/analysis tool released under Creative Commons from Azul SystemsHP open source webos Interesting that they’re asking the community to decide/recommend licensing, governance etc.Adobe joins the OSGi Alliance Board of Directors (  Adobe’s Felix Meschberger apointed to BOD - principal developer/driver of the Apache Felix OSGi container ).Web Server / Web FrameworksPrimeFaces Mobile 0.9 - JSF optimized for mobilesOracle releases Weblogic 12c - which finally does full J2ee6 Apache Geronimo goes full J2EE 6 certifiedJetty 8 got released without much fanfare. Its available as standalone download, maven artifacts, rpm and debian packagesJersey 1.11 released with Eclipse MOXy supportApache Wicket 1.5 releasedRestfuse 1.0 has been released - its a test framework for REST apis running with junit.DropWizard - REST framework from Coda Hale / Yammer - has nice heartbeat system for built-in monitoring/testingMiscHibernate 4.0 FinalHibernate Search 4.0 FinalBook: Practical Unit Testing with TestNG and Mockito - available Q1 2012Mockito 1.9 released Awesomely improved documentation Pax Exam 2.3 has been releasedConfluence 4.1 releasedJDBC driver for Neo4j from Rickard OburgGoogle Guava 11rc1 out - changesAndroid+Antur Kotwal is heading to Auckland on Janurary 5 to talk about new ICS APIs.ICS shipping to Nexus S devices over the next week or twoSpringSpring Social 1.0.1Spring 3.1GroovyGrails 2.0 Heroku announces “native” support for Grailsgroovy 2.0 roadmap outlined modularity! no more swing in your server app!ScalaAdopts Play framework as officialScala IDE for Eclipse gets an updateTypesafe has been in damage control over recent high profile Scala dissing - introduces a paid for service that protects you against binary incompatibility, all  the rest of you have to sufferScala+GWT compiler has gone to version 3, seems to be following Scala’s trend of changing a lot of the internalsAnd a summary of the Yammer debateEclipseXtend 2.2 released with standalone compiler, ant task, maven plugin.Apache MavenMaven 2.x Release Plugin - Version 2.2.2 Fixed problems with version numbers in profiles not being updated, updated to SCM 1.6Maven Dependency Plugin - Version 2.4 Minor changes but one HUGE improvement: Add to purge-local-repository goal ability to clean only snapshotsdependencypath-maven-plugin Sets a property pointing to the artifact file for each selected project dependency. Each property name will have a base name in form of groupId:artifactId:type:[classifier][.relative][.suffix]. This is similar to the /dependency:properties/ goal but with additional features, like setting a relative path and filtering.Maven Surefire Plugin, version 2.11 Includes changes to the proposed plugin APIMaven FindBugs Plugin version 2.3.3Mock Repository Manager version 1.0-alpha-1 The Mock Repository Manager suite of projects are used to provide mock or lightweight Maven Repository Managers for use during integration testing of Maven plugins.Still no Apache Maven 3.0.4 release, rolled to rc4 after several issues were found, awaiting a re-release of Wagon to increase HTTP timeouts before rerolling rc5.

Programmation orientée objet avancée 5
Cours n°09 : JDBC / SAX

Programmation orientée objet avancée 5

Play Episode Listen Later Dec 9, 2008 78:01


- JDBC - SAX