Set of technologies which allow a person to feel as if they were present in another place
POPULARITY
Telepresence robotica kan veel betekenen voor de veiligheid van hulp- en veiligheidsdiensten. Het stelt ze in staat op afstand onveilige omgevingen te verkennen en interactie te hebben met die omgeving zonder mensen in gevaar te brengen. De intuïtieve aansturing zorgt voor de ultieme toepassing van de beste eigenschappen van mens en machine. In welke situaties komt telepresence robotica van pas? Werkt telepresence robotica net als een VR-spel? Ziet een telepresence robot eruit als een mens? Bekijk de video waarin TNO-expert Robin alle informatie over telepresence robotica uitpakt:
Claire chatted to Gisela Reyes-Cruz from the University of Nottingham about how humans interact with, trust and accept robots. Gisela Reyes-Cruz investigates human-computer and human-robot interaction to understand everyday life interactions with technologies, as well as trust in them and public acceptance. These technologies include autonomous and robotic systems: from mobile apps that have, or may have, a component that works autonomously, to robots that can navigate a physical space on their own, such as telepresence robots. The goal of Gisela's work is to inform responsible system design and design practices. Find out more about the Mixed Reality Lab at the University of Nottingham: https://www.nottingham.ac.uk/research/groups/mixedrealitylab/ Join the Robot Talk community on Patreon: https://www.patreon.com/ClaireAsher
Generate Hyper-Realistic Voice-Overs using Audyo. Get free access - https://www.audyo.ai/login?inviteCode=fJHKdiZJwUNOvPQr Free Complete AI Digital Marketing Course: https://youtu.be/-qJWb-Vtbhs The Complete Affiliate Marketing Course: https://youtu.be/QI6ey9ra3kY Extract Millions of Leads in Minutes: https://youtu.be/9nr6BnfD2xw Create 1000's of videos in minutes: https://youtu.be/NH4WgjRwJw0 Shorts Playlist: Watch AI Horror Stories: https://www.youtube.com/watch?v=U0Oc7KkM5q0&list=PL7iVMyVUvArb5BlE8b7FQozJQ3QQL1QgO Watch AI Audio Stories Playlist: https://www.youtube.com/watch?v=UBL0drY_3co&list=PL7iVMyVUvArZs_MjZCokoFRlAMD0aH6ck Visit https://www.bookspotz.com and meet the Human AI Generate Millions of Articles in Minutes: https://youtu.be/wveq63n0ZBk Entire Free AI-Powered Digital Marketing Course: https://youtu.be/-qJWb-Vtbhs New Bots: Ultimate AI Presentation of All-Time: https://youtu.be/j8JfSMfDCSU Viral Post Generator Software: https://youtu.be/FqsQLO-3h_k Full AI-SEO Tutorial: https://youtu.be/PDPslvkQyPk Extract Millions of Leads in Minutes: https://youtu.be/9nr6BnfD2xw Create 100's of Videos in Minutes: https://youtu.be/NH4WgjRwJw0 Extract Billions of Emails in Minutes: https://youtu.be/WXLrWdf3f70 Write full eBooks in Minutes: https://youtu.be/MHZobDxdpuM Convert Audio to Video in AI: https://youtu.be/mHxiPW9vRfc World's First Full Affiliate Marketing Course: https://youtu.be/QI6ey9ra3kY Explore AI Audio Stories: https://www.youtube.com/watch?v=e4lm4ua9-pA&list=PL7iVMyVUvArZs_MjZCokoFRlAMD0aH6ck Explore Trending YouTube Videos: https://www.youtube.com/watch?v=e4lm4ua9-pA&list=PL7iVMyVUvArbLHE5fbWy6VX-rUxsyVntR Explore Popular on YouTube Playlist: https://www.youtube.com/watch?v=e4lm4ua9-pA&list=PL7iVMyVUvAraZf6uRTJB4JVr-S3crIFsF Explore Digital Marketing Shorts: https://www.youtube.com/watch?v=Haogd4zAO20&list=PL7iVMyVUvAra5Ij3f8ABX9XJZUrL98B7- Connect with Srinidhi Ranganathan, the Human AI - https://www.linkedin.com/in/srinidhiranganathan/ Explore Bookspotz's World-Changing Courses - https://www.bookspotz.com/courses/ India's First Hyper-Speed Artificial Intelligence Digital Marketing (AIDM) Technology Certification Course: https://www.bookspotz.com/indias-first-hyper-speed-artificial-intelligence-digital-marketing-aidm-technology-certification-course/ RoboAuthor: India's First AI Content Writing Automation, SEO and Marketing Course: Super-Storm Edition: https://www.bookspotz.com/roboauthor-indias-first-ai-content-writing-automation-and-marketing-course-super-storm-edition/ Brand Dynamo: India's First Next-Level Personal Branding Course Powered by Artificial Intelligence (AI): https://www.bookspotz.com/brand-dynamo-indias-first-next-level-personal-branding-course-powered-by-artificial-intelligence-ai/ India's First Prompt Engineering Technology (PET) Certification Course with a Specialization on Artificial Super-Intelligence (ASI): https://www.bookspotz.com/indias-first-prompt-engineering-technology-pet-certification-course-with-specialization-on-artificial-super-intelligence-asi/ The World-Changing Generative AI Design Course from Bookspotz: https://www.bookspotz.com/the-world-changing-generative-ai-design-course/ SuperNova 2050: The World's One and Only Artificial General Intelligence (AGI) Training Course for Futuristic Entrepreneurs: https://www.bookspotz.com/supernova-2050-the-worlds-one-and-only-artificial-general-intelligence-agi-training-course-for-futuristic-entrepreneurs/ The World's Largest Collection of Crazy AI Tools: https://play.google.com/store/books/details/Srinidhi_Ranganathan_Crazy_Artificial_Intelligence?id=e_fNEAAAQBAJ&hl=en_IN&gl=US Srinidhi Ranganathan: The World's First Creative GPT Human: https://www.bookspotz.com/srinidhi-ranganathan-the-creative-human-gpt/ Create 50,000+ Mobile Apps in Minutes without Code: Legend Srinidhi's New Invention https://www.bookspotz.com/create-50-000-mobile-apps-in-minutes-legend-srinidhi-invention/ Srinidhi Ranganathan - The World's Best Prompt Engineer: https://www.bookspotz.com/srinidhi-ranganathan-the-worlds-best-prompt-engineer/ The Millionaire Next Door: Srinidhi Ranganathan Reveals What the Future of Wealth Truly Looks Like: https://www.bookspotz.com/the-millionaire-next-door-srinidhi-ranganathan-reveals-what-the-future-of-wealth-truly-looks-like/ Unleashing the Hyperphantasia Superpowers of Srinidhi Ranganathan: The World's First GPT-4 Human: https://www.bookspotz.com/unleashing-the-hyperphantasia-superpowers-of-srinidhi-ranganathan-the-worlds-first-gpt4-human/ The World's Biggest AI Tool List: https://play.google.com/store/books/details/Srinidhi_Ranganathan_Crazy_Artificial_Intelligence?id=e_fNEAAAQBAJ Future 1.0: AI in Digital Marketing: https://play.google.com/store/books/details/Srinidhi_Ranganathan_Future_1_0_Your_Guide_To_Rule?id=oIHHDwAAQBAJ 12 Social Media Hacks that work: https://play.google.com/store/books/details/Srinidhi_Ranganathan_12_Social_Media_Hacks_That_Wo?id=ZkQ4DwAAQBAJBecome a supporter of this podcast: https://www.spreaker.com/podcast/digital-marketing-legend-leaks--4375666/support.
Your weekly dose of information that keeps you up to date on the latest developments in the field of technology designed to assist people with disabilities and special needs. Special Guest: Debbie Theobald – CEO – Vecna Technologies, Inc. Website: vecnahealth.com Full Day Training Link: https://www.eastersealstech.com/our-services/fulldaytraining/ Stories: Envision on BlindShell: https://bit.ly/3uVagCa BllindShell Free Service Info: […] The post ATU667 – VGo Telepresence Robot with Debbie Theobald first appeared on Assistive Technology at Easter Seals Crossroads.
Anoop Gupta is the CEO and Co-Founder of SeekOut, an AI-powered Talent Intelligence Platform helping organizations recruit, retain, and grow talent. Anoop started SeekOut after an 18-year career at Microsoft. During his tenure, Anoop was the Corporate Vice-President of the multibillion-dollar Unified Communications Group (Skype + Exchange). He was TA to Bill Gates, advising on technology and product strategy, and as a Distinguished Scientist at MSR, he led work on AI, Natural User Interfaces, and Telepresence. Prior to Microsoft, Anoop was a tenured professor at Stanford University and he holds a Ph.D. in Computer Science from Carnegie Mellon University. See omnystudio.com/listener for privacy information.
Steve Caplin discusses the latest tech. On the latest Apple computers there are new ways to enliven video conferencing. An AI security camera can describe what it sees. Robots attending meetings for you are getting more responsive. Drones will take you to some of the world's greatest tourist site without leaving home. Prague's airport is to have a country-wide map on the ceiling linked to current events. There's a revolutionary bike lock that solves the problems all cyclists face. The Department for Transport hopes to end parking app rage. And why, if you're Russian, you should be careful about using a language app to order pomegranate juice. Learn more about your ad choices. Visit podcastchoices.com/adchoices
Episode:Title: One Leggy DinosaurShow: ohmTown DailySeason: 2Episode: 250Date: 9/7/2023Time: 9PM ET@ohmTown Current Election: https://www.ohmtown.com/elections/Past Elections: https://www.ohmtown.com/past-elections/Twitch: https://www.twitch.tv/ohmtownYoutube: https://www.youtube.com/ohmtownPodcasts: https://podcasts.apple.com/us/podcast/ohmtown/id1609446592Patreon: https://www.patreon.com/ohmTownDiscord: https://discord.gg/vgUxz3XArticles Discussed:[0:00] Introductions...Pilot of Human Sized Hamster Wheel in Ocean https://www.ohmtown.com/groups/ohmtowndaily/f/d/florida-man-riding-human-sized-hamster-wheel-in-atlantic-ocean-faces-federal-charges/Youtube that revealed information sentenced to jail. https://www.ohmtown.com/groups/warcrafters/f/d/japanese-court-throws-the-book-at-youtuber-who-uploaded-copyrighted-game-clips-and-spoilers-two-years-in-the-slammer-and-1m-fine/Cybertruck CyberSpoon for the Cyber McFlurry in CyberChina https://www.ohmtown.com/groups/ohmtowndaily/f/d/this-cybertruck-inspired-mcflurry-spoon-is-real-but-its-only-available-in-china/PSA: Recall of 245,000 pounds of frozen chicken https://www.ohmtown.com/groups/ohmtowndaily/f/d/usda-recalls-over-245k-pounds-of-frozen-chicken-strip-products/The Sawmill that should be turned to dust. https://www.ohmtown.com/groups/ohmtowndaily/f/d/wisconsin-sawmill-has-agreed-to-stop-hiring-children-after-a-16-year-old-died-on-the-job/Norwegian Gold Hoard https://www.ohmtown.com/groups/mobble/f/d/amateur-makes-gold-find-of-the-century-in-norway/Telepresence for Kids in School https://www.ohmtown.com/groups/ohmtowndaily/f/d/a-japanese-city-is-installing-robots-in-classrooms-so-kids-who-are-worried-about-attending-school-can-tune-in-remotely/One Leggy Dinosaur https://www.ohmtown.com/groups/ohmtowndaily/f/d/scientists-uncover-a-bizarre-leggy-dinosaur-unlike-anything-seen-before-and-it-could-rewrite-the-history-of-bird-evolution/Bubble Cars of the 1960's are Back https://www.ohmtown.com/groups/hatchideas/f/d/tiny-bubble-cars-from-the-1960s-are-making-a-comeback-take-a-look-at-the-latest-electric-versions/Climate Havens Don't Exist https://www.ohmtown.com/groups/mobble/f/d/cities-are-advertising-themselves-as-climate-havens-experts-say-theres-no-such-thing/How to turn $300,000 of TCG assets into Jail Time https://www.ohmtown.com/groups/warcrafters/f/d/gen-cons-card-heist-suspects-have-been-charged-and-could-face-a-10000-fine-with-prison-time-after-their-300000-haul-likely-sold-for-just-4000/Declining Imports from China https://www.ohmtown.com/groups/ohmtowndaily/f/d/the-us-just-imported-its-smallest-share-of-chinese-goods-in-17-years-and-the-big-winners-are-mexico-and-vietnam/Broadcasted live on Twitch -- Watch live at https://www.twitch.tv/ohmtown
Living With AI Podcast: Challenges of Living with Artificial Intelligence
From the only museum to be open at the beginning of the UK lockdown, to the decommissioning of nuclear facilities, telepresence can affect all sorts of sectors. In this projects episode we're talking to Verity, Horia, Praminda and Ayse about telepresence, trust and robots:Verity McIntosh – Virtually There Horia Maior – TAS ART Praminda Caleb-Solly - Digital Twins for Human-Assistive Robot Teams Ayse Kucukyilmaz - CHAPTER - Cognitive HumAn in the looP TEleopeRationsPodcast Host: Sean Riley The UKRI Trustworthy Autonomous Systems (TAS) Hub Website
Bret and Matt are joined by two engineers in Docker's leadership - Chief Technology Officer Justin Cormack and Senior Manager of Developer Relations Michael Irwin, to talk about recent Docker Hub changes, as well as their latest product releases.-------------------------------------★ Enroll now for my next Live course, GitHub Actions + Argo CD, scheduled for July 10-21. Go to bret.courses/autodeploy to sign up. ★------------------------------------We touch on Docker's latest updates and announcements, focusing on the early releases of Docker Scout, Docker plus WebAssembly, and the Telepresence extension for Docker Desktop. We also look at Docker's version 23 release, its first major update in three years, with key changes including BuildKit becoming the default builder, the ability to run alternate containerd shims, and a return to semantic versioning. Other updates include new Swarm features and deprecation of older features, specifically older storage drivers.In the show we also cover Docker's recent announcement and subsequent retraction of a plan to require free Docker Hub organizations to move to different plans.Live recording of the complete show from March 23, 2023 is on YouTube (Ep. #208).★Topics★Docker v23 releaseDocker Hub org changesDocker ScoutTechnical preview of Docker+WasmTelepresence for Docker announcementSupport this show and get exclusive benefits on Patreon, YouTube, or bretfisher.com!★Join my Community★New live course on CI automation and gitops deploymentsBest coupons for my Docker and Kubernetes coursesChat with us and fellow students on our Discord Server DevOps FansGrab some merch at Bret's Loot BoxHomepage bretfisher.comCreators & Guests Justin Cormack - Guest Bret Fisher - Host Cristi Cotovan - Editor Beth Fisher - Producer Michael Irwin
City of Sunnyvale, CA: current live view (IN USE) Audio Podcast
Watch Download File
City of Sunnyvale, CA: current live view (IN USE) Video Podcast
Watch Download File
Cet épisode marathon sera découpé en deux morceaux pour éviter à vos oreilles une écoute marathon. Dans cet épisode on y parle Brian Goetz, Bian Goetz, Brian Goetz, usages des threads virtuels, OpenAPI, Kubernetes, KNative, copilot et Tekton. La deuxième partie couvrira des sujets d'architecture et de loi société et organisation ainsi que les conférences à venir. Enregistré le 8 juillet 2022 Téléchargement de l'épisode LesCastCodeurs-Episode–281.mp3 News Langages Peut-être une nouvelle syntaxe spécifique aux Records Java pour tordre le cou aux builders Brian Goetz discute de l'idée d'avoir une syntaxe spécifique pour les records pour facilement créer un record dérivé, potentiellement avec des valeurs par défaut, mais en paramétrant certains champs Point shadowPos = shape.position() with { x = 0 } Cela évite de créer la notion de paramètre par défaut dans les constructeurs ou les méthodes Il y a l'article Data Oriented Programming de Brian Goetz, sur InfoQ projet Amber amène des changements qui combinés permet de faire du data oriented programming en Java et pas que du OOP OO combine état et comportement (code) OO est super utile pour défendre des limites (programme large en des limites plus petites et plus gérable) mais on s'oriente vers des applications plus petites (microservices) data oriented programming: modélise data immuable et le code de la logique métier est séparée records -> data en tant que classe, sealed classes -> définir des choix, pattern matching -> raisonne sur des data polymorphiques algebraic data: hiérarchie de sealed classes dont les feuilles sont des records: nommées, immuable, testable (pas de code) Un nouveau JEP pour intégrer une Classfile API Le JDK inclut déjà des forks de ASM, de BCEL, et d'autres APIs internes, pour manipuler / produire / lire le bytecode Mais l'idée ici c'est que le JDK vienne avec sa propre API officielle, et qui soit plus sympa à utiliser aussi que le pattern visiteur de ASM par exemple La version d'ASM intégrée était toujours en retard d'une version (problème de poule et d'oeuf, car ASM doit supporter la dernière version de Java, mais Java n+1 n'est pas encore sorti) Lilian nous montre à quoi va ressembler les Record Patterns de JEP 405 Apache Groovy et les virtual threads, et aussi Groovy et le Deep Learning Paul King, qui dirige actuellement le PMC de Apache Groovy, a partagé récemment plusieurs articles sur le blog d'Apache sur des intégrations intéressantes avec Groovy Groovy et sa librairie GPars pour la programmation concurrente et parallèle s'intègre facilement avec les Virtual Threads de JEP 425 / JDK 19 https://blogs.apache.org/groovy/entry/gpars-meets-virtual-threads Groovy avec Apache Wayang et Apache Spark pour classifier des Whiskey par clusterisation KMeans https://blogs.apache.org/groovy/entry/using-groovy-with-apache-wayang Et aussi Groovy avec différentes librairies de Deep Learning pour la classification https://blogs.apache.org/groovy/entry/classifying-iris-flowers-with-deep Le jargon (en anglais) de la programmation fonctionnelle, si vous avez rêvé d'avoir sous la main la définition de foncteur, de monoïde, et j'en passe avec des exemples en JavaScript des pointeurs vers des librairies fonctionnelles en JavaScript des traductions dans d'autres langues et d'autres langages de programmation Librairies Spring Boot 2.7 SpringBoot 2.7 Spring GraphQL 1.0 Support pour Podman Gestion de dépendance et auto configuration pour Cache2k nouvelle annotations pour Elasticsearch et CouchBase dernière versions avant SpringBoot 3 qui changera plus de choses. Recommande de migrer une version a la fois. Support pour 2.5 à fini (upstream) Quarkus 2.10.0 Travaux préliminaires sur les threads virtuels de Loom Support non-blocking pour GraphQL Prise en charge des Kubernetes service binding pour les clients SQL réactifs CacheKeyGenerator pour l'extension de cache quarkus-bootstrap-maven-plugin déprécié et remplacé par quarkus-extension-maven-plugin (uniquement utile pour les développeurs d'extensions Quarkus) Nouveaux guides: Using Stork with Kubernetes OpenId Connect Client Reference Guide Using Podman with Quarkus Les différences entre OpenAPI 2 et 3 Introduction de la notion de lien pour créer des relations entre Response et Operations, pratique pour faire des APIs hypermédia La structure du document OpenAPI a été -un peu simplifiée, en combinant par exemple basePath et schemes, ou en rassemblant les securityDefinitions Des améliorations sur les security schemes, autour de OAuth et OpenID Plus de clarté dans la négociation de contenu et les cookies La section des exemples de Request / Response devrait aider les outils qui génèrent par exemple des SDK automatiquement à partir de la description OpenAPI Un support étendu de JSON Schema Introduction d'une notion de Callback, importante pour les APIs asynchrones, en particulier les WebHooks je me demande si ils ont l'intention d'embrasser AsyncAPI ou su la partie asynchrone d'OpenAPI 3 a pour objectif de faire de la competition Infrastructure N'utilisez pas Kubernetes tout de suite ! Kubernetes, c'est bien, mais c'est un gros marteau. Est-ce que vous avez des gros clous à enfoncer ? Ne commencez peut-être pas avec l'artillerie lourde de Kubernetes. Commencez plutôt avec des solutions managées genre serverless, ce sera plus simple, et au fur et à mesure si votre infrastructure a besoin de grossir et dépasse les fonctionnalités des solutions managées, à ce moment là seulement évaluer si Kubernetes peut répondre à votre besoin Choisir Kubernetes, c'est aussi avoir la taille de l'équipe qui va bien avec, et il faut des profils DevOps, SRE, etc, pour gérer un cluster K8S L'auteur suggère grosso modo que ça dépend de l'ordre de magnitude de la taille de l'équipe : avec quelques personnes, préférez des solutions type Google App Engine ou AWS App Runner, avec une dizaine de personne peut-être du Google Cloud Run ou AWS Fargate, avec moins d'une centaine là pourquoi pas du Kubernetes managé comme Google Kubernetes Engine, et si vous dépassez mille, alors peut-être vos propres clusters managés par vos soins et hébergés par vos soins sur votre infra ca impose d'utiliser les services du cloud provider? Parce que la vie ce n'est pas que du code maison. C'est la mode de dire de pas utiliser K8S : https://www.jeremybrown.tech/8-kubernetes-is-a-red-flag-signalling-premature-optimisation/ (mais bon, vu le nombre de fois où il est pas utilisé à b Knative Eventing Devlivery methods on peut faire de la delviery simple 1–1 sans garantie on peut faire de la delivery complexe et persistante en introduisant la notion de channel qui decouple la source de la destination. on peut repondre a la reception d'un message et pousser la réponse dans un second channel mais ca devient compliquer a gérer quand on rajoute des souscripteurs il y a la notiuon de broker qui definit: des flitres, un channel (automatique) et la capacité de répondre les triggers sont un abonnement non pas a un channel mais a un type d'évènement spécifique Cloud AWS is Windows and Kube is Linux pourquoi utilisez Kube qui etait pas stablewa lors qu'AWS offre tout AWS forcé d'offrir EKS MAis pourri Lockin AWSIAM Pourquoi AWS serait le windows economies d'echelles de faire chez soi kube devient rentable une certaine taille de l'organisation besoin alternative a AWS (bus factor) on voit le Kube distro modele arriver Google data center Paris Outillage IntelliJ IDEA 2022.5 EAP 5 amène des nouveautés Frameworks and Technologies Spring 6 and Spring Boot 3 Support for new declarative HTTP Clients in Spring 6 URL completion and navigation for Spring Cloud Gateway routes Experimental GraalVM Native Debugger for Java Code insight improvements for JVM microservices test and mock frameworks Code insight improvements for Spring Shell Improved support for JAX-RS endpoints Support for WebSockets endpoints in HTTP Client Support for GraphQL endpoints in the HTTP Client UI/UX improvements for the HTTP Client Improved navigation between Protobuf and Java sources Kubernetes and Docker Intercept Kubernetes service requests with Telepresence integration Upload local Docker image to Minikube and other connections Docker auto-connection at IDE restart Docker connection options for different docker daemons GitHub copilot est disponible pour tous (les developpeurs) 40% du code écrit est généré par copilot en python (ca calme) gratuit pour les étudiants et les développeurs OSS Revue de Redmonk décrit copilot comme une extension d'intelligence ou auto complete mais qui « comprend » le code autour premiere fois pas une boite de cette taille et à cette échelle l'avantage de copilot en terme de productivité, de qualité de code, de sécurité et de légalité En gros, c'est encore à voir. Mais la qualité impressionne les gens qui l'ont testé ; sécurité pas de retour d'un côté ou de l'autre sauf que les développeurs humains ne sont pas des lumières de sécurité :D GitHub pense que GitHub n'est pas responsable de la violation de code vue que ce sont des machines et des algorithmes qui transforment: cela a l'air d'etre le consensus des avocats GitHub dit qu'on est responsable du code qu'on écrit avec copilot Et implicitement GitHub dit que la licensure du code « source » ne se propage pas au code generé. Et là, c'est pas clair et de la responsibilité de l'utilisateur, mais la encore les avocats sont plutot ok moralement c'est probablement pas ok mais bon et il y a débat autour des licenses copyleft notamment LGPL 1% du temps, code copié verbatim de > 150 caractères Question sur le code non open source sur lequel GitHub Copilot s'appuie mais en gros le marcher s'en fout un peu des licences Risque de reputation de Microsoft la question c'est quand / si les gens seront prêt à accepter cet usage Gradle publie sa roadmap Historiquement, la société Gradle Inc ne publiait pas vraiment de roadmap officielle Outre les tickets que l'on pouvait voir dans Github, cette fois ci, une “roadmap board” est visible et disponible pour tout le monde, et pas seulement pour les clients Tekton est groovy (mais non, il n'utilise pas Groovy !) Un grand tutoriel sur Tekton Une brève histoire de CI/CD (avec un contraste avec Groovy utilisé dans Jenkins) Un aperçu des grands concepts de Tekton, avec ses tâches et ses pipelines (Task, TaskRun, Pipeline, PipelineRun) Comment installer Tekton Les outils CLI Un exemple concret d'utilisation Sortie de Vim 9, surtout avec VimScript 9 des changements incompatibles entre VimScript 8.2 et 9 font qu'il était nécessaire de passer à une version majeure mais l'ancienne version du langage reste supportée pour compatibilité avec la nouvelle, les utilisateurs peuvent s'attendre à des performances x10 voire x100 ! le langage devient pré-compilé, au lieu d'être interprété ligne par ligne l'idée était d'avoir un langage plus proche de ce qu'on trouve dans JavaScript, TypeScript ou Java Conférences De la part de Youen Cette année Codeurs en Seine, c'est le 17 novembre et le cfp est ouvert N'hésitez pas à amener un peu de JVM dans l'appel à orateur. (ca commence à se faire rare). Pour rappel : codeurs en seine c'est 1000 personnes autour des métiers du développement dans une des plus grande salle de Rouen, le kindarena. Nous contacter Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Faire un crowdcast ou une crowdquestion Contactez-nous via twitter https://twitter.com/lescastcodeurs sur le groupe Google https://groups.google.com/group/lescastcodeurs ou sur le site web https://lescastcodeurs.com/
OhmniLabs | Thinking Outside The Bot | Podcast #78 OhmniLabs™ is changing the paradigm of robotics development. They thrive at creating flexible robotics modules and scalable additive manufacturing processes. Every engineer at Omnilabs including their software, electrical, mechanical professionals is cross trained on production engineering. This tight vertical integration ensures that they solve problems at the most efficient level. Dr. Thuc Vu is the CEO and co-founder of OhmniLabs. He previously founded Katango and Tappy which were acquired by Google and Weeby.co, respectively. Thuc has deep expertise in game theory, machine learning, tournament design and multi-agent systems. He earned his PhD from Stanford and a Bachelor of Science from Carnegie Mellon, both in computer science. In 2017, Thuc was named as one of the “40 Under 40” of Silicon Valley by the Silicon Valley Business Journal for his tireless efforts to bring about a significantly positive impact in the business world. Our conversation and Questions. Benefits of the robots Social impacts of Telepresence Robot What are the big challenges?Values vs. CostsTell us a bit about some challenges in use cases How has pandemic changed the business?How do you sell costs 3d printing?UV disinfection robotData?Future trendsHave we forgotten anything?How can people get a hold of you? To find out more about Ohmnilabs, check them out. If you would like to reach out Thuc, here is his LinkedIn proflie. Thanks to Laura Guy for her help in putting this conversation together. Enjoy the podcast. Thanks for subscribing, thanks for listening. Regards, Jim Jim BerettaCustomer Attraction Industrial Marketing & The Robot Industry Podcast Thanks to our friends: A3 The Association for Advancing Automation and PaintedRobot. If you would like to get involved with The Robot Industry Podcast, would like to become a guest or nominate someone, you can find me, Jim Beretta on LinkedIn or send me an email to therobotindustry at gmail dot com, no spaces. Our sponsor for this episode is Ehrhardt Automation Systems. Ehrhardt builds and commissions robotic turnkey automated solutions for their worldwide clients. With over 80 years of precision manufacturing they understand the complex world of automated manufacturing, project management, supply chain and delivering world-class custom automation on-time and on-budget. Contact one of their sales engineers to see what Ehrhardt can build for you at info@ehrhardtautomation.com Keywords and terms for this podcast: Ohmnilabs, Telepresence Robots, disinfectant robots, #therobotindustrypodcast
Let's talk about the Telepresence Robot Project with Grant Hardy, our AMI Reporter in Vancouver, B.C.
The first robots went into space over 60 years ago and robotics have become a familiar sight in many industrial settings, but it took a bit longer for robots to make their way into our homes. Robotic vacuum cleaners first started to make an appearance in homes about 20 years ago now, and according to a recent survey by the UK-RAS Network, 28% of people say that robots are now an occasional part of their everyday lives while 13% say they are fully integrated into their day to day lives. But home robots can do a lot more than clean the floors. Social and assistive robots can offer company and help around the home which can be game-changing for people with limited mobility or dementia. In this special live recording for the UK Festival of Robotics, Claire chatted to Dr. Patrick Holthaus (University of Hertfordshire / Robot House), Prof. Praminda Caleb-Solly (University of Nottingham) and Dr Mike Aldred (Dyson). Patrick Holthaus researches how robots can socially engage with humans letting them interact with each other in a special research facility, the Robot House at the University of Hertfordshire. He is particularly interested in non-verbal communication like body movements, gestures, and gaze and how they can influence the social credibility and trust of assistive and companion robots. At the same time, he maintains the robots and all the interactive technology in the house and coordinates and advises other users of the house as the Robot House manager. Praminda Caleb-Solly is Professor of Embodied Intelligence at the University of Nottingham where she leads the Cyber-physical Health and Assistive Robotics Technologies research group. Prior to joining Nottingham, she led research in Assistive Robotics at the Bristol Robotics Laboratory for over ten years. In 2020 she co-founded Robotics for Good CIC, a 'robots-as-a-service' start-up which is currently supporting the deployment of telepresence robots. Having gained a PhD in robotics from the University of Kent, Mike Aldred left in 1998 to be part of the original team of 5 roboticists at Dyson. He spent 15 years taking the company's first robot vacuum cleaner from technology research right the way through to a manufactured product. He has worked on pretty much every area of domestic robotics from developing vision based navigation systems, to helping define international robot standards and ensuring the production line runs smoothly. The common theme running across all his roles at Dyson has been turning academic theory into practical reality.
Julie and Torin welcome Anoop Gupta to talk start-ups, Microsoft, "Academic types" and how we use data to successfully drive incredible, underrepresented talent into our organizations, and Julie throws in a challenge to wrap us up. Anoop Gupta is the CEO and Co-Founder of SeekOut, the AI-powered Talent 360 platform. Anoop started SeekOut after a 20-year career at Microsoft, which began with the acquisition of his first startup, VXtreme, in 1997. During his tenure, Anoop was the Corporate Vice-President of the multibillion-dollar Unified Communications group. He was TA to Bill Gates, advising on technology and product strategy as a Distinguished Scientist at Microsoft Research, leading work on Telepresence and Natural User Interfaces. Prior to Microsoft, Anoop was a tenured professor at Stanford University and he holds a Ph.D. in Computer Science from Carnegie Mellon University.
City of Sunnyvale, CA: current live view (IN USE) Audio Podcast
Watch Download File
City of Sunnyvale, CA: current live view (IN USE) Video Podcast
Watch Download File
Distance and hybrid learning require innovative teaching methods to help educators deliver simulation-based learning strategies and promote students' critical thinking, clinical reasoning, and decision-making. One strategy is telepresence. This strategy allows for physically present and telepresent participation and facilitates innovative delivery of simulations, overcoming barriers of distance, isolation, illness, and scheduling. Dr. David Want presents how one nursing program integrated telepresence in simulation to promote student learning.
Physical examinations are hampered by telehealth but new research has curated the best work-arounds to maximise diagnosis.In this podcast we introduce Telepresence 5 – a suggested guideline for doctors to coach patients through self-examinations. We are joined by Professor Stephen W. Russell, from The University of Alabama at Birmingham, who explains Telepresence 5 and highlights some new home medical devices that are helping.Professor Russell touches on current research in virtual care technology in the United States. He also shows how to coach a patient through a physical self-examination for ailments including shoulder pain and sore throat. Hosted on Acast. See acast.com/privacy for more information.
We've learned much about how to work remotely over the last 2 years, but how will these changes impact the education sector? To answer this I invited Mark Sweeney, who is the Regional Vice President for Citrix in the UK & Ireland onto this episode of the podcast.Mark has over 25 years of experience in business innovation, and a key focus has been innovation within the technical professional services field.He has researched how automating professional services engagements through artificial intelligence and robotic process automation could modernise the consulting business. In his current role at Citrix, his primary focus is working with customers on delivering consistent employee experience, as well as awareness to the concept of hybrid learning within the higher education vertical.Mark believes that much like evolutionary designs for the workplace, campus-based learning could be the place for collaboration and practical work while formal teaching could be delivered virtually.On this episode we covered:What Citrix does todayCitrix Hybrid Learning study resultsWhat is "Blended Learning"?The evolution of the classroomWhat has the pandemic taught us about how to work & learn remotely?How do we enable educators to use the technologies that supports remote learning?Has higher education changed forever as a result of Covid?What investment do we need to effectively deploy remote learning solutions?Why IT staff will become more critical for blended learningTele-teaching in 1994The need for "Zoom Rooms"How to best engage the online learners as well as those in the roomGamifying the virtual experienceShould students pay less for virtual education?What is the role of the campus going forward?Up-skilling educators on new remote learning technologiesPreparing students for the hybrid world of worCitrix Company culture survey findings Asynchronous vs Synchronous remote working & learning experiencesAre candidates seeking roles that support remote working? Maintaining fairness for employees choosing to be remoteAvoiding "Location bias"The issue of "presenteeism" - favouring output vs attendance Mark's biggest Covid-19 learnings How Mark has changed as a manager due to Covid The need for a consistent experience when we move between home & office Actionable Advice to prepare for a hybrid world of work and learning Planning for the next disruptive event More on MarkLinkedInMark's BlogBlog on Blended LearningYour Host: Actionable Futurist® Andrew GrillFor more on Andrew - what he speaks about and replays of recent talks, please visit ActionableFuturist.comfollow @AndrewGrill on Twitteror @andrew.grill on Instagram.
Anoop Gupta is the CEO and Co-Founder of SeekOut, the AI-powered Talent 360 platform. Anoop started SeekOut after a 20-year career at Microsoft, which began with the acquisition of his first startup, VXtreme, in 1997. During his tenure, Anoop was the Corporate Vice-President of the multibillion-dollar Unified Communications group. He was TA to Bill Gates, advising on technology and product strategy as a Distinguished Scientist at Microsoft Research, leading work on Telepresence and Natural User Interfaces. Prior to Microsoft, Anoop was a tenured professor at Stanford University and he holds a Ph.D. in Computer Science from Carnegie Mellon University.
Justin Gordon (@justingordon212) talks with Anoop Gupta (@anoopxgupta), CEO and Co-Founder of SeekOut, the AI-powered Talent 360 platform. SeekOut provides companies with a comprehensive view of internal employees and external talent with analytics, predictive insights, and action recommendations to provide a competitive advantage in recruiting, retaining and developing their talent base.Anoop started SeekOut after a 20-year career at Microsoft, which began with the acquisition of his first startup, VXtreme, in 1997. During his tenure, Anoop was the Corporate Vice-President of the multibillion-dollar Unified Communications group. He was TA to Bill Gates, advising on technology and product strategy as a Distinguished Scientist at Microsoft Research, leading work on Telepresence and Natural User Interfaces. Prior to Microsoft, Anoop was a tenured professor at Stanford University and he holds a Ph.D. in Computer Science from Carnegie Mellon University.Website: SeekOutLinkedIn: linkedin.com/in/guptaanoopTwitter: @anoopxguptaShow Notes: What SeekOut is and their incredible growth, including 3X-ing their revenue over the last year Anoop's journey from professor at Stanford, to a 20 year career at Microsoft, to startup founder How founding a series of other companies and the resulting pivots led Anoop and his team to start SeekOut How their company has evolved to focus on retention and the digital transformation during COVID How SeekOut's recruitment platform is helping companies put DEI into action How they've approached the in-person versus virtual work question as a high growth company How SeekOut is investing in their own team and their focus on positive mindset and gratitude How Anoop views the future of work What he has loved about the transition from big tech to startup founder Building great company culture What's next for SeekOut More about the show:The Vitalize Podcast, a show by Vitalize Venture Capital (a seed-stage venture capital firm and pre-seed 300+ member angel community open to everyone), dives deep into the world of startup investing and the future of work.Hosted by Justin Gordon, the Director of Marketing at Vitalize Venture Capital, The Vitalize Podcast includes two main series. The Angel Investing series features interviews with a variety of angel investors and VCs around the world. The goal? To help develop the next generation of amazing investors. The Future of Work series takes a look at the founders and investors shaping the new world of work, including insights from our team here at Vitalize Venture Capital. More about us:Vitalize Venture Capital was formed in 2017 as a $16M seed-stage venture fund and now includes both a fund as well as an angel investing community investing in the future of work. Vitalize has offices in Chicago, San Francisco, and Los Angeles.The Vitalize Team:Gale - https://twitter.com/galeforceVCCaroline - https://twitter.com/carolinecasson_Justin - https://twitter.com/justingordon212Vitalize Angels, our angel investing community open to everyone:https://vitalize.vc/vitalizeangels/
Beam Me Up, Scotty. Call it telepresence, or even holoportation, but it's real right now as PORTL allows you to beam yourself in 4K life-sized holographic display to connect with friends, family, or potential customers. We talk about the future of work, the window to the metaverse, sustainability and nft displays.
Scott OBrien is the Founder and CEO of Humense, a revolutionary Augmented Reality (AR), Mixed Reality (MR) and Virtual Reality (VR) platform. Through his experience studying psychology and playing professional sports, Scott conceived Humense as a tool suite, marketplace, and social platform for bystanders to ‘get in on the action' via augmented experiences. He is a global leader in AR/VR, with over 100 completed projects and 20+ significant world first projects in the industry. Scott joins us on our latest podcast episode to discuss some of the current trends in AR/VR, including: • How Scott used his passion for sports to innovate new ways of operating in the AR/VR space • His perspective on remote work and how employees can flip the script on what it means to work remotely • The future possibility of a ‘metaverse' in which anyone can switch from physical experiences to augmented or virtual reality in day-to-day life • Advancements in AR/VR for virtual stadium experiences and events • The evolution of VR over the past decade and the new hardware in development that can be used across different realities Scott is passionate about how AR and VR can be used globally to enhance experience in eSports, traditional sports, road, rail, and airports. He has worked on over 10,000 firsthand AR/VR demos and spent over 10,000 hours coaching sports in schools, prisons and juvenile justice centres. He and his team have delivered hardware and software in numerous industries including global sports events, Hollywood, eSports, theme park overhauls, branded experiences, telco and enterprise. Follow Scott on LinkedIn, Twitter & Instagram: @scottobrien61 Follow Humense on Twitter & Instagram: @humense Follow us: @_nakedambition www.naked-ambition.com.au
Jemma-Tiffany is a 17-year-old writer, passionate patient advocate, and founder of Hyperacusis Awareness. Having grown up with severe hyperacusis (a rare and poorly-understood disorder that causes her to experience physical pain from everyday sounds) has motivated her to raise awareness of others with similar conditions. Through her various efforts, Jemma has gained experience in patient advocacy and legislative change campaigning, and has been able to participate in numerous awareness-raising events. The goal of her work is to create a world in which those with hyperacusis, chronic pain, and rare disease are believed — and are offered all the unique environmental modifications and services they need to live pain-free, comfortable lives. Her current advocacy projects include: adding a title 6 (Telepresence and High-Level Sensory Modifications) to the ADA; collaborating with research scientists and the American Academy of Audiology to establish clinical practice guidelines to protect those with hyperacusis; establishing a national awareness week for the condition; and a recent Hyperacusis Awareness Conference; as well as a campaign to extend distance-based learning (implemented during the COVID-19 pandemic) for disabled students in need. Jemma-Tiffany has been featured and published by Migraine Magic, PatientDX, the Hearing Health Foundation, the American Chronic Pain Association, Rare Youth Revolution, and The Third Estate, among others. Tune in as Jemma-Tiffany shares: that she was born with cataracts, and is low vision/legally blind that she didn't start experiencing issues with sound until she was about six years old that she was initially diagnosed with chronic migraine, but was eventually diagnosed with hyperacusis that hyperacusis was originally thought to be a psychosomatic condition — and as such, she has had to endure a lot of painful treatments how diagnostics have changed in recent years, as it regards hyperacusis that there is currently no complete treatment for hyperacusis what hyperacusis is, and how it can affect patients differently that the cause of hyperacusis is unknown, even in Jemma-Tiffany's case how she has grown into a patient advocate how COVID has positively impacted her educational experience, enabling her to receive more supportive accommodations why she was driven to attempt suicide how she has been gaslighted over and over — in medical settings and beyond how some alternative therapies have helped her (though they have not cured her of her pain): TENS and PEMF, among others that she has been doing her own medical research since she was 11 years old, in order to present information to her doctors what she's working on right now her advice for other young people living with chronic pain
The one where the guys just hit "record" as they discussed the latest experiments by big companies using DeepFakes for business pitches, the future of advertising and the Metaverse
They also got to chat with Los Angeles Dodgers players via video chat.
They also got to chat with Los Angeles Dodgers players via video chat.
2:36:00 – Frank in New Jersey and NYC, plus the Other Side. Topics include: Telepresence, going to work in NYC, noise pollution, Woodsy Owl, detour, celebrity liquor, astral travel, Times Square, old bus stop and comic shop, Simple, Contact, ramen, depressing seating areas, Grand Central, Fafhrd and The Gray Mouser, commercial interior design, Rock & Rule (1983), […]
2:36:00 – Frank in New Jersey and NYC, plus the Other Side. Topics include: Telepresence, going to work in NYC, noise pollution, Woodsy Owl, detour, celebrity liquor, astral travel, Times Square, old bus stop and comic shop, Simple, Contact, ramen, depressing seating areas, Grand Central, Fafhrd and The Gray Mouser, commercial interior design, Rock & Rule (1983), […]
Im Jahr 2019 stellte Facebook AI Habitat als Open-Source-Software zur Verfügung, einen Simulator, der KI-Systeme trainieren kann, die Dinge wie einen Heimroboter verkörpern, um in Umgebungen zu arbeiten, die reale Umgebungen wie Wohnungen und Büros nachahmen sollen. https://venturebeat.com/2021/06/30/facebook-updates-habitat-environment-to-train-embodied-ai/ Stephen Normandin verbrachte fast vier Jahre damit, als Vertragsfahrer für Amazon.com Inc. durch Phoenix zu rasen und Pakete auszuliefern. https://www.bloomberg.com/news/features/2021-06-28/fired-by-bot-amazon-turns-to-machine-managers-and-workers-are-losing-out Während fahrerlose Lkw einst wie eine ferne Zukunftsvision erscheinen mögen, haben uns die rasanten Entwicklungen in der künstlichen Intelligenz und des maschinellen Lernens an den Rand eines neuen Automatisierungszeitalters gebracht, angefangen beim Transport von Gütern. https://artificialintelligence-news.com/2021/06/28/how-ai-has-helped-in-the-transportation-of-vaccine-delivery-for-covid-19 Der maßgeschneiderte Roboter wurde entwickelt, um die Reichweite, Sichtbarkeit und Wirkung des bestehenden Player Honoree-Programms von US Soccer zu erweitern, bei dem elf Kinder von Volkswagen die Möglichkeit haben, während des Spiels mit Spielern der Frauen- und Männer-Nationalmannschaft auf das Spielfeld zu gehen die Nationalhymne. https://www.ussoccer.com/stories/2021/06/volkswagen-teams-up-with-ohmnilabs-on-custom-robot-to-provide-matchday-access-for-young-soccer-fans Bewundert die junge Frau im Sommerkleid nur den Blick von der Brücke? https://www.reuters.com/world/asia-pacific/seoul-using-ai-detect-prevent-suicide-attempts-bridges-2021-06-30/ Visit www.integratedaisolutions.com
Podcast jest dostępny także w formie newslettera: https://ainewsletter.integratedaisolutions.com/ W 2019 r. https://venturebeat.com/2021/06/30/facebook-updates-habitat-environment-to-train-embodied-ai/ Stephen Normandin spędził prawie cztery lata ścigając się w Phoenix, dostarczając paczki jako kierowca kontraktowy dla Amazon.com Inc. https://www.bloomberg.com/news/features/2021-06-28/fired-by-bot-amazon-turns-to-machine-managers-and-workers-are-losing-out Choć samochody ciężarowe bez kierowcy kiedyś wydawały się wizją z odległej przyszłości, szybki rozwój sztucznej inteligencji i uczenia maszynowego umieścił nas na krawędzi nowej ery automatyzacji, zaczynając od tego, jak transportujemy towary. https://artificialintelligence-news.com/2021/06/28/how-ai-has-helped-in-the-transportation-of-vaccine-delivery-for-covid-19 Niestandardowy robot został opracowany w celu zwiększenia zasięgu, widoczności i wpływu istniejącego programu honorowania zawodników US Soccer, w ramach którego jedenaścioro dzieci, pozyskiwanych przez firmę Volkswagen, ma możliwość wyjścia na boisko z zawodniczkami reprezentacji kobiet i mężczyzn podczas gry w hymn narodowy. https://www.ussoccer.com/stories/2021/06/volkswagen-teams-up-with-ohmnilabs-on-custom-robot-to-provide-matchday-access-for-young-soccer-fans Czy młoda kobieta w letniej sukience po prostu podziwia widok z mostu? https://www.reuters.com/world/asia-pacific/seoul-using-ai-detect-prevent-suicide-attempts-bridges-2021-06-30/ Odwiedź www.integratedaisolutions.com
In 2019, Facebook made AI Habitat available as open source software, a simulator that can train AI systems that embody things like a home robot to work in environments designed to mimic real-world environments like homes and offices. https://venturebeat.com/2021/06/30/facebook-updates-habitat-environment-to-train-embodied-ai/ Stephen Normandin spent nearly four years speeding through Phoenix as a contract driver for Amazon.com Inc., delivering packages. https://www.bloomberg.com/n ews/features/2021-06-28/fired-by-bot-amazon-turns-to-machine-managers-and-workers-are-losing-out While driverless trucks may once seem like a distant vision of the future, the rapid developments in artificial intelligence and machine learning have brought us to the edge of a new age of automation, starting with the transport of goods. https://artificialintelligence-news.com/2021/06/28/how-ai-has-helped-in-the-transportation-of-vaccine-delivery-for-covid-19 The bespoke robot was developed to expand the reach, visibility and impact of US Soccer's existing Player Honoree program, in which eleven Volkswagen children have the opportunity to play on the field with players from the women's and men's national teams to go the national anthem. https://www.ussoccer.com/stories/2021/06/volkswagen-teams-up-with-ohmnilabs-on-custom-robot-to-provide-matchday-access-for-young-soccer-fans Does the young woman in the summer dress just admire the view from the bridge? https://www.reuters.com/world/asia-pacific/seoul-using-ai-detect-prevent-suicide-attempts-bridges-2021-06-30/ Visit www.integratedaisolutions.com
[קישור לקובץ mp3] שלום וברוכים הבאים לפודקאסט מספר 414 של רברס עם פלטפורמה - התאריך היום הוא ה-18 ביולי 2021, ואנחנו בעיצומו של גל איש-לא-יודע-כמה, וגם לא יודעים האם זה עיצומו . . . השעה היא 2100 בערב, שעון יקנעם-עילית, ויונתן מצטרף כ-Co-Host - היי יונתן! טוב שאתה פה איתנו שוב.והיום נמצא איתנו לירן מחברת Rookout - ברוך הבא, מה שלומך?(לירן) מצויין - קצת מאוחר, אבל זו שעה מצויינת לפודקאסט.(רן) לתל אביבים זה כמעט בוקר . . .אז תיכף תספר לנו קצת מה איתך ועל החברה - הנושא שלנו להיום, בקצרה, זה האתגרים המעניינים שיש מאחורי דברים שהם Cloud-Native, שזה בעצם גם העיסוק של החברה שלך.אז ככה בשתי מילים - מי אתה? מה אתה עושה? מה עשית לפני זה?(לירן) אז אני לירן חיימוביץ', Co-Founder ו-CTO ב-Rookoutלפני שהצטרפתי ל-Rookout הייתי איזה עשר שנים במשרד ראש הממשלה, בוגר קורס אר”מ, למי שככה, מתעסק בדברים האלה.בגדול, לפני חמש שנים החלטתי להקים סטארטאפ - וכמה חודשים אח”כ קרמה עור וגידים Rookout . . .ו-Rookout היא חברה שמספקת כלים למפתחים, שמאפשרים להם “לצלול” לתוך הקוד לשהם, לדבג אותו להבין מה הוא עושה - גם כשהוא רחוק.אני לא חושב שיש משהו יותר רחוק, היום, מאשר Cloud-Native ו-Cloud בכלל.(רן) כן . . . אז מניח שאת המונח “Cloud-Native” לא מעט מהמאזינים שמעו [יש קרבורטור], יש גם ממש ארגון - CNCF - Cloud Native Computing Foundation , ואני מניח שזה שגור בפי רבים, And yet - כל אחד שומע את זה וכנראה מבין משהו אחר, מתכוון למשהו אחר.לפי ראייתך - מה המשמעות של Cloud-Native?(לירן) וואו, “לפי ראייתי” . . . קשה לי קצת להגיד שזה לפי ראייתי ולהגדיר את זה, אבל איך שאני תופס את זה, זה שלפני 10-15 שנים התחיל עולם ה-Cloud, עם ה-S3 של AWS ועם ה-Google App Engine ועם טכנולוגיות כאלהובהתחלה, התצורה הייתה יותר כזה “Lift & Shift” - בוא ניקח את האפליקציות שכתבנו ל-Data Centers ונריץ אותן בענןומה שהבנו, תוך כמה שנים, זה שאנחנו לא מנצלים את המקסימום שהענן יודע לתת לנו, את המקסימום שהענן יודע להציע לנויש המון יתרונות, שאפשר לדבר עליהם שעות - אני לא אכנס לזה עכשיו, כי על זה . . . נדבר רק על היתרונות של הענן . . .ובעצם - Cloud-Native זה אוסף של טכנולוגיות, אוסף של תפישות, אוסף של שיטות עבודה - שנועדו לאפשר לנו לבנות את אפליקציות שלנו בצורה אחרת, בצורה שיותר ממנפת את היתרונות הייחודיים של הענן, את האלסטיות שלו, את ה-Scale שהוא מאפשר לנו - ובעצם לבנות אפליקציות גדולות יותר, טובות יותר, מודרניות יותר.(רן) אז אם אני אסתכל רגע, לדוגמא - דיברת על Lift & Shift, אז נגיד שהיה לי איזשהו שירות Backend-י, שמכיל נגיד 50 מכונות - אז אני יכול לקחת את אותן 50 מכונות ורק להרים אותן באחד מספקי הענן - ולזה אנחנו קוראים Lift & Shift.כנראה שזה יעלה לי הרבה יותר . . . כי עלות של מכונה On-demand היא יותר יקרה מאשר מכונה שהיא כבר שלי, אם קניתי אותה.היתרון המשמעותי של הענן זה שהוא מאפשר לך לא להחזיק את כל ה-50 בכל זמן נתון, למשל . . .(לירן) עצם העובדה שאתה מסתכל על זה כעל “50 מכונות” - זה בדיוק התפיסה של Data Center . . . אתה מתכנן מראש - “אני, בשביל לעמוד ביעדים שלי, צריך להגדיר 50 מכונות” - אני יודע כמה CPU, כמה RAM, כמה דיסק-קשיח יהיה בכל אחת מהן,אני יודע מה יהיה התפקיד של כל אחת מהןואני חושב במונח הזה של “50 מכונות”היום, ב-Cloud, אנחנו יכולים להרים מכונה בסדר גודל של בין 15 ל-60 שניות, הרבה פעמיםלפעמים כמה דקות, תלוי בתפקיד שלה.ו-Container-ים אנחנו יכולים להרים לפעמים בשניות בודדות וזה מאפשר לנו לחשוב בעולם אחר -מאפשר לנו לעלות הרבה יותר מהר, לרדת הרבה יותר מהראנחנו יכולים לתכנן את ה-Capacity שלנו ברמה של דקות קדימה - ולא שנים או חודשים.(רן) אז אלה חלק מהיתרונות של הענן - ואמרנו באמת שלא נבזבז את כל הפודקאסט בלדבר על היתרונות, אבל כמובן שאלו חלק מהיתרונות.אולי צריך לציין שזה לא תמיד היה ככה - כשהתחיל -S3, או כשהתחיל EC2, אז הדברים לא היו בהכרח ככה. זאת אומרת - להרים מכונה יכול היה לקחת דקות ארוכות, מחירי ה-Storage היו שונים . . . אבל עם הזמן זה משהו שבהחלט קרה, ונולדו טכנולגיות חדשות - Lambda לדוגמא, ויש עוד דוגמאות אחרות - שבעצם מאפשרות שינוי פרדיגמה, שינוי שיטה.אבל - עם כל דבר טוב, גם יש כמה אתגרים . . . אז יש לא מעט אתגרים בלאמץ Cloud-Native, ובעצם פה אתה . . . על זה אנחנו רוצים לדבר.אילו אתגרים מעניינים אתה חושב שכדאי להתחיל איתם?(לירן) אז אני אהיה קצת אנוכי, ואני אסתכל על זה מהפרספקטיבה שלי - בסוף, רוב הקריירה שלי, רוב הרקע שלי היה כמפתח תוכנה, כמהנדס תוכנה, ואני אנסה להסתכל על זה מהפרספקטיבה שלי - של איפה מפתחי תוכנה “סובלים” בעולם ה-Cloud.ואחד הדברים שקורים למפתחי תוכנה זה שפתאום הם מאבדים שליטה - אם פעם היינו מריצים את האפליקציה שלנו עם איזשהו שרת Java Enterprise או איזשהו WSGI ב-Python, משהו כזה שקל להרים מקומית, פתאום אנחנו עוברים לטכנולוגיות שנבנו עבור הענן.נורא קל וטוב ומדהים להריץ אותן בענן - אבל יכול להיות פתאום נורא קשה להריץ אותן על ה-Laptop שלנו . . . .בין אם זה Serverless, שלא באמת קיים על ה-Laptop שלנובין אם זה ב-Kubernetes, שהוא מאוד מאוד גדול ויקר במשאבים, בעבודה מקומית ובעבודה קטנה - הוא מדהים ב-Cloud ולא כזה טוב אצלנו.בין אם זה כל מיני תלויות ב-Cloudבין אם זה כל מיני שירותים של AWS - זה SQS ו-SNS ו-Databases מנוהליםפתאום בכל הדברים האלה, כשאתה מתחיל לעבוד מקומית - זה מאתגר.או שאתה עובד עם ה-Cloud המרוחק בכל פעם, עם בעיות Connectivity ו-Latency ועם חוסר או פחות שקיפות, או כשאתה מרים כל מיני סימולטורים אצלך, שהם הרבה פחות איכותיים והרבה פחות מסמלצים . . .מן הסתם, ככל שאתה עובד יותר עם עם סימולטורים ופחות עם “סביבת האמת”, ככה התוצאות שלך ישתנו ברגע שתעבור מה-Dev ל-Staging או ל-Production.(רן) אז אנחנו בעצם מדברים על חוויית המפתח, שהיא נפגעה . . . דרך אגב, שווה להגיד שלפני, אני חושב, שני פרקים דיברנו על הנושא של Serverless עם ינון מ-Via וגם הנושא הזה עלה - ואני חושב שהבעיה היא די ברורה: כל מי שאי פעם פיתח פונקציות Lambda או המקבילים שלהן מבין את הבעיה - זה רץ בענן, אבל להריץ על המחשב שלך . . . אולי תצליח, אבל זו לא תיהיה אותה הסביבה.וכמובן הזכרתי את כל השירותים שמסביב - אם אתה צריך איזה SQS אם אם אתה צריך S3 או אם אתה צריך משהו אחר, אז אתה צריך או להשתמש ב-Service המרוחק, ואז עדיין יש לך חווייה גרועה כי זה איטי - או להשתמש באיזושהי סימולציה מקומית, אבל אז לא בטוח שהסימולציה באמת פועלת אותו הדבר, לצורך העניין . . . אולי לדברים הבסיסיים כן, אבל הרשאות או דברים כאלה לא תמיד עובדים כמו שצריך - ואז אתה מקבל את הזבנג שלך ב-Production.אוקיי, אז האתגר של חוויית הפיתוח . . . דרך אגב, יונתן - אצלכם יש Workloads שהם גם ב-Cloud וגם לא ב-Cloud [פרק 382 Carburetor 27 - k8s and multi-cloud], באיזו גישה נקטתם בהקשר של חוויית מפתח?(יונתן) אז אצלנו רוב האפליקציות ורוב ה-Services רצים ב-Cloud - אבל כזה שהוא שלנו, זאת אומרת Private Cloud ולא Public Cloud.אנחנו, מבחינת Debugging - אולי נדבר על זה אח”כ, יש פה גם עניין של גישות, אני חושב, של האם אתה רוצה בכלל לדבג (Debug) ב-Production ואיך אתה עושה את זה - אבל מבחינת סביבת הפיתוח עצמה, אנחנו עובדים ב-Remote - זאת אומרת שאתה מריץ את ה-Service שאתה רוצה לדבג (to debug) אותו לוקאלית, וכל שאר ה-Services שאתה נסמך עליהם, Databases וכו', הם ב-Remote.(רן) ואם הם צריכים אותך, דרך אגב? יש איזשהו Tunnel כזה שגם הם יכולים לקרוא לך?(יונתן) אם הם צריכים אותך - לא . . . אבל אם אתה צריכים שניים שמדברים אחד עם השני, אז אתה יכולים להרים את שניהם לוקאלית, שזה נגיד יחסית פשוט.אבל לא תוכל לקבל פתאום, לא יודע . . . הודעות Kafka משירות אחר.(לירן) הודעות Kafka או webhooks נגיד, שמכניסים . . . וגם - להרים Service אחד, בטח אם זה Service שאתה מכיר, אותו ועובד עליו טוב זה עוד קל - ברגע שאתה מצרף אליו את ה-Service השני זה כבר יותר מורכב, במיוחד אם זה Service שאתה פחות מכיר, או Service של חבר שלךוזה נוטה להיות אקספוננציאלית-יותר-קשה ככל שהמספר עולה . . .כשמדברים עליו Design “נכון” של Cloud Native, כשאתה חושב על זה . . . אם אתה עושה אינקפסולציה (Encapsulation) נכונה, אתה תמיד עובד על Service אחד, אפילו עובד עם Unit Testing - והכל מדהים.אבל ברגע שהאבסטרקציה (Abstraction) הזו מתחילה להישבר, ברגע שאתה צריך שני microServices או שלושה microServices, אז זה ניהיה הרבה יותר Messy [לא זה] ו“מציק”.(רן) גם בוא לא נשכח, שאני מניח שהרבה מהלקוחות לא מתחילים מוצר מאפס . . . הרבה מהלקוחות הם אולי במצב קצת יותר טוב מ-Lift & Shift, אבל בכל זאת הם לא מתחילים את כל הארכיטקטורה שלהם מאפס.אז עושים כמה התאמות לענן, כדי באמת להינות מה-Benefits שלו, אבל עדיין לא הכל כל כך נקי וברור - ולא תמיד משתמשים באבסטרקציה (Abstraction) הנכונה, ואז זה ניהיה יותר מורכב.אז איך יוצאים מהסמטוחה הזאת? . . .(לירן) אז באמת, כמו שיונתן אמר, יש את הגישה ה . .. נקרא לזה “אופטימלית”, שבאה ואומרת “אני מרים את הקוד שלי על המחשב שלי, וכל השאר שיהיה מרוחק, שיהיה בענן”שזה עובד חלק מהזמן . . . זה בעיקר עובד כשה-Scope מוגדר היטב, כש”המערכת יחסים” פשוטה, כשאפשר לבדוק טוב מאוד עם Unit Testingובעיקר כשהשירותים בענן לא צריכים אותי - כשאני לא צריך לקבל דברים מה-Kafka, כשאני לא צריך לקבל דברים ב-webhooks, כשלא צריך לפתוח Tunneling אלי.זה יכול לעבוד מאוד טוב - ואז אני באמת יכול לעבוד עם כל הכלים המסורתיים שלי.דרך אגב - למי שמתעניין בזה, יש ל-Kubernetes כלי שנקרא Telepresence: זה Open source שעוזר לעשות את זה.זה עדיין לא תמיד הדבר הכי קל והכי פשוט - אבל זה יכול קצת לעזור עם Port-Forwarding ו“שטויות” אחרות.(רן) דרך אגב - מאוד מעניין איך הוא עובד, ברמת ה-Networking, אבל זה לפודקאסט אחר . . . יש שם הרבה טריקים ושטיקים . . . טוב, כל Kubernetes עושה שטיקים ברמת ה-Networking, אבל גם Telepresence באופן ספציפי . . .(לירן) שטיק אחד גדול זה, Kubernetes . . . ואז יש לך את האופציה - שתי הקיצוניויות האחרות:אחת זה באמת להרים את כל הסביבה מקומית - שזה הולך וניהיה יותר ויותר קשה ככל שהסביבה יותר מורכבת, אבל אם יש לך נגיד שניים-שלושה-חמישה, אולי עשרה microServices, אתה עוד יכול להסתדר עם זה.אני כן אגיד שהרבה פעמים זה כאב ראש - הרבה פעמים אתה מוצא את עצמך מתחזק בעצם שני סטים של Deployment-ים, נגיד Kubernetes ו - Docker-Compose מקומית.אפילו אם אתה עושה Kubernetes מקומית - עדיין כנראה שה-Load Balancer יהיה שונה מקומית ומרוחק, יכול להיות שה-Database יהיו שונים ומרוחקים, אופרטורים . . . כל מיני Provider-ים שנמצאים בסביבה ה-Cloud-ית לא בהכרח יהיו זמינים מקומית, ואתה תמצא את עצמך מתחזק שתי קונפיגורציות.והאופציה השלישית, שהיא לקחת את הכל ל-Cloud - להגיד ש”אני מרים את כל הסביבה שלי ב-Cloud”, ואז בעצם כל שינוי בסביבה זה בעצם אומר איזשהו תהליך Deployment ו-CI/CD ו-Build.יש כלים, פה ושם, כמו Skaffold, כמו Tilt, כמו Garden, שעושים לזה אופטימיזציה ומנסים לעשות את זה הכי קל והכי מהר.אבל זה עדיין שרת מרוחק, שאתה מפתח עליו, שאתה מנטר אותו מרחוק - ואין לך את אותה רמה של יכולת “לצלול לתוך הקוד” שלך ולהבין אותו, כמו שאתה יכול מקומית.(רן) אני חושב ש . . . (א) יש כל מיני קומבינציות שונות, אבל קטיגורית יש גם את האופציה של Dev-Container - לפתח על Container מרוחק, שאולי נמצא בתוך ה-Datacenter, וכל מה שאתה עובד עליו זה איזשהו Frontend, איזשהו IDE שמדבר איתו, אבל ה-Codebase עצמו והקומפילציה והכל נמצאים מרוחק.אבל פה, דרך אגב, אני חייב להגיד שמעבר לחוויית המשתמש - דיברנו על Latency, דיברנו על חוויית המפתח - אבל מעבר לזה, יש גם את העניין הזה של “אתה מלכלך”... אתה מלכלך את Production, אתה משתמש בדאטה של Production, אתה יכול בטעות “לשתות” הודעות מ-Kafka שלא היית אמור לשתות, או לכתוב ל-Database שלא היית אמור לכתוב אליו - וזו בעיה לא של חוויית מפתח, זו בעיה של הנכונות של ה-Production . . .(יונתן) או של ה-Isolation . . . (רן) !Isolation - זו המילה שחיפשתי!(לירן) יש הרבה חברות שבהן זה לא בא בחשבון בכלל להתקרב ל-Production בתור מפתח - ואז כן, איך אתה עושה בעצם Isolation?האם אתה רץ באותו Cluster? ב-Cluster נפרד? על אותו Account או ב-Account שונה?הרבה אתגרים . . . .העולם הזה, של Remote Development, הוא סופר מעניין - יש Startup שנקרא Gitpod, אם אני זוכר נכון, שמתעסק עם זהגם GitHub הוציאו עכשיו איזושהי וריאציה של vscode שהיא Purely hostedאבל ממה שאני רואה וממה שאני קורא, זה עדיין לא שם.זה סופר-מגניב וזה וסופר-מבטיח, אבל לא הייתי ממליץ לאף אחד לבנות את ה-Development Environments שלו על . . . (רן) אני מכיר כבר כמה שעושים את זה . . .(לירן) באמת?(רן) . . . לא חברות גדולות . . .אבל כן.(יונתן) אם אני לא טועה, אפילו באינטל, לפני 15 שנה, עבדו ב-VNC על שרתים מרוחקים - וככה עבדו.(רן) יכול להיות - אבל האם המפתחים אהבו את זה?(יונתן) שאלה . . .(לירן) יש עכשיו כל מיני Web-first IDEs שנועדו להיות Hosted, ואמורים לתת חווייה מאוד טובה, אבל הבעיה היא שוב - עד כמה הם יכולים לבנות סביבת פיתוח מלאה.זה לא רק להריץ את הקוד - זה להריץ אותו, זה לדבג אותו, זה לספק את כל המעטפת שאתה רגיל ואוהב מה-Laptop שלך.(רן) ובכל אופן - את בעיית ה-Refresh, שדיברנו עליה קודם - זה לא פותר . . . זה אולי עושה אותה אפילו יותר גרועה, במובן הזה שעכשיו זה נורא קל להריץ דברים בתוך ה-Datacenter של Production, אז למה שלא תעשה את זה כל הזמן? . . . הנה - שכחת איזשהו Service באוויר ופתאום הכל נתקע בלילה. . . אילו פתרונות, דה-פקטו, אתה רואה שאנשים באמת מוצאים בשטח?(לירן) אז האמת שאנחנו רואים שאנשים מאמצים קצת מכל דבר, איזשהו שילוב של הדבריםקצת יש לי פרספקטיבה - אתה יכול להגיד שאף אחד מהפתרונות האלה לא טובים, ואתה יכול להגיד שהפתרונות האלה, כל אחד מהם טוב למשהו ספציפי.אבל אף אחד מהם לא נותן מענה לכולם כל הזמן.בסוף, אנחנו רואים שכל חברה שאנחנו עובדים איתה, כל חברה שאני מדבר איתה, מוצאת איזשהו שילובמן הסתם, ככל שאפשר לעבוד יותר מקומית אז זה יותר קל, וזה משהו שמפתחים מתרגלים אליו.אבל הרבה פעמים זה לא עובד - ואיפה שזה לא עובד, אז עוברים לדברים היותר מורכבים - להריץ את הכל Containerized מקומית, להריץ את הכל ב-Cloud, זה נורא תלוי ב-Use cases.דיברנו קצת על ה-Use case של ה-Incoming Data, של “אני רוצה עכשיו להרים webhook או להרים API ולראות מה קורה כשפונים אליו - אז כנראה שאני אצטרך להרים אותו ב-Cloudלעומת זאת, אם אני יכול יותר למשוך Data מאיזשהו Database, יש סיכוי טוב שאני אוכל להריץ את הקוד מקומית, עם איזשהו Batch Process, ולדבג אותו תוך כדי - והחיים שלי יהיו יותר יפים.ואז, בעצם, כשאתה מריץ את הקוד מרוחק, אז אתה היום קצת נופל לכלי-Production . . . זאת אומרת, אתה כבר לא יכול לעבוד עם ה-Debugger כמו שאתה רגיל, ואתה גם לא יכול לערוך קוד on-the-fly ולראות את זה.עובדים הרבה יותר באוריינטציה כמו שהיית עושה Troubleshooting ב-Production - עובדים עם כלי Observability, עם לוגים, עם מטריקות, עם Tracing - ומנסים להשתמש בכלים האלה כדי להבין מה קורה עם הקוד.מכיוון שה-Deployment-ים הם הרבה יותר איטיים, הרבה יותר מוסרבלים.(רן) כן, וזה, נראה לי, מביא אותנו גם קצת לאתגר הבא, של המורכבות , זאת אומרת - אם בעבר דברנו על ה-Scenario שהיה לך איזשהו AppServer, ובתוך ה-AppServer הייתה לך לוגיקה נורא-נורא מסובכת, אבל כל זה היה בתוך איזשהו Server בודד, או אולי פרוש על איזה Server אחד או שניים - נגיד AppServer ו-Database, אבל לא הרבה יותר מזה - היום, למעשה, לוגיקה פרושה על פני מספר Server-ים, אולי מספר פונקציות, תורים, Database-ים, Hook-ים ועוד הרבה מאוד פטנטים אחרים . . . חלקם חדשניים וחלקם אולי לא כל כך - אבל לפעמים אתה מגלה שנגיד HTTP Request של User בודד עובר בקלות דרך עשרה-חמישה-עשר דברים שונים, כשלא כולם זה בהכרח בבעלותך . . . זאת אומרת, יכול שחלק מהם בבעלות ה-Cloud Provider, חלק מהם אצל איזשהו Hook, נגיד שאתה כותב קובץ ומייצר Hook וכו'.זה ניהיה מורכב . . . איך מטפלים? איך מבינים את המורכבות הזאת? איך מבינים כשיש בעיות?(לירן) זה ניהיה מורכב, זה ניהיה מאוד מורכב . . . דווקא בעולם הזה, כלי ה-Observability שיש לנו היום הם מאוד מאוד טובים.אני לא יודע, ככה . . . חבר'ה בקהל שמקשיבים לנו, האם יצא להם לשמוע את המונח “Observability”זה מונח שמדבר בעצם על היכולת להבין מה קורה במערכת - מבחוץ.להבין האם היא במצב תקין או לא במצב תקיןואולי טיפה למה . . .יש היום אוסף של כלים כאלה, החל מעולמות הלוגים המסורתיים שאליהם אנחנו רגילים, דרך עולמות המטריקות - Prometheus וזה - ועד רמות ה-API, שזה כלים שהם קצת יותר כבדים, שמאפשרים יותר לצלול לעומק, ובאמת לעקוב, ברזולוציה מאוד בסיסית, על הבקשות האלה - בקשות HTTP ובקשות אחרות לאורך המערכת, לראות אילו Services עובדים . . . וכל הכלים האלה נותנים לנו איזשהו פידבק ראשוני, של כמה שגיאות יש במערכת, כמה זמן לוקח למערכת - ואולי גם מכווינים אותנו בערך לאיזו קומפוננטה (Component) עושה בעיות, איזו קומפוננטה חווה קשיים..(רן) אבל שוב, אני אקשה - דיברנו על קשיים . . . - אז אם פעם יכולת ללכת ל-JBoss שלך . . . יונתן, אני יודע שאתה נזכר בזה גם . . .(יונתן) !WebSphere [הוזכרו גם ב-412 Serverless at Via](רן) WebSphere . . . אז אתה יכול ללכת אליו, ולשים שם Breakpoint . . .להגיד “אוקיי, עכשיו אני אשלח Request, ונראה מה קורה ב-Breakpoint”.ועכשיו - אתה אולי, במקרה הטוב, יכול באמת להתחבר ולשים Breakpoint, וגם לא תמיד, אבל בדרך, אתה לא תראה את כל ה-Stack . . . יהיה לך מאוד מאוד קשה להבין מה ה-State שהביא אותך עד לשם, ושוב - לא תמיד אפשר לייצר Breakpoints, ברמה הטכנית.(לירן) זה באמת החסרון הגדול של שימוש בכלי Observability למטרות פיתוח.כלי Observability הם מאוד מאוד Rigid באופי שלהם - צריך להגדיר מראש מה רוצים לעשות, צריך להכניס את הלוגים לקוד, צריך להכניס את המטריקות לקוד . . .הכלי Tracing, דרך אגב - ה-API-ים יודעים לנטר איזשהו overview ראשוני, בעצמם, Out-of-the-Box, אבל מעבר ל-Basic זה, אתה צריך להוסיף בעצמך כל נקודה שאתה רוצה לנטר.וגם בכל פעם שאתה רוצה לשנות - זה אומר לשנות קוד, לעשות re-Deployment . . .עכשיו - כשמדובר על הקוד שלך, במיוחד אם זה רכיב שאתה עובד עליו עכשיו, אז זה לא כזה נוראבטח בסביבת Dev, לבנות את ה-Java, לעשות Transpile ל-JavaScript, לבנות את ה-Container, לעשות לזה Deployment . . . בין חמש לעשרים דקות ואתה מסודר.אבל זה הרבה יותר כואב כשזה לא הקוד שלך - בין אם זה microService ליד, שאותו אתה כבר פחות מכיר - פחות מכיר את ה-Build שלו, פחות מכיר את התהליכים שלו, פחות מכיר את ה-Deployment שלו.וזה יכול להיות גם Open Source . . . זה יכול להיות עכשיו איזשהו קוד Open source, ועכשיו לפתוח את הקוד Open Source הזה בשביל להוסיף Log ולהבין איך עושים Re-build ל-Package ואז את ה-Dependencies שלך להפנות ל-Package שבנית . . . - זה כבר יכול להיות סיפור בהיקף של איזה חצי-יום ויותר, וזה די מבאס.(יונתן) זה אולי מבאס - אבל יש גם הצד השני: עבודה כזאת שאתה עושה - על להוסיף מטריקה במקרים מסויימים, לזרוק Event . . . - זה קשה, אבל זה גם נכסזה נשאר איתךכש-Debugging הוא . . . אתה עושה Debugging, ואחרי זה הוא נעלםבמקרה הטוב הוא נעלם, ולא משאיר אחריו שום Stateוכל הידע שצברת משם הוא כבר לא שם, זאת אומרת - אני לא אומר שלא צריך Debugging בכלל, אבל מבחינתי, מי שפותח Debugger אז זה קצת “מוצא אחרון”', זה אומר שאולי היה חסר לו משהו לפני זהאו שלפעמים, באמת, יש דברים שאי אפשר בלי - אבל זו גישה קצת אחרת.(לירן) אני ממש בעד Observability ואני אוהב Observability, כש-Observability זה בערך אחד הדברים הכי חשוביםשווה להשקיע את הזמן בלבנות Observability מצויין למוצר - על אחת כמה וכמה ב-Productionזה סופר חשוב שהמפתחים שבנו את הקוד יקחו אחריות על זה - שהם יודעים מה קורה איתו, שהוא מדלוור (Delivers) ערך ללקוחות קצה - והדרך היחידה לעשות את זה זה עם לוגים ומטריקות ועם Observability.הבעיה עם זה היא ש-Observability זה הרבה משחק של ניסוי וטעיה - אתה לא תמיד יודע בהתחלה איזה לוג הכי חשוב . . .כמות הפעמים שראיתי בקריירה שלי מפתח שם Log - ובא ואומר “זה סופר-סופר חשוב!” - רק שזה קורה 10,000 פעם בשנייה ומפיל את המערכת, או לפחות מקפיץ את החשבון של ה-Elastic . . .(רן) זו מערכת מאוד חשובה, כנראה, אם היא קוראת 10,000 פעמים בשנייה . . . (יונתן) . . . או שאולי אתה מגלה פתאום שזה לא היה כזה חשוב כמו שחשבת . . .(לירן) או שאתה מגלה שאיזושהי מטריקה . . . אתה רוצה לשלוח איזושהי מטריקה ואתה מגלה ששלחת אותה בשעות במקום בשניות, ועכשיו המערכת Input לא מצליחה לקלוט אותה . . . בסוף, אני חושב שאת ה-Observability הכי טוב הכנסנו כתוצאה מתקלות - ב-Rookout, משהו לא עבד, תחקרנו ותחקרנו והבנו למה זה לא עובד - וגם הבנו איך לשפר את ה-Observability שלנו כדי שבפעם הבאה זה לא יקרה, או כך שנדע על זה יותר מהר ויותר בקלות.זה פשוט תהליך איטרטיבי (Iterative) . . .(רן) את זה כנראה אפשר להגיד על כל דבר בחיים - את הדברים הכי טובים אתה עושה רק אחרי שטעית [ד”ש לדאגלס], אבל כן - אני לגמרי מזדהה עם התופעה הזאת.(לירן) ובהקשר הזה - הטענה שלי כלפי הכלי Observability הקיימים זה פשוט האיטיות . . . המסורבלות . . .כשאני כבר יודע מה אני רוצה, אני אעשה לזה את ה-Commit, אני אעשה לזה את ה-Deployment, והכל יהיה בסדר, בטח למי שיש CI/CD איכותיזה יקח את השעה-שעתייםהבעיה שזה תהליך של ניסוי וטעיה, שלעפמים לוקח לי עשרה או אפילו עשרים ניסיונות לדעת מהי המטריקה שאני צריך לדעת, מה ה-Log שאני צריךואת זה - זה מה שאנחנו ב-Rookout מאמינים - שהרבה יותר כיף וקל ומועיל לעשות את זה באיטרציות זריזותלהצביע על שורה -לקבל ממנה Log; להצביע על שורה - לקבל ממנה מטריקהלראות שזה באמת מה שאתה רוצה, לראות שזה באמת מה שרצית לראותואז בעצם לקבע את זה בכלים כאלה ואחרים כך שזה יגיע באופן קבוע, וישמר את הידע הזה לאורך זמן.(יונתן) אז זה בעיקר כלים כדי להבין מה קורה במערכת או שזה גם כדי לשנות התנהגות - לשנות לוגים או לשנות If-ים? . . .(לירן) הפרספקטיבה שלנו ב-Rookout, מה שאנחנו עושים, זה שאנחנו רוצים להפוך את העולם הזה, של Observability, לדינאמי - שתוכל, כמפתח, לבוא ולהצביע על כל שורה בקוד שלך ולהגיד “אני רוצה לדעת מה קורה פה, אני רוצה לדעת איך הגעתי לפה”גם ברמה ה-Stack trace וגם ברמת Tracing - איפה הבקשה הזאת עברה קודם? מהם הערכים של המשתנים שלי? וגם לנצל את הדברים האלה בצורה קצת יותר חכמה - “תייצר לי פה מטריקה חדשה”, “תייצר לי פה Log חדש”וכשאנחנו גם מבינים שיש פה כל מיני תוספות ומורכבויות נוספות על Productionלמשל: “אני רוצה לראות מה קורה כשמגיעים לשורה הזאת בקוד” - אבל עבור לקוח ספציפי.או - “תראה לי איך הקוד שלי מטפל כשהלקוח הזה שולח לי פה בקשה”“תראה לי איך הקוד שלי מטפל, כשקיבלתי מה -S3 איזושהי הודעת שגיאה”.(רן) נגיד Conditional Breakpoints . . . משתנה ש”כאשר הערך שלו מגיע ל-X אז תעצור”(לירן) כן - הטכנולוגיה שאנחנו אוהבים לקרוא לה “Non-breaking breakpoints”, שזה אומר שנותנים לך בעיה שהיא דומה ל-Breakpoint, מראים לך את מה שה-Breakpoint היה מראה - אבל לא עוצרים לך את הקוד בעצם.(יונתן) עכשיו יותר ויותר שרתים - לפחות כאלה שצריכים להתמודד עם Scale גדול - הם א-סינכרוניים, זאת אומרת שדברים לא בהכרח קורים בסדר שלהם, ה-Stack trace יכול להיראות כמו גיהינום.איך אתם מתמודדים עם זה?[דיברת על אינטל - אז Out-of-Order Execution](לירן) אז אנחנו מתמודדים עם זה בכמה דרכים - הכי משמעותי זה בגדול לעקוב אחרי Request-יםאנחנו מאפשרים לעקוב אחרי ה-Distributed Tracing Information, שאת חלקו אנחנו יודעים לייצר לעצמנו ואת חלקו אפשר בעצם לקבל מכלי APM שונים שאתם משתמשים בהם, אפילו כלי Open Source כמו OpenTracing או OpenTelemetry או OpenCensus וכל המלחמה שהם עושים על התקינה . . .(רן) כי זה הכל אותו הדבר, לא? . . . (לירן) בערך . . . כמו כל תקן טוב.באמת צריך לחשוב, ככה - גם לראות את ה-Stack Trace הקלאסי, של “מאיפה הקוד שלך הגיע?”, אבל גם לראות את ה-Stack Trace הלוגי של ה-Span-ים ושל ה-Trace-ים, של “מאיפה הבקשה הזאת הגיעה?”, “איך היא נכנסה למערכת?” ו”איפה היא בשלב הזה, כרגע?”(רן) אתגר נוסף, שאני בטוח ש . . . - אני בטוח שאפשר להמשיך לדבר על Observability, אבל בוא נמשיך - אז אתגר נוסף שאני יכול לחשוב עליו זה אם מישהו, ונחזור ל-Scenario שהיה לך Web Server אחד ו-Database, והיית משחרר אליו גרסא, אז אתה יודע: היית משחרר גרסא 5 ואחר כך גרסא 6 ואחר כך גרסא 7 . . . אולי 7.1, אולי 7.2 - אבל אוקיי, אתה יודע וכבר די ברור לך מה קורה שם.היום ב-Production, ודרך אגב - זה אולי לא ייחודי ל-Cloud אבל זה ניהיה יותר קל ב-Cloud Native - יש לך הרבה מאוד Services, הרבה מאוד רכיבים אחרים, ולכל אחד יש גרסא אחרת לחלוטין.אני מנחש שב-Outbrain משחררים הרבה מאוד גרסאות ביום . . . (יונתן) נכון - וגם לא כל הזמן לאותו ה-Service יש את אותה הגרסא ב-Production: לפעמים מריצים A/B Testing, אם אתה מריץ כמה Flavour-ים . . .(רן) נכון . . . אז בכל זמן נתון, נגיד לכל Service יש גרסא אחת או שתיים ב-Production - ובנוסף, יש כמה מאות של Services שונים - ובנוסף, יש רכיבים שהם לא שלך, שגם לפעמים מקבלים Update או כל מיני דברים כאלה, מוזרים . . . וקשה מאוד לקבל תמונה קוהרנטית של “רגע, אז מה יש עכשיו ב-Production? איזה קוד נפרש עליו?” . . .(לירן) קשה להחריד . . . למעשה, לפני איזה שנתיים-שלוש, כשהיו לנו אתגרים ראשונים - היה מוצר, התחלנו אצל לקוחות, היו לנו את הפידבקים שלהם - והיינו בשוק מכמה לקוחות מתקשים להבין מה לעזאזל רץ להם ב-Production . . . זאת אומרת - הם בוחרים שרת, מתחילים לשים עליו Breakpoint-ים - וה-Breakpoint-ים לא קופצים להם . . . אז אנחנו אומרים להם: “חבר'ה - זו לא הגרסת קוד שרצה לכם ב-Production”, והם עונים: “זה כן” . . .ואחרי שעתיים של Support אומרים: “חבר'ה, זה לא הקוד שרץ לכם ב-Production, ה-Breakpoint-ים לא קופצים כי אתם מסתכלים על גרסא חדשה, והגרסא ב-Production היא מלפני שבוע” - או הפוך . . .ואחד הדברים הכי משמעותיים שראינו במוצר זה הצורך להביא עבור הלקוחות את הקוד - לא לסמוך על המפתח שנמצא בקצה שיתחיל להבין איזה קוד נמצא עכשיו איפה, אלא שברגע שהוא בוחר שרת או Service או Deployment ב-Kubernetes או Whatever - להראות לו “תקשיב - זה מה שרץ שם כרגע”.יש סיכוי טוב שכבר בזה הוא מצא את ה-Bug, כי בעצם זו בכלל לא הגרסא שהוא חשב . . . ואם לא - אז ברגע שהוא מתחיל לדבג, הוא לפחות רואה בעיניים בעיניים באמת איך הקוד שנמצא שם מתנהג, ולא איך הקוד שהוא חושב שנמצא שם מתנהג . . .(רן) אז איך זה עובד ברמה הטכנית? זאת אומרת - יש את הסיפור המפורסם, אני מניח שהרבה מכירים, על חברת Algo-Trading, שבטעות השאירו איזשהו שרת ב-Data center שלהם עם הגרסא הלא נכונה, וככה הפסידו את המכנסיים והתחתונים שלהם, ופשטו רגל . . .(לירן) 400 מליון דולר . . . (רן) כן . . . אז אני לא זוכר את שם החברה [Knight, הזכרנו בפרק הקודם], אבל בטוח שנמצא את זה ברפרנס [טו-שה . . .] - אז איך זה עובד ברמה הטכנית? זאת אומרת - מה, לכל גרסא יש איזושהי חתימה, ואתה מוצא את החתימה שלה וככה אתה מוצא את ה-Code base?(לירן) אז האמת שפשוט בנינו סט של Best Practices, שאפשר גם למצוא בבלוג שלנו הרבה מהם, על איך לתייג גרסאות - אם זה ברמת ה-CI, לדחוף את ה-Git-Commitבין אם זה של כל מיני קונפיגוקציות של Maven ו-Gradle ו-MSBuild - על איך לקנפג את זה כך שזה ישים בארטיפקטים (Atrifacts) את ה-Hash-ים.בין אם זה ברמת Containers - אנחנו פשוט מצאנו כמה קבצים ב - .git המסתורי הזה שנמצא לכם בכל מקום - רק קחו את השלושה-ארבעה קבצים האלה, זרקו אותם פנימה - ותוכלו לדעת בדיעבד איך ה-Container.חשוב גם להגיד שכחברה אנחנו, כמדיניות, לא נוגעים בקוד-מקור של הלקוחות - אנחנו לא מעבירים source-code ,לא מזיזים Source-code - ולכן זה מאוד חשוב לנו למצוא דרכים שהלקוחות יוכלו לעשות את זה בעצמם, בלי שבעצם הדאטה הזה יעבור דרכנו.(רן) הבנתי . . . (יונתן) תגיד - בעצם, החברה שלך מוכרת מוצרים למהנדסים? אתה CTO, אתה מנהל את המהנדסים האלה . . . מה הם אומרים על המוצר שלכם?(לירן) מה המהנדסים שלנו אומרים? . . .(יונתן) כמשתמשים . . .(לירן) אני חושב שזה אחד הדברים הכי כיפיים, גם כמי שכנראה שמגייס עובדים ומנהל עובדים, אבל גם באופן כללי - לפתח מוצר שאתה מבין מה הוא עושה, שאתה מכיר את ה-User-ים, שאתה רואה את ההנאה שלהם בעיניים - זה מאוד מספק.כשהחבר'ה באים ונפגשים עם לקוחות, ורואים את המפתחים אצל הלקוחות שלנו יושבים באמצע הלילה ומדבגים באגים, ושוברים על זה את הראש - ואז הם רואים איך Rookout עוזר להם - וזה ממש ממש מאיר להם את העיניים.(יונתן) אין כמו לראות אחרים מדבגים באמצע הלילה . . .(לירן) רק בסופ”ש שעבר, לקוח התקשר אלינו, שבאותו לילה הם התעוררו בשתיים בלילה לדבג איזה משהו, הייתה תקלה בProdcution - והם פתרו אותה איתנו ב-15 דקותאז אם כבר העירו אותך בשתיים בלילה כי המערכת נשברה וצריך לטפל בזה - לפחות שזה יקח 15 דקות ולא תישאר ער עד הבוקר . . .(רן) ברור . . . מזל שלא משלמים לכם לפי שעות . . . .בסדר - אז יש אתגרים, אני בטוח שיש עוד, אבל אנחנו מתקרבים לקראת סיום.אז קודם כל - אני בטוח שכל מי שפיתח בסביבה שהיא Cloud-Native מזדהה, לפחות עם חלקם.חלקם פתורים בתעשייה, במידה מסויימת, וחלקם לא - אני בטוח שככל שנפתור, ככה יווצרו עוד בעיות . . . תיהיה לנו עוד עבודה.אבל זה מעניין מאוד, ואתגרים סופר-רלוונטיים למפתחים.לפני השיחה שלנו, לפני שהתחלנו להקליט, סיפרת לנו שהתחלת פודקאסט [!](לירן) כן - אז האמת שבשבוע שעבר הקלטנו את שני הפרקים הראשונים של הפודקאסט שלנו - זה הולך להיות ה-Production-first Mindset, זה השם שלו.אני מאמין שככה - בעוד שבוע-שבועיים תתחילו לראות פרקים של זה ב-Spotify וב-Apple ובכל המקומות האחרים שאתם אוהבים לראות ולקלוט פודקאסטים.אז אתם מוזמנים גם להקשיב לנו.(רן) מעולה - רעיון טוב. והוא יהיה באנגלית?(לירן) הוא יהיה באנגלית - אנחנו מראיינים גם הרבה חבר'ה מהארץ, כל מיני יזמים כמו רון רייטר ואופיר ארליךוגם כל מיני טכנולוגים מחו”ל כמו Steve Chin - חבר'ה מאוד רציניים שיספרו גם מהפרספקטיבה שלהם על האתגרים של ה-Cloud Native ובאופן כללי על האתגרים של להביא קוד ל-Production ומה שזה אומר.(רן) מעולה - אז לירן, תודה רבה! היה מרתק, היה כיף, תודה שבאת. האזנה נעימה ותודה רבה לעופר פורר על התמלול!
Aaron Campbell of OhmniLabs joins me to talk about telepresence robots, AI, ethics, and Jurassic Park.Support the show
Sarah Weaver, Ph.D. is a New York-based contemporary composer, conductor, technologist, educator, and researcher working internationally as a specialist in Network Arts. Weaver has composed solo, chamber, and large ensemble works for groundbreaking musicians for twenty-five years, integrating influences of jazz, contemporary classical, improvisation, computer music, world music, and individual music languages of performers. She is an innovator of live performance via the internet by musicians and artists in different geographic locations, encompassing numerous artistic projects with collaborators and interdisciplinary projects with groups such as NASA Kepler/K2 Mission and United Nations. Weaver is the director of NowNet Arts, director of the Sarah Weaver Ensemble, and editor of the Journal of Network Music and Arts (JONMA). She is on the faculty of New School College of Performing Arts, Performer-Composer Masters Program. Weaver is a member of ASCAP, College Music Society, National Association of Composers, and board member of the JackTrip Foundation. Music: “Sound in Peace" by Sarah Weaver, performed by Joe McPhee and Sarah Weaver; TeleCello Concerto by Sarah Weaver and Chris Chafe, performed by Tintinnabulate and SoundWIRE; "Universal Synchrony Music: Kepler/K2" by Sarah Weaver, performed by NowNet Arts Ensemble Follow Sarah on Facebook. sarahweaver.org, nownetarts.org Co-hosts: Eric Lemmon and Niloufar Nourbakhsh Follow us on Facebook, Instagram, and Twitter. ensembledecipher.com Contact us at decipherists@ensembledecipher.com. Decipher This! is produced by Joseph Bohigian; intro sounds by Eric Lemmon; outro music toy_3 by Eric Lemmon.
In episode 8 of The Kubelist Podcast, Marc Campbell speaks with Richard Li of Ambassador Labs about the development and testing tool Telepresence, as well as the problems developers encounter when adopting Kubernetes.
In episode 8 of The Kubelist Podcast, Marc Campbell speaks with Richard Li of Ambassador Labs about the development and testing tool Telepresence, as well as the problems developers encounter when adopting Kubernetes.
Pluto VR is a general-purpose VR, telepresence application that hopes to provide the social presence glue for a standards-driven, multiple-application ecosystem using SteamVR on the PC. I had some new conceptual breakthroughs about the potential future of spatial computing after getting a demo of how Pluto VR is works with other applications like Metachromiumor Aardvark. Metachromium can run entire WebXR applications as an overlay on SteamVR applications, and Aardvark is an future-forward framewok that allows for the development of augmented reality 'gadgets' that run on top of virtual reality experiences.
This week, we have the opportunity to meet up with Daniel Bryant, Product Architect at Ambassador Labs (Datawire), News Manager at InfoQ, and Chair of QCon London. He is a leader within the London Java Community (LJC), and he writes for well-known technical websites such as InfoQ, O'Reilly, Voxxed, and DZone. He blogs at https://medium.com/@danielbryantuk. Daniel's technical expertise focuses on DevOps tooling, cloud/container platforms, and microservice implementations. You may have met Daniel at international conferences such as QCon, JavaOne, and Devoxx. Or you may have been lucky enough to contribute with him on open-source projects. At Ambassador Labs, Daniel is focused on making the onboarding experience to Kubernetes and cloud native tech—and Kubernetes in particular—as easy as possible, so they're doing a lot of work at the edge. Ambassador Labs is the company behind Ambassador, the popular Kubernetes-Native API Gateway. It is available in both open source and commercial editions. Ambassador Labs builds other open source development tools for Kubernetes, including Telepresence and Forge. John and Daniel talk about the open-source movement, and building commercial products on top of these things. Because Ambassador Labs products are pretty much open core, they rely on a fantastic community that has contributed in major ways. “I'm continually impressed by what people do to contribute in the open source community. Rallying around the project you're interested in, finding kindred spirits—I think that's so key to the journey.” Daniel BryantProduct Architect at Ambassador Labs Daniel is the News Manager at InfoQ, and has been a writer for them since 2014. They talk about the path Daniel took to become a writer for InfoQ, and his interest in DevOps and microservices. He credits much of his success to finding mentors and building relationships with them. “One thing one of my mentors always said to me was to pay it forward. Once you get in a position to mentor other people, sponsor them to follow in your footsteps.” As chair for QCon London, he helps with the planning and delivery of the developer-focused event. He claims to be only a very small part of the QCon machine, and that everyone has worked really hard to make sure that sort of the QCon values are evidenced in everything they do. “There's a certain magic that comes from a practitioner-focused event. It's peers, it's knowledge sharing, but it's with a very pragmatic focus. That's something that I think is very unique to the QCon community.” He shares his view on developing a Cloud Native mindset, and how it empowers developers. “Take ideas or have ideas, and then code, test, deploy, release, verify, and observe, which is super, super important. I look at the Humio folks a lot on this kind of stuff.” They talk about the value of observability, especially within Cloud Native environments. “It's really important to be able to complete that feedback loop—and that's all about observability. You're deploying stuff ridiculously fast, but you don't know whether it's making a customer impact. You don't know whether you're making the world a better place, or delivering value, or whatever. It's really important to get that observability piece to close the loop. And that for me is pretty much what the cloud native full lifecycle movement is about.” Daniel discusses the importance of moving from simply collecting logs to understanding the semantic meaning of what's happening in those logs. “It's no good being able to log a hundred different services if you can't join the dots with a user's request. You need a product like Humio where you can ingest the sheer volume of stuff potentially coming out of all these online services. And then not only can you ingest it, but can you search it? Can you understand it? Can you pull out the semantics? Can you correlate the behavior?” Staying informed about the latest developments is critical to anyone involved with cloud native technology. It's important to remain “book smart,” and to keep tech skills sharp. One of the best ways to develop skills is to download and use trial versions of products. “You can easily trial stuff. It's really key to download something and get playing with it, and figure out if it's useful or not. I'm super happy with the ability to just pull something down and give it a trial without having to go through an onerous sales cycle. As a developer, that is super empowering. Does it work for me? Yes/No. Is the documentation good? Yes/No. Make a decision right there.” Listen to the whole podcast to answer the following: How can you find ways to help in the open-source community? What may (or may not) be happening with QCon? How can a high school teacher help the trajectory of a student's career? How can Cloud Native be defined? Where should you put your best developers: Developer productivity, the platform, or the core product? What are the four key steps to consistently delivering value? When is it worth paying for expertise to deploy open-source solutions? How can developers minimize friction, to deploy, release, and observe on their own? Daniel invites you to get hold of him at @Daniel BryanUK on Twitter, GitHub, or LinkedIn. Find out more about Ambassador Labs at getambassador.io, where you'll find podcasts and articles from Daniel and the Ambassador Labs team. You can also contact the team on Slack. Ready to get started with Humio? Get started with our free trial, or schedule a live demo with a Humio team member.
We are joined by Ellen Körbes for this episode, where we focus on Kubernetes and its tooling. Ellen has a position at Tilt where they work in developer relations. Before Tilt, they were doing closely related kinds of work at Garden, a similar company! Both companies are directly related to working with Kubernetes and Ellen is here to talk to us about why Kubernetes does not have to be the difficult thing that it is made out to be. According to her, this mostly comes down to tooling. Ellen believes that with the right set of tools at your disposal it is not actually necessary to completely understand all of Kubernetes or even be familiar with a lot of its functions. You do not have to start from the bottom every time you start a new project and developers who are new to Kubernetes need not becomes experts in it in order to take advantage of its benefits.The major goal for Ellen and Tilt is to get developers code up, running and live in as quick a time as possible. When the system is standing in the way this process can take much longer, whereas, with Tilt, Ellen believes the process should be around two seconds! Ellen comments on who should be using Kubernetes and who it would most benefit. We also discuss where Kubernetes should be run, either locally or externally, for best results and Tilt's part in the process of unit testing and feedback. We finish off peering into the future of Kubernetes, so make sure to join us for this highly informative and empowering chat! Follow us: https://twitter.com/thepodlets Website: https://thepodlets.io Feeback: info@thepodlets.io https://www.notion.so/thepodlets/The-Podlets-Guest-Central-9cec18726e924863b559ef278cf695c9 Guest: Ellen Körbes https://twitter.com/ellenkorbes Hosts: Carlisia Campos Bryan Liles Olive Power Key Points From This Episode: Ellen's work at Tilt and the jumping-off point for today's discussion. The projects and companies that Ellen and Tilt work with, that they are allowed to mention! Who Ellen is referring to when they say 'developers' in this context. Tilt's goal of getting all developers' code up and running in the two seconds range. Who should be using Kubernetes? Is it necessary in development if it is used in production? Operating and deploying Kubernetes — who is it that does this? Where developers seem to be running Kubernetes; considerations around space and speed. Possible security concerns using Tilt; avoiding damage through Kubernetes options. Allowing greater possibilities for developers through useful shortcuts. VS Code extensions and IDE integrations that are possible with Kubernetes at present. Where to start with Kubernetes and getting a handle on the tooling like Tilt. Using unit testing for feedback and Tilt's part in this process. The future of Kubernetes tooling and looking across possible developments in the space. Quotes: “You're not meant to edit Kubernetes YAML by hand.” — @ellenkorbes [0:07:43] “I think from the point of view of a developer, you should try and stay away from Kubernetes for as long as you can.” — @ellenkorbes [0:11:50] “I've heard from many companies that the main reason they decided to use Kubernetes in development is that they wanted to mimic production as closely as possible.” — @ellenkorbes [0:13:21] Links Mentioned in Today’s Episode: Ellen Körbes — http://ellenkorbes.com/ Ellen Körbes on Twitter — https://twitter.com/ellenkorbes?lang=en Tilt — https://tilt.dev/ Garden — https://garden.io/ Cluster API — https://cluster-api.sigs.k8s.io/ Lyft — https://www.lyft.com/ KubeCon — https://events19.linuxfoundation.org/events/kubecon-cloudnativecon-europe-2019/ Unu Motors — https://unumotors.com/en Mindspace — https://www.mindspace.me/ Docker — https://www.docker.com/ Netflix — https://www.netflix.com/ GCP — https://cloud.google.com/ Azure — https://azure.microsoft.com/en-us/ AWS — https://aws.amazon.com/ ksonnet — https://ksonnet.io/ Ruby on Rails — https://rubyonrails.org/ Lambda – https://aws.amazon.com/lambda/ DynamoDB — https://aws.amazon.com/dynamodb/ Telepresence — https://www.telepresence.io/ Skaffold Google — https://cloud.google.com/blog/products/application-development/kubernetes-development-simplified-skaffold-is-now-ga Python — https://www.python.org/ REPL — https://repl.it/ Spring — https://spring.io/community Go — https://golang.org/ Helm — https://helm.sh/ Pulumi — https://www.pulumi.com/ Starlark — https://github.com/bazelbuild/starlark Transcript: EPISODE 22 [ANNOUNCER] Welcome to The Podlets Podcast, a weekly show that explores cloud native one buzzword at a time. Each week, experts in the field will discuss and contrast distributed systems concepts, practices, tradeoffs and lessons learned to help you on your cloud native journey. This space moves fast and we shouldn’t reinvent the wheel. If you’re an engineer, operator or technically minded decision-maker, this podcast is for you. [EPISODE] [0:00:41.8] CC: Hi, everybody. This is The Podlets. We are back this week with a special guest, Ellen Körbes. Ellen will introduce themselves in a little bit. Also on the show, it’s myself, Carlisia Campos, Michael Gasch and Duffie Cooley. [0:00:57.9] DC: Hey, everybody. [0:00:59.2] CC: Today’s topic is Kubernetes Sucks for Developers, right? No. Ellen is going to introduce themselves now and tell us all about what that even means. [0:01:11.7] EK: Hi. I’m L. I do developer relations at Tilt. Tilt is a company whose main focus is development experience when it comes to Kubernetes and multi-service development. Before Tilt, I used to work at Garden. They basically do the same thing, it's just a different approach. That is basically the topic that we're going to discuss, the fact that Kubernetes does not have to suck for developers. You just need to – you need some hacks and fixes and tools and then things get better. [0:01:46.4] DC: Yeah, I’m looking forward to this one. I've actually seen Tilt being used in some pretty high-profile open source projects. I've seen it being used in Cluster API and some of the work we've seen there and some of the other ones. What are some of the larger projects that you are aware of that are using it today? [0:02:02.6] EK: Oh, boy. That's complicated, because every company has a different policy as to whether I can name them publicly or not. Let's go around that question a little bit. You might notice that Lyft has a talk at KubeCon, where they're going to talk about Tilt. I can't tell you right now that they use Tilt, but there's that. Hopefully, I found a legal loophole here. I think they're the biggest name that you can find right now. Cluster API is of course huge and Cluster API is fun, because the way they're doing things is very different. We're used to seeing mostly companies that do apps in some way or another, like websites, phone apps, etc. Then Cluster API is completely insane. It's something else totally. There's tons of other companies. I'm not sure which ones that are large I can name specifically. There are smaller companies. Unu Motors, they do electric motorcycles. It's a company here in Berlin. They have 25 developers. They’re using Tilt. We have very tiny companies, like Mindspace, their studio in Tucson, Arizona. They also use Tilt and it's a three-person team. We have the whole spectrum, from very, very tiny companies that are using Docker for Mac and pretty happy with it, all the way up to huge companies with their own fleet of development clusters and all of that and they're using Tilt as well. [0:03:38.2] DC: That field is awesome. [0:03:39.3] MG: Quick question, Ellen. The title says ‘developers’. Developers is a pretty broad name. I have people saying that okay, Kubernetes is too raw. It's more like a Linux kernel that we want this past experience. Our business developers, our application developers are developing in there. How would you do describe developer interfacing with Kubernetes using the tools that you just mentioned? Is it the traditional enterprise developer, or more Kubernetes developers developing on Kubernetes? [0:04:10.4] EK: No. I specifically mean not Kubernetes developers. You have people work in Kubernetes. For example, the Cluster API folks, they're doing stuff that is Kubernetes specific. That is not my focus. The focus is you’re a back-end developer, you’re a front-end developer, you're the person configuring, I don't know the databases or whatever. Basically, you work at a company, you have your own business logic, you have your own product, your own app, your own internal stuff, all of that, but you're not a Kubernetes developer.It just so happens that if the stuff you are working on is going to be pointing at Kubernetes, it's going to target Kubernetes, then one, you're the target developer for me, for my work. Two, usually you're going to have a hard time doing your job. We can talk a bit about why. One issue is development clusters. If you're using Kubernetes in prod, rule of thumb, you should be using Kubernetes in dev, because you don't want completely separate environments where things work in your environment as a developer and then you push them and they break. You don't want that. You need some development cluster. The type of cluster that that's going to be is going to vary according to the level of complexity that you want and that you can deal with. Like I said, some people are pretty happy with Docker for Mac. I hear all the time these complaints that, “Oh, you're running Kubernetes on your machine. It's going to catch fire.” Okay, there's some truth to that, but also it depends on what you're doing. No one tries to run Netflix, let's say the whole Netflix on their laptop, because we all know that's not reasonable. People try to do similar things on their mini-Kube, or Docker for Mac. Then it doesn't work and they say, “Oh, Kubernetes on the laptop doesn't work.” No. Yeah, it does. Just not for you. That's a complaint I particularly dislike, because it comes from a – it's a blanket statement that has no – let's say, no facts behind it. Yeah, if you're a small company, Docker for Mac is going to work fine for you. Let's say you have a beefy laptop with 30 gigs of ram, you can put a lot of software in 30 gigs. You can put a lot of microservices in 30 gigs. That's going to work up to a point and then it's going to break. When it breaks, you're going to need to move to a cloud, you're going to need to do remote development and then you're going to Go to GCP, or Azure, or Amazon. You're going to set up a cluster there. Some people use the managed Kubernetes options. Some people just spin up a bunch of machines and wire up Kubernetes by themselves. That's going to depend on basically how much you have in terms of resources and in terms of needs. Usually, keeping up a remote cluster that works is going to demand more infrastructure work. You're going to need people who know how to do that, to keep an eye on that. There's all the billing aspect, which is you can run Docker for Mac all day and you're not going to pay extra. If you leave a bunch of stuff running on Google, you're going to have a bill at the end of the month that you need to pay attention to. That is one thing for people to think about. Another aspect that I see very often that people don't know what to do with is config files. You scroll Twitter, you scroll Kubernetes Twitter for five minutes and there's a joke about YAML. We all hate editing YAML. Again, the same way people make jokes about using about Kubernetes setting your laptop on fire, I would argue that you're not meant to edit Kubernetes YAML by hand. The tooling for that is arguably not as mature as the tooling when it comes to Kubernetes clusters to run on your laptop. You have stuff like YAML templates, you have ksonnet. I think there's one called customize, but I haven't used it myself. What I see in every company from the two-person team to the 600 person team is no one writes Kubernetes YAML by hand. Everyone uses a template solution, a templating solution of some sort. That is the first thing that I always tell people when they start making jokes about YAML, is if you’re editing YAML by hand, you're doing it wrong. You shouldn't do that in the first place. It's something that you set up once at some point and you look at it whenever you need to. On your day-to-day when you're writing your code, you should not touch those files, not by hand. [0:08:40.6] CC: We're five minutes in and you threw so much at us. We need to start breaking some of this stuff down. [0:08:45.9] EK: Okay. Let me throw you one last thing then, because that is what I do personally. One more thing that we can discuss is the development feedback loop. You're writing your code, you're working on your application, you make a change to your code. How much work is it for you to see that new line of code that you just wrote live and running? For most people, it's a very long journey. I asked that on Twitter, a lot of people said it was over half an hour. A very tiny amount of people said it was between five minutes and half an hour and only a very tiny fraction of people said it was two seconds or less. The goal of my job, of my work, the goal of Tilt, the tool, which is made by the company I work for, also called Tilt, is to get everyone in that two seconds range. I've done that on stage and talks, where we take an application and we go from, “Okay, every time you make a change, you need to build a new Docker image. You need to push it to a registry. You need to update your cluster, blah, blah, blah, and that's going to take minutes, whole minutes.” We take that from all that long and we dial it down to a couple seconds. You make a change, or save your file, snap your fingers and poof, it's up and running, the new version of your app. It's basically a real-time, perceptually real-time, just like back and when everyone was doing Ruby on Rails and you would just save your file and see if it worked basically instantly. That is the part of this discussion that personally I focus more on. [0:10:20.7] CC: I'm going to love to jump to the how in a little bit. I want to circle back to the beginning. I love the question that Michael asked at the beginning, what is considered developer, because that really makes a difference, first to understand who we are talking about. I think this conversation can go in circles and not that I'm saying we are going circles, but this conversation out in the wild can go in circles. Until we have an understanding of the difference between can you as a developer use Kubernetes in a somewhat not painful way, but should you? I'm very interested to get your take and Michael and Duffie’s take as well as far as should we be doing this and should all of the developers will be using Kubernetes through the development process? Then we also have to consider people who are not using Kubernetes, because a lot of people out there are not using communities. For developers and special, they hear Kubernetes is painful and definitely enough for developers. Obviously, that is not going to qualify Kubernetes as a tool that they’re going to look into. It's just not motivating. If there is anything that that would make people motivated to look into Kubernetes that would be beneficial for them not just for using Kubernetes for Kubernetes sake, but would it be useful? Basically why? Why would it be useful? [0:11:50.7] EK: I think from the point of view of a developer, you should try and stay away from Kubernetes for as long as you can. Kubernetes comes in when you start having issues of scale. It's a production matter, it's not a development matter. I don't know, like a DevOps issue, operations issue. Ideally, you put off moving your application to Kubernetes as long as possible. This is an opinion. We can argue about this forever. Just because it introduces a lot of complexity and if you don't need that complexity, you should probably stay away from it. To get to the other half of the question, which is if you're using Kubernetes in production, should you use Kubernetes in development? Now here, I'm going to say yes a 100% of the time. Blanket statement of course, we can argue about minutiae, but I think so. Because if you don't, you end up having separate environments. Let's say you're using Docker Compose, because you don't like Kubernetes. You’re using Kubernetes in production, so in development you are going to need containers of some sort. Let's say you're using Docker Compose. Now you're maintaining two different environments. You update something here, you have to update it there. One day, it's going to be Friday, you're going to be tired, you're going to update something here, you're going to forget to update something there, or you're going to update something there and it's going to be slightly different. Or maybe you're doing something that has no equivalent between what you're using locally and what you're using in production. Then basically, you're in trouble. I've heard from many companies that the main reason they decided to use Kubernetes in development is that they wanted to mimic production as closely as possible. One argument we can have here is that – oh, but if you're using Kubernetes in development, that's going to add a lot of overhead and you're not going to be able to do your job right. I agree that that was true for a while, but right now we have enough tooling that you can basically make Kubernetes disappear and you just focus on being a developer, writing your code, doing all of that stuff. Kubernetes is sitting there in the background. You don't have to think about it and you can just go on about your business with the advantage that now, your development environment and your production environment are going to very closely mimic each other, so you're not going to have issues with those potential disparities. [0:14:10.0] CC: All right. Another thing too is that I think we're making an assumption that the developers we are talking about are the developers that are also responsible for deployment. Sometimes that's the case, sometimes that's not the case and I'm going to shut up now. It would be interesting to talk about that too between all of us, is that what we see? Is that the case that now developers are responsible? It's like, developers DevOps is just so ubiquitous that we don't even consider differentiating between developers and ops people? All right? [0:14:45.2] DC: I think I have a different spin on that. I think that it's not necessarily that developers are the ones operating the infrastructure. The problem is that if your infrastructure is operated by a platform that may require some integration at the application layer to really hit its stride, then the question becomes how do you as a developer become more familiar? What is the user experience as of, or what I should say, what's the developer experience around that integration? What can you do to improve that, so that the developer can understand better, or play with how service discovery works, or understand better, or play with how the different services in their application will be able to interact without having to redefine that in different environments? Which is I think what Ellen point was. [0:15:33.0] EK: Yeah. At the most basic level, you have issues as such as you made a change to a service here, let's say on your local Docker Compose. Now you need to update your Kubernetes manifest on your cluster for things to make sense. Let's say, I don't know, you change the name of a service, something as simple as that. Even those kinds of things that sounds silly to even describe, when you're doing that every day, one day you're going to forget it, things are going to explode, you're not going to know why, you're going to lose hours trying to figure out where things went wrong. [0:16:08.7] MG: Also the same with [inaudible] maybe. Even if you use Kubernetes locally, you might run a later version of Kubernetes, maybe use kind for local development, but then your cluster, your remote cluster is on three or four versions behind. Shouldn't be because of the versions of product policy, but it might happen, right? Then APIs might be deprecated, or you're using different API. I totally agree with you, Ellen, that your development environment should reflect production as close as possible. Even there, you have to make sure that prod, like your APIs matches, API types matches and all the stuff right, because they could also break. [0:16:42.4] EK: You were definitely right that bugs are not going away anytime soon. [0:16:47.1] MG: Yeah. I think this discussion also remembers me of the discussion that the folks in the cloud will have with AWS Lambda for example, because there's similar, even though there are tools to simulate, or mimic these platforms, like serverless platforms locally, the general recommendation there is to embrace the cloud and develop in the cloud natively in the cloud, because that's something you cannot resemble. You cannot run DynamoDB locally. You could mimic it. You could mimic lambda runtimes locally. Essentially, it's going to be different. That's also a common complaint in the world of AWS and cloud development, which is it's really not that easy to develop locally, where you're supposed to develop on the platform that the code is being shipped and run on to, because you cannot run the cloud locally. It sounds crazy, but it is. I think the same is with Kubernetes, even though we have the tools. I don't think that every developer runs Kubernetes locally. Most of them maybe doesn't even have Docker locally, so they use some spring tools and then they have some pipeline and eventually it gets shipped as a container part in Kubernetes. That's what I wanted to throw in here as more like a question experience, especially for you Ellen with these customers that you work with, what are the different profiles that you see from the maturity perspective and these customers large enterprises might be different and the smaller ones that you mentioned. How do you see them having different requirements, as also Carlisia said, do they do ops, or DevOps, or is it strictly separated there, especially in large enterprises? [0:18:21.9] EK: What I see the most, let's get the last part first. [0:18:24.6] MG: Yeah, it was a lot of questions. Sorry for that. [0:18:27.7] EK: Yeah. When it comes to who operates Kubernetes, who deploys Kubernetes, definitely most developers push their code to Kubernetes themselves. Of course, this involves CI and testing and PRs and all of that, so it's not you can just go crazy and break everything. When it comes to operating the production cluster, then that's separate. Usually, you have someone writing code and someone else operating clusters and infrastructure. Sometimes it's the same person, but they're clearly separate roles, even if it's the same person doing it. Usually, you go from your IDE to PR and that goes straight into production once the whole process is done. Now we were talking about workflows and Lambda and all of that. I don't see a good solution for lambda, a good development experience for Lambda just yet. It feels a bit like it needs some refinement still. When it comes to Kubernetes, you asked do most developers run Kubernetes locally? Do they not? I don't know about the numbers, the absolute numbers. Is it most doing this, or most doing that? I'm not sure. I only know the companies I'm in touch with. Definitely not all developers run Kubernetes on their laptops, because it's a problem of scale. Right now, we are basically stuck with 30 gigs of RAM on our laptops. If your app is bigger than that, tough luck, you're not going to run it on the laptop. What most developers do is they still maintain a local development environment, where they can do development without going to CI. I think that is the main question. They maintain agility in their development process. What we usually see when you don't have Kubernetes on your laptop and you're using remote Kubernetes, so a remote development cluster in some cloud provider. What most people do and this is not the companies I talk to. This is basically everyone else. What most people will do is they make their development environment be the same, or work the same way as their production environment. You make a change to your code, you have to push a PR that has to get tested by CI. It has to get approved. Then it ends up in the Kubernetes cluster. Your feedback loop as a developer is insanely slow, because there's so much red tape between you changing a line of code and you getting a new process running in your cluster. Now when you use tools, I call the category MDX. I basically coined that category name myself. MDX is a multi-service development experience tooling. When you use MDX tools, and that's not just Tilt; it’s Tilt, it’s Garden where I used to work, people use telepresence like that. There is Scaffold from Google and so on. There's a bunch of tools. When you use a tool like that, you can have your feedback loop down to a second like I said before. I think that is the major improvement developers can do if they're using Kubernetes remotely and even if they’re using Kubernetes locally. I would guess most people do not run Kubernetes locally. They use remotely. We have clients who have clients — we have users who don't even have Docker on their local machines, because if you have the right tooling, you can change the files on your machine. You have tooling running that detects those five changes. It syncs those five changes to your cluster. The cluster then rebuilds images, or restarts containers, or syncs live code that's already running. Then you can see those changes reflected in your development cluster right, away even though you don't even have Docker in your machine. There's all of those possibilities. [0:22:28.4] MG: Do you see security issues with that approach with not knowing the architecture of Tilt? Even though it's just the development clusters, there might be stuff that could break, or you could break by bypassing the red tape as you said? [0:22:42.3] EK: Usually, we assign one user per namespace. Usually, every developer has a namespace. Kubernetes itself has enough options that if that's a concern to you, you can make it secure. Most people don't worry about it that much, because it's development clusters. They're not accessible to the public. Usually, there's – you can only access it through a VPN or something of that sort. We haven't heard about security issues so far. I'm sure they’re going to pop out at some point. I'm not sure how severe it’s going to be, or how hard it's going to be to fix. I am assuming, because none of this stuff is meant to be accessible to the wider Internet that it's not going to be a hard problem to tackle. [0:23:26.7] DC: I would like to back up for a second, because I feel we're pretty far down the road on what the value of this particular pattern is without really explaining what it is. I want to back this up for just a minute and talk about some of the things that a tooling like this is trying to solve in a use case model, right? Back in the day when I was learning Python, I remember really struggling with the idea of being able to debug Python live. I came across iPython, which is a REPL and that was – which was hugely eye-opening, because it gave me the ability to interact with my code live and also open me up to the idea that it was an improve over things like having to commit a new log line against a particular function and then push that new function up to a place where it would actually get some use and then be able to go look at that log line and see what's coming out of it, or do I actually have enough logs to even put together what went wrong. That whole set of use case is I think is somewhat addressed by tooling like this. I do think we should talk about how did we get here and how does that actually and how does like this address some of those things, and which use cases specifically is it looking to address. I guess where I'm going with this is to your point, so a tooling like Tilt, for example, is the idea that you can, as far as I understand it, inject into a running application, a new instance that would be able to – that you would have a local development control over. If you make a change to that code, then the instance running inside of your target environment would be represented by that new code change very quickly, right? Basically, solving the problem of making sure that you have some very quick feedback loop. I mean, functionally, that's the killer feature here. I think it’s really interesting to see tooling like that start to develop, right? Another example of that tooling would be the REPL thing, wherein instead of writing your code and compiling your code and seeing the output, you could do a thing where you're actually inside, running as a thread inside of the code and you can dump a data structure and you can modify that data structure and you can see if your function actually does the right thing, without having to go back and write that code while imagining all those data structures in your head. Basic tooling like this, I think is pretty killer. [0:25:56.8] EK: Yeah. I think one area where that is still partially untapped right now where this tooling could go, and I'm pushing it, but it's a process. It's not something we can do overnight, is to have very high-level patterns, the let's say codified. For example, everyone's copying Docker files and Kubernetes manifests and Terraform can take files, which I forgot what they're called. Everyone's copying that stuff from the Internet from other websites. That's cool. Oh, you need a container that does such-and-such and sets up this environment and provides these tools. Just download this image and everything is all set up for you. One area where I see things going is for us to have that same portability, but for development environments. For example, I did this whole talk about how to take your Go code, your Go application from I don't know, a 30-seconds feedback loop where you're rebuilding an image every time you make a code change and all of that, down to 1 second. There's a lot of hacks in there that span all kinds of stuff, like should you use Go vendor, or should you keep your dependencies cached inside a Docker layer? Those kinds of things. Then I went down a bunch of those things and eventually came up with a workflow that was basically the best I could find in terms of development experience. What is the snappiest workflow? Or for example, you could have what is a workflow that makes it really easy to debug my Go app? You would use applications like Squash and that's a debugger that you can connect to a process running in a large container. Those kinds of things. If we can prepackage those and offer those to users and not just for Go and not just for debugging, but for all kinds of development workflows, I think that would be really great. We can offer those types of experiences to people who don't necessarily have the inclination to develop those workflows themselves. [0:28:06.8] DC: Yeah, I agree. I mean, it is interesting. I've had a few conversations lately about the fact that the abstraction layer of coding in the way that we think about it really hasn't changed over time, right? It's the same thing. That's actually a really relevant point. It's also interesting to think about with these sorts of frameworks and this tooling, it might be interesting to think of what else we can – what else we can enable the developer to have a feedback loop on more quickly, right? To your point, right? We talked about how these different environments, your development environment and your production environment, the general consensus is they should be as close as you can get them reasonably, so that the behavior in one should somewhat mimic the behavior in the other. At least that's the story we tell ourselves. Given that, it would also be interesting if the developer was getting feedback from effectively how the security posture of that particular cluster might affect the work that they're doing. You do actually have to define network policy. Maybe you don't necessarily have to think about it if we can provide tooling that can abstract that away, but at least you should be aware that it's happening so that you understand if it's not working correctly, this is where you might be able to see the sharp edges pop up, you know what I mean? That sort of thing. [0:29:26.0] EK: Yeah. At the last KubeCon, where was it? In San Diego. There was this running joke. I was running around with the security crowd and there was this joke about KubeCon applies security.yaml. It was in a mocking tone. I'm not disparaging their joke. It was a good joke. Then I was thinking, “What if we can make this real?” I mean, maybe it is real. I don't know. I don't do security myself. What if we can apply a comprehensive enough set of security measures, security monitoring, security scanning, all of that stuff, we prepackage it, we allow users to access all of that with one command, or even less than that, maybe you pre-configure it as a team lead and then everyone else in your team can just use it without even knowing that it's there. Then it just lets you know like, “Oh, hey. This thing you just did, this is a potential security issue that you should know about.” Yeah, I think coming up with these developer shortcuts, it's my hobby. [0:30:38.4] MG: That's cool. What you just mentioned Ellen and Duffie remembers me on – reminds me on the Spring community, the Spring framework, where a lot of the boilerplate, or beat security stuff, or connections, integrations, etc., is being abstracted away and you just annotate your code a bit and then some framework and Spring obviously, it's a spring framework. In your case Ellen, what you were hinting to is maybe this build environment that gives me these integration hooks where I just annotate. Or even those annotations could be enforced. Standards could be enforced if I don't annotate at all, right? I could maybe override them. Then this build environment would just pick it up, because it scans the code, right? It has the source code access, so I could just scan it and hook into it and then apply security policies, lock it down, see ports being used, maybe just open them up to the application, the other ones will automatically get blocked, etc., etc. It just came to my mind. I have not done any research there, or whether there's already some place or activity. [0:31:42.2] EK: Yeah. Because I won't shut up about this stuff, because I just love it, we are doing a – it's in a very early stage right now. We are doing a thing at Tile, we're calling extensions. Very creative name, I suppose. It's basically Go in parts, but for those were closed. It's still at a very early stage. We still have some road ahead of us. For example, we have – let's say this one user and they did some very special integration of Helm and Tilt. You don't have to use Helm by hand anymore. You can just make all of your Helm stuff happen automatically when you're using Tilt. Usually, you would have to copy I don't know, a 100 lines of code from your Tilt config file and copy that around for other developers to be able to use it. Now we have this thing that it's basically going parts where you can just say load extension and give it a name, it fetches it from a repository and it's running. I think that is basically an early stage of what you just described with Spring, but more geared towards let's say an infra-Kubernetes, like how do you tie infra-Kubernetes, that stuff with a higher level functionality that you might want to use? [0:33:07.5] MG: Cool. I have another one. Speaking of which, is there any other integrations for IDEs with Tilt? Because I know that VS code for example, has Kubernetes integrations, does the fabric aid and may even plugin, which handles some stuff under the covers. [0:33:24.3] EK: Usually, Tilt watches your code files and it doesn't care which IDEs you use. It has its own dashboard, which is just a page that you open on your browser. I have just heard this week. Someone mentioned on Slack that they wrote an extension for Tilt. I'm not sure if it was for VS code or the other VS code-like .NET editors. I don't remember what it’s called, but they have a family of those. I just heard that someone wrote one of those and they shared the repo. We have someone looking into that. I haven't seen it myself. The idea has come up when I was working at Garden, which is in the same area as Tilt. I think it's pertinent. We also had the idea of a VS code extension. I think the question is what do you put in the extension? What do you make the VS code extension do? Because both Tilt and Garden. They have their own web dashboards that show users what should be shown and in the manner that we think should be shown. If you're going to create a VS code extension, you either replicate that completely and you basically take this stuff that was in the browser and put it in the IDE. I don't particularly see much benefit in that. If enough people ask, maybe we'll do it, but it's not something that I find particularly useful. Either you do that and you replicate the functionality, or you come up with new functionality. In both cases, I just don't see a very strong point as to what different and IDE-specific functionality should you want. [0:35:09.0] MG: Yes. The reason why I was asking is that we see all these Pulumi, CDKs, AWS CDKs coming up, where you basically use a programming language to write your application/application infrastructure code and your IDE and then all the templating, that YAML stuff, etc., gets generated under covers. Just this week, AWS announced the CDKs, like the CDK basically for Kubernetes. I was thinking, with this happening where some of these providers abstract the scaffolding as well, including the build. You don't even have to build, because it's abstracted away under the covers. I was seeing this trend. Then obviously, we still have Helm and the templating and the customize and then you still have the manual as I mentioned in the beginning. I do like the IDE integration, because that's where I spend most of my time. Whenever I have to leave the IDE, it's a context switch that I have to go through. Even if it's just for opening another file also that I need to edit somewhere. That's why I think having IDE integration is useful for developers, because that's where they most spend up their time. As you said, there might be reasons to not do it in an IDE, because it's just replicating functionality that might not be useful there. [0:36:29.8] EK: Yeah. In the case of Tilt, all the config is written in Starlark, which is a language and it's basically Python. If your IDE can syntax highlight Python, it can syntax highlight the Tilt config files. About Pulumi and that stuff, I'm not that familiar. It's stuff that I know how it works, but I haven't used it myself. I'm not familiar with the browse and the IDE integration side of it. The thing about tools like Tilt is that usually, if you set it up right, you can just write your code all day and you don't have to look at the tool. You just switch from your IDE to let's say, your browser where your app is running, so you get feedback and that kind of thing. Once you configure it, you don't really spend much time looking at it. You're going to look at it when there are errors. You try to refresh your application and it fails. You need to find that error. By the time that happened, you already lost focus from your code anyway. Whether you're going to look for your error on a terminal, or on the Tilt dashboard, that's not much an issue. [0:37:37.7] MG: That's right. That’s right. I agree. [0:37:39.8] CC: All this talk about tooling and IDEs is making me think to ask you Ellen. If I'm a developer and let's say, my company decides that we’re going to use Kubernetes. What we are advocating here with this episode is to think about well, if you're going to be the point to Kubernetes in production, you should consider running Kubernetes as a local development environment. Now for those developers who don't even – haven't even worked with Kubernetes, where do you suggest they jump in? Should they get a handle on – because it's too many things. I mean, Kubernetes already is so big and there are so many toolings around to how to operate Kubernetes itself. For a developer who is, “Okay, I like this idea of having my own local Kubernetes environment, or a development environment somehow may also be in the cloud,” should they start with a tooling like Tilt, or something similar? Would that make it easier for them to wrap their head around Kubernetes and what Kubernetes does? Or should they first get a handle on Kubernetes and then look at a tool like this? [0:38:56.2] EK: Okay. There are a few sides to this question. If you have a very large team, ideally you should get one or a few people to actually really learn Kubernetes and then make it so that everyone else doesn't have to. Something we have seen is very large company, they are going to do Kubernetes in development. They set up a developer experience team and then for example, they have their own wrapper around Kubectl and then basically, they automate a bunch of stuff so that everyone in the team doesn't have to take a certified Kubernetes application development certificate. Because for people who don't know that certificate, it's basically how much Kubectl can you do off top of your head? That is basically what that certificate is about, because Kubectl is an insanely huge and powerful tool. On the one hand, you should do that. If you have a big team, take a few people, learn all that you can about Kubernetes, write some wrappers so that people don't have to do Kubectl or something, something by hand. Just make very easy functions, like Kubectl, let’s say you know a name of your wrapper, context and the name and then that's going to switch you to a namespace let's say, where some version of your app is running, so that thing. Now about the tooling. Once you have your development environment set up and you're going to need someone who has some experience with Kubernetes to set that up in the first place, but once that is set up, if you have the right tooling, you don't really have to know everything that Kubernetes does. You should have at least a conceptual overview. I can tell you for sure, that there's hundreds of developers out there writing code that is going to be deployed to Kubernetes, writing codes that whenever they make a change to their code, it goes to a Kubernetes development cluster and they don't have the first – well, I’m not going to say the first clue, but they are not experienced Kubernetes users. That's because of all the tooling that you can put around. [0:41:10.5] CC: Yeah, that makes sense. [0:41:12.2] EK: Yeah. You can abstract a bunch of stuff with basically good sense, so that you know the common operations that need to be done for your team and then you just abstract them away, so that people don't have to become Kubectl experts. On the other side, you can also abstract a bunch of stuff away with tooling. Basically, as long as your developer has the basic grasp of containers and basics of Kubernetes, that stuff, they don't need to know how to operate it, with any depth. [0:41:44.0] MG: Hey Ellen, in the beginning you said that it's all about this feedback loop and iterating fast. Part of a feedback loop for a developer is unit testing, integration testing, or all sorts of testing. How do you see that changing, or benefiting from tools like Tilt, especially when it comes to integration testing? Unit tests usually locally, but the integration testing. [0:42:05.8] EK: One thing that people can do when they're using Tilt is once you have Tilt running, you basically have all of your application running. You can just set up one-off tasks with Tilt. You could basically set up a script that there's a bunch of stuff, which would basically be what your test does. If it returns zero, it succeeded. If it doesn’t, it failed. You can set something up like that. It's not something that we have right now in a prepackaged farm that you can use right away. You would basically just say, “Hey Tilt, run this thing for me,” and then you would see if it worked or not. I have to make a plug to the competition right now. Garden has more of that part of it, that part of things set up. They have tests as a separate primitive right next to building and deploying, which is what you usually see. They also have testing. It does basically what I just said about Tilt, but they have a special little framework around it. With Garden, you would say, “Oh, here's a test. Here's how you run the test. Here's what the test depends on, etc.” Then it runs it and it tells you if it failed or not. With Tilt, it would be a more generic approach where you would just say, “Hey Tilt, run this and tell me if it fails or not,” but without the little wrapping around it that's specific for testing. When it comes to how things work, like when you're trying to push the production, let's say you did a bunch of stuff locally, you're happy with it, now it's time to push the production. Then there's all that headache with CI and waiting for tests to run and flaky tests and all of that, that I don't know. That is a big open question that everyone's unhappy about and no one really knows which way to run to. [0:43:57.5] DC: That’s awesome. Where do you see this space going in the future? I mean, as you look at the tooling that’s out there, maybe not specifically to the Tilt particular service or capability, but where do you see some other people exploring that space? We were talking about AWS dropping and CDK and there are different people trying to solve the YAML problem, but more from the developer user experience tooling way, where do you see that space going? [0:44:23.9] EK: For me, it's all about higher level abstractions and well-defined best practices. Right now, everyone is fumbling around in the dark not knowing what to do, trying to figure out what works and what doesn't. The main thing that I see changing is that given enough time, best practices are going to emerge and it's going to be clear for everyone. If you're doing this thing, you should use this workflow. If you're doing that thing, you should use that workflow. Basically, what happened when IDEs emerged and became a thing, that is the best practice aside. [0:44:57.1] DC: That's a great example. [0:44:58.4] EK: Yeah. What I see in terms of things being offered for me tomorrow of — in terms of prepackaged higher level abstractions. I don't think developers should, everyone know how to deal with Kubernetes at a deeper level, the same way as I don't know how to build the Linux kernel even though I use Linux every day. I think things should be wrapped up in a way that developers can focus on what matters to them, which is right now basically writing code. Developers should be able to get to the office in the morning, open up their computer, start writing code, or doing whatever else they want to do and not worry about Kubernetes, not worry about lambda, not worry about how is this getting built and how is this getting deployed and how is this getting tested, what's the underlying mechanism. I'd love for higher-level patterns of those to emerge and be very easy to use for everyone. [0:45:53.3] CC: Yeah, it's going to be very interesting. I think best practices is such an interesting thing to think about, because somebody could sit down and write, “Oh, these are the best practices we should be following in the space.” I think, my opinion it's really going to come out of what worked historically when we have enough data to look at over the years. I think it's going to be as far as tooling goes, like a survival of the fittest. Whatever tool has been used the most, that's what's going to be the best practice way to do things. Yeah, we know today there are so many tools, but I think probably we're going to get to a point where we know what to use for what in the future. With that, we have to wrap-up, because we are at the top of the hour. It was so great to have Ellen, or L, how they I think prefer to be called and to have you on the show, Elle. Thank you so much. I mean, L. See, I can't even follow my own. You're very active on Twitter. We're going to have all the information for how to reach you on the show notes. We're going to have a transcript. As always people, subscribe, follow us on Twitter, so you can be up to date with what we are doing and suggest episodes too on our github repo. With that, thank you everybody. Thank you L. [0:47:23.1] DC: Thank you, everybody. [0:47:23.3] CC: Thank you, Michael and – [0:47:24.3] MG: Thank you. [0:47:24.8] CC: - thank you, Duffie. [0:47:26.2] EK: Thank you. It was great. [0:47:26.8] MG: Until next time. [0:47:27.0] CC: Until next week. [0:47:27.7] MG: Bye-bye. [0:47:28.5] EK: Bye. [0:47:28.6] CC: It really was. [END OF EPISODE] [0:47:31.0] ANNOUNCER: Thank you for listening to the Podlets Cloud Native Podcast. Find us on Twitter @thepodlets and on thepodlets.io website. That is ThePodlets, altogether, where you will find transcripts and show notes. We’ll be back next week. Stay tuned by subscribing. [END]See omnystudio.com/listener for privacy information.
Nick catches up with Prof. Bob Stone at the Medifest Plymouth Conference to talk about the importance of Human Factors considerations in designing and implementing immersive technology environments. Bob is a technology 'veteran' and has been working in VR since 1990 and more recently collaborating with Nick in VR R&D within the NHS. In this episode, Bob shares a wealth of experience and lessons for best practises on the front line of development, as well as offering an honest opinion on the progress of the industry. More on Bob: Robert (Bob) Stone holds a Chair in Interactive Multimedia Systems within the College of Engineering and Physical Sciences at the University of Birmingham, where he is also Director of the Human Interface Technologies (HIT) Team. He graduated from University College London in 1979 with a BSc in Psychology, and in 1981 with an MSc in Ergonomics. One of the first Europeans to experience the NASA VIEW Virtual Reality (VR) system in 1987, and having established the first industrial VR team at the UK's National Advanced Robotics Centre, following an appearance on the BBC's 9 O'Clock News in January, 1993, he brought together (initially) 12 companies to fund the world's first industrial collaborative project addressing the commercial applications of VR. In May 1996, Bob was elected to become an Academician of the Russian International Higher Education Academy of Sciences in Moscow and was, in 2000, accredited by General Klimuk, Director of Russia's Gagarin Cosmonaut Training Centre as responsible for “introducing VR into the cosmonaut space programme”. Bob's work has received numerous national and international awards for his Virtual Reality and Telepresence efforts, including, uniquely, three from the Institute of Ergonomics and Human Factors, and, in 2011, the MoD Chief Scientific Advisor's Commendation for his contribution to Defence Science and Technology. Tweet Virti: @virtimed Contact Virti: https://virti.com
On 'The New Screen Savers' recorded on Saturday, December 1, 2018, with Leo Laporte and Iain Thomson:Leo and Iain discuss Marriott's massive breach of 500 million customer's data, CRISPR-edited babies, and NASA's InSight lander on Mars. Danny Isserles from temi shows off their personal robot that can autonomously follow you around your home or office as your digital assistant or telepresence robot. We continue our Holiday Gift Guides with Iain's picks, including phone cases, gadget toolkits, power banks, and UPSs. Plus a bonus Gift Guide from Ars Technica's Sam Machkovec with the best multi-platform video games. We answer some of your questions like how to protect someone's aunt who keeps letting "Microsoft" remote in to fix her laptop. Hosts: Leo Laporte and Iain Thomson Guests: Danny Isserles, Sam Machkovech, and Jason Howell The New Screen Savers records live every Saturday at 3PM Pacific on twit.tv/live. Episodes are available for download and streaming later that evening at https://twit.tv/shows/new-screen-savers. Sponsors: WordPress.com/nss hover.com/twit audible.com/twit or text twit to 500-500
On 'The New Screen Savers' recorded on Saturday, December 1, 2018, with Leo Laporte and Iain Thomson:Leo and Iain discuss Marriott's massive breach of 500 million customer's data, CRISPR-edited babies, and NASA's InSight lander on Mars. Danny Isserles from temi shows off their personal robot that can autonomously follow you around your home or office as your digital assistant or telepresence robot. We continue our Holiday Gift Guides with Iain's picks, including phone cases, gadget toolkits, power banks, and UPSs. Plus a bonus Gift Guide from Ars Technica's Sam Machkovec with the best multi-platform video games. We answer some of your questions like how to protect someone's aunt who keeps letting "Microsoft" remote in to fix her laptop. Hosts: Leo Laporte and Iain Thomson Guests: Danny Isserles, Sam Machkovech, and Jason Howell The New Screen Savers records live every Saturday at 3PM Pacific on twit.tv/live. Episodes are available for download and streaming later that evening at https://twit.tv/shows/new-screen-savers. Sponsors: WordPress.com/nss hover.com/twit audible.com/twit or text twit to 500-500
Are you managing people in different locations who have little chance to get together in person? Are you struggling to create a virtual team? More and more managers are having to give feedback over the phone. Telepresence is becoming common in offices. With the rise in global projects and the increase in flexible working, learning to manage, lead, build teams that are not co-located is an important skill. Hear expert advise on best practices.
Are you managing people in different locations who have little chance to get together in person? Are you struggling to create a virtual team? More and more managers are having to give feedback over the phone. Telepresence is becoming common in offices. With the rise in global projects and the increase in flexible working, learning to manage, lead, build teams that are not co-located is an important skill. Hear expert advise on best practices.
Telepresence. It's an ugly, outdated word for an attractive and current/ emerging phenomenon where people can work from anywhere, anytime. It's technology for the way we work today. But is it as easy as adding good tech to a constantly evolving problem? What about etiquette? And design uber alles? And finally ... why does telepresence even matter? Well, if you can't hire talent locally, you can hire them remotely. That constraint is the easier of all the other requirements to relax. Or so argue the guests on this episode of the a16z Podcast: Scott Hassan, president and CEO of Suitable Technologies, maker of the popular Beam robots and formerly founder of Willow Garage and eGroups (now Yahoo Groups) as well as key software architect and developer of Google, Alexa Internet, and the Stanford Digital Library; Shan Sinha, formerly of DocVerse (acquired by Google) and co-founder and CEO of Highfive, video and web conferencing for everyone; and Craig Walker, formerly of Google and Yahoo Voice, now co-founder and CEO of Switch -- makers of Uberconference and other products for cloud-based enterprises looking to update their communications.
We chat about a new Medical telepresence regulation and why it could be a boon for integrators, how CEO must lead as customer experience evangelist, the FCC takes away our candy and how AV and tech can re-bloom the rust belt. Host: George Tucker Co-Founder Guests: Joel Bilheimer of Pershing Technologies, Charlie Jones from Sennheiser, and Dave [...]