Podcasts about html css

  • 97PODCASTS
  • 150EPISODES
  • 39mAVG DURATION
  • ?INFREQUENT EPISODES
  • Feb 5, 2025LATEST

POPULARITY

20172018201920202021202220232024


Best podcasts about html css

Latest podcast episodes about html css

The PolicyViz Podcast
Revolutionizing Web Development: Rich Harris on Svelte's Creation and Impact

The PolicyViz Podcast

Play Episode Listen Later Feb 5, 2025 34:35


Rich Harris, creator of the Svelte framework, stops by the podcast to talk about his work. Rich shares how Svelte originated from his work in newsrooms at The Guardian and The New York Times, where he developed tools for building interactive data visualizations under tight deadlines. We talk about how Svelte simplifies web development by bridging the gap between HTML/CSS knowledge and interactive applications, making it accessible to both experienced and novice developers. Our chat touches on the broader impact of Svelte, including its adoption in diverse applications like DataWrapper and smart TV interfaces. Rich reflects on the responsibility and challenges of leading an open-source project like Svelte and discusses the ongoing focus on SvelteKit, an application framework built on Svelte, and highlights accessible resources for beginners to get started.Keywords: Svelte, SvelteKit, RichHarris, WebDevelopment, Open-Source Framework, DataVisualization, JavaScript, HTML, CSS, User Interface Framework, Interactive Applications, Newsroom Graphics, DataWrapper, Declarative Programming, Web AccessibilitySubscribe to the PolicyViz Podcast wherever you get your podcasts.Become a patron of the PolicyViz Podcast for as little as a buck a monthCheck out Rich's website visit the Svelte development websiteFollow me on Instagram, LinkedIn, Substack, Twitter, Website, YouTubeEmail: jon@policyviz.com

Kirk & Kurtts
Samantha Fagan, Website Strategist and Developer, Web Design, UX/UI, and WordPress Expertise

Kirk & Kurtts

Play Episode Listen Later Oct 28, 2024 54:40


Send us a textIn this episode of the Kirk & Kurtts Design Podcast, Kirk and Andy chat with Sam Fagan, a "Swiss Army knife" of digital design and development. Sam's skill set spans website design, HTML/CSS coding, WordPress development, project management, and copywriting. Beyond her technical expertise, she's dedicated to helping small businesses and nonprofits turn customers into passionate fans by creating strategic, engaging digital experiences.Sam shares her journey from New York to Arkansas, tracing her path through various roles that shaped her expertise, resilience, and love for storytelling.The discussion dives deep into mentorship. Sam reflects on her own challenges finding guidance early in her career and her commitment to now mentor others. Kirk and Andy emphasize the importance of mentorship within creative industries, noting the need for role models who understand both creative and business perspectives.Packed with humor, wisdom, and advice, this episode offers insights for anyone navigating design, development, or digital branding. Tune in to learn how embracing curiosity and storytelling can transform your work—and your approach to life.Connect with Sam here:https://www.linkedin.com/in/samanthafagan/ https://www.linkedin.com/in/samanthafagan/Support the showAbout Kirk and Andy. Kirk Visola is the Creative Director and Founder of MIND THE FONT™. He brings over 20 years of CPG experience to the packaging and branding design space, and understands how shelf aesthetics can make an impact for established and emerging brands. Check out their work http://www.mindthefont.com. Andy Kurts is the Creative Director and Founder of Buttermilk Creative. He loves a good coffee in the morning and a good bourbon at night. When he's not working on packaging design he's running in the backyard with his family. Check out Buttermilk's work http://www.buttermilkcreative.com.Music for Kirk & Kurtts intro & outro: Better by Super FantasticsShow a little love. Share the podcast with those who may benefit. Or, send us a coffee:Support the show

HTML All The Things - Web Development, Web Design, Small Business
Is Vanilla Tech Just for Juniors? Exploring the Role of HTML, CSS, and JS in 2024

HTML All The Things - Web Development, Web Design, Small Business

Play Episode Listen Later Aug 20, 2024 79:30


It's often said that in order to become a junior developer, you should learn the three foundational pillars of web development before moving onto a framework, plugin, or other specialty. These pillars are of course: HTML (for site structure), CSS (for page styling), and JS (for advanced UI interactivity) - we refer to them as vanilla tech. Way back in the day, these pillars were pretty much the only thing most developers used to create websites (minus backend tech), but these days most jobs require that you have experience with a popular toolset like React + Next.js, or Svelte + SvelteKit. In this episode, Matt and Mike check in on HTML, CSS, and JS in 2024. The duo discussed these technologies through the frontend lens exclusively, pushing aside things such as JavaScript usage in the backend, or being typed by TypeScript - in order to capture what these technologies were initially used for. Through this discussion the guys question how relevant vanilla tech is 2024, and whether or not it is primarily used as a learning tool by today's standards. Show Notes: https://www.htmlallthethings.com/podcasts/is-vanilla-tech-just-for-juniors-exploring-the-role-of-html-css-and-js-in-2024 Thanks to Magic Mind for sponsoring this episode, enjoy 20% off one-time purchases and subscription using our link and code (Link: https://magicmind.com/HTMLPOD20 Code: HTMLPOD20) Thanks to Wix Studio for sponsoring this episode! Check out Wix Studio, the web platform tailored to designers, developers, and marketers via this link: https://www.wix.com/studio

WP Builds
383 – No Script Show, Episode 14 – The Frontend Divide: UX Designers vs JavaScript Specialists

WP Builds

Play Episode Listen Later Aug 1, 2024 54:34


In episode 14 of "The No Script Show," Nathan Wrigley and David Waumsley discuss the division between UX designers and JavaScript specialists, focusing on Chris Coyier's article “The Great Divide.” After halting their work together on the WP Builds podcast, due to David's shift towards minimalist web development with HTML and CSS, they launched "The No Script Show" to explore this new approach. This episode, the last to be featured on WP Builds, delves into whether the divide between HTML/CSS-first developers and JS framework specialists has narrowed over the years, touching on advancements in CSS, web components, and web standards, and examining ongoing issues such as gatekeeping and accessibility.

PodRocket - A web development podcast from LogRocket
The State of JavaScript with Sacha Greif

PodRocket - A web development podcast from LogRocket

Play Episode Listen Later Jul 17, 2024 38:38


On this episode, Sacha Greif, designer, developer, and entrepreneur, talks about the state of JavaScript in 2023 survey results. We discuss trends in the JavaScript ecosystem and the future of popular frameworks and tools. Learn about the challenges and innovations shaping the world of JavaScript today. Links https://stateofjs.com https://sachagreif.com https://github.com/sachag http://twitter.com/sachagreif https://jp.linkedin.com/in/sacha-greif We want to hear from you! How did you find us? Did you see us on Twitter? In a newsletter? Or maybe we were recommended by a friend? Let us know by sending an email to our producer, Emily, at emily.kochanekketner@logrocket.com (mailto:emily.kochanekketner@logrocket.com), or tweet at us at PodRocketPod (https://twitter.com/PodRocketpod). Follow us. Get free stickers. Follow us on Apple Podcasts, fill out this form (https://podrocket.logrocket.com/get-podrocket-stickers), and we'll send you free PodRocket stickers! What does LogRocket do? LogRocket provides AI-first session replay and analytics that surfaces the UX and technical issues impacting user experiences. Start understand where your users are struggling by trying it for free at [LogRocket.com]. Try LogRocket for free today.(https://logrocket.com/signup/?pdr) Special Guest: Sacha Greif.

Latent Space: The AI Engineer Podcast — CodeGen, Agents, Computer Vision, Data Science, AI UX and all things Software 3.0
How to train your own Large Multimodal Model — with Hugo Laurençon & Leo Tronchon of HuggingFace M4

Latent Space: The AI Engineer Podcast — CodeGen, Agents, Computer Vision, Data Science, AI UX and all things Software 3.0

Play Episode Listen Later Jan 19, 2024 71:50


Latent Space is heating up! Our paper club ran into >99 person Discord limits, oops. We are also introducing 2 new online meetups: LLM Paper Club Asia for Asia timezone (led by Ivan), and AI in Action: hands-on application of AI (led by KBall). To be notified of all upcoming Latent Space events, subscribe to our new Luma calendar (sign up for individual events, or hit the RSS icon to sync all events to calendar).In the halcyon open research days of 2022 BC (Before-ChatGPT), DeepMind was the first to create a SOTA multimodal model by taking a pre-existing LLM (Chinchilla 80B - now dead?) and pre-existing vision encoder (CLIP) and training a “glue” adapter layer, inspiring a generation of stunningly cheap and effective multimodal models including LLaVA (one of the Best Papers of NeurIPS 2023), BakLLaVA and FireLLaVA. However (for reasons we discuss in today's conversation), DeepMind's Flamingo model was never open sourced. Based on the excellent paper, LAION stepped up to create OpenFlamingo, but it never scaled beyond 9B. Simultaneously, the M4 (audio + video + image + text multimodality) research team at HuggingFace announced an independent effort to reproduce Flamingo up to the full 80B scale:The effort started in March, and was released in August 2023.We happened to visit Paris last year, and visited HuggingFace HQ to learn all about HuggingFace's research efforts, and cover all the ground knowledge LLM people need to become (what Chip Huyen has termed) “LMM” people. In other words:What is IDEFICS?IDEFICS is an Open Access Visual Language Model, available in 9B and 80B model sizes. As an attempt to re-create an open-access version of Flamingo, it seems to track very well on a range of multimodal benchmarks (which we discuss in the pod):You can see the reasoning abilities of the models to take a combination of interleaved images + text in a way that allows users to either describe images, ask questions about the images, or extend/combine the images into different artworks (e.g. poetry).

Les Cast Codeurs Podcast
LCC 304 - Dark punk

Les Cast Codeurs Podcast

Play Episode Listen Later Dec 18, 2023 99:41


Dans cet épisode, Katia, Arnaud et Emmanuel discutent les nouvelles de cette fin 2023. Le gatherer dans les stream Java, les exceptions, JavaScript dans la JVM, recherche vectorielle, coût du cloud, Gemini, Llama et autres animaux fantastiques et pleins d'outils sympathiques pour fêter la fin de l'année. Enregistré le 15 décembre 2023 Téléchargement de l'épisode LesCastCodeurs-Episode-304.mp3 News Aide Les Cast Codeurs et remplis un petit formulaire pour nous guider l'année prochaine https://lescastcodeurs.com/sondage Langages Avec JEP 461, arrivée dans en preview dans Java 22 de la notion de “gatherer” pour les streams https://groovy.apache.org/blog/groovy-gatherers dans cet article de Paul King, de l'équipe Groovy, il montre et contraste ce que l'on pouvait faire en Groovy depuis des années, comme des sliding windows, par exemple explique l'approche des gatherers avec ses opérations intermédiaires gatherer sont des operations intermediaires custom qui prennent un etat et le prochain element pour decided quoi faire, et meme changer le stream d'elements suivants (en publier) (via la fonction integrate certains peuvent permettre de combiner les resultats intermediaires (pour paralleliser) Examples : fenetres de taille fixe, fenettres glissantes Joe Duffy, qui est CEO de Pulumi, mais qui avait travaillé chez Microsoft sur le project Midori (un futur OS repensé) parle du design des exceptions, des erreurs, des codes de retour https://joeduffyblog.com/2016/02/07/the-error-model/ Il compare les codes d'erreurs, les exceptions, checked et non-checked il separe les bugs des erreurs attendues (bugs doivent arreter le process) il raconte l'histoire des unchecked exception et leurs problemes et des checked exceptopns et poourquoi les developeurs java les detestent (selon lui) long article maisn interessant dans ses retours mais lon je ne suis pas allé au bout :smile: Après la disparition de Nashorn dans le JDK, on peut se tourner vers le projet Javet https://www.caoccao.com/Javet/index.html Javet permet d'intégrer JavaScript avec le moteur V8 Mais aussi carrément Node.js c'est super comme capacité car on a les deux mielleurs moteurs, par contre le support hors x86 est plus limité (genre arm sous windows c'est non) Librairies Une partie de l'équipe Spring se fait lourder après le rachat effectif de Broadcom https://x.com/odrotbohm/status/1729231722498425092?s=20 peu d'info en vrai à part ce tweet mais l'acquisition Broadcome n'a pas l'air de se faire dans le monde des bisounours Marc Wrobel annonce la sortie de JBanking 4.2.0 https://www.marcwrobel.fr/sortie-de-jbanking-4-2-0 support de Java 21 possibilité de générer aléatoirement des BIC amélioration de la génération d'IBAN jbanking est une bibliotheque pour manipuler des structures typiques des banques comme les IBAN les BIC, les monnaies, les SEPA etc. Hibernate Search 7 est sorti https://in.relation.to/2023/12/05/hibernate-search-7-0-0-Final/ Support ElasticSearch 8.10-11 et openSearch 2.10-11 Rebasé sur Lucerne 9.8 support sur Amazon OpenSearch Serverless (experimental) attention sous ensemble de fonctionnalités sur Serverless, c'est un API first search cluster vendu a la lambda En lien aussi sur la version 7.1 alpha1 Hibernate ORM 6.4 est sorti https://in.relation.to/2023/11/23/orm-640-final/ support pour SoftDelete (colonne marquant la suppression) support pour les operations vectorielles (support postgreSQL initialement) les fonctions vectorielles sont particulièrement utilisées par l'IA/ML événement spécifiques JFR Intégration de citrus et Quarkus pour les tests d'intégrations de pleins de protocoles et formats de message https://quarkus.io/blog/testing-quarkus-with-citrus/ permet de tester les entrees / sorties attendues de systèmes de messages (HTTP, Kafka, serveur mail etc) top pour tester les application Event Driven pas de rapport mais Quarkus 3.7 ciblera Java 17 (~8% des gens utilisaient Java 11 dans les builds qui ont activé les notifications) Hibernate Search 7.1 (dev 7.1.0.Alpha1) avec dernière version de Lucene (9.8), Infinispan rajoute le support pour la recherche vectorielle. https://hibernate.org/search/releases/7.1/ https://infinispan.org/blog/2023/12/13/infinispan-vector-search Hibernate Search permet maintenant la recherche vectorielle La dernière version est intégrée en Infinispan 15 (dev) qui sortira La recherche vectoriolle et stockage de vecteurs, permettent convertir Infinispan en Embedding Store (langchain) Cloud Comment choisir sa region cloud https://blog.scottlogic.com/2023/11/23/conscientious-cloud-pick-your-cloud-region-deliberately.html pas si simple le coût la securité légale de vos données la consommation carbone de la région choisie (la France est top, la Pologne moins) la latence vs où sont vos clients les services supportés Web Vers une standardisation des Webhooks ? https://www.standardwebhooks.com/ Des gens de Zapier, Twilio, Ngrok, Kong, Supabase et autres, se rejoignent pour essayer de standardiser l'approche des Webhooks La spec est open source (Apache) sur Github https://github.com/standard-webhooks/standard-webhooks/blob/main/spec/standard-webhooks.md Les objectifs sont la sécurité, la reliabilité, l'interopérabilité, la simplicité et la compatibilité (ascendante / descendante) sans la spec, chaque webhook est different dans son comportement et donc les clients doivent s'adapter dans la sematique et les erreurs etc la (meta-) structure de la payload, la taille, la securisation via signature (e.g. hmac), les erreurs (via erreurs HTTP), etc Data et Intelligence Artificielle Google annonce Gemini, son nouveau Large Language Model https://blog.google/technology/ai/google-gemini-ai/#sundar-note modèle multimodal qui peut prendre du texte, en entrée, mais aussi des images, du son, des vidéos d'après les benchmarks, il est largement aussi bon que GPT4 plusieurs tailles de modèles disponible : Nano pour être intégré aux mobiles, Pro qui va être utilisé dans la majeure partie des cas, et Ultra pour les besoins de réflexion les plus avancés Android va rajouter aussi des librairies AICore pour utiliser Gemini Nano dans les téléphones Pixel https://android-developers.googleblog.com/2023/12/a-new-foundation-for-ai-on-android.html Gemini Pro va être disponible dans Bard (en anglais et dans 170 pays, mais l'Europe va devoir attendre un petit peu pour que ce soit dispo) Gemini Ultra devrait aussi rejoindre Bard, dans une version étendue https://blog.google/products/bard/google-bard-try-gemini-ai/ Gemini va être intégré progressivement dans plein de produits Google DeepMind parlant de Gemini https://deepmind.google/technologies/gemini/#introduction Un rapport de 60 pages sur Gemini https://storage.googleapis.com/deepmind-media/gemini/gemini_1_report.pdf Gemini a permis aussi de pouvoir développer une nouvelle version du modèle AlphaCode qui excelle dans les compétitions de coding https://storage.googleapis.com/deepmind-media/AlphaCode2/AlphaCode2_Tech_Report.pdf Liste de petites vidéos sur YouTube avec des interviews et démonstrations des capacités de Gemini https://www.youtube.com/playlist?list=PL590L5WQmH8cSyqzo1PwQVUrZYgLcGZcG malheureusement certaines des annonces sont un peu fausse ce qui a amené un discrédit (non du) sur Gemini par exemple la video “aspirationelle” était vendue comme du réel mais ce n'est pas le cas. et ultra n'est pas disponible encore ausso la comparaison de ChatGPT sur la page (initialement au moins) comparait des choux et des carottes, meme si le papier de recherche était correct Avec la sortie de Gemini, Guillaume a écrit sur comment appeler Gemini en Java https://glaforge.dev/posts/2023/12/13/get-started-with-gemini-in-java/ Gemini est multimodèle, donc on peut passer aussi bien du texte que des images, ou même de la vidéo Il y a un SDK en Java pour interagir avec l'API de Gemini Facebook, Purple Llama https://ai.meta.com/blog/purple-llama-open-trust-safety-generative-ai/ Opensource https://ai.meta.com/llama/ dans l'optique des modeles GenAI ouverts, Facebook fournit des outils pour faire des IA responsables (mais pas coupables :wink: ) notament des benchmarks pour evaluler la sureté et un classifier de sureté, par exemple pour ne pas generer du code malicieux (ou le rendre plus dur) llama purple sera un projet parapluie D'ailleurs Meta IBM, Red Hat et pleins d'autres ont annoncé l'AI Alliance pour une AI ouverte et collaborative entre académique et industriels. Sont notammenrt absent Google, OpenAI (pas ouvert) et Microsoft Juste une annouce pour l'instant mais on va voir ce que ces acteurs de l'AI Alliance feront de concret il y a aussi un guide d'utilisateur l'usage IA responsable (pas lu) Apple aussi se met aux librairies de Machine Learning https://ml-explore.github.io/mlx/build/html/index.html MLX est une librairie Python qui s'inspire fortement de NumPy, PyTorch, Jax et ArrayFire Surtout, c'est développé spécifiquement pour les Macs, pour tirer au maximum parti des processeurs Apple Silicon Dans un des repos Github, on trouve également des exemples qui font tourner nativement sur macOS les modèles de Llama, de Mistral et d'auters https://github.com/ml-explore/mlx-examples non seulement les Apple Silicon amis aussi la memoire unifiee CPU/GPU qui est une des raisons clés de la rapidité des macs Faire tourner Java dans un notebook Jupyter https://www.javaadvent.com/2023/12/jupyter-notebooks-and-java.html Max Andersen explore l'utilisation de Java dans les notebooks Jupyter, au lieu du classique Python il y a des kernels java selon vos besoins mais il faut les installer dans la distro jupyter qu'on utilise et c'est la que jbang installable via pip vient a la rescousse il installe automatiquement ces kernels en quelques lignes Outillage Sfeir liste des jeux orientés développeurs https://www.sfeir.dev/tendances/notre-selection-de-jeux-de-programmation/ parfait pour Noël mais c'est pour ceux qui veulent continuer a challenger leur cerveau après le boulot jeu de logique, jeu de puzzle avec le code comme forme, jeu autour du machine learning, jeu de programmation assembleur Les calendriers de l'Avent sont populaires pour les développeurs ! En particulier avec Advent of Code https://adventofcode.com/ Mais il y a aussi l'Advent of Java https://www.javaadvent.com/ Ou un calendrier pour apprendre les bases de SVG https://svg-tutorial.com/ Le calendrier HTML “hell” https://www.htmhell.dev/adventcalendar/ qui parle d'accessibilité, de web components, de balises meta, de toutes les choses qu'on peut très bien faire en HTML/CSS sans avoir besoin de JavaScript Pour les développeurs TypeScript, il y a aussi un calendrier de l'Avent pour vous ! https://typehero.dev/aot-2023 Un super thread de Clara Dealberto sur le thème de la “dataviz” (data visualization) https://twitter.com/claradealberto/status/1729447130228457514 Beaucoup d'outil librement accessibles sont mentionnés pour faire toutes sortes de visualisations (ex. treemap, dendros, sankey…) mais aussi pour la cartographie Quelques ressources de site qui conseillent sur l'utilisation du bon type de visualisation en fonction du problème et des données que l'on a notemment celui du financial time qui tiens dans une page de PDF Bref c'est cool mais c'est long a lire Une petite liste d'outils sympas - jc pour convertir la sortie de commandes unix en JSON https://github.com/kellyjonbrazil/jc - AltTab pour macOS pour avoir le même comportement de basculement de fenêtre que sous Windows https://alt-tab-macos.netlify.app/ - gron pour rendre le JSON grep-able, en transformant chaque valeur en ligne ressemblant à du JSONPath https://github.com/tomnomnom/gron - Marker, en Python, pour transformer des PDF en beau Markdown https://github.com/VikParuchuri/marker - n8n un outil de workflow open source https://n8n.io/ gron en fait montre des lignes avec des assignments genre jsonpath = value et tu peux ungroner apres pour revenir a du json Marker utilise du machine learning mais il halklucine moins que nougat (nous voilà rassuré) Docker acquiert Testcontainers https://techcrunch.com/2023/12/11/docker-acquires-atomicjar-a-testing-startup-that-raised-25m-in-january/ Annonce par AtomicJar https://www.atomicjar.com/2023/12/atomicjar-is-now-part-of-docker/ Annonce par Docker https://www.docker.com/blog/docker-whale-comes-atomicjar-maker-of-testcontainers/ Architecture Comment implémenter la reconnaissance de chanson, comme Shazam https://www.cameronmacleod.com/blog/how-does-shazam-work il faut d'abord passer en mode fréquence avec des transformées de Fourrier pour obtenir des spectrogrammes puis créer une sorte d'empreinte qui rassemble des pics de fréquences notables à divers endroits de la chanson d'associer ces pics pour retrouver un enchainement de tels pics de fréquence dans le temps l'auteur a partagé son implémentation sur Github https://github.com/notexactlyawe/abracadabra/blob/e0eb59a944d7c9999ff8a4bc53f5cfdeb07b39aa/abracadabra/recognise.py#L80 Il y avait également une très bonne présentation sur ce thème par Moustapha Agack à DevFest Toulouse https://www.youtube.com/watch?v=2i4nstFJRXU les pics associés sont des hash qui peut etre comparés et le plus de hash veut dire que les chansons sont plus similaires Méthodologies Un mémo de chez ThoughtWorks à propos du coding assisté par IA https://martinfowler.com/articles/exploring-gen-ai.html#memo-08 Avec toute une liste de questions à se poser dans l'utilisation d'un outil tel que Copilot Il faut bien réaliser que malheureusement, une IA n'a pas raison à 100% dans ses réponses, et même plutôt que la moitié du temps, donc il faut bien mettre à jour ses attentes par rapport à cela, car ce n'est pas magique La conclusion est intéressante aussi, en suggérant que grosso modo dans 40 à 60% des situations, tu peux arriver à 40 à 80% de la solution. Est-ce que c'est à partir de ce niveau là qu'on peut vraiment gagner du temps et faire confiance à l'IA ? Ne perdez pas trop de temps non plus à essayer de convaincre l'IA de faire ce que vous voulez qu'elle fasse. Si vous n'y arrivez pas, c'est sans doute parce que l'IA n'y arrivera même pas elle même ! Donc au-delà de 10 minutes, allez lire la doc, chercher sur Google, etc. notamment, faire genrer les tests par l'IA dans al foulée augmente les risques surtout si on n'est pas capable de bien relire le code si on introduit un choix de pattern genre flexbox en CSS, si c'est sur une question de sécuriter, vérifier (ceinture et bretelle) est-ce le framework de la semaine dernière? L'info ne sera pas dans le LLM (sans RAG) Quelles capacités sont nécessaires pour déployer un projet AI/ML https://blog.scottlogic.com/2023/11/22/capabilities-to-deploy-ai-in-your-organisation.html C'est le MLOps et il y a quelques modèles end to end Google, IBM mais vu la diversité des organisations, c'est difficile a embrasser ces versions completes ML Ops est une métier, data science est un metier, donc intégrer ces competences sachez gérer votre catalogue de données Construire un process pour tester vos modèles et continuellement La notion de culture de la recherche et sa gestion (comme un portefeuille financier, accepter d'arrêter des experience etc) la culture de la recherche est peu présente en engineering qui est de construire des choses qui foncitonnent c'est un monde pre LLM Vous connaissez les 10 dark patterns de l'UX ? Pour vous inciter à cliquer ici ou là, pour vous faire rester sur le site, et plus encore https://dodonut.com/blog/10-dark-patterns-in-ux-design/ Parmi les dark patterns couverts Confirmshaming Fake Urgency and the Fear of Missing Out Nagging Sneaking Disguised Ads Intentional Misdirection The Roach Motel Pattern Preselection Friend Spam Negative Option Billing or Forced Continuity L'article conclut avec quelques pistes sur comment éviter ces dark patterns en regardant les bons patterns de la concurrence, en testant les interactions UX, et en applicant beaucoup de bon sens ! les dark patterns ne sont pas des accidents, ils s'appuient sur la psychologie et sont mis en place specifiquement Comment choisir de belles couleurs pour la visualisation de données ? https://blog.datawrapper.de/beautifulcolors/ Plutôt que de penser en RGB, il vaut mieux se positionner dans le mode Hue Saturation Brightness Plein d'exemples montrant comment améliorer certains choix de couleurs Mieux vaut éviter des couleurs trop pures ou des couleurs trop brillantes et saturées Avoir un bon contraste Penser aussi aux daltoniens ! j'ai personnellement eu toujours du mal avec saturationm vs brightness faire que les cloueirs en noir et blanc soient separees evant de le remettre (en changeant la brightness de chaque couleur) ca aide les daltoniens eviter les couleurs aux 4 coins amis plutot des couleurs complementaires (proches) rouge orange et jaune (non saturé) et variations de bleu sont pas mal les couleurs saturées sont aggressives et stressent les gens Pourquoi vous devriez devenir Engineering Manager? https://charity.wtf/2023/12/15/why-should-you-or-anyone-become-an-engineering-manager/ L'article parle de l'évolution de la perception de l'engineering management qui n'est plus désormais le choix de carrière par défaut pour les ingénieurs ambitieux. Il met en évidence les défis auxquels les engineering managers sont confrontés, y compris les attentes croissantes en matière d'empathie, de soutien et de compétences techniques, ainsi que l'impact de la pandémie de COVID-19 sur l'attrait des postes de management. L'importance des bons engineering mnanagers est soulignée, car ils sont considérés comme des multiplicateurs de force pour les équipes, contribuant de manière significative à la productivité, à la qualité et au succès global dans les environnements organisationnels complexes. L'article fournit des raisons pour lesquelles quelqu'un pourrait envisager de devenir Engineering Manager, y compris acquérir une meilleure compréhension de la façon dont les entreprises fonctionnent, contribuer au mentorat et influencer les changements positifs dans la dynamique des équipes et les pratiques de l'industrie. Une perspective est présentée, suggérant que devenir Engineering manager peut conduire à la croissance personnelle et à l'amélioration des compétences de vie, telles que l'autorégulation, la conscience de soi, la compréhension des autres, l'établissement de limites, la sensibilité à la dynamique du pouvoir et la maîtrise des conversations difficiles. L'article encourage à considérer la gestion comme une occasion de développer et de porter ces compétences pour la vie. Sécurité LogoFAIL une faille du bootloader de beaucoup de machines https://arstechnica.com/security/2023/12/just-about-every-windows-and-linux-device-vulnerable-to-new-logofail-firmware-attack/ en gros en changeant les eimages qu'on voit au boot permet d'executer du code arbitraire au tout debuit de la securisation du UEFI (le boot le plus utilisé) donc c'est game over parce que ca demarre avant l'OS c'est pas une exploitation a distance, il faut etre sur la machine avec des droits assez elevés deja mais ca peut etre la fin de la chaine d'attaque et comme d'hab un interpreteur d'image est la cause de ces vulnerabilités Conférences L'IA au secours de conférences tech: rajoute des profile tech femme comme speaker au programme pour passer le test diversité online via des profiles fake. https://twitter.com/GergelyOrosz/status/1728177708608450705 https://www.theregister.com/2023/11/28/devternity_conference_fake_speakers/ https://www.developpez.com/actu/351260/La-conference-DevTernity-sur-la-technologie-s-e[…]s-avoir-cree-de-fausses-oratrices-generees-automatiquement/ j'avais lu le tweet du createur de cette conf qui expliquait que c'etait des comptes de tests et que pris dans le rush ils avaient oublié de les enlever mais en fait les comptes de tests ont des profils “Actifs” sur le reseaux sociaux apparemment donc c'était savamment orchestré Au final beaucoup de speakers et des sponsors se desengagent La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 31 janvier 2024-3 février 2024 : SnowCamp - Grenoble (France) 1 février 2024 : AgiLeMans - Le Mans (France) 6 février 2024 : DevFest Paris - Paris (France) 8-9 février 2024 : Touraine Tech - Tours (France) 15-16 février 2024 : Scala.IO - Nantes (France) 6-7 mars 2024 : FlowCon 2024 - Paris (France) 14-15 mars 2024 : pgDayParis - Paris (France) 19 mars 2024 : AppDeveloperCon - Paris (France) 19 mars 2024 : ArgoCon - Paris (France) 19 mars 2024 : BackstageCon - Paris (France) 19 mars 2024 : Cilium + eBPF Day - Paris (France) 19 mars 2024 : Cloud Native AI Day Europe - Paris (France) 19 mars 2024 : Cloud Native Wasm Day Europe - Paris (France) 19 mars 2024 : Data on Kubernetes Day - Paris (France) 19 mars 2024 : Istio Day Europe - Paris (France) 19 mars 2024 : Kubeflow Summit Europe - Paris (France) 19 mars 2024 : Kubernetes on Edge Day Europe - Paris (France) 19 mars 2024 : Multi-Tenancy Con - Paris (France) 19 mars 2024 : Observabiity Day Europe - Paris (France) 19 mars 2024 : OpenTofu Day Europe - Paris (France) 19 mars 2024 : Platform Engineering Day - Paris (France) 19 mars 2024 : ThanosCon Europe - Paris (France) 19-21 mars 2024 : IT & Cybersecurity Meetings - Paris (France) 19-22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France) 26-28 mars 2024 : Forum INCYBER Europe - Lille (France) 28-29 mars 2024 : SymfonyLive Paris 2024 - Paris (France) 4-6 avril 2024 : Toulouse Hacking Convention - Toulouse (France) 17-19 avril 2024 : Devoxx France - Paris (France) 18-20 avril 2024 : Devoxx Greece - Athens (Greece) 25-26 avril 2024 : MiXiT - Lyon (France) 25-26 avril 2024 : Android Makers - Paris (France) 8-10 mai 2024 : Devoxx UK - London (UK) 16-17 mai 2024 : Newcrafts Paris - Paris (France) 24 mai 2024 : AFUP Day Nancy - Nancy (France) 24 mai 2024 : AFUP Day Poitiers - Poitiers (France) 24 mai 2024 : AFUP Day Lille - Lille (France) 24 mai 2024 : AFUP Day Lyon - Lyon (France) 2 juin 2024 : PolyCloud - Montpellier (France) 6-7 juin 2024 : DevFest Lille - Lille (France) 6-7 juin 2024 : Alpes Craft - Grenoble (France) 27-28 juin 2024 : Agi Lille - Lille (France) 4-5 juillet 2024 : Sunny Tech - Montpellier (France) 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium) 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France) 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France) 17-18 octobre 2024 : DevFest Nantes - Nantes (France) Nous contacter Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs Contactez-nous via twitter https://twitter.com/lescastcodeurs Faire un crowdcast ou une crowdquestion Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/

Podcast Libre à vous !
Interview sur WeasyPrint (transformer du HTML/CSS en PDF)

Podcast Libre à vous !

Play Episode Listen Later Nov 28, 2023 14:26


Les références : WeasyPrint CourtBouillon AFPy (association francophone python)Vous pouvez commenter les émissions, nous faire des retours pour nous améliorer, ou encore des suggestions. Et même mettre une note sur 5 étoiles si vous le souhaitez. Il est important pour nous d'avoir vos retours car, contrairement par exemple à une conférence, nous n'avons pas un public en face de nous qui peut réagir. Pour cela, rendez-vous sur la page dédiée.Pour connaître les nouvelles concernant l'émission (annonce des podcasts, des émissions à venir, ainsi que des bonus et des annonces en avant-première) inscrivez-vous à la lettre d'actus.

Podcast Libre à vous !
#193 - Au cœur de l'April - WeasyPrint - La vérité cachée de l'informatique merdique

Podcast Libre à vous !

Play Episode Listen Later Nov 28, 2023 88:56


Les podcasts de l'émission sont disponibles.Au programme de la 193e émission diffusée mardi 28 novembre 2023 : sujet principal : « Au cœur de l'April ». Plusieurs personnes actives au sein de l'April (Marie-Odile Morandi, Étienne Gonnu, Magali Garnero, Isabella Vanni) parleront des groupes de travail, des activités de l'April, son fonctionnement. Posez-nous toutes vos questions, soit avant l'émission, soit pendant le direct, nous y répondrons Interview par Julie Chaumard sur WeasyPrint (transformer du HTML/CSS en PDF) avec Lucie Anglade et Guillaume Ayoub de CourtBouillon la chronique « La pituite de Luk » sur le thème « La vérité cachée de l'informatique merdique » Pour retrouver toutes les informations concernant l'émission, rendez-vous sur la page dédiée.Sur cette page, vous pouvez commenter les émissions, nous faire des retours pour nous améliorer, ou encore des suggestions. Et même mettre une note sur 5 étoiles si vous le souhaitez. Il est important pour nous d'avoir vos retours car, contrairement par exemple à une conférence, nous n'avons pas un public en face de nous qui peut réagir.Pour connaître les nouvelles concernant l'émission (annonce des podcasts, des émissions à venir, ainsi que des bonus et des annonces en avant-première) inscrivez-vous à la lettre d'actus.

Freelandev - Vivir del desarrollo en WordPress
#236 – Plugins imprescindibles, problemas con mod_security y con Plesk

Freelandev - Vivir del desarrollo en WordPress

Play Episode Listen Later Oct 30, 2023 44:22


Síguenos en: ¿Qué tal la semana? Semana esther Problemas versión Plesk que bloquea actualizaciones de plugins y conexiones externas (error "Update failed: Download failed. cURL error 77:" ) Maquetación en editor bloques WP de landing HTML/CSS a medida Integración solución Correos en e-commerce a medida Semana Nahuai Follow-up, parece que los problemas de carga de los estilos de backend se solucionaron pasando una de las instalaciones de WordPress a PHP 7.4. Error 403 al intentar instalar un plugin en otro proveedor de hosting, tuve que desactivar mod_security desde cPanel. Jugando con las opciones de añadir contenidos entre bloques. Trasteando con los block hooks que llegaran en WordPress 6.4. Probando los plugins y temas de OsomPress con la versión de WordPress 6.4. Reunión del grupo de sostenibilidad de W3C. Trabajando en el tercer borrador y creando material que sea más fácil de entender y accionar. También se ha publicado la API. Si interesa el tema puedo preparar un episodio. Última reunión de Green Web Foundation. Reunión semanal del equipo de sostenibilidad de WordPress, nueva votación en marcha se comentó la opción de crear canales locales. Hoy Meetup de Terrassa donde Marc Soro hablará de diseño. Contenido Nahuai 2 nuevos tutoriales en Código Genesis de los cuales destaca: Publicado el tercer episodio de Sustain WP en que hablamos del pilar social de la sostenibilidad. Novedades Ya está disponible el guía de campo para desarrolladores de WordPress 6.4: https://make.wordpress.org/core/2023/10/23/wordpress-6-4-field-guide/ Fathom Analytics permite crear eventos: https://usefathom.com/docs/features/events y también eliminará su servicio de monitorización de webs. Tip de la semana Crear una webapp con MacOS Sonoma (opción de añadir al dock desde Safari) Menciones Jordi nos deja la siguiente pregunta: ¿Hay algún plugin que SIEMPRE instaléis junto a Wordpress? Ese plugin que no te lo piensas. Da igual si es un e-commerce, blog, web corporativa, etc. El MUST de los plugins, el imprescindible. (reto: intentad responder sin usar la palabra "depende". ¡juah!) Gracias por acompañarme en mis caminatas matutinas. Saludos Jordi (el panadero wordpresero) Catalina nos felicita por el episodio sobre la beca de Green Web Foundation.

Freelandev - Vivir del desarrollo en WordPress
#236 – Plugins imprescindibles, problemas con mod_security y con Plesk

Freelandev - Vivir del desarrollo en WordPress

Play Episode Listen Later Oct 30, 2023 44:22


Síguenos en: ¿Qué tal la semana? Semana esther Problemas versión Plesk que bloquea actualizaciones de plugins y conexiones externas (error "Update failed: Download failed. cURL error 77:" ) Maquetación en editor bloques WP de landing HTML/CSS a medida Integración solución Correos en e-commerce a medida Semana Nahuai Follow-up, parece que los problemas de carga de los estilos de backend se solucionaron pasando una de las instalaciones de WordPress a PHP 7.4. Error 403 al intentar instalar un plugin en otro proveedor de hosting, tuve que desactivar mod_security desde cPanel. Jugando con las opciones de añadir contenidos entre bloques. Trasteando con los block hooks que llegaran en WordPress 6.4. Probando los plugins y temas de OsomPress con la versión de WordPress 6.4. Reunión del grupo de sostenibilidad de W3C. Trabajando en el tercer borrador y creando material que sea más fácil de entender y accionar. También se ha publicado la API. Si interesa el tema puedo preparar un episodio. Última reunión de Green Web Foundation. Reunión semanal del equipo de sostenibilidad de WordPress, nueva votación en marcha se comentó la opción de crear canales locales. Hoy Meetup de Terrassa donde Marc Soro hablará de diseño. Contenido Nahuai 2 nuevos tutoriales en Código Genesis de los cuales destaca: Publicado el tercer episodio de Sustain WP en que hablamos del pilar social de la sostenibilidad. Novedades Ya está disponible el guía de campo para desarrolladores de WordPress 6.4: https://make.wordpress.org/core/2023/10/23/wordpress-6-4-field-guide/ Fathom Analytics permite crear eventos: https://usefathom.com/docs/features/events y también eliminará su servicio de monitorización de webs. Tip de la semana Crear una webapp con MacOS Sonoma (opción de añadir al dock desde Safari) Menciones Jordi nos deja la siguiente pregunta: ¿Hay algún plugin que SIEMPRE instaléis junto a Wordpress? Ese plugin que no te lo piensas. Da igual si es un e-commerce, blog, web corporativa, etc. El MUST de los plugins, el imprescindible. (reto: intentad responder sin usar la palabra "depende". ¡juah!) Gracias por acompañarme en mis caminatas matutinas. Saludos Jordi (el panadero wordpresero) Catalina nos felicita por el episodio sobre la beca de Green Web Foundation.

Syntax - Tasty Web Development Treats
Why is Facebook's HTML + CSS Such a Mess?

Syntax - Tasty Web Development Treats

Play Episode Listen Later Aug 7, 2023 29:45


In this episode of Syntax, Wes and Scott talk about why Threads, Instagram, and all things Facebook have what seems like really messy HTML and CSS? Show Notes 00:10 Welcome Scott on Threads Wes on Threads 00:35 Threads has got divs 02:42 Tight scoping 09:44 Avoids specificity 10:37 Dealing with ad blockers and scraping 15:45 Divs are free, what's the big deal? 20:19 Facebook is tracking everything 27:57 React Native Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials Tweet us your tasty treats Scott's Instagram LevelUpTutorials Instagram Wes' Instagram Wes' Twitter Wes' Facebook Scott's Twitter Make sure to include @SyntaxFM in your tweets Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky

R Weekly Highlights
Issue 2023-W30 Highlights

R Weekly Highlights

Play Episode Listen Later Jul 26, 2023 37:30


How consistent formatting and styling is valuable technique for debugging, a visual tour-de-force of jazzing up your ggplots with the amazing ecosystem of extension packages, and why a little investment in learning HTML and CSS is worth your time as an R programmer. Episode Links This week's curator: Batool Almarzouq - @batool664 (https://twitter.com/batool664) (Twitter) Tips for debugging and cleaning broken code (https://datavizs23.classes.andrewheiss.com/news/2023-07-05_messy-broken-code-tips.html) Jazz up your ggplots! (https://waterdata.usgs.gov/blog/ggplot-jazz/) Four reasons to learn HTML + CSS as an R programmer (https://albert-rapp.de/posts/16_html_css_for_r/16_html_css_for_r.html) Entire issue available at rweekly.org/2023-WXX (https://rweekly.org/2023-WXX.html) Supporting the show Use the contact page at https://rweekly.fireside.fm/contact to send us your feedback R-Weekly Highlights on the Podcastindex.org (https://podcastindex.org/podcast/1062040) - You can send a boost into the show directly in the Podcast Index. First, top-up with Alby (https://getalby.com/), and then head over to the R-Weekly Highlights podcast entry on the index. A new way to think about value: https://value4value.info Get in touch with us on social media Eric Nantz: @theRcast (https://twitter.com/theRcast) (Twitter) and @rpodcast@podcastindex.social (https://podcastindex.social/@rpodcast) (Mastodon) Mike Thomas: @mike_ketchbrook (https://twitter.com/mike_ketchbrook) (Twitter) and @mike_thomas@fosstodon.org (https://fosstodon.org/@mike_thomas) (Mastodon)

Les Cast Codeurs Podcast
LCC 298 - De l'IA à toutes les sauces

Les Cast Codeurs Podcast

Play Episode Listen Later Jul 24, 2023 103:52


Dans cet épisode estival Guillaume, Emmanuel et Arnaud parcourent les nouvelles du début d'été. Du Java, du Rust, du Go du coté des langages, du Micronaut, du Quarkus pour les frameworks, mais aussi du WebGPU, de l'agilité, du DDD, des sondages, de nombreux outils et surtout de l'intelligence artificielle à toutes les sauces (dans les bases de données, dans les voitures…). Enregistré le 21 juillet 2023 Téléchargement de l'épisode LesCastCodeurs-Episode-298.mp3 News Langages La release candidate de Go 1.21 supporte WASM et WASI nativement https://go.dev/blog/go1.21rc StringBuilder ou contatenation de String https://reneschwietzke.de/java/the-stringbuilder-advise-is-dead-or-isnt-it.html StringBuilder était la recommendation ca cela créait moins d'objects notamment. Mais la JVM a évolué et le compilateur ou JIT remplace cela par du code efficace Quelques petites exceptions le code froid (e.g. startup time) qui est encore interprété peut beneficier de StringBuilder autre cas, la concatenation dans des boucles où le JIT ne pourrait peut etre pas optimiser le StringBuilder “fluid” est plus efficace (inliné?) ces regles ne changement pas si des objects sont stringifié pour etre concaténés GPT 4 pas une revolution https://thealgorithmicbridge.substack.com/p/gpt-4s-secret-has-been-revealed rumeur ca beaucou de secret pas u modele a 1 trillion de parametres maus 8 a 220 Milliards combinés intelligeament les chercheurs attendaient un breakthrough amis c'est une envolution et pas particulierement nouveau methode deja implem,entee par des cherchers chez google (maintenant chez ooenai ils ont retarde la competition avec ces rumeurs de breakthrough amis 8 LLaMA peut peut etre rivaliser avec GPT4 Le blog Open Source de Google propose un article sur 5 mythes ou non sur l'apprentissage et l'utilisation de Rust https://opensource.googleblog.com/2023/06/rust-fact-vs-fiction-5-insights-from-googles-rust-journey-2022.html Il faut plus de 6 mois pour apprendre Rust : plutôt faux; quelques semaines à 3-4 mois max Le compilateur Rust est pas aussi rapide qu'on le souhaiterait — vrai ! Le code unsafe et l'interop sont les plus gros challanges — faux, c'est plutôt les macros, l'owernship/borrowing, et la programmation asynchrone Rust fournit des messages d'erreur de compilation géniaux — vrai Le code Rust est de haute qualité — vrai InfoQ sort un nouveau guide sur le Pattern Matching pour le switch de Java https://www.infoq.com/articles/pattern-matching-for-switch/ Le pattern matching supporte tous les types de référence L'article parle du cas de la valeur null L'utilisation des patterns “guarded” avec le mot clé when L'importance de l'ordre des cases Le pattern matching peut être utilisé aussi avec le default des switchs Le scope des variables du pattern Un seul pattern par case label Un seul case match-all dans un bloc switch L'exhaustivité de la couverture des types L'utilisation des generics La gestion d'erreur avec MatchException Librairies Sortie de Micronaut 4 https://micronaut.io/2023/07/14/micronaut-framework-4-0-0-released/ Langage minimal : Java 17, Groovy 4 et Kotlin 1.8 Support de la dernière version de GraalVM Utilisation des GraalVM Reachability Metadata Repository pour faciliter l'utilisation de Native Image Gradle 8 Nouveau Expression Language, à la compilation, pas possible au runtime (pour des raisons de sécurité et de support de pré-compilation) Support des Virtual Threads Nouvelle couche HTTP, éliminant les stack frames réactives quand on n'utilise pas le mode réactif Support expérimental de IO Uring et HTTP/3 Des filtres basés sur les annotations Le HTTP Client utilise maintenant le Java HTTP Client Génération de client et de serveur en Micronaut à partir de fichier OpenAPI L'utilisation YAML n'utilise plus la dépendance SnakeYAML (qui avait des problèmes de sécurité) Transition vers Jackarta terminé Et plein d'autres mises à jour de modules Couverture par InfoQ https://www.infoq.com/news/2023/07/micronaut-brings-virtual-thread/ Quarkus 3.2 et LTS https://quarkus.io/blog/quarkus-3-2-0-final-released/ https://quarkus.io/blog/quarkus-3-1-0-final-released/ https://quarkus.io/blog/lts-releases/ Infrastructure Red Hat partage les sources de sa distribution au travers de son Customer Portal, et impacte la communauté qui se base dessus https://almalinux.org/blog/impact-of-rhel-changes/ RedHat a annoncé un autre changement massif qui affecte tous les rebuilds et forks de Red Hat Enterprise Linux. À l'avenir, Red Hat publiera uniquement le code source pour les RHEL RPMs derrière leur portail client. Comme tous les clones de RHEL dépendent des sources publiées, cela perturbe encore une fois l'ensemble de l'écosystème Red Hat. Une analyse du choix de red hat sur la distribution du code source de rhel https://dissociatedpress.net/2023/06/24/red-hat-and-the-clone-wars/ Une reponse de red hat aux feux démarrés par l'annonce de la non distribution des sources de RHEL en public https://www.redhat.com/en/blog/red-hats-commitment-open-source-response-gitcentosorg-changes et un lien vers une de ces feux d'une personne proheminente dans la communauté Ansible https://www.jeffgeerling.com/blog/2023/im-done-red-hat-enterprise-linux Oracle demande a garder un Linux ouvert et gratuit https://www.oracle.com/news/announcement/blog/keep-linux-open-and-free-2023-07-10/ Suite à l'annonce d'IBM/RedHat, Oracle demande à garder Linux ouvert et gratuit IBM ne veut pas publier le code de RHEL car elle doit payer ses ingénieurs Alors que RedHat a pu maintenir son modèle économique durante des années L'article revient sur CentOS qu'IBM “a tué” en 2020 Oracle continue ses éfforts de rendre Linux ouvert et libre Oracle Linux continuera à être compatible avec RHEL jusqu'à la version 9.2, après ça sera compliqué de maintenir une comptabilité Oracle embauche des dev Linux Oracle demande à IBM de récupérer le downstream d'Oracle et de le distribuer SUSE forke RHEL https://www.suse.com/news/SUSE-Preserves-Choice-in-Enterprise-Linux/ SUSE est la société derrière Rancher, NeuVector, et SUSE Linux Enterprise (SLE) Annonce un fork de RHEL $10M d'investissement dans le projet sur les prochaines années Compatibilité assurée de RHEL et CentOS Web Google revent sont service de nom de domaine a Squarespace https://www.reddit.com/r/webdev/comments/14agag3/squarespace_acquires_google_domains/ et c'était pas gratuit donc on n'est pas censé etre le produit :wink: Squarespace est une entreprise américaine spécialisée dans la création de site internet Squarespace est un revendeur de Google Workspace depuis longtemps La vente devrait se finaliser en Q3 2023 Petite introduction à WebGPU en français https://blog.octo.com/connaissez-vous-webgpu/ Data Avec la mode des Large Language Models, on parle de plus en plus de bases de données vectorielles, pour stocker des “embeddings” (des vecteurs de nombre flottant représentant sémantiquement du texte, ou même des images). Un article explique que les Vecteurs sont le nouveau JSON dans les bases relationnelles comme PostgreSQL https://jkatz05.com/post/postgres/vectors-json-postgresql/ L'article parle en particulier de l'extension pgVector qui est une extension pour PostgreSQL pour rajouter le support des vectors comme type de colonne https://github.com/pgvector/pgvector Google Cloud annonce justement l'intégration de cette extension vectorielle à CloudSQL pour PostgreSQL et à AlloyDB pour PostgreSQL https://cloud.google.com/blog/products/databases/announcing-vector-support-in-postgresql-services-to-power-ai-enabled-applications Il y a également une vidéo, un notebook Colab, et une article plus détaillé techniquement utilisant LangChain https://cloud.google.com/blog/products/databases/using-pgvector-llms-and-langchain-with-google-cloud-databases Mais on voit aussi également Elastic améliorer Lucene pour utiliser le support des instructions SIMD pour accélérer les calculs vectoriels (produit scalaire, distance euclidienne, similarité cosinus) https://www.elastic.co/fr/blog/accelerating-vector-search-simd-instructions Outillage Le sondage de StackOverflow 2023 https://survey.stackoverflow.co/2023/ L'enquête a été réalisée auprès de 90 000 développeurs dans 185 pays. Les développeurs sont plus nombreux (+2%) que l'an dernier à travailler sur site (16% sur site, 41% remote, 42% hybrid) Les développeurs sont également de plus en plus nombreux à utiliser des outils d'intelligence artificielle, avec 70 % d'entre eux déclarant les utiliser (44%) ou prévoyant de les utiliser (25) dans leur travail. Les langages de programmation les plus populaires sont toujours JavaScript, Python et HTML/CSS. Les frameworks web les plus populaires sont Node, React, JQuery. Les bases de données les plus populaires sont PostgreSQL, MySQL, et SQLite. Les systèmes d'exploitation les plus populaires sont Windows puis macOS et Linux. Les IDE les plus populaires sont Visual Studio Code, Visual Studio et IDEA IntelliJ. Les différents types de déplacement dans Vim https://www.barbarianmeetscoding.com/boost-your-coding-fu-with-vscode-and-vim/moving-blazingly-fast-with-the-core-vim-motions/ JetBrains se mets aussi à la mode des assistants IA dans l'IDE https://blog.jetbrains.com/idea/2023/06/ai-assistant-in-jetbrains-ides/ une intégration avec OpenAI mais aussi de plus petits LLMs spécifiques à JetBrains un chat intégré pour discuter avec l'assistant, puis la possibilité d'intégrer les snippets de code là où se trouve le curseur possibilité de sélectionner du code et de demander à l'assistant d'expliquer ce que ce bout de code fait, mais aussi de suggérer un refactoring, ou de régler les problèmes potentiels on peut demander à générer la JavaDoc d'une méthode, d'une classe, etc, ou à suggérer un nom de méthode (en fonction de son contenu) génération de message de commit il faut avoir un compte JetBrains AI pour y avoir accès Des commandes macOS plus ou moins connues https://saurabhs.org/advanced-macos-commands caffeinate — pour garder le mac éveillé pbcopy / pbpaste — pour interagir avec le clipboard networkQuality — pour mesurer la rapidité de l'accès à internet sips — pour manipuler / redimensionner des images textutil — pour covertir des fichers word, texte, HTML screencapture — pour faire un screenshot say — pour donner une voix à vos commandes Le sondage de la communauté ArgoCD https://blog.argoproj.io/cncf-argo-cd-rollouts-2023-user-survey-results-514aa21c21df Un client d'API open-source et cross-platform pour GraphQL, REST, WebSockets, Server-sent events et gRPC https://github.com/Kong/insomnia Architecture Moderniser l'architecture avec la decouverte via le domain driven discovery https://www.infoq.com/articles/architecture-modernization-domain-driven-discovery/?utm_source=twitter&utm_medium=link&utm_campaign=calendar Un article très détaillé pour moderniser son architecture en utilisant une approche Domain-Driven Discovery qui se fait en 5 étapes: Encadrer le problème – Clarifier le problème que vous résolvez, les personnes touchées, les résultats souhaités et les contraintes de solution. Analyser l'état actuel – Explorer les processus opérationnels et l'architecture des systèmes existants afin d'établir une base de référence pour l'amélioration. Explorer l'état futur – Concevoir une architecture modernisée fondée sur des contextes délimités, établir des priorités stratégiques, évaluer les options et créer des solutions pour l'état futur. Créer une feuille de route – Créer un plan pour moderniser l'architecture au fil du temps en fonction des flux de travail ou des résultats souhaités. Récemment, Sfeir a lancé son blog de développement sur https://www.sfeir.dev/ plein d'articles techniques sur de nombreux thèmes : front, back, cloud, data, AI/ML, mobile aussi des tendances, des success stories par exemple dans les derniers articles : on parle d'Alan Turing, du Local Storage en Javascript, des la préparation de certifications React, l'impact de la cybersécurité sur le cloud Demis Hassabis annonce travailler sur une IA nommée Gemini qui dépassera ChatGPT https://www.wired.com/story/google-deepmind-demis-hassabis-chatgpt/ Demis Hassabis CEO de Google DeepMind créateur de AlphaGOet AlphaFold Travaille sur une IA nommé Gemini qui dépasserait ChatGPT de OpenAI Similair à GPT-4 mais avec des techniques issues de AlphaGO Encore en developpement, va prendre encore plusieurs mois Un remplaçant a Bard? Méthodologies Approcher l'agilité par les traumatismes (de developement) passés des individus https://www.infoq.com/articles/trauma-informed-agile/?utm_campaign=infoq_content&utm_source=twitter&utm_medium=feed&utm_term=culture-methods Nous subissons tous un traumatisme du développement qui rend difficile la collaboration avec d'autres - une partie cruciale du travail dans le développement de logiciels agiles. Diriger d'une manière tenant compte des traumatismes n'est pas pratiquer la psychothérapie non sollicitée, et ne justifie pas les comportements destructeurs sans les aborder. Être plus sensible aux traumatismes dans votre leadership peut aider tout le monde à agir de façon plus mature et plus disponible sur le plan cognitif, surtout dans des situations émotionnellement difficiles. Dans les milieux de travail tenant compte des traumatismes, les gens accordent plus d'attention à leur état physique et émotionnel. Ils s'appuient aussi davantage sur le pouvoir de l'intention, fixent des objectifs d'une manière moins manipulatrice et sont capables d'être empathiques sans s'approprier les problèmes des autres. Loi, société et organisation Mercedes va rajouter de l'intelligence artificielle dans ses voitures https://azure.microsoft.com/en-us/blog/mercedes-benz-enhances-drivers-experience-with-azure-openai-service/ Programme béta test de 3 mois pour le moment Assistance vocale “Hey Mercedes” Permet de discuter avec la voiture pour trouver son chemin, concocter une recette, ou avoir tout simplement des discussions Ils travaillent sur des plugin pour reserver un resto, acheter des tickets de cinéma Free software vs Open Source dans le contexte de l'intelligence artificielle par Sacha Labourey https://medium.com/@sachalabourey/ai-free-software-is-essential-to-save-humanity-86b08c3d4777 on parle beaucoup d'AI et d'open source mais il manque la dimension de controle des utilisateurs finaux Stallman a crée la FSF par peur de la notion d'humain augmenté par des logiciels qui sont controllés par d'autres (implants dans le cerveau etc) d'ou la GPL et sa viralité qui propage la capacité a voir et modifier le conde que l'on fait tourner dans le debat AI, ce n'est pas seulement open source (casser oligopolie) mais aissu le free software qui est en jeu La folie du Cyber Resilience Act (CRA) europeen https://news.apache.org/foundation/entry/save-open-source-the-impending-tragedy-of-the-cyber-resilience-act Au sein de l'UE, la loi sur la cyber-résilience (CRA) fait maintenant son chemin à travers les processus législatifs (et doit faire l'objet d'un vote clé le 19 juillet 2023). Cette loi s'appliquera à un large éventail de logiciels (et de matériel avec logiciel intégré) dans l'UE. L'intention de ce règlement est bonne (et sans doute attendue depuis longtemps) : rendre le logiciel beaucoup plus sûr. Le CRA a une approche binaire: oui/non et considère tout le monde de la même manière Le CRA réglementerait les projets à source ouverte à moins qu'ils n'aient « un modèle de développement entièrement décentralisé ». Mais les modèles OSS sont de complexes mélanges de pur OSS et éditeurs de logiciels les entreprises commerciales et les projets open source devront être beaucoup plus prudents quant à ce que les participants peuvent travailler sur le code, quel financement ils prennent, et quels correctifs ils peuvent accepter. Certaines des obligations sont pratiquement impossibles à respecter, par exemple l'obligation de « livrer un produit sans vulnérabilités exploitables connues ». Le CRA exige la divulgation de vulnérabilités graves non corrigées et exploitées à l'ENISA (une institution de l'UE) dans un délai mesuré en heures, avant qu'elles ne soient corrigées. (complètement opposé aux bonnes pratiques de sécu) Une fois de plus une bonne idée à l'origine mais très mal implémentée qui risque de faire beaucoup de dommages Octave Klaba, avec Miro, son frère, et la Caisse des Dépôts, finalisent la création de Synfonium qui va maintenant racheter 100% de Qwant et 100% fe Shadow. Synfonium est détenue à 75% par Jezby Venture & Deep Code et à 25% par la CDC. https://twitter.com/i/web/status/1673555414938427392 L'un de rôles de Synfonium est de créer la masse critique des utilisateurs et des clients B2C & B2B qui vont pouvoir utiliser tous ces services gratuits et payants Vous y retrouverez le moteur de recherche, les services gratuits, la suite collaborative, le social login, mais aussi les services de nos partenaires tech. Le but est de créer une plateforme dans le Cloud SaaS EU qui respectent nos valeurs et nos lois européennes Yann LeCun : «L'intelligence artificielle va amplifier l'intelligence humaine» https://www.europe1.fr/emissions/linterview-politique-dimitri-pavlenko/yann-lecun-li[…]gence-artificielle-va-amplifier-lintelligence-humaine-4189120 Conférences La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 2-3 septembre 2023 : SRE France SummerCamp - Chambéry (France) 6 septembre 2023 : Cloud Alpes - Lyon (France) 8 septembre 2023 : JUG Summer Camp - La Rochelle (France) 14 septembre 2023 : Cloud Sud - Remote / Toulouse (France) 18 septembre 2023 : Agile Tour Montpellier - Montpellier (France) 19-20 septembre 2023 : Agile en Seine - Paris (France) 19 septembre 2023 : Salon de la Data Nantes - Nantes (France) & Online 21-22 septembre 2023 : API Platform Conference - Lille (France) & Online 22 septembre 2023 : Agile Tour Sophia Antipolis - Valbonne (France) 25-26 septembre 2023 : BIG DATA & AI PARIS 2023 - Paris (France) 28-30 septembre 2023 : Paris Web - Paris (France) 2-6 octobre 2023 : Devoxx Belgium - Antwerp (Belgium) 6 octobre 2023 : DevFest Perros-Guirec - Perros-Guirec (France) 10 octobre 2023 : ParisTestConf - Paris (France) 11-13 octobre 2023 : Devoxx Morocco - Agadir (Morocco) 12 octobre 2023 : Cloud Nord - Lille (France) 12-13 octobre 2023 : Volcamp 2023 - Clermont-Ferrand (France) 12-13 octobre 2023 : Forum PHP 2023 - Marne-la-Vallée (France) 19-20 octobre 2023 : DevFest Nantes - Nantes (France) 19-20 octobre 2023 : Agile Tour Rennes - Rennes (France) 26 octobre 2023 : Codeurs en Seine - Rouen (France) 25-27 octobre 2023 : ScalaIO - Paris (France) 26-27 octobre 2023 : Agile Tour Bordeaux - Bordeaux (France) 26-29 octobre 2023 : SoCraTes-FR - Orange (France) 10 novembre 2023 : BDX I/O - Bordeaux (France) 15 novembre 2023 : DevFest Strasbourg - Strasbourg (France) 16 novembre 2023 : DevFest Toulouse - Toulouse (France) 23 novembre 2023 : DevOps D-Day #8 - Marseille (France) 30 novembre 2023 : PrestaShop Developer Conference - Paris (France) 30 novembre 2023 : WHO run the Tech - Rennes (France) 6-7 décembre 2023 : Open Source Experience - Paris (France) 7 décembre 2023 : Agile Tour Aix-Marseille - Gardanne (France) 8 décembre 2023 : DevFest Dijon - Dijon (France) 7-8 décembre 2023 : TechRocks Summit - Paris (France) Nous contacter Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs Contactez-nous via twitter https://twitter.com/lescastcodeurs Faire un crowdcast ou une crowdquestion Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/

HTML All The Things - Web Development, Web Design, Small Business

Squashing bugs in your code can be as easy as finding a missing semicolon, but sometimes it can be a grueling process filled with torn out hair and console logs. In this episode, Matt and Mike discuss the various ways that you can debug your code using methods that span HTML, CSS, and JavaScript. For HTML, the DOM inspector, markup validation, and accessibility checkers can ensure you have a clean structure for the rest of your code to work from. Then in the layout department, CSS debugging methods can include things like using the Computed tab in your dev tools, obvious visual markers (ie red borders on targeted elements), and various Chrome extensions. And finally, JavaScript - the part of your website that is most likely already acquainted with debugging includes methods like using alerts, breakpoints, asking AI to correct errors, and much more. Show Notes: www.htmlallthethings.com/podcasts/debugging-html-css-and-javascript

Ventures
Using ChatGPT as a guide to build an example startup: “Text to Startup”

Ventures

Play Episode Listen Later Apr 5, 2023 13:01


In this episode of Ventures, I (https://www.linkedin.com/in/wclittle) walk through asking ChatGPT how to help me start building a startup called “Text to Startup”. I share my screen and show the live chat session where it not only tells me generally how to build the startup, but - when I prompt it to give me specifics - I'm able to all the way to having it print out Ruby on Rails code and HTML/CSS for a landing page. Along the way, it also gives me specific examples about how to do user testing and it gives me taglines and a 1-paragraph description for the startup, which I used to generate a logo with tailorbrands.com.Visit https://satchel.works/@wclittle/ventures-episode-143 for more information. You can watch this episode via video here.  0:03 - Continuing the product and code series. Setting up the episode. Training ChatGPT to help me build an example startup called “Text to Startup”1:10 - Using the free version of ChatGPT, walking through all the prompts I gave it to help me get the idea started. 2:43 - “ChatGPT can be programmed” - what does this mean?3:22 - Can ChatGPT help me pump out the Ruby on Rails code? 4:14 - This could involve conducting market research. I asked it which service it would recommend. Learn more at: https://www.usertesting.com/ 5:36 - Can ChatGPT design me a logo? I asked it to give me the prompt. Taglines. 7:00 - tailorbrands.com // Asked for a description - so I asked ChatGPT to give me a 1-paragraph description (it did!)8:17 - Asking ChatGPT me the code step-by-step to build the code in Rails.9:00 - What to do when ChatGPT stops in the middle of a response (example of having it give me the remaining CSS).  9:45 - Walking through the Ruby on Rails files for this example.10:25 - Wrap up, this will be a significant value-add as Generative AI gets more advanced.

The Marketing AI Show
#40: ChatGPT Plugins, Is GPT-4 Early AGI, and Using AI to Do a Full Product Launch in 30 Minutes

The Marketing AI Show

Play Episode Listen Later Mar 28, 2023 64:05


GPT-4 is changing the game. Access is easier, outputs are better, and technologies connecting to it are increasing exponentially with the help of a new plugin system. What will the rest of this week bring us? OpenAI launches a plugin system for ChatGPT OpenAI just announced a plugin system for ChatGPT, enabling it to interact with the wider world through the internet. The plugins, developed by companies like Expedia, Instacart, and Slack, will allow users to perform a variety of tasks using these sites from right within ChatGPT.  It's not just companies wanting to embed AI into their sites. OpenAI itself is hosting three of the plugins: one that gives ChatGPT access to up-to-date information on the internet, a Python code interpreter, and a retrieval plugin that allows users to ask questions of documents, files, notes, emails, and public documentation. Of particular note, one of the plugins available integrates with Zapier, which itself integrates with thousands of other tools. Right now, there's a waitlist to access the plugins for developers and ChatGPT Plus users. Did we just open a whole new world of AI use cases? Artificial General Intelligence…one step closer  "OpenAI's mission is to ensure that artificial general intelligence (AGI)—by which we mean highly autonomous systems that outperform humans at most economically valuable work—benefits all of humanity.” We read this in episode 36 of The Marketing AI Show, just over a month ago. Now, OpenAI is saying, "Our mission is to ensure that artificial general intelligence—AI systems that are generally smarter than humans—benefits all of humanity." A team of Microsoft AI scientists claims that GPT-4, the latest iteration of OpenAI's Large Language Model, exhibits "sparks" of human-level intelligence, or artificial general intelligence (AGI). The researchers argue that GPT-4's impressive performance in a wide range of tasks, such as mathematics, coding, and even legal exams, indicates its potential as an early version of an AGI system.  While some argue that AGI is a pipe dream, others believe that it could usher in a new era for humanity, and this research indicates GPT-4 might just be leading the way. Are these thoughts and findings legit? How seriously should we take it? It only took 30 minutes to market a product launch Imagine leveraging the power of AI to complete a massive business project in just 30 minutes, accomplishing tasks that would take humans hours or even days.  In a remarkable experiment from Wharton professor Ethan Mollick, a combination of AI tools was used to market the launch of an educational game, conduct market research, create an email campaign, design a website, and craft a social media campaign, among other tasks—in just 30 minutes. The results demonstrated the unprecedented potential of AI as a multiplier of human effort, with vast implications for the future of work, productivity, and creativity. Over the course of half an hour, Mollick used no more than 20 inputs, actions, or prompts to generate 9,200 words of content, a working HTML/CSS file, 12 images, a voice file, and a movie file across a marketing positioning document, email campaign, website, logo, script and video, and social campaigns. As he put it “AI would do all the work, I would just offer directions.” Is this the new normal for marketers? Listen to this week's episode on your favorite podcast player, and be sure to explore the links below for more thoughts and perspectives on these important topics.

Billy Newman Photo Podcast
Billy Newman Photo Podcast | 259 Astrophotography Lenses

Billy Newman Photo Podcast

Play Episode Listen Later Mar 17, 2023 43:05


Show notes for the Billy Newman Photo Podcast.Communicate directly with Billy Newman at the link below.  wnp.app Make a sustaining financial donation,  Visit the Support Page here. If you're looking to discuss photography assignment work or a podcast interview, please drop me an email. Send Billy Newman an email here. If you want to see my photography, my current photo portfolio is here. If you want to read a free PDF eBook written by Billy Newman about film photography:  you can download Working With Film here.  If you get value out of the content I produce, consider making a sustainable value-for-value financial contribution, Visit the Support Page here. You can find my latest photo books on Amazon here.  View links at wnp.app Instagram  https://www.instagram.com/billynewman/ Website Billy Newman Photo https://billynewmanphoto.com/ About  https://billynewmanphoto.com/about/ YouTube  https://www.youtube.com/billynewmanphoto Facebook Page  https://www.facebook.com/billynewmanphotos/ Twitter  https://twitter.com/billynewman Communicate directly with Billy Newman at the link below.  wnp.app Make a sustaining financial donation,  Visit the Support Page here. If you're looking to discuss photography assignment work or a podcast interview, please drop me an email. Send Billy Newman an email here. If you want to see my photography, my current photo portfolio is here. If you want to read a free PDF eBook written by Billy Newman about film photography:  you can download Working With Film here.  If you get value out of the content I produce, consider making a sustainable value-for-value financial contribution, Visit the Support Page here. You can find my latest photo books on Amazon here.  View links at wnp.app Instagram  https://www.instagram.com/billynewman/ Website Billy Newman Photo https://billynewmanphoto.com/ About  https://billynewmanphoto.com/about/ YouTube  https://www.youtube.com/billynewmanphoto Facebook Page  https://www.facebook.com/billynewmanphotos/ Twitter  https://twitter.com/billynewman

0:14 Hello, and thank you very much for listening to this episode of The Billy Newman photo podcast. Yeah, this summer, I've been trying to do a lot to work to get together some new photos, some new stuff to try and kind of build a base, and then move from there a little bit. But I'm excited to try and put up a bunch of the older portfolio photographs that I have. And I was really happy to work on the website a lot this summer, I kind of redesigned a bit of that, you check that out, totally think of it, it's a billion human photo.com. And I tried to strip out a lot of the unnecessary parts, and I'm trying to kind of hone it down a little bit. So it's a little cleaner, but it's gone. Well, I've tried to set it up a little bit more. So it's stream-based if that makes sense. You know, we've kind of moved toward like the Facebook stream, the Twitter stream, the Instagram stream. So I'm trying to kind of move it to were like I talked about on the podcast before where a lot of the media stuff that I put together, the video clips, the photographs, and stuff that wherever they do end up going whatever sites I am populating, like flicker and Instagram and Facebook and all the rest of it, that's kind of what's shown on the website or you know, have the websites kind of try and automatically pull that stuff and ingest that into the website. So I don't have to do it as much. And that's kind of been fun. It's kind of been cool doing that. But the thing that I need to do, the part that is still left is I need to go through my photo portfolio, kind of the long-term portfolio of images I have, and I'm trying to go through and select what would be good to show the work that I've done so far. And I'm trying to do that in a way that's more developed than I had before I've gone through and I've selected, I've kind of picked the photos that I liked a lot. But I've tried to do a couple of different things. And hey, another truck. Man, that looks like a few times of gravel in the back. So what I want to do them, with the photo stuff, and what I've kind of been trying to work on a little bit is to go through Instagram, or to go through Facebook and to try and select my favorite photographs, but then also just select the ones that have been sort of chosen by the market. That's another idea that I'm trying to go for what do people actually like about the pictures that I take? What are the ones that people seem to connect with the most. So on one level, I'm trying to find all those photos. And then I'm trying to sort of remake those photos or re edit them or you know, kind of re republish them in a way that looks sort of new. And that's cleaned up a little bit in the way that I can I can edit and create stuff now. So part of the step is that and then the other part is sort of learn what people like are the photos I make. And then I want to go out and try and make more of that. Or try and dig in a little deeper on on the part that seems to get the most traction or that seems to be seen as the most valuable. So what are those, like what I've noticed? 3:03 Well, yeah, what I've noticed anecdotally so far is that the low light stuff, or the Astro photography, the night photography, the landscapes, where there's stars matched in the background seem to really perform really well. And I really love trying to take those photos and I know a lot about how to lay out the stars that I would want in that foot or you know, I know where the stars are, I know how to kind of line some of the landscapes I thought that I know how to expose for it. So that's a part that I'd really like to get into and push for more what seems to be a draw the photos that I take. But on the other side of that too, I really want to do more, more fine art photography, that's what I really liked, and was kind of drawn into when I first started taking photos, even way back on film, before I knew how at all but I really liked the fine art side of it, where you could go through and try and put the nicest elements together or, you know, try and put a landscape together. But I like that side of it a lot more than the product or production side of it. In, in a sense at least. And I've always been really interested in the fine art photographers that are out there, or the fine art landscape photographers where you see some of the advanced kind of work that they put together some of the ways that they're able to put real pieces real elements into a photograph, it's always seemed so cool, when you're really able to be in tune with that sort of stuff. And I've just always loved the old landscapes and, you know, old Fine Art images from the past. So that's got to the stuff that I'm trying to get into. But organizing this stuff has been interesting. So I'm trying to use this program called Scrivener. And maybe I talked about it before or maybe a while back. I talked about it. But Scrivener is kind of interesting. It's this, and I talked about it yesterday. No, but it's this writing application that I'm trying to get into and it seems like it would take a few tutorials to really figure out it's a little bit more in depth. Hey, gravel truck. It's a little bit it's quite a bit more in depth than something like Word. Even though Microsoft Word is sort of an industry standard that every One has sort of learned on for the last 1520 years, it really is a little bit more specific to like an essay for at least the way I've learned it. But it's more specific to the an essay format of word processing, where you're trying to get a page accomplished, and you're trying to edit through that or you're trying to edit through kind of a single document. And Scrivener is sort of laid out in a way where there's a few more pieces on the side of it, where it's really supposed to be a research applicant, or you're supposed to kind of compile 5:28 different documents of text research or photo research and kind of put that together. And then you're able to sort of assemble a larger writing projects from there, which I think is kind of interesting. Like I figure like book authors would use a writing program like this to work on their character outlines, and their story outlines their plot summaries, and then they would work that into the manuscript that they would make into their book later. So I just think it's kind of an interesting way that they seem to be going, or that the program is built to sort of go about it. So I'm trying to get into that and do it well, but one of the aspects I'm trying to do is to put in all the portfolio photographs that I have, into this Word document, and then sort of sort those photographs, and write about those photographs a little bit to see which photographs really seem to connect with me, or connect and connect with an audience the most and, but also, what photographs sort of have a story associated with them, I love that. Like, if you would follow me for this for a second, you would kind of see that there's a difference between the photographs that are going to be the most monetizable the ones that you can make money from like, let's say portraits, let's say business portraits for some company, you could get, you could get some money for that. But you wouldn't really want to post that in your portfolio of work necessarily, you'd want to like, at least in my case, what I'd like to do is show some photos from the in the high River Canyon, like where we were last week on our photo trip. So you kind of want to move into that stuff. But you don't, it's not gonna be the same sort of thing. Like there's landscape, fine art photos, or just, you know, the landscape, travel, adventure, tourism sort of stuff, that's all gonna be on one side of it. And then the other is going to be, you know, senior portraits, business portraits, event photography, wedding photography, that sort of stuff. So there's sort of two sides of, of a portfolio one of them's a photo product that's valuable for money. And the other one's a, an art piece that's valuable because of its aesthetic. And those are sort of different things that you've kind of, as a photographer, you're trying to build both of those up at the same time, it's sort of like two different routes that you have to work on at the same time until they sort of merged together and unify. So just got him an interesting part of it. And that seems to be part of the process that I'm in right now is trying to figure that stuff out. So some weeks it's, I'm working really hard on the aesthetic side of the photography and then some weeks and working really hard on the monetizable compensation based side of the products that I want to try and build as a photographer that's in business, right. And there are those are interesting challenges. But I guess I've been doing it for a couple years and it's kind of fun at least to to get to still be doing it. So a couple things that I'm trying to do is I'm trying to go through a build a new Lightroom catalog of all the photos that have taken this year and all the photos from the last couple years second, organize those and do a little bit of what I'm talking about. So I have this kind of tighter collection to maybe the top 100 Top 200 Top 50 some number in there of of well laid out photo essays and stories with an image you know that's kind of what I'm trying to get to especially for like the the social media content side of it, I want to try and have that ready to go with a higher frequency almost all the time. So I'm trying to get everything kind of pre produced right, if that makes sense when all the portfolio photos pre selected and then ready for me to go if I want to if I want to post those I get those out on any given day. So it's interesting, it's kind of a cool project. I worked on it a little bit. I'll work on it a little bit here and there when I can but that's another part that's kind of tough. I mean Gosh, I haven't even finished my website yet. Which I guess the last part is still just this I need to it's kind of what it's been waiting for is I need to finish the selection of the portfolio and then I can build the portfolio gallery and put that up on the website. But so far, it's been working great just to send the y'all over to Instagram. I think that's where most of the stuff goes. That's where all the current content goes anywhere to it's fine. And up on here. You can see more of my work at Dooley Newman photo comm you can check out some of my photo books on Amazon. I think if you look at Billy Newman under the authors section there and see some of the photo books on film on the desert, on surrealism on camping. You cool stuff over there. 10:03 really trying to do a lot of scouting stuff, which I've enjoyed to doing some scouting stuff through the summertime, it's been pretty cool, where I'm really trying to go through some of these backroads I'm trying to like Mark spots in the map where there's good campsites, which I hadn't really done before, you know, it was a lot of places, I've driven a lot, a lot of roads I've been on, especially, you know, like back country roads, to Forest Service roads, BLM roads, and I know a lot of good dispersed camping areas. And really, I understand the context of how to find those areas so much better now that I'm older than when I was young. I mean, when I was young, and I go camping with my dad, you know, we'd go out to Eastern Oregon we'd find some spots and they'd known about those spots since you know, he was a kid and he was going over there and hunting camps and stuff with his grandpa. So it's cool for me to get to go over to those same spots and get to check out that area and stuff. But I think there's been or at least when I was a kid, I didn't really understand that the land, like the public land rights that you have, and really how those are organized, like how public lands are organized and what you can do on them and sort of how it operates. I didn't really understand the difference between national forest land and BLM land or national Parkland and state Parkland or wilderness areas, National Wildlife Refuge areas, man there's just so many different distinctions of different things and then also just private property so I didn't really have a clear recollection of any of those things. And really a lot of time when it's public land, you can go on it but there's some things you can't do on it like I there may be hunt in some circumstances, like, like a national park, or I think you can't discharge a firearm inside a national park but for specifically permitted events maybe probably national wildlife refuges, I think those hunting opportunities are are limited also though you can still do some things in those areas, I think you have to get permitted and you have to draw a tag for that location I think is what it is. But But yeah, it's kind of interesting sort of learn about that learn how these things go and also finally getting some maps that you can use that you can kind of trust better while you're in the back country I think that's something that's really helped me kind of understand where I can go and what I can do and i don't know i mean, we've had those map books you know, like that, that 50 page or 100 page book of Oregon and you know, every every page is 25 mile map of that area is always super useful, how they kind of grid out everything and show you that you know, the mile by mile marking and the topography of the area, the different little roads and stuff but even those roads, those mapmakers still got things wrong. I remember to go back in like, was it 2004 I think we were out in an area in Southern Oregon near the Nevada border was a Druze reservoir somewhere South a Gearhart mountain and I remember we were on some some little some little road I don't even know if it was if it was a national forest area I think it was just in the in between private and public lands as a kind of jumps back and forth and those pretty remote areas all of it is just remote desert and forest and sagebrush and Juniper but some of it goes into like ranch land, it's more managed and some of it cuts back into BLM land as this as this little roads sort of meander through it but I remember being out there and noticing that the map on the page was just totally different than the map or than the other real world ground truth of where the road went and I saw oh wow yeah, you can't really trust the maps to show you the information that you want to see when you need it other times to you know, you'll see like Oh hey, like it shows there's a road right here. Good deal we'll take that road Well, you know, it shows it's on the map so you cut down there you get on the road and then it's washed out like crazy or it's super bumpy and like and just terrible, right? And but it's the same green roads the same label, the same marking is the road next to it that was graded and, and 13:53 aren't was that paved, right? It's graded gravel, they put more gravel down, I think is what I'm trying to say they've, they've made it an easier going road to to drive on. But then you get those washboard sections out there. I don't know if you guys have been on that where you're driving around in the Forest Service roads and those gravel roads. And I think it's a natural process of erosion that occurs that creates these waves in the material. You know, as I think as a rainwater comes down, it sort of naturally over time generates these, these little ripples. And that's the washboard effect that you get when you're driving. That's also the thing that kind of kicks your car sideways when you're, you're going a little too fast on a gravel road. So I started doing today I think I kicked it pretty hard side before you know like it's pretty loose on the traction and it was starting to tip sideways in my truck. And so I slowed down and threw it into four wheel drive after that, and was able to cruise around out here pretty freely. But yeah, I wanted to talk on this podcast about hanging out in the Fremont National Forest and I just got finished with a huge thunderstorm. came through it just really finished raining a little bit ago we were kind of I think when I arrived here today at this Meadows still a few hours before sunset So I walked around and kind of went along the perimeter of the meadow and then and then I noticed that you know, I mean it's cloudy it's been kind of cloudy today and there's been Thunder heads that have been building up over the location that I've been ever since I kind of came over the past the Cascades had been in like a pretty solid string of, of thunder heads that have sort of coalesced into big mass over the Cascades some of the here over the Fremont National Forest whatever mountains these are that I'm in and and yeah it seems like this section in Eastern Oregon was getting hit with a good Thunder a good summer August thunderstorm today which was kind of fun to sit through and go through it was cool if I got rained on pretty hard earlier when I was driving over. I thought I'd get out here and be a little bit more free of it. But it seemed like that storm kind of drifted over this way and that was sort of drifting north from here. And and yeah, it is a new system, but man, there's just a bunch of lightning that was coming through and huge cracks of thunder. Just big, deep Rambo's. I haven't heard Thunder like that and in years and yours probably you know we're just kind of stays and like hangs and rolls for 10 seconds 15 seconds it seems like you know you just really can't like whoa is Can it really still be just cracking and rumbling and rolling. And, and there was enough activity and if lightning activity that was going on where you'd hear thunder I mean, it was almost like 45 minutes there were there was just a crack and a roll of thunder almost continuously, like it was a it was pretty intense. It's it's, it's really I think one of the more strong lightning storms I've been in in a while. But that's sort of how it goes out here. When you're at these higher elevations. I think I'm floating around up in the 50 or 100 feet or so above sea level. And so it just means I'm up in the mountains where these these thunderstorms get started, you know, they get there, they get there. I think that's where they they'll kind of coalesce over these big mountain tops and then float over in the hot weather. I don't really understand the weather enough to say I know how a thunderstorm starts it doesn't start now. I've just gotten cold enough I'm trying to throw jacket on. Now you got to live through it. I'm really camping. It's been good. But I'm gonna be out here for two nights I think is what I'm going to do and then tomorrow I'll cruise out and I'll try and hit some of these Forest Service roads for a bit. drive around do some exploring mark a couple spots on the map as a as I'm cruising around. I think that'll be that'd be a good time But yeah, I haven't been out here before. I think I've heard of a couple friends that have been out in this area that have done some. I think they did a couple scouting trips for a hunting trip that they were going on in the fall I think this is an area where we're one of my friends goes I think they try and draw a tag for not this area. I think it's a drainage over from here but I think I've heard about this area a couple times from from people talking about it. So yeah, it's cool it's cool spot it was out taking pictures earlier taking some photographs I've been working mostly probably for almost a year and a half now. I've been working a lot with this 17 to 40 millimeter wide angle Canon lens and it's a pretty inexpensive lens and you can get it for like 400 bucks maybe a little less if you're lucky and you get it on a sale time sometimes in the fall as we're kind of ramping down toward 18:33 toward Thanksgiving I think you can get some good deals on it but it's it's sort of in the the the $400 range I think sometimes maybe it's more around five or something but I picked it up a couple years ago when I was starting to do some real estate photography or was working for Airbnb for a while where they had hired me as a photographer to go into these Airbnb plus listings and get a new set of photographs I was interested in kind of learning about how specific they wanted all those this photographs and this this really specific art style and and you know format of it and that was fine. It was interesting to do for a while but but what was cool is that I picked up that lens to get in and do that work. But really after that I've been appreciating how much I can do with that wide angle lens and then you know 40 millimeters isn't way different than 50 millimeters it's certainly different for the effects of portraits and stuff but when I'm out here doing landscape stuff and I'm trying to take pictures of a lot of this stuff is kind of sketch photos to where I'm sort of going around and midday I'm taking some photos of some different things I want some cat photos in my truck and my my little cooler set up in the back here. 19:42 And so all that's been good in addition to that the the Astro photography stuff that I can do with it is pretty cool because it drops down to the 17 millimeters. It's an autofocus lens, it's a sealed lens, it's it's pretty it's it's pretty good in most ways and I've really noticed over time that I'm not as good As absolut have a mandate for me to be shooting at a really wide open f stop you know if I'm shooting at a wide open aperture almost all my photos early on were 1.8 or or 2.0 or two eight or something and I would do that really because I was trying to I was really trying to get because I didn't have very many lenses I was really trying to get as much effect out of that boat Kay out of that soft background as I could so I was really trying to lean into that and get some photos with it and I noticed with my camera and equipment at the time that it just it just looked better. They just did look better when it was at you know f1 eight I think I just said that nifty 50 Nikon 50 millimeter for the longest time that's what I did I did my early trips on and did a lot of my portfolio building stuff on that but but I've got a different 50 millimeter lens with me now I've got it on my film camera in my bag right now which I need to take out too and I'm trying to finish a roll of avatar film it's been on there for a while and I've enjoyed shooting it it's cool it's a it's a new Canon camera to me at least I got it used on kth and spent 35 bucks on it 10 bucks to ship it and it takes a weird battery to it's one of those 90s film cameras it has this weird it almost looks like a battery pack this it's like two so it was almost like two double A's if they were a little fatter but are bonded together in this little plastic pack and then you pop that in there and shoot for a little while I guess and it runs a meter okay so I'm getting by with it but I've noticed the film camera stuff it's it's fun to have an awesome film camera it'd be cool to have a Leica and all the lenses I wanted but a lot of time with that you know the good lenses I have this this new or like canon l glass that I get to shoot through and for film photos and for the variety of images or the variety of lenses i have i can i can do telephoto I can do prime I can do really wide angle all with the modern digital Canon lenses that have you know chips in them to read well that meter well that make contact with or that send information back and forth or at least from the lens to the camera I think xao works that works in the autofocus stuff for the digital camera this is this is autofocus Yeah, it's an autofocus digital camera. It's sending information back it's working Yeah, that makes sense yeah, so it's it's cool like and that's something I didn't really have available to me for a long time you know, I think when I've probably on this podcast if you go way back in the archives I'm talking a lot about film with a Nikon f4 you know i mean that just had autofocus that was the first camera like 88 to get autofocus period. So it's cool to have that in a more flexible way now but what I remember talking about in the past that was that I had like limited options with glass all the time, I didn't really always have the lenses that I would have preferred and so I've kind of made a collection of that now with this canon stuff I got a Canon camera and so I can throw all those lenses on and have that same flexibility that I have with my digital set. But just with this, this film body that I get to shoot a roll through so I kind of save the film stuff for when it's a thing that I want but what I've noticed though for a little while is that I miss a lot of those moments and I ended up just having the the norm you know the regular digital camera with me with a bunch of my other gear. When I've been going out I've been trying to kind of just take the camera with me and then I'll leave the bigger bag back at the truck so that I'm not really carrying as much stuff with me I've also started carrying like when I'm out here in the woods and stuff I'm carrying that binocular harness with me which is kind of cool you can get them in different sizes but it's sort of like if you imagine like a backpack but what they do is they strap on to the front so it's right on your chest. And what you can do is fill is put like a pair of binoculars in there so you can pull them out and then scatter around with your binoculars, do some glasses and then pop them back into your into your harness and then kind of carry on with whatever you want to do but if you leave that empty without the without the binoculars if you have a smaller Camera Rig probably like a mirrorless or a Sony camera you know like one of those Sony A 6000s man if you were a backpacker, and you had a Sony A 6000 and this this front carry 24:16 like binocular pack, you'd be really sad that would be like all the camera bag that you'd need in fact really if I'm thinking about ever doing some like over you know some longer backpacking travel where I just have to pack everything in a way it's gonna be something I'm more conscious of than I think that's really like the way to go is I've kind of been thinking about it a little bit it's like get get a lighter camera. Or I mean it'd be great like carry like a 360 camera you know if you're going up somewhat laser those are almost nothing as it is anyway but but if you're carrying like an SLR or something that you want to try and do some some more controlled photography was and he had something like a an A 6000 from Sony or an a seven, seven or three or whatever it is something that size with a lens attached to it. You know, that could fit in one of these binocular hearts is harnesses and carry kind of round in your front and then you see something you would take it, pop that open right on your chest, pull it right up to your eyes, got straps on it in the harness, pull it right up to your eyes ready to shoot, and you can take photos, or take photos, you know, as quick as you want to. So it's kind of a cool process. If you're out hiking a lot for what I'm doing, I have my binocular harness, but it's got binoculars in it. And I've been kind of going around and trying to do some bird watching stuff while I'm out here and saw cool Hawk that was posted up who's looking at me, that's about all I've seen so far. So coyote the other day, that was cool. I'll talk about that later that but because I had those binoculars in there, and I've been kind of going out on these, these shorter hikes and stuff that I've been trying to go around and like, just kind of watch them stuff or watch land and kind of keep an eye out. But I just had the camera on my longer strap on my side with that 17 to 40 millimeter lens. And that's worked really good. It's been a pretty flexible kit for me to go around and take a bunch of photographs with so it's pretty easy, pretty lightweight to work with. And I can kind of move back and forth between those things strapped around my neck, you know, it's not everything just hanging around my neck with a lanyard. It's all kind of put somewhere or packed in somewhere. So it's been kind of cool. But it was good going out and taking some photos tonight, I was trying to get some of the i didn't i didn't get anything lightning in the camera though the lightning storm kind of passed as soon as it was getting really dark enough to to do like a long exposure kind of thing where I could I could sort of catch something, something spark and otherwise, you know, you got it, you got to beat the lightning bolt with your shattered finger. And that's a pretty tricky task to do. I think that's how they do it, you know, when you get those, you get those like magazine photos back in the day of a powerful lightning bolt striking. I don't know the center of a road or something like that's what they'd show, you know, some kind of power lightning bolt, but the way that they would do that stuff is I think, I think it was like he was dark out, you know, or pretty dark out. And so they'd set the camera up for just a cycle of long exposures. And then they would just kind of let it ride, you know, so they'd have a couple seconds to expose the image to whatever you know would work. And then they just kind of have that rolling so that when when a bolt of lightning did strike, and it would be captured, and you could go through that collection of captured or, you know, how is it that when a lightning bolt would strike the ground, the camera would have already been exposing for a photograph. Because it's just cycling the shutter on a four second exposure, let's say something like that. And so you know, it takes a four second exposure stops, processes for a second takes a four second exposure stops processes for a second. So I think that's how they did some of that stuff where they, they kind of anticipate. Alright, it's been a couple minutes, let's take a frame now. And then it's just going to be an event in the future. So we don't know if it's going to happen or not. We're going to wait for this event in the future when we boom, see a lightning bolt and then that light then exposes the sensor or the film and the camera and then you're left with an image that has that lightning bolt represented in the frame when you're shooting on a tripod or something like that with with like a short cycle, long exposure. And I thought that was pretty cool, but I didn't really get a chance to get all that stuff set up before the storm kind of passed me by I did get a lot of cool handouts, stuff that was that's great of the thunderheads and stuff and really unfortunately just in the location that I'm at a lot of that and I guess maybe for the better but that lightning storm didn't pass right over my head, it was still a little ways away. So I could see the lightning bolts cracking through the trees kind of out in the distance more. A few they stretched across the sky pretty good too. It's just a big old, you know, from from east to west. It was like, you know, big old chunk of boulders crack all the way across the sky was cool. 28:58 So I got photos of the thunderheads, the sunset, the the big field out here. It's cool. It's a nice area. But I was also thinking about some of the other stuff that I want to be doing tomorrow. So I'm out in the Fremont National Forest. I'm going to be heading I think, maybe south from here, and I'm going to try and explore a couple areas that are still open. Or I guess it's all open publicly. This is like a pretty large contiguous section of national forest land here and really, like that's a big part of Oregon overall, right? It's like 53% public lands. It's cool. Yeah, if you look at a map, you'll see the cities and you'll see like the highways and stuff but if you have the right map, it'll show you where the BLM land is and where the different national forests are. And it's cool, this whole area the Northwest is just there's a lot of public land that you get to use and there's a lot of open area that you get to go to and and yeah, now that I've got a good map of the outdoor off road roads, and some of the terrain and stuff with some good notes and I'm able to kind of move around and get out to a lot more places than I had before. So it's been cool the app that I'm using is the Onyx off road app it's I think 2999 a year and so pitch that out picked up this app and then you can download offline these these really detailed off road maps they're supposed to show you all the trails you know even just walking trails, all the roads all of the like the pieces of information you'd need for kind of moving around in the backcountry and really as surprising as it is as remote as a lot of these places are people go yeah you know it's it's also public land is managed by the the forest department forest Forest Service Yeah, I think a lot of this does managed by the Forest Service the BLM stuff managed by the BLM and that's why these roads are as good as they are or maintained and that's why I like when trees are down on these mountain roads you know someone has to go through at the beginning of the year and cut all those out rip them out filling the potholes all that sort of stuff so all these areas are are known about and you know kind of managed in a pretty significant way in fact I think more so to come in the future I think they just announced yesterday or the day before that they've passed the great American outdoors act which I really don't know the first thing about or or what it does or doesn't do or what it puts in or leaves out but I think part of my understanding is that it's supposed to change some of the funding mechanisms that go into supporting the the maintenance of these public lands that are out here across the country but really significantly out here in the western states so it's it's pretty cool I think before that it was like well we should spend you know X amount of money but there's a more important place for that money to go so it wasn't like a guaranteed amount sort of what I understand so if I understand it correctly, there's like 31:56 I think they've said $3 billion a year 32:02 of mandated funding for projects I think here in the back country BLM land Forest Service land and like national wildlife refuges and stuff so pretty cool, but yeah, I think that's gonna well maybe we'll see a change in that I think it's supposed to better fund the operations of BLM and forest service people as they're going through and trying to get these areas ready for for the public to be using more regularly so it's cool, I think it it'll mean a lot over the next few years or what maybe we'll see how it, how it kind of transforms some of the way that these these areas are managed, I think maybe it's more for me and I probably shouldn't even speculate, I'm not sure at all, but it's pretty cool. I'm excited about being out here and doing some camping and stuff dealing with this thunderstorm. I think it's one of those things where by the morning you know it's going to be or at least I was looking at the weather it should be mostly cloudy or partly cloudy, mostly sunny tomorrow for a while so I think that's pretty cool. I'm excited to be hanging out do some cabin stuff, do some podcasting I'm in the back of my truck right now like I was saying it was rain in early after this thunderstorm so I got that canopy on my truck and I'm nice and dry nice and warm. kind of feels like I'm just inside somewhere so it's it's a cool cool rig having a four wheel drive, having the canopy on the back having your staff and your sleeping area just kind of set up back there and I'm ready to go. So I've been having a good time being out here and it's been pretty good. Pretty good trip so far. I so appreciate you guys checking out this podcast from me. I'm gonna do a couple more podcasts while I'm out here on this camping trip and I'll I'll try and try and set up a little backlog of them on my website. I think it'll be a good idea. Now I kind of take the breaks and stuff from it. I'm sure no one no one keeps listening when it when it is there. But hey, if you listen to this end of the podcast, shoot me an email time for the plugs. It's Billy Newman photo.com if you want to check out my website, see some of my photographs, check out more podcasts that I've done, or books that I've tried to put together which is maybe what I'm gonna try and do out here to try and get some photographs for another good book. 34:24 You can check out more information at Billy Newman photo comm you can go to Billy Newman photo comm Ford slash support. If you want to help me out and participate in the value for value model that we're running this podcast with. If you receive some value out of some of the stuff that I was talking about, you're welcome to help me out and send some value my way through the portal at Billy Newman photo comm forward slash support. You can also find more information there about Patreon and the way that I use it if you're interested or if you're more comfortable using Patreon that's patreon.com forward slash Billy Newman photo 35:03 So I've been checking out the ipfs network. I've been talking about it a few times before here on the podcast. But it stands for interplanetary file system. That's kind of a cool way of sort of creating a distributed hash table. or in our case, it's something where it's like a distributed network instead of having like a server system. So I've been trying to set that up. It's pretty complicated, but you can go to Siberia's and download a program called Orion. And that's like a browser that you can use to upload and then download or you know, send files back and forth over the ipfs network, which is pretty cool. It's kind of interesting. So I downloaded it on a couple of computers here at home and I was trying to use this this key to connect the two of the notes together so you could kind of create like a direct connection in the network. And I was trying to do this with a couple other computers I had around the house to to do some stuff but but yeah, the ipfs stuff is pretty interesting. I'm trying to put up some some media stuff onto that over the last couple days. I've been using this site called the sounds got audio and I'm trying to upload a bunch of mp3 files of my podcasts. And it's just kind of interesting to check it out. But yeah, it's it looks like a lot like SoundCloud or something when you use it, but instead of any of those files existing on a website's server, they exist distributed across the world United States I don't know how far it's really distributed yet. But those files are distributed on different computers so it can be reproduced from from different areas of the network. It's interesting I don't know I'm kind of curious how it works out I'm also using this video program or video a website called d dot tube, I think is what it is is supposed to really just be like a YouTube clone and it works pretty well it's it's not I think got a full resolution and flow that YouTube is but really as it goes, it's it's quite far along for what you would think to deal with it. I've also been checking out bid shoot, which is another sort of YouTube video competitor but they do a lot more with ads and with paid content. And I think that the D tube stuff is it seems like a little more homegrown in some ways when you look at the website but but as I consider it, I think it's you know, it's ad free, it's crypto decentralized, it's really it's interesting like when you log in, you don't really even use your email address or anything like that it's just it's this cryptographic key that you log in with and that's like your account data and if no one has it so if you lose it that's gone I think forever You know, so it's kind of cool check it out you can go to the you page you can go to upload media like you would on YouTube or so that it's a little slower though it seems like that's that's definitely something that I was noticing. I'm trying to make an upload right now. And it's going fine but I think it's a little bit slower than maybe some of the other the other like YouTube or something like that if you're apple in attending up video it'd be more robust as a service This is definitely like something some some piece of the internet that's being made by people like you and me so it's it's kind of cool that it works at all really But yeah, I think these these D tube sites and D sound sites are going to be kind of interesting media players and that players like but just interesting kind of media side features that that I think are kind of interesting as people are starting to maybe consider moving away from centralized services like Facebook and Microsoft and Apple and Amazon and all that so yeah, it's gonna think Google you know, YouTube and Google and all that but but it's cool, try to check out the ipfs stuff and get it connected I was trying to upload some videos that I have on my YouTube page right now and trying to download a bunch of YouTube videos also, I go to the YouTube videos that I have there's there's a couple of different features out there there's like maybe one that you've heard before we put s s before the YouTube domain name and that'll send you over to a website called I think it's like save form or something like that. And then you can you can download sort of a lower resolution version of that. That file which saved me a couple of things I helped me out a couple times it was an audio video of it you can download it, I think it was ad free. That it as a website that kind of you know pushes you to buy stuff a lot but to think of the way the service works, as opposed to trying to check out this thing called the YouTube dash d L which was like a youtube downloader. So I was trying to go through and download some of the videos that I had on YouTube but that I don't really have like the same same clips from on my computer. So it's cool. I don't have to go through and check it out. too, but and was it D sounds distributed sounds distributed audio, it's kind of cool. Check it out. So I'm uploading a video in the background right now my laptop. It's like a screen capture video working in Lightroom. And going through the editing of a photo. So I'm throwing that up there on the two, which is like, 40:21 probably going to take forever to upload, it's kind of a larger, I think it's like more than 10 minutes or something like that's one gigabyte. So it's like a bigger file for that network to take. So I think it takes like a little bit more time. But it's cool, I'm trying it out. And I guess we'll kind of see how it goes. It's also cool, too, I guess you can just you can publish websites to the ipfs hash tables. Also, like if you write like a static HTML site or an HTML CSS site, I guess you can package that and then upload that. And you will have a web link to go to that HTML site, and it will pull up like it was pulled up on the server, which is pretty interesting. I haven't really learned quite enough about it yet. I'm trying to figure it out a little bit more, I want to try and get like some kind of distributed distributed blog website up or you know something where you doing in kind of update it a couple times, I think there's another one called steep shot dot i O. That was this, this photo sharing website that I was checking out, which is kind of cool. It's still all these are still in alpha. I was having a hard time actually like getting stuff to upload when I was using it. So it was kind of interesting, but I think it's you know, it's stuff that it kind of comes and goes as you're sort of an early adopter some of the services. But I'm going to try and try and use steep shot.io to get to continue to do it. So step two, that's another distributed photo sharing site, which is kind of cool uses the, I think I think when you post a photo and post it to the blockchain ledger is still sort of something that's out of my depth, it seems to me, but I think it's kind of cool that you're able to do stuff like that. And yeah, but put stuff up on the web and download it from the web without ever really going through a centralized service. So it's kind of fun stuff. But thanks a lot for checking out this episode of The Billy Newman photo podcast. Hope you guys check out some stuff on Billy Newman photo comm a few new things up there some stuff on the homepage, some good links to other other outbound sources, some links to books and links to some podcasts. Like this blog posts are pretty cool. Yeah, check it out at Billy numina photo.com. Thanks for listening to this episode and the back end. Thank you next time

Ventures
Product: GPT-4 released today (yes, it is scary smart). Code: React vs. Turbo

Ventures

Play Episode Listen Later Mar 15, 2023 6:34


In this episode of Ventures, I (https://twitter.com/wclittle) walk through today's GPT-4 announcement (https://openai.com/product/gpt-4) with a couple of important examples from Twitter (i.e. image-to-HTML/CSS and describing an image). I also introduce a 10-part series that I've written comparing React with Ruby on Rails' Turbo. Visit https://satchel.works/@wclittle/ventures-episode-140 for more information. You can watch this episode via video here.   0:03 - Intro to the episode and diving right into the GPT4 announcement: https://openai.com/product/gpt-4 // https://openai.com/research/gpt-4 // And why this is important for Product Managers, or really anyone building a web product. Twitter links: https://twitter.com/bentossell/status/1635737961747677189 // https://twitter.com/goodside/status/1635711013566795776 3:22 - 10-part series comparing / contrasting React vs. Turbo :: https://satchel.works/@wclittle/full-stack-hello-world-tutorials-part-1 

Stories from the Hackery
Reginald L Williams Jr. - Web Development Cohort 59

Stories from the Hackery

Play Episode Listen Later Feb 15, 2023 18:29


Reginald L Williams Jr. graduated with full time Web Development Cohort 59. I've always been interested in creating things with computers. I started with code in my teens editing HTML on my friends' Myspace accounts, building games in Flash Player. Fast forward to 2019, and I write my first line of code in September 2019 and actually really begin to like it. After doing some research, I taught myself some HTML/CSS & JavaScript basics using The Odin Project and FreeCodeCamp.Org. I felt I needed to work with people though, so I attended a 3 week Web Development Jump Start course at Nashville Software School. That clicked with me. The same excitement I had while making websites as a kid was reignited with building applications. With that in mind, I pursued it, & it's brought me here today. I hope to speak with you soon!

Flutter Dev Podcast
#39 Flutter и PWA

Flutter Dev Podcast

Play Episode Listen Later Feb 5, 2023 64:02


PWA захватывают мир. Это может вас удивить, но сегодня почти каждый популярный ресурс поддерживает формат прогрессивных веб-приложений. Благодаря особой "прогрессивной магии", можно без особого труда заставить обычное веб-приложение вести себя как мобильное приложение. PWA можно написать на любом веб-фреймворке и даже на чистом HTML/CSS. Но что будет, если кроссплатформу помножить на кроссплатформу? Меняет ли Flutter правила игры на поле PWA или всего лишь неуклюже следует за трендами? Мы поговорили об этом с ведущими экспертами, вспомнив обо всех преимуществах и ограничениях PWA, ключевых суперспособностях Flutter, в поисках ответа на вопрос – а стоит ли вообще использовать Flutter для создания PWA? У микрофона: Евгений Сатуров (Surf), Марк Абраменко (Surf), Алексей Родионов (Mercury Development), Дима Шевченко (Surf).

Weekly code quickies with Norbert B.M.
Reacting to The state of JS 2022 - WCQ26

Weekly code quickies with Norbert B.M.

Play Episode Listen Later Jan 29, 2023 21:15


The State of JavaScript 2022 report is an annual survey that aims to understand the current state of the JavaScript ecosystem. This report provides an overview of the most popular JavaScript frameworks, libraries, and tools, as well as the latest trends and future predictions. One of the biggest takeaways from the State of JavaScript 2022 report is the continued dominance of React. My Udemy Courses: - 30+ React Projects, Learn React JS by Building 30+ Web Apps: https://www.udemy.com/course/30-react... - Advanced HTML CSS & SASS - Build and Deploy Modern Websites: https://www.udemy.com/course/advanced... - Git & GitHub -Essentials for Version Control & Management Complete: https://www.udemy.com/course/essentia... - Bootstrap 5 for Beginners with real world Projects: https://www.udemy.com/course/complete... - 30 HTML CSS & JavaScript projects in 30 Days for Beginners: https://www.udemy.com/course/30-html-... - Visual Studio Code - Master the Complete VS Code environment: https://www.udemy.com/course/visual-s... - Master Responsive Web Design CSS Grid, Flexbox & Animations: https://www.udemy.com/course/master-r... - Modern JavaScript from Beginner to Advanced: https://www.udemy.com/course/modern-j... - Advanced CSS & SASS: Framework, Flexbox, Grid, Animations: https://www.udemy.com/course/advanced... - Web Development HTML CSS & JS a Beginner to Advance guide: https://www.udemy.com/course/advanced... -----------------------------------------------------------------------------

IT Way Podcast
Изменения в HTML, CSS и API браузеров в 2022 году. Episode 122 от 19.11.2022

IT Way Podcast

Play Episode Listen Later Nov 21, 2022 105:32


Tech Writer koduje
#48 Tech Writer uczy się frontendu, czyli jak wykorzystać technologie webowe w dokumentacji

Tech Writer koduje

Play Episode Listen Later Nov 16, 2022 37:27


Na pierwszy rzut oka pisanie dokumentacji ma niewiele wspólnego z frontend developmentem. Kiedy jednak spojrzymy na nowoczesną dokumentację do oprogramowania to możemy odnieść wrażenie, że tak naprawdę niewiele różni się ona od zwykłej strony internetowej. Czy to oznacza, że nadszedł czas, żeby zostać Frontend Tech Writerem? Rozmawiamy o tym jakie umiejętności z zakresu technologii webowych mogą się przydać w pracy technoskryby, w jaki sposób je zdobywać i do czego można je wykorzystać w procesie tworzenia dokumentacji. Dźwięki wykorzystane w audycji pochodzą z kolekcji "107 Free Retro Game Sounds" dostępnej na stronie https://dominik-braun.net, udostępnianej na podstawie licencji Creative Commons license CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Informacje dodatkowe: "Co to jest Front-end i kim jest frontend developer?", Software Development Academy: https://sdacademy.pl/frontend-co-to-jest/ HTML: https://pl.wikipedia.org/wiki/HTML CSS: https://pl.wikipedia.org/wiki/Kaskadowe_arkusze_styl%C3%B3w WordPress: https://wordpress.com/ JavaScript: https://pl.wikipedia.org/wiki/JavaScript "#47 Tech Writer zgłębia tajniki dostępności cyfrowej, czyli jak tworzyć dokumentację dla wszystkich", Tech Writer koduje: https://techwriterkoduje.pl/blog/2022/10/13/dostepnosc-cyfrowa "#25 Tech Writer koduje w dokumentacji, czyli Markdown w wersji rozszerzonej", Tech Writer koduje: https://techwriterkoduje.pl/blog/2021/01/21/tech-writer-koduje-w-dokumentacji Markdown: https://daringfireball.net/projects/markdown/syntax MDX: https://mdxjs.com/ "Wprowadzenie do JSX": https://pl.reactjs.org/docs/introducing-jsx.html React: https://pl.reactjs.org/ "What is a Static Site Generator? And 3 ways to find the best one": https://www.netlify.com/blog/2020/04/14/what-is-a-static-site-generator-and-3-ways-to-find-the-best-one/ Docusaurus: https://docusaurus.io/ Jamstack: https://jamstack.org/ EJS: https://ejs.co/ Eleventy (11ty): https://www.11ty.dev/ TypeScript: https://www.typescriptlang.org/ Standard DITA (Darwin Information Typing Architecture): https://en.wikipedia.org/wiki/Darwin_Information_Typing_Architecture MadCap Flare: https://www.madcapsoftware.com/products/flare/ Git: https://git-scm.com/

Weekly code quickies with Norbert B.M.
Create a website with scroll animation

Weekly code quickies with Norbert B.M.

Play Episode Listen Later Oct 2, 2022 10:38


Learn how to create a website with scroll animation using HTML CSS and JavaScript with its Intersection Observer API

ゆるコンピュータ科学ラジオ
HTMLの真価は「論理と見た目の分離」。みちょぱに違法建築をさせてはいけない【マークアップ言語2】#38

ゆるコンピュータ科学ラジオ

Play Episode Listen Later Sep 18, 2022 29:25


「ミズノの知らないマークアップ言語の世界」の第2回です。 「HTMLのすごいところは論理と見た目の分離」「WEBの世界ではみちょぱが建築している」「ブログで強調のために太文字を使うな」など、マークアップ言語の利点についてたとえ話を交えながら話しました。 【目次】 00:00 Webの世界ではみちょぱが建築する 02:15 HTMLのスゴさ「論理が明確」 10:34 強調のために見出しを使うな 17:29 新ミーム「みちょぱに建築させるな」 20:52 お馴染みのアレも実はマークアップ言語 25:41 次回のキーワードは「入れ子構造」 【参考文献】 ○『ENIACからXMLへ: 元XMLユーザーグループ会長が語るマークアップ言語とメタ言語の歴史』 →マークアップ言語の歴史について書かれた本。出版社から出た本ではないので散逸的なブログっぽい内容。 ○『作りながら学ぶ HTML/CSSデザインの教科書』 →定番のHTML/CSS入門書。初めてちゃんとHTML/CSSを学ぶ人にオススメ。堀元も昔やりました。 ○『イラスト図解式 この一冊で全部わかるWeb技術の基本』 https://amzn.to/3d3nQul →ブラウザの基本的な仕組みについて知りたい人はこちらをどうぞ。 【サポーターコミュニティ加入はこちらから】 https://yurugengo.com/support 【親チャンネル:ゆる言語学ラジオ】 https://www.youtube.com/channel/UCmpkIzF3xFzhPez7gXOyhVg 【フランチャイズプロジェクト:ゆる学徒ハウス】 https://www.youtube.com/channel/UCayn-KD-Qjwa8ppQJ50bEAw 【おたよりフォーム】 https://forms.gle/BLEZpLcdEPmoZTH4A ※皆様からの楽しいおたよりをお待ちしています! 【お仕事依頼はこちら!】 yurugengo@gmail.com 【堀元見プロフィール】 慶應義塾大学理工学部卒。専門は情報工学。WEBにコンテンツを作り散らかすことで生計を立てている。 現在の主な収入源は「アカデミックに人の悪口を書くnote有料マガジン」。 Twitter→https://twitter.com/kenhori2note マガジン→https://note.com/kenhori2/m/m125fc4524aca 個人YouTube→https://www.youtube.com/channel/UCYJ335HO_qLZDr7TywpI0Gg 【水野太貴プロフィール】 名古屋大学文学部卒。専門は言語学。 某大手出版社で編集者として勤務。言語学の知識が本業に活きてるかと思いきや、そうでもない。 #マークアップ言語 #ゆるコンピュータ科学ラジオ

Jeanviet - L'informatique pour tous (podcast audio)
Créer un site Web 100% gratuit avec Firebase en 10 minutes

Jeanviet - L'informatique pour tous (podcast audio)

Play Episode Listen Later Aug 21, 2022 14:07


Besoin d'un site Internet pour mettre en avant en ligne ton cv, ton activité, ton livre ? Je te montre comment créer rapidement et gratuitement un site Web avec Google Firebase. Le site que j'ai créé https://tousinfluenceurs.web.app/ --------- Ce tuto t'a plu ? Abonne-toi à ma chaîne YouTube ici : http://jbv.ovh/jeanviet --------- Au sommaire : Intro 00:00 1- Télécharge un template de site gratuit 00:53 2- Installe Node JS (NPM) 02:06 3- Vérifie que NPM est installé 02:52 4- Va sur firebase.google.com 03:06 5- Crée un projet Firebase 03:42 6- Installe Firebase en local 05:24 7- Crée un hébergement sur Firebase (Hosting) 05:52 8- Installe la CLI de Firebase 06:21 9- Connecte-toi avec ton compte Google 06:46 10- Initie ton projet firebase 07:42 11- Mets tes fichiers HTML/CSS dans public/ 08:38 12- Déploie ton site 10:27 13- Edite ton HTML dans sublime text 11:38 14- Redéploie ton code 12:58 --------- Les ressources pour créer son site : Installe Node JS https://nodejs.org/en/ Template bootstrap HTML / CSS gratuit https://azmind.com/free-bootstrap-ebook-template-elio/ Firebase (Hébergement) : https://firebase.google.com/ Comment ça marche ? https://firebase.google.com/docs/hosting#how_does_it_work La commande pour déployer un site firebase deploy --only hosting https://firebase.google.com/docs/hosting/test-preview-deploy#deploy-project-directory-to-live Tu as le droit à 5 go de stockage et 1 go de bande passante / j https://firebase.google.com/pricing?authuser=0&hl=fr Mon éditeur HTML (Sublime Text) https://www.sublimetext.com/3 Un autre bon tuto (+ accessible) pour créer un site gratuit via github : https://www.youtube.com/watch?v=31_8KDniXjg --------- - Mon Instagram : https://instagram.com/jeanviet - Mon Twitter : https://twitter.com/jeanviet - Mon TikTok : https://www.facebook.com/jeanviet.info --------- La création / monétisation de contenus sur Internet t'intéresse, précommande #TousInfluenceurs ici : https://tousinfluenceurs.web.app/ --------- Abonne-toi à ma chaîne YouTube ici : http://jbv.ovh/jeanviet --------- Musiques : Boogie Bounce Dizzy - Joakim Karud ---------

HTML All The Things - Web Development, Web Design, Small Business

Get back to basics with our first episode re-release. This week due to Mike being out sick and Matt being on vacation, the duo have decided to shine a spotlight on one of their most popular episodes that take us all back to the very basics of web development. Back to vanilla HTML, CSS, and JS - some of the most useful skills to have when making small websites or transitioning between different frameworks and technologies.

Inside Outside
No-code Insights for Startups and Enterprises with Abhishek Nayak, Co-founder of Appsmith

Inside Outside

Play Episode Listen Later May 10, 2022 16:18


On this week's episode of Inside Outside Innovation, we sit down with Abhishek Nayak, Co-founder and CEO of Appsmith. Abhisek and I talk about the rise of no-code tools and some of the misconceptions and opportunities that no-code can bring to startups and enterprises alike. Let's get started. Inside Outside Innovation is a podcast to help the new innovators navigate what's next. Each week, we'll give you a front row seat into what it takes to learn, grow, and thrive in today's world of accelerating change and uncertainty. Join us as we explore, engage, and experiment with the best and the brightest innovators, entrepreneurs, and pioneering businesses. It's time to get started.Interview Transcript with Abhishek Nayak, Co-founder and CEO of AppsmithBrian Ardinger: Welcome to another episode of Inside Outside Innovation. I'm your host, Brian Ardinger. And as always, we have another amazing guest. Today we have Abhishek Nayak. He is the CEO and Co-founder of a company called Appsmith. Welcome to the show. Abhishek Nayak: Thanks Brian. Really excited to be here. Brian Ardinger: I heard about Appsmith as we talk more and more about this no-code low-code space, that's developing in the startup and in the enterprise world. And Appsmith is an open-source framework that makes it easy to build and maintain internal custom business tools. No code for the enterprise if I'm correct. Abhishek Nayak: Yeah, exactly. Think of us like WordPress, but for building internal user facing applications. Brian Ardinger: I'd love to dig into how this got started, this rise of no-code technologies and that. Making it easier for the non-traditional technical person to build and create faster and that. So maybe let's take a step back and tell us a little bit of your journey of how you became a founder and specifically around, how did you decide to build a no-code app platform? Abhishek Nayak: Been an entrepreneur for a better part of the previous decade. Appsmith is actually my third startup. My first startup was in the space of offline logistics. We were doing cash and delivery. So, we had around 150 plus people. Lots of custom software built internally to manage them. And to run the business. My second startup was in the space of AI, where we were trying to automate customer support. And we used to have 10 plus customers and use to automate support requests for them. That again, we were building a lot of custom applications to train the data. Look at how a particular board or a particular model is performing. And just run all sorts of experiments and processes. That was my second startup. And all of these startups, I had the same co-founder and CTO Arpit Mohan.  And he actually got sick and tired of building all these tools. Our second startup didn't work that well. Our first one got acquired. Second one didn't work that well, and we had to shut it. But he actually started tinkering with the idea of building UI builder but for backend entrepreneurs. Because he was a backend engineer and he really disliked dealing with HTML/CSS. So, he started working on this side project. And this is why he was working at a different job.And during this period, when he was working on a different job, I was working as an EIR at Excel partners. So, I was an entrepreneur in residence where my job was to meet new startups, talk to them about how to run their business. And just understand if it makes sense for Excel to invest in it. While at the same time, I was also looking at other ideas that I could start out with.Now I couldn't find anything interesting. But I was helping my friend Arpit figure out if his idea for an open-source project had any legs. And during that process of helping him out, I started interviewing some of these startups that I was meeting on everyday basis. And I realized that almost every single startup had this problem. That they need to build a lot of custom business applications, maybe to run customer support or expose some data to the sales team. Have a way for the marketing team to maybe generate coupons. Or maybe look up some customer data.And they never had engineering bandwidth to build what they needed. And that was a problem, right? That's when I started telling Arpit, hey, maybe this can actually be a business. Maybe you just don't need to think of it as a side project. Maybe we should start a business together and do this like a startup.That's how it actually got started. It was my co-founder's idea because he hated HTML CSS. And then we started working together to build this out as a company. We also have a third co-founder Nikhil who heads product. And he again has been an engineer for a really long time. But he's a front-end engineer and he was just sick and tired of doing the same thing over and over again.So even though he has skills in HTML CSS, and he loves working on front end, he just disliked the repetitive nature that these internal apps generally have. And that's why he was excited about this idea. Brian Ardinger: I love the story. Because you often hear entrepreneurs' stories start with a pain or an itch that they have to scratch. And it sounds like that's exactly where you guys started. And it seems like the timing was perfect for this type of new tool. Because it's getting easier and cheaper to use multiple different tools and open APIs, et cetera, to make it easier to build and scale and test and try things than ever before. Talk a little bit about the early traction you got when you started the company and some of the early things you learned.Abhishek Nayak: So, the first six months of app Smith was just building the product out. And we actually started pitching it to users and convincing them to use it. But nobody actually converted. Nobody wanted to use it. And that's when we began to question is the product quality low? Do we not have enough features or what's happening here?When we started digging in deeper, we just realized that the standard style developers have for a product like this is really high. And we just had to go back and improve the quality. And add a lot more features to the product. For it to be ready. So, after our first launch which failed, you know, we had this pivotal moment where we had to decide, should we start building this for a different audience. Because developers don't seem to like this. Or should we just continue to follow our vision and get this right?So, I'm glad that we actually decided to continue following a vision, but just improve the quality and add lot more features. Because when he lost a year later, you know, one and a half years have gone by, since we actually started, it instantly took off. Like within the first week, I remember we had about 30 plus teams using us.And the only thing that we had done was write a blog post announcing that this is live. We did not actually do any sort of sales or any sort of cold outreach to get the users. And we honestly weren't putting in that much effort because we launched, expecting completely failure. Because that's what we had experienced, you know, like a year ago when we had tried to launch. But this time we were pleasantly taken aback by the reaction the market had.And that's when we realized that a product like this just takes a lot longer to build versus a SaaS product. And the quality that developers expect is just a lot higher versus today, we have around 5,000 plus companies that use us every month. And tens of thousands of people who use us every day. That's a different story today.Brian Ardinger: When you were going through the process of determining which features to add, or which ones to improve, how did you work with customers or how did you determine what to build in that environment? Abhishek Nayak: So, most of the early features that was very much decided by my co-founders because they had been engineers for a really long time. And we really just relied on their intuition to decide what should be built. And this is where I think we broke a lot of start-up rules. When a customer asked us to build this feature, if my co-founders disagreed, we would not build it. And what that led to was the product ended up being simple enough for most users. And the base features that my co-founders were sure were important, actually turned out to be quite successful. And the product ended up not being so bloated. Today of course it's a different story because now we do listen to customers a lot more and we actually end up executing it. But in those early days, it was so important to just stay focused on what we were sure they would use. I think the most amount of waste occurs in a startup is when you build something that nobody uses, and nobody wants. So, by just being hyper focused on the vision that my co-founders had said, we actually ended up getting to a product, which a lot of people really like. And it was high quality. Brian Ardinger: Then of course, having co-founders that were in that customer segment and really understood because they were themselves customers. Or trying to scratch that itch. Probably helped immensely. So, let's talk about no code itself and sometimes it gets a bad rap. Especially in the enterprise. You see a lot of startups using it as they're testing or building out new things as a way to grow and scale and meet their own customer demand. What are some of the misconceptions about no-code that you've run in to?Abhishek Nayak: The first one is that no code is only for business users. In my experience, the fastest adopters of tools like Zapier, Bubble, Backflow, were actually developers. They love automating work that they do not like. So I don't think no code as we know, put developers out of jobs. Instead, developers love it. And they'll actually be able to focus on more custom and more complicated tasks. The second misconception about no code is the fact that you cannot build complicated things. I actually don't think that's true. What I believe is 80% of the software that the world needs is actually fairly straightforward. You need a simple, but something that works all the time. So no code is really good for that. But I also see the fact that no code products like Bubble, Zapier, or Indi Nomad. They actually have evolved so much that you can actually build really complicated things on those. It's still very early days for most no-code products. Therefore, when you look at them, you might think, okay, these can only be used for building simple tools.I cannot build something sophisticated on them. But the fact is all of these tools are going to evolve. And they're just going to get much better achieving complicated tasks. And at some point in time, you're not going to have full-time developers or professional developers working on these kind of applications, which can be completed by no code, because it's just going to be a waste of their time.Brian Ardinger: So, talk a little bit about some of the applications that you see are driving no-code today, and maybe some applications you see being on the forefront tomorrow. Abhishek Nayak: With Appsmith, we see that the most common applications are generally applications with dealing with customer date. So it could be, you're looking at customer data or you're trying to do a customer support workflow, or you're trying to do a sales and marketing workflow. Most no code and low code apps that are built today, generally tend to be very close to serving our customer. Because those are the highest priorities for any entrepreneurial, small to medium sized business. But those are the commonest use cases. In case of Appsmith, we see customer support as a huge use case for us. I am personally a big user of Zapier. And what I find is Zapier is great when you have to just do some of these quick and dirty sales and marketing workflows. Maybe I want every time there's a customer, who's signing up from a company with more than a thousand employees, I want to get personally notified on my slack. Or, you know, anytime there's a customer, who's at risk of churning out, I want to be notified on Slack. For some of those things I found it incredibly easy to use Zapier for. And it has an immediate revenue impact because if I go act on those deals or act on those customers that are about to churn out, I can either rescue that revenue or I can generate more revenue. I think those are probably the commonest use cases.Now over time, I do think there'll be more adjusted use cases, which are not linked with revenue to come about where you might be doing something let's say for HR or for internal financial processes. Some of those things. But as of today, I believe anything that's any process that's close to customer will probably be the first one that's used by users.Brian Ardinger: Do you see a big difference between developing no-code internal tools versus no-code consumer-based tools or front facing types of technologies? Abhishek Nayak: Yes, I do. There are quite a few differences when it comes to building customer facing tools, using no code. These generally tend to be less data heavy. And there are a lot more focused on visual design and look and feel and UI. Versus when it comes to internal facing applications, they tend to be more data heavy. And they tend to be more security oriented as well. So, you're going to have rule-based access control, SSO. Some of these features which are necessary when you're building like a internal tool. Versus when you're building something that's customer facing, you're not going to focus that much on security. Because it probably doesn't deal with that much sensitivity. Brian Ardinger: The last topic I want to talk about is this role of community. I know that Appsmith's done a really good job of building an active community. You've got a Discord page, and a number of folks that follow that on a regular basis. Can you talk about how you built community as part of your startup? And how important is that to continuing to build a business. Abhishek Nayak: Community has been very essential for the success of Appsmith. But the way the community grew was, they basically first needed support for using Appsmith. So, they started joining our Discord because they needed help using the product. And over time, the number of users and our Discord grew so much that even when we were sleeping and there was a question, another community member would go on and answer it. So, the shared love that people have in our Discord community is the love for the product. And that's what binds people together. And over time we've seen people create like different language communities. As well as there are freelancers and entrepreneurs who build apps for other companies using Appsmith. They've actually started talking to each other and helping each other out. So we are still in the very early days, but I believe like for you to start with the community, there needs to be a shared common interest or a shared love for a product. I think it's really difficult if there is no common interest and all you have a product, which is actually not love. If you focus on the product first, it's possible to get a community going. Brian Ardinger: If people want to get involved in the no-code movement and that, are there particular resources or things they should turn to, to learn a little bit more about what's going on in the space? Abhishek Nayak: The biggest set of resources are really available on YouTube. Because low-code, and no-code tend to be easier to understand and use when you watch a video. So, I would just highly recommend, you know, looking up YouTube tutorials instead of reading an article about it. Some of these tools just sound very complicated when you're reading an article about it. But when you actually see somebody build something using it, it just clicks a lot quicker. That's the way I learned how to use Zapier and Indi Nomad. And that was a lot easier, than this reading of blog posts. Third, just highly recommend just looking at these YouTube tutorials. Brian Ardinger: I highly agree with you on that. And quite frankly, just learning and playing with the tools themselves. A lot of them are not necessarily self-explanatory, but if you get in and you have a use case scenario, a lot of them, you can figure out yourself, even if you're not a developer. Abhishek Nayak: Exactly. And there's always some YouTuber who's addressed that particular use case before. I'm not really found it to be the case that you can't figure it out after seeing what YouTubers were doing.Brian Ardinger: So, Abhishek, if people want to find out more about yourself or more about Appsmith, what's the best way to do that?Abhishek Nayak: So, the best way to find out about Appsmith is go to www.Appsmith.com. And we also have a YouTube channel that gets a lot of hits. So, if you want to just see the product before signing up. You should just check out our YouTube channel. And I'm on Twitter. You can just find me by searching, for Abhishek Nayak. You should be able to find me there. Brian Ardinger: Well, thank you for coming on Inside Outside Innovation. Really do appreciate your time. And love hearing about all the new things that are going on in the world of innovation. And I'm looking forward to continuing the conversation.Abhishek Nayak: Thank you so much, Brian, for having me. I loved this conversation.Brian Ardinger: That's it for another episode of Inside Outside Innovation. If you want to learn more about our team, our content, our services, check out InsideOutside.io or follow us on Twitter @theIOpodcast or @Ardinger. Until next time, go out and innovate.FREE INNOVATION NEWSLETTER & TOOLSGet the latest episodes of the Inside Outside Innovation podcast, in addition to thought leadership in the form of blogs, innovation resources, videos, and invitations to exclusive events. SUBSCRIBE HEREYou can also search every Inside Outside Innovation Podcast by Topic and Company.  For more innovations resources, check out IO's Innovation Article Database, Innovation Tools Database, Innovation Book Database, and Innovation Video Database.  

Les Cast Codeurs Podcast
LCC 276 - Il a coulé mon data center !

Les Cast Codeurs Podcast

Play Episode Listen Later Mar 28, 2022 78:45


Emmanuel, Guillaume et Antonio se réunissent pour discuter des nouvelles de ce début de printemps. On y parle retour de JavaOne, revue de pull request, de developpement cloud natif, de SLO, et de log. Enregistré le 25 mars 2022 Téléchargement de l’épisode LesCastCodeurs-Episode–276.mp3 News Langages Remplacer vos APIs de logging avec System.Logger Blog post rédigé suite à notre épisode 271 (où on avait cité System.Logger) Rapide histoire des APIs de log en Java Présentation de l'API System.Logger Formattage des messages basé sur java.text.MessageFormat Utilisation possible des ResourceBundle Niveaux TRACE, DEBUG, INFO, WARNING, ERROR (et non FINE, FINER, FINEST comme JUL) Le service System.LoggerFinder pour changer l'implémentation (JUG, Log4J, Logback, …) Etude de perf: Logback est plus performant, suivit de JUG puis Log4J2 Une série de petites librairies Java légères. Librairies simples, avec chacune une tâche unique, dont : parsing JSON parsing HTML / CSS client HTTP client mail resolveur de noms de paramètres de méthode des Properties améliorés un depdenceny-injection léger Java 18 est dans la place 400: UTF–8 by Default 408: Simple Web Server 413: Code Snippets in Java API Documentation un super guide sur l’utilisation des nouveaux javadoc code snippets 416: Reimplement Core Reflection with Method Handles 417: Vector API (Third Incubator) 418: Internet-Address Resolution SPI 419: Foreign Function & Memory API (Second Incubator) 420: Pattern Matching for switch (Second Preview) 421: Deprecate Finalization for Removal Librairies Micronaut 3.3 sorti, avec des nouveautés et Micronaut 3.4 aussi graalVM 22 binding par valeur d’annotations (CDI) Serialization (remplace Jackson, plus leger en memoire, ne fait pas de deserialisation arbitraire, pas de reflexion) module email qui permet d’envoyer avec MailJet, Amazom simple email service, SendGrid, Postmark Operateurs Kubernetes possibilité de référencer des beans properties dans @Requires injection de localized message sources nouveau module Micronaut Data MongoDB support de Maven pour Micronaut AOT Hibernate 6: certains points clés nouveau parseur HQL (langage plus riche) API nettoyées (donc ca va peut etre demander des migrations) DDL de meilleure qualité plus adaptée à la base de donnée cible requetes de type rapport (filter, rollup, cube, et les window functions arrivent bientot) arythmetique sur les dates index pour les colonnes (SQL plus compact et rapide) Kubernetes Service Discovery and Selection with Stork Quarkus 2.7 Stork 1.0 Quarkus CLI dans homebrew et SDKman extension pour le driver Oracle Reactif terminal interactif Infrastructure L’énergie utilisée dans les data centers est constante à 1 à 1,5% de l’énergie mondiale d’après l’agence internationale de l’énergie hors cryptocurrency augmentation a continué mais les efforts d’economies d’énergie ont compensé la croissance de la demande hors production du materiel je crois les alertes ont fait bougé les lignes études source Masanet et al - science et une autre de Malmodin 2020 dans science aussi Cloud Sondage annuel “The State Of Cloud Native Development” Sondage créé par Slash Data et soutenu par la CNCF Interrogent 19.000 développeurs sur : l'utilisation de Kubernetes, le Edge Computing, le Cloud Native, Containers et Orchestrateur Le nombre mondial de développeurs cloud native a augmenté au cours des 12 derniers mois de 0,3 million, pour atteindre 6,8 millions. Dans le même temps, la proportion de développeurs backend impliqués dans les technologies cloud native a diminué de 3 points de pourcentage, passant de 44 % à 41 %. Dans toutes les régions, l'Amérique du Nord (47 %) et l'Europe occidentale (46 %) affichent les taux d'adoption les plus élevés. Kubernetes est utilisé par 31% de tous les développeurs backend, ce qui représente une augmentation de 4 points de pourcentage au cours des 12 derniers mois. Actuellement, 5,6 millions de développeurs utilisent Kubernetes. Dans tous les secteurs, le Edge Computing a connu une croissance rapide de l'adoption de Kubernetes et présente désormais les taux d'utilisation les plus élevés des conteneurs et de Kubernetes. Parmi les développeurs spécialisés dans le Edge Computing, l'utilisation de Kubernetes a augmenté de 11 points au cours des 12 derniers mois, pour atteindre 63 %. L'architecture Serverless est également attrayante pour les développeurs Edge Computing : 48 % de tous les développeurs edge utilisent serverless, contre seulement 33 % de tous les développeurs backend. Parmi les outils serverless, AWS Lambda continue de jouer un rôle prépondérant. Cependant, Google Cloud Run a considérablement gagné du terrain au cours des 12 derniers mois. SLO et dependences de service 99,99 en cible interne, au dessus, il y a tant de variables entre l’utilisateur et le service que c’est perdu dans le bruit (wifi, ISP etc) 99,999 pour les infra globales disponibilité est fonction du MTTF et MTBR = MTTF/(MTTF+MTTR) si on veut offrir 99,99, toutes les dependances critiques doivent offrir beaucoup plus, regle du 9 supplementaire sinon il faut des mitigation, cache, fail open etc dispo depend du temps de detection et du temps de recuperation donc forcer les clients (services dependants) à baisser leur niuveau ou engineerer pour compenser le bas niveau du service dont on est dependant faire des scenarios (e.g. 1 outage majeur, 3 faibles - e.g. un shard, 5 de dependances) considerer que la perte d’un shard du service veut dire SLO is 1/nieme indisponible (n étant le numbre de shards) donc il reste peut de temps pour reagir quand on compte temps de detection, temps de paging, etc. error budget: 1-SLO, sur un mois et peut etre une fenetre glissante pour remonter graduellement. si budget depensé, on ne fait plus de mise en prod sauf critical security issues ou si c’est pour corriger les causes du probleme qui a consommé le budget rendre le plus de dependances non critiques (par exemple en éliminant les SPOF) faire revue d’architecture pour identifier ces dependances et leurs impacts appels a trois pools de serveurs indpendants et prendre le premier resultat dependences asynchrones peut reduire le nombre de dependancs critiques retours arriere rapide et automatisés: en enlevant un humaind e la boucle, on racourcit les temps de réponse et bien d’autres choses encore Architecture Les design patterns pour les systèmes distribués et donc les microservices survol et définitions des patterns qu’il faut connaître dans les microservices Pas trop dans le détail donc bon survol Idempotence, asynchronicite, helathcheck, feature flag, fallback Bulkhead: compartementalisation Metrics, monitoring, alarmes Rate limiting, backpressure, etc Méthodologies La pyramide des fondamentaux dans la revue de code codifie les points sur lesquels se concentrer sur la revue de code et ceux avec une priorité plus basse automatiser les points bas comment le style de code pour eviter de perdre du temps et de la frustration humaine Sécurité Removed unencrypted Git protocol and certain SSH keys nettoyage de printemps plus de git: qui est non sécurisé plus ne nouvelles clés RSA SHA1 plus de DSA de nouvelles courbes elliptiques Samsung utilise incorrectement la crypto rendant son enclave sécurisée, pas sécurisée l’article n’a pas les details techniques 100 m de telephones la meme clée était reutilisée (et pas encapsulée le vecteur d’initialisation pouvait être configuré et reutilisé à valeur unique n’importe quelle application pouvait essayer d’acceder aux secrets de l’enclave en essayant les conbos parce que l’application avait accès à ces paramêtres quand on reutilise les vacteurs d’initialisation, on peut faire un 1–1 entre le message clair et chiffré, ce qui permet de revenir a message clair si on produit le meme message cripté. https://knowledge-base.secureflag.com/vulnerabilities/broken_cryptography/reused_iv_key_pair_vulnerability.html Loi, société et organisation Alert: peacenotwar module sabotages npm developers in the node-ipc package to protest the invasion of Ukraine Un développeur sabote son projet open source et paralyse des milliers d’applications Violation de RGPD par utilisation de Google fonts French privacy regulator rules against use of Google Analytics L’article de la CNIL VMWare, Red Hat et d’autres s’ajoutent aux sanction contre le gouvernement Russe en arretant la vente et les services pour les entités Russes et Belarusse Une Entrée en bourse pour Sonatype Conférences JavaOne à Las Vegas du 16 au 20 octobre 2022 Java language & platform, cloud-native development, database, microservices, DevOps, artificial intelligence & machine learning, security & application management, and more. 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/

Python Bytes
#276 Tracking cyber intruders with Jupyter and Python

Python Bytes

Play Episode Listen Later Mar 23, 2022 45:04


Watch the live stream: Watch on YouTube About the show Sponsored by FusionAuth: pythonbytes.fm/fusionauth Special guest: Ian Hellen Brian #1: gensim.parsing.preprocessing Problem I'm working on Turn a blog title into a possible url example: “Twisted and Testing Event Driven / Asynchronous Applications - Glyph” would like, perhaps: “twisted-testing-event-driven-asynchrounous-applications” Sub-problem: remove stop words ← this is the hard part I started with an article called Removing Stop Words from Strings in Python It covered how to do this with NLTK, Gensim, and SpaCy I was most successful with remove_stopwords() from Gensim from gensim.parsing.preprocessing import remove_stopwords It's part of a gensim.parsing.preprocessing package I wonder what's all in there? a treasure trove gensim.parsing.preprocessing.preprocess_string is one this function applies filters to a string, with the defaults almost being just what I want: strip_tags() strip_punctuation() strip_multiple_whitespaces() strip_numeric() remove_stopwords() strip_short() stem_text() ← I think I want everything except this this one turns “Twisted” into “Twist”, not good. There's lots of other text processing goodies in there also. Oh, yeah, and Gensim is also cool. topic modeling for training semantic NLP models So, I think I found a really big hammer for my little problem. But I'm good with that Michael #2: DevDocs via Loic Thomson Gather and search a bunch of technology docs together at once For example: Python + Flask + JavaScript + Vue + CSS Has an offline mode for laptops / tablets Installs as a PWA (sadly not on Firefox) Ian #3: MSTICPy MSTICPy is toolset for CyberSecurity investigations and hunting in Jupyter notebooks. What is CyberSec hunting/investigating? - responding to security alerts and threat intelligence reports, trawling through security logs from cloud services and hosts to determine if it's a real threat or not. Why Jupyter notebooks? SOC (Security Ops Center) tools can be excellent but all have limitations You can get data from anywhere Use custom analysis and visualizations Control the workflow…. workflow is repeatable Open source pkg - created originally to support MS Sentinel Notebooks but now supports lots of providers. When I start this 3+ yrs ago I thought a lot this would be in PyPI - but no

Real Talk JavaScript
Episode 175: Skulpt with Meredydd Luff

Real Talk JavaScript

Play Episode Listen Later Mar 17, 2022 48:01


Recording date: 03/03/2022John Papa @John_PapaWard Bell @WardBellDan Wahlin @DanWahlinCraig Shoemaker @craigshoemakerMeredydd Luff https://twitter.com/meredyddBrought to you byAG GridNarwhal Visit nx.dev to get the preeminent open-source toolkit for monorepo development, today. Resources:AnvilSkulptSkulpt on GitHubWeb AssemblyBrythonTranscryptPyodideAbstract Syntax Tree (AST)Symbolic ExecutionTimejumps01:22 Guest introduction01:57 Catch us up on Anvil and Skulpt04:13 How do you avoid HTML & CSS?06:12 Sponsor: Ag Grid07:22 What is Skulpt?10:59 Does Skulpt have source maps?18:50 Running Python in the browser25:32 Insulating you from other languages29:52 Sponsor: Narwhal30:29 The story behind putting this all together40:15 Could it be a way to learn how to program?44:56 Final thoughtsPodcast editing on this episode done by Chris Enns of Lemon Productions.

Syntax - Tasty Web Development Treats
Creator of Wordle - Josh Wardle

Syntax - Tasty Web Development Treats

Play Episode Listen Later Feb 9, 2022 64:11


In this episode of Syntax, Wes and Scott talk with the creator of Wordle, Jsoh Wardle. What's the tech stack for Wordle? Does he care about the clones of Wordle? And how did selling Wordle work? Sentry - Sponsor If you want to know what's happening with your code, track errors and monitor performance with Sentry. Sentry's Application Monitoring platform helps developers see performance issues, fix errors faster, and optimize their code health. Cut your time on error resolution from hours to minutes. It works with any language and integrates with dozens of other services. Syntax listeners new to Sentry can get two months for free by visiting Sentry.io and using the coupon code TASTYTREAT during sign up. Sanity - Sponsor Sanity.io is a real-time headless CMS with a fully customizable Content Studio built in React. Get a Sanity powered site up and running in minutes at sanity.io/create. Get an awesome supercharged free developer plan on sanity.io/syntax. Freshbooks - Sponsor Get a 30 day free trial of Freshbooks at freshbooks.com/syntax. Show Notes 00:27:02 Guest introduction Wordle 02:45:13 How did Wordle go viral initially? 05:27:14 Where did the idea for Wordle come from? 07:07:06 What's your background? Reddit.com 12:52:23 Writing just HTML CSS and JavaScript 15:58:24 Wordle has 2 external dependancies 16:41:06 Sponsor: Sentry 17:40:23 The tech stack of Wordle Lit Elements just-merge gzip Cloudflare AWS S3 22:21:04 Would you use web components again? 29:36:08 How much did hosting cost? 29:55:01 How does Wordle remember my streak? 33:56:07 Do you play Wordle everyday? 36:28:11 Sponsor: Sanity 37:16:07 How do you land on internet hits so often? 40:33:15 Are you aware of the clones? Gordle 44:33:15 Sponsor: Freshbooks 45:17:10 Selling Wordle to the New York Times 49:05:20 Dealing with the domain name 54:15:09 What's his opener word? 56:03:03 Juice Juice it or Lose it talk 59:10:06 Sick Picks! ××× SIIIIICK ××× PIIIICKS ××× Josh: Tupperware Scott: Giant tub of Epsom Salt Wes: Shameless Plugs Josh: Wordle Scott: KeystoneJS Course Wes: All Courses Tweet us your tasty treats Scott's Instagram LevelUpTutorials Instagram Wes' Instagram Wes' Twitter Wes' Facebook Scott's Twitter Make sure to include @SyntaxFM in your tweets

The WP Minute
The future of the WordPress stack

The WP Minute

Play Episode Listen Later Feb 4, 2022 8:32


Spencer Forman of WPLaunchify is back to explore the future of the WP stack and how it might impact you as an agency owner or WordPress freelancer. It wasn't too long ago that HTML/CSS and some PHP knowledge was all that you needed to develop moderately advanced sites, now, the future looks a bit different. Will you leverage React, Gutenberg, FSE and all of the new technology in as WordPress advances? Spencer's hopeful for the future of WordPress and shares his opinions in today's episode. Read our related article: What does full site editing mean for WordPress freelancers? ★ Support this podcast ★

The WP Minute
WP Minute Live: Learning WordPress

The WP Minute

Play Episode Listen Later Feb 1, 2022 50:56


We hosted our first WP Minute Live Twitter Space covering learning WordPress. It was Bring Your Own Link (BYOL) style where our guest panelists brought a link to share with the audience. Here were the guests that appeared on the live show: Hauwa Abashiya, Freelance Project Manager transitioning into the WordPress space; Board Member and Volunteer at Big Orange Heart including WordFest and one of the Make Training Team Reps.Joe Casabona, Joe started his career almost 20 years ago as a freelance web developer before realizing his true passion, which is sharing his years of knowledge about website development, podcasting and course creation to help creators, and business owners.Birgit Pauli-Haack,  Birgit is the curator of the Gutenberg Times and co-host of the Gutenberg Changelog podcast with Greg Ziolkowski. Automattic sponsors her work as a full-time developer advocate for WordPress. Daniel Schutzsmith, Web Manager at Pinellas County Government, one of the Producers at The WP Minute, maintainer of WP Livestreams Directory, and soon to be launched WP Developer's Toolbox.Matt Medeiros, Director by day at Castos.com; Creating community contributed news and journalism at thewpminute.com part of Matt Report media network.  Links shared from the guests Hauwa Abashiya: https://learn.wordpress.org/| https://make.wordpress.org/training/2021/08/08/who-can-learn-help/ | https://learn.wordpress.org/social-learning/Joe Casabona: https://wplearningpaths.com | https://maven.com Birgit Pauli-Haack Gutenberg Developer Hours 2/8 WordPress Social Learning Spaces. https://fullsiteediting.com/block-theme-generator/ Block Theme GeneratorDaniel Schutzsmith: https://make.wordpress.org/training/2022/01/18/training-team-goals-for-2022/ “Especially certification!” Episode transcript [00:00:00] Matt: This event is brought to you by malware and blog vault. Check out mal care.com and blog vault.net, helping you secure and restore your WordPress websites. Quite literally thank them without them. I wouldn't be able to be doing the WP minute live and Daniel wouldn't have that nice new gold chain around his neck. [00:00:18] Moving forward. I'd ask all of you to join the link squad, hashtag link squad, producers, and contributors, and the discord server share, vote and discuss their newsworthy links with others. When you're part of the link squad, you're part of making weekly word, press news. And we're talking about one of the, one of the biggest topics, 5.9, and learning a little bit more about 5.9, Daniel, your segments. [00:00:46] Daniel: Yeah. And really what we're doing here too, for folks that don't know the w the WP minute is that it's contributor, sourced news. We provide links basically every week of what we see out there in the industry. And so we often have discussions around those links, similar to what you'd see in a newsroom. [00:01:04] It's just done a discord. And so we're, we're talking with each other and talking about the various things we like about a link or whatnot  [00:01:11] Matt: WVU minute live is bringing you that discussion right here on Twitter spaces and streaming platforms across the internet, someday discuss hashtag link squad topics with us live and follow at the WP minutes. [00:01:23] Stay.  [00:01:25] Daniel: Yeah, given the, the new release of WordPress 5.9, we're going to focus on this week's topic, being, learning WordPress. And so everyone's brought at least one link, perhaps two or three that that share a little bit about learning WordPress. And so we're going to go through once and we're going to see how that goes and how long that takes. [00:01:43] But first, let me introduce our folks here. We already know kind of Matt, Modaris our fearless leader here, director by day at dot com. Creating community contributed news and journalism at the WP minutes. Part of the Matt report media network. We also have how ABA Shaya freelance project manager transitioning into the WordPress space, a board member and volunteer at big orange heart, including word Fest, and one of the make training team reps. [00:02:10] Thank you for being here. How all the way from London, I believe. Yep. That's right. Alright. Joe, Casabona coming straight to us from Pennsylvania. Punxsutawney Phil come up soon. Joe started his career almost 20 years ago as a freelance web developer before realizing his true passion, which is sharing his years of knowledge about website development, podcasting, and course creation to help creators and business owners. [00:02:38] And I'm subscribed to seven of his podcasts. They're all amazing. So checking out a peer get ball. They have. Beer is the curator of the Gutenberg times and co-host of the Gutenberg changelog podcast with Greg Koski automatic sponsors for work as a full time developer advocate for WordPress[00:03:00]  [00:03:01] and my cell phone, Daniel should Smith, a mild-mannered web manager at Raquel's Pinellas county government down here in Florida by day. But I'm also one of the producers at the w few minutes and a maintainer of WP live streams directory, which you may have heard me talk about before. And since we launched WP developers toolbox, so let's get to it. [00:03:23] We're going to go through each person. They're going to share a link. We're going to tweet out that link. So as you're going along to speakers, let me know if you've already tweeted it out and I'll go into your profile and find it last year. How you're up first?  [00:03:39] Hauwa: So I've just tweeted my now. And of course I have to tweet out the.wordpress.org, because I think it should be the number one tweet that goes out anyway, resource for everybody coming to learn about WordPress. [00:03:53] So if you don't know about it, it's a resource that's been built by the community and we have got lesson plans, workshops, and courses, and we also have social learning spaces on that.  [00:04:11] Daniel: That's great. And what what kind of things can we find there specifically, like on courses and such as it, is it like Courses around full site editing and things like that, or,  [00:04:20] Hauwa: yeah, so we as part of a 5.9, the training team, so I'm one of the reps on their make training team, along with Courtney Robinson and Pooja discharge. [00:04:31] And we took an undertaking to actually get content out ready for 5.9. First time we've done it and, please see that we did get some contacts out there. And one of them has been a course that was done by Roxy and it's about full site editing. So it's from a user's point of view and it's the first part. [00:04:49] And I believe the second part should be coming out later this month. And we do have a couple of workshops and lesson plans are out there as well, that are like 0.9. [00:04:59] I'm just going to tweet out that actually you said I can only do one thing. Can I have the link to the course? Sure.  [00:05:06] Daniel: We can do  [00:05:09] Matt: more  [00:05:09] Daniel: speakers, feel free to ask any questions or give any thoughts to these things. The I'm looking at the workshops here and I don't know how I missed this, that there's so many workshops. [00:05:19] Hauwa: The workshops work came about just around during the pandemic. So we'd always have lessons and obviously the lesson plans have been there to help meet up organizers. You couldn't get it. Speaker didn't know what to talk about and you could just go and get a lesson plan and walk through that during your meetup. [00:05:39] And I believe some people have used it in training general training of law students as well in bootcamps and things like that. I know Courtney's used it quite a lot as a resource and she has contributed quite a lot. And then she's in here listening. Yeah. And then yeah, workshops. So workshops, you can watch one of the videos and you can join a social learning space to [00:06:00] discuss it. [00:06:00] And I know we've been doing a lot more with social learning spaces now. So the formats of those could slightly change. It's experimenting with different ways of delivering special learning spaces. [00:06:15] Joe: I know that a other kind of core space like websites that have a lot of WordPress stuff have the notion of different. Tracks, I guess like UTA at word camps is, are there plans for that@learndotwordpress.org? Because I know that you cover a wide range of topics. It says here from first-time blogger to seasoned developer will, there'll be some guidance coming down the pike on if you're a first-time blogger, where do you go versus if you're a seasoned developer, where do you,  [00:06:41] Hauwa: yeah, so we've just sending out the latest course now we have been doing some work or the Sierra on looking she started last year in terms of defining what our goals are. [00:06:53] And I do believe dining, you might be bringing out a link up or on but we've been looking at what our goals are in terms of the training team. So one of the things that Courtney has done, she did a high level roadmap, which looked at it. So it's essentially, you could possibly think about it as planning your own. [00:07:10] If you are starting from a user or you're starting from a developer, it's a one room that you could look at  [00:07:19] Daniel: that shit. [00:07:23] I didn't even realize there's quizzes on here. Yep. You can take an actual  [00:07:28] Hauwa: quiz, test you to make sure that you're doing it properly now. Just checking. Yeah, there are quizzes on there. Each of them have quizzes a week within the lesson plans. We also have exercises that people can follow as well. [00:07:41] Yeah.  [00:07:44] Matt: How does one apply to be a teacher, somebody to present one of these workshops, so  [00:07:51] Hauwa: on Mary with me, we do have, and I will take you to, I wish I could type as fast as I talk. [00:08:02] Okay. So I would just share it out the link for the high level roadmap that Courtney did. So on. We do have a way that you can contribute and get involved. That link is right on land, but I will share it. And so if you want to be a facilitator and submit your workshop or create a social learning space, there are some guidelines, but essentially you just walk through and submit your application and the team reviews it and just puts you in. [00:08:44] Daniel: That's pretty cool. I know there's a few folks in the community that have said they were at least helping proofread and things like that. And to, technically read to make sure things were correct. And they were put together the past few weeks. So it sounds sounds like I need to get involved, actually [00:09:00] do some  [00:09:00] Hauwa: stuff. [00:09:02] Every month we, as a team, we discussed what we were going to do for that month. So we're looking at, we essentially, we run a sprint every month and we post out on make what we're actually working on for that month. So anyone came on, they would have seen what we were working on for January. And a lot of it was geared towards five point. [00:09:23] We're going to continue with that for February, and also look at some of the things that we identified during our team goal setting. That we're going to target for this month as well. So that should cause tomorrow, February, so we should be releasing that out tomorrow, but I will post the link just in terms of, if anyone wants to know what we're working on. [00:09:44] This is what we're working on.  [00:09:48] Daniel: Great. Let's let's move on to the next Joe you're you're on  [00:09:53] Joe: deck. All right. I, this feels like shameless self promotion, but it's something that I think about hopefully as evidenced by my question to how it's my website, WP learning paths.com where I break down. [00:10:07] Resources based on where you are in your WordPress journey. So I've got three resources for beginner, two resources per site builder, and then three resources for a developer. The reason I built this and the most lacking section is actually the site builder section. I don't, I haven't come across a lot of resources specifically for the site builders, the no code WordPress folks. [00:10:35] I was asked in another event the go WP, happiness hour last week who is full site editing for. And I think it's for a whole sect of no code people who can now make their way to work. 'cause you don't just need to know a page builder or you don't just need to know a specific theme to build sites without code. [00:10:56] I put this resource together. I actually I'm going to be, I'm going to see how far I can get with full site editing with just full site editing, even though I'm a developer. So I'll be using 2022 to customize this as much as possible without code. So it'll be my learning journey being built in real life, but it's also a resource for people who are looking to learn WordPress. [00:11:21] Daniel: Fantastic. And I mean that, this is awesome.  [00:11:26] Matt: The ban testing,  [00:11:30] Joe: this is this is  [00:11:31] Daniel: something that I've been tweeting a lot about in the past week or two. And I hear it. In your podcast to how you mentioned some of the same things and it's that it's that path. It just doesn't, it doesn't exist for some folks that are coming from outside of the space. [00:11:48] If you're not, and if you're not understanding the WordPress vernacular, if our jargon even the fact that.org.com are different, these are all things to people when they first come in. So [00:12:00]  [00:12:01] Joe: it's definitely, I've definitely made it a mission for 2022 to get some more pers perspective swapping. [00:12:11] I'm going to say between inside and outside the WordPress space, because I think you're right. People coming from outside the WordPress space the straw man is probably people who write WordPress with a lowercase P but it's the people who don't fully know the terms. They don't really know what to look for on the same token, the people who have been entrenched in WordPress for almost 20 years, I started using it in 2004. [00:12:32] Probably can learn a lot from people who have just started in the no-code space or who've been using Squarespace or something like that. So I think my mission is to connect the two this year and help them learn from each other, which hopefully makes a more rich community in both places. [00:12:53] Daniel: Yeah. Matt, did you have some say some? Did you have something you want to say?  [00:12:58] Matt: Yeah. I was, there's actually, and a question for Holly as well as which profile and I think Joe started to address it, but which profile of end-user. Do you, what do you see both of your the official learn path or Joe's path? [00:13:12] What type of WordPress user is this? I guess more specifically for how it's like WordPress sees every type of WordPress user. How do you even begin to prioritize the type of content or the type of educational content that you create, but show first to you developer, web professional end user, like, how are you categorizing your type of [00:13:49] Birgit: how to use one  [00:13:53] Hauwa: to get involved? Great bye. Make  [00:13:57] Daniel: cool. I know there's a few folks in the community that have said they were at least helping proofread and things like that. And I guess technically read to make sure things were correct. And they were put together the past few weeks. So it sounds sounds like I need to get involved and actually do some stuff. [00:14:15] Hauwa: Every month we, as a team, we discussed what we were going to do for that month. So we're looking at, we essentially, we run a sprint every month and we post out on make what we're actually doing. This is awesome.  [00:14:28] Joe: The ban, some more rich community. How do they use WordPress training teams  [00:14:34] Daniel: most I know you need people. [00:14:36] I know you need people to keep making content, but it's also, I think it's a marketing thing too. I'm like  [00:14:42] Joe: how do I learn it? [00:14:49] How do you how to use WordPress? Or it could be the official learn path pers perspective actually developer, so great.  [00:14:59] Daniel: [00:15:00] Let's let's move on to the next Joe, you're on  [00:15:02] Joe: deck. All right. I, this feels like shameless self promotion, but it's something that I think about hopefully as evidenced by my question to how it's my website, WP learning paths.com where I break down resources based on where you are in your WordPress journey. [00:15:20] So I've got three resources for beginner, two resources per site builder, and then three resources for a developer. The reason I built this and the most lacking section is actually the site builder section. I don't, I haven't come across a lot of resources specifically for the site builders, the no code WordPress folks. [00:15:44] I was asked in another event the go WP happiness hour last week who is full site editing for. And I think it's for a whole sect of no code people who can now make their way to WordPress, because you don't just need to know a page builder or you don't just need to know a specific theme to build sites without code. [00:16:05] I put this resource together. I actually I'm going to be, I'm going to see how far I can get with full site editing with just full site editing, even though I'm a developer. Using 2022 to customize this as much as possible without code. So it'll be my learning journey being built in real life, but it's also a resource for people who are looking to learn WordPress. [00:16:29] Daniel: Fantastic. And I mean that, this is awesome.  [00:16:33] Joe: The fan  [00:16:35] Matt: testing,  [00:16:38] Joe: this is this is  [00:16:39] Daniel: something that I've been tweeting a lot about in the past week or two. And I hear it in your podcast too, how you mentioned some of the same things. It's that past. It doesn't exist for some folks that are coming from outside of the space. [00:16:54] If you're not, if you're not understanding the word, press vernacular, if our jargon even the fact that.org.com are different. Like these are all things to people when they first come in. So  [00:17:07] Joe: it's definitely, I've definitely made it a mission for 2022 to get some more pers perspective swapping. [00:17:17] I'm going to say between inside and outside the word space, because I think you're right. People coming from outside the WordPress space the straw man is probably people who write WordPress with a lowercase P but it's the people who don't fully know the terms. They don't really know what to look for on the same token, the people who have been entrenched in WordPress for almost 20 years, I started using it in 2004. [00:17:40] Probably can learn a lot from people who have just started w in the no-code space or who've been using a Squarespace or something like that. So I think my mission is to connect the two this year and help them learn from each other, which hopefully makes a more rich community in both places.[00:18:00]  [00:18:01] Daniel: Yeah. Matt, did you have some say some? Did you have something you wanted to say?  [00:18:06] Matt: Yeah, I was, it was actually a question for Holly as well as which profile and I think Joe started to address it, but which profile of end user do you, what do you see both of your the official learn path or Joe's path? [00:18:19] What type of WordPress user is this? I guess more specifically for how it's like WordPress sees every type of WordPress user. How do you even begin to prioritize. The type of content or the type of educational content that you create, but Joe first to you developer, web professional, and user, like how are you categorizing your type of your  [00:18:44] Joe: yeah. [00:18:44] My, I mean like the courses that I create, or this site specifically that we're talking about now, this site specifically yeah, so I'm I'm going to say I'm optimizing it in search, but I don't know really how to do that properly. But I want this to answer the question, how do I learn WordPress? [00:19:01] This could be somebody who for a beginner, right? If they're like, I have no idea how to use WordPress or it could be the developer. Who's like, how do I make a WordPress theme? So I guess my target audience is people from outside the WordPress space who don't necessarily know. [00:19:18] Where to look to find something to learn. I wouldn't to say that this is probably not somebody who's like already a LinkedIn learning member, because they're probably just going to go there. Or not necessarily even somebody who who already knows who I am or my Gutenberg courses, because they're just trying to answer this question. [00:19:36] WordPress was dropped in my lap. How do I learn it?  [00:19:40] Matt: Gotcha. [00:19:40] Hauwa: Yeah, it's it just brought me to where I just tweeted out who can learn help. Cause we looked at this a while ago back August because the vision for land leasing and the training team is huge because you can impact so many different people. So you do have your users. Your extended, whether that is freelances or designers or developers. [00:20:01] And you've also got your contributors and your leaders as well. So it's highlighting, there are many different paths. And I think that roadmap that I shared earlier breaks down in terms of the sort of people that we think learn can help and the different pathways that they could go through or they could come from. [00:20:20] And to add to that, part of, like I said, when we had our goal team goal setting is looking at well, what are we actually going to focus on? Because it's so huge and it's looking at well, we need to have a needs analysis and determine what it is that people want. And by people, just not just our users, but also our employers, what are they actually seeking for in terms of the skills that they want to actually see candidates coming to them have. [00:20:47] Daniel: There's so much, there's so much content to it learn, but it's almost I know you need people. I know you need people to keep making content, but it's also, I think it's a marketing thing too. Like getting [00:21:00] people really to understand that exists there and in a way that, a similar thing that Joe has and here's the path that you should follow. [00:21:09] And I do see you have some things laid out like that there. [00:21:15] Hauwa: Yeah. In terms of, we, we do need a lot of bodies to help. So yeah, we need everyone really. It's not, the developers, the marketers, the designers, because, at the moment when you look at that and I know after the needs analysis, and there was a UX audit that was done last year, so that look and feel of learning and also change because obviously at the moment, when you go into it, it's just, you just see lesson plans and workshops. [00:21:42] So there is work on that needs to be done. But the training team is a small team at the moment. And so shout out to anybody wants to come and join and help me be more than happy to have you.  [00:21:54] Daniel: And I put a beer, gets link up top there to, for folks to who are interested in becoming a facilitator. [00:22:03] Matt: It's funny. I was on a webinar the other day for a piece of software called de script, which was very popular. And in the podcasting space, basically trans transcribed your audio when you edit audio through texts, instead of visually through wave forms and the CEO does this webinar, maybe once a quarter or something like that. [00:22:22] And I think it's one of the better pieces of software that I use fairly straightforward, pretty easy to use and understand there's a slight learning curve like everything else, but it's not tremendously difficult. And they have a ton of content and a ton of content. That's actually in the context of the app. [00:22:40] So wherever you're in the app, you can always get access to a knowledge base, article, a video. It's a tutorial and they do webinars all the time. At least two or three a month according to my inbox. And the CEO pulls up a person from the audience to ask questions. And that person says, gee, I wish you could sh I wish you could create more content around using this piece of software. [00:23:05] And I could see in his eyes, he just wanted to be like, do we not create enough already? And it's just, every person is going to want to learn it a different way. This particular person was like, yeah, but I want to start from scratch. And he's there's a whole course over here. There's an academy over there. [00:23:22] There's this three hour long video on YouTube. And it's, every person is always going to want something different. And even for an app like de script, the challenge for WordPress is just, wow, there's just, it's just a big challenge, I think for WordPress, but you guys are the team and everything is just doing an amazing job. [00:23:46] Daniel: Yeah. And to be fair too, there is a. Because I'm doing the WP live streams directory. I'm seeing all the different things that are coming across my feeds that I'm putting into our calendar and the social learning team there. They must [00:24:00] have at least four or five webinars a week, basically. [00:24:04] That's our kicking out. So it's been very fast and furious and they look like really good, attended webinars too. We're talking like, 70 plus people almost every time. So when people are interested in it, [00:24:19] Matt: Hey, if you're just tuning in, this is the first WP minute live session on Twitter spaces. WP minute is an experiment in community journalism and reporting news for WordPress. You can find us at the WP minute. It's hosted by Daniel shoot Smith. He's your navigator today. And the hashtag is hashtag w. [00:24:42] I am the creative genius behind that hashtag that is the value that I bring to the show. [00:24:51] Daniel: Absolutely. And it works well. Beer  [00:24:57] Matt: let's hear from you.  [00:24:58] Birgit: I'm going right into the social learning spaces, which is a meetup group, and it's also on the longest learn. There's a social calendar. But a lot of these social learning spaces, or actually there, I'm here to share a link to the first event of the Gutenberg developers hours an event where developers can bring their the problems, the questions, the code, that demos to an expert panel and then get answers from the various people and February 8th event, we'll have Nick Diego developer advocate at WP engine and plugin developer and theme developer, and then also Fabiana Kagy who books 10 up and has done quite some Gutenberg demo. [00:25:48] Development and also some great apps around and always keeps the conversation flowing. And then the third panelist will be Tammy Lista, who is one of the designers of the Gutenberg project. And also now works for SWP and trains developers there and has some interesting ideas on gradual adoption of Gutenberg depending on your skill level. [00:26:15] So that's what we're going to going to discuss on February 8th 11:00 AM Eastern and 1600 UTC. And that's all on the the repressed learning, social learning group on a meetup, you can do that, or there is also a post on the make blog. Because I put a proposal together to actually rally some experts together who wanted to be participating. [00:26:40] This is only the first of four events. We will do it every other Tuesday. So it will be a February 8th, then February 22nd, March 8th, and then March 22nd. And we will have a changing panel. And also after that, we do a recap with the [00:27:00] panelists, with the participants and see how we can improve the event. [00:27:03] And then continue doing that also in an Asia Pacific. Comfortable time zone because this is in the middle of a night for them. So that's my link today. And I'm just yeah, totally amazed. How far the learn dot WordPress team came with all the content that they put out just about for WordPress 5.9. [00:27:27] Yeah. There's a lot of yeah. How to use the navigation, navigate a blog, how to use drop patterns, how to use all those on the site too, there are some great events coming up.  [00:27:39] Daniel: That sounds great. And that is quite a lineup is so that I hear you. So that's the lineup for the first one on that changes each session. [00:27:47] Is that right?  [00:27:48] Birgit: Yes. Yes. Yeah. Some of them are repeaters. I said, okay, I will do all four. Yeah. We will also have George mama dish villain. Is there also Joni Halabi and I forgot, sorry.  [00:28:04] Daniel: Oh, that's great. And next here in the audience. So hello, Nick. The so at this, it looks like you can actually bring your questions that you might have. [00:28:13] So if you're trying to figure something out, if you're looking to get more clarification on something, like actually getting the folks that do this regularly to walk you through it, that's pretty awesome.  [00:28:24] Birgit: Yeah. And I think that's a missing piece on the parts because we develop us, we are mostly trying to figure it out themselves. [00:28:32] Get some examples, go out in stack overflow or wherever, but there is not a whole lot of there's a lot of documentation out there, but never for that specific use case. And sometimes you just need have an expert kind of walk you through an approach. Like I want to do this kind of blog or block, what would what would be necessary? [00:28:50] I do I use the sidebar. Do I use a tube Quantway extend the core block or do I create my own block? Can I do this what I'm doing with custom fields, what I'm doing with custom post types, all these kinds of questions. And yeah, those panelists will have some answers for you that you can make a better decision on how to approach things. [00:29:09] Because of course there are always 15 ways to skin the cat. But what is the best one for you? Is hard to find out something.  [00:29:18] Daniel: Yep. And that's where I'm at as a developer. Like I'm the, yeah, I'm still the PHP based HTML developer. I didn't hate anyone's warning to learn JavaScript mowers though. I'm playing catch up as we go along most my, and [00:29:39] I think it goes back to what Joe was saying before, too, about, the different pathways and people coming to WordPress. I also feel, the questions around JavaScripts specifically in react and how we can use it in the block editor and also FSC I think is really important as well. [00:29:53] So to have folks that have actually worked on this a bit to give that clarification that's true. [00:30:00]  [00:30:00] Birgit: Yeah, that feeds right into, if I may, she has taken link, which is a block seam generator that Carmelina NEMA she has been on the representative for a long time. Also has a website called full site editing and she just published a block theme generator. [00:30:20] And you can create different levels of the theme that you want to try out. And if you want to have an empty seam, you get the six normal templates like index single page archive for four and search the theme, Jason file. And that. Yeah. No patterns, no block style. If you want to have a more elaborate theme that you want to learn from then you can get the basic theme, which also has a custom template. [00:30:46] Has two template parts three block patterns, and then also custom block styles that you can put in the sidebar as well as additional styles for the form elements. And the theme gees on that comes with it has quite a few different variations there that you can adopt there, be it custom colors or being dual tones or being stylings for for specific blocks on a general basis. [00:31:12] And the best one to learn from is probably the advanced theme that you can download there. That has seven templates has four. Templates for pages and posts, but also seven block patterns. Custom styles shows you how to include Google funds, how to create a unregistered block styles and patterns, and also how to ha have filters on there. [00:31:36] That's a quite learning tools when you know how to code, but you also want to look at code and see, okay that's interesting how she does that, or that's interesting. I've never thought that would work. Yeah. But here it works. And these are great examples.  [00:31:52] Daniel: That sounds great. I'm going to check that out. [00:31:53] Matt, did you want to say something?  [00:31:56] Matt: Yeah. So just quick question, maybe maybe you're just using zoom for now, but I'm curious because of the lack of WordCamps and meetups around the world. Is there a different tool being used other than let's say just the zoom of screen-sharing something that is more geared to, when I think back to work camps, when obviously when the most powerful thing is being in person, but I would just see people, sitting side by side laptop. [00:32:18] Side-by-side, here's how you code this, pointing to that. Obviously in person, much easier to do that. Is there a different tool in place for this sort of like side-by-side coding, learning, or maybe not yet? And just sort, just zoom sharing for now?  [00:32:31] Birgit: No fun for now though. You mean you couldn't work developer hours? [00:32:35] Those are zoom meetings. They're not webinars so we can see each other. Everybody can share when they want to. And but it's relatively informal, but it's not a kind of sit next to me and to coding, what you, what is out there are several Twitch streams. I know Ryan Welsh. Has Ryan Welches, R Y a N w E L C H E R. [00:32:59] On [00:33:00] Twitch. He does every Thursday morning at 10 30 Eastern. A livestream about two hours where he codes certain yeah. Problems. So yeah. Approach a certain things. Here's done yeah, block, how you create a meme block or how you create a poll block and how to yeah. Walks through on the Gutenberg release kind of thing. [00:33:21] So it's and it's interesting to see how he approaches every project pretty much the same way. And then leads down. Okay. Yeah. For this blog we need we need to enter some PEX controls. We need some we need to add work with data. We need to display something like for a poll you need to display some hierarchy some bar charts and all that. [00:33:41] There are quite a few interesting Streams out there they're recorded. And then he puts them up on the YouTube channel on his YouTube channel. If you follow the Gutenberg times weekend edition, I most, most of the time I have his link in there. So you can go to the Gutenberg times the last Saturday, a weekend edition, and you will see a few links that you can follow on the Twitch stream. [00:34:06] I know Helen who Sandy did a Twitch stream on where she tried to figure out full site editing for own blog. It was last summer, so there were still a few bugs in there, but there was an interesting of yeah. Follow along. So that kind of thing is out there right now. Yeah, [00:34:27] Joe: one of the things. That I think going going back to learning JavaScript and code one of the things that excites me a lot about full site editing, especially as we look at the preliminary roadmap for 6.0, is that I feel like we're getting back to basics, right? Justin Tatlock had a really good article on the, on WP Tavern. [00:34:53] This is, if this is modern WordPress theme development, sign me up where he was happy that he didn't have to spin up no JS or whatever, anything. And that, that really excites me too. Cause like I'm a. I had Pippin Williamson on my podcast like ages ago and something, he said that stuck with me. And it's like the thing that I carried through as a developer is if he dropped his laptop in a lake, he wanted to be able to walk into an apple store, buy a new one and have it up and running in an hour or less. [00:35:27] And with some of these developer tools, I don't know if that's possible. So it's cool. That theme development is getting easier. I think it's going to decrease the the learning curve, especially for first-time WordPress theme developer.  [00:35:41] Birgit: Yeah, I totally agree, Joe. There is no built step in there. [00:35:45] There is no note jazz. There is no big rap pack kind of thing. It's really relatively clean in HTML CSS and maybe a little bit PHP for the functions PHP, if you need it. But other than that, you [00:36:00] could do this. You could even create a theme in the full site editor, the site editor on once you log into WordPress and then export that and then use that same on another page or site Rather it's not completely perfect yet. [00:36:15] Of course, it's the first first version that's I don't think it's ready for production. And it still has the beta level beta label. But it's going there. It does not need the full JavaScript on, but it also means that theme the, a lot of themes have a lot of plugins territory in their theme packed in like custom post types and additional custom fields and all that kind of build into their themes. [00:36:44] So this method of theme developing is more for. Let the theme be a seam and everything else goes in plugins a way. And that's right. Yeah. Joe, you got it. It's back to basics. That's what a seam theme supposed to be.  [00:37:01] Joe: Yeah. I love that. That's something I thought too, is that this is, I think this is the next step in the, the great decoupling, the true decoupling of themes and plugins and layout and functionality, which is great, which is absolutely. [00:37:14] Daniel: It's a big a big proponent. I love the whole MVC framework, the whole concept of you have the model, you have the view viewer, and then you have the control and basically it's separating those different pieces to it. And we always had that with WordPress, but not completely, but now it really feels that we're going into that direction, that you truly could separate, the functionality from the design especially with what we're seeing with the Jason and all that. [00:37:38] So it's a very, it's a very exciting time to be working with that. You get, was  [00:37:42] Birgit: there something else you want to mention? [00:37:46] Any questions?  [00:37:47] Hauwa: No. I just had one thing to add to when I think Joe was asking about, or maybe it was UMAT about the different streaming platforms. We do have a post out that is asking for guidance on that. We recognize that, it's not just that when people do want to use Twitch and whatever other platform you want to use. [00:38:06] So there is a person I think Courtney's shared it out on the space. So if anybody wants to contribute to that, so things that we just need to consider around, if you're using your logo use and subscribing asking people to subscribe, that sort of stuff, but just the different platforms that people want to actually use. [00:38:23] Birgit: Just a comment from Courtney Robinson that she would love to see learned over P kind of work with code spaces and be as code and have a way to actually have code along that line. I think that's an interesting idea. Fabulous. Yeah. And I know that Favian, Peggy was also working on a tool that lets you when you do a tutorial that lets you embed some code with all the yeah. [00:38:49] Where you can change it on the browser. And then copy paste that into your own environment, but you don't have to just to do the example, you don't have to spin up all the things that you need [00:39:00] even for block development, but he's working on it. And I talked about it on the latest, a change log because he was. [00:39:07] I guess on there. And it's a very promising development there. He got the inspiration from the react documentation beta that they have published right now. And that is definitely going these places. Yeah. Thanks for the reminder, Courtney.  [00:39:26] Daniel: No, while we're, while you're mentioning it too, I think react is another area that I just keep thinking has so much potential to bring in a flood of new folks into WordPress. [00:39:38] And I figured this, something around that to me is very interesting and almost exciting about the fact that it's this wide open frontier, but, we really haven't had any, large as far as they know any large, JavaScript agencies come in or any of the larger movement other than, the, we. [00:39:59] The whole concept of Gutenberg around react. But now it's if you think about opening it up to people who were doing other types of status apps and the types of things out there, and they realize the potential that they can do inside of WordPress with what they already know about react, that's where I'm, to me, I really hope that we can attract those audiences as well and bring them over into the fold. [00:40:19] They're [00:40:26] very  [00:40:26] Birgit: exciting. [00:40:26] Daniel: Let's see. We just had me left. Matt, did you want to reset the room? Are we good?  [00:40:32] Matt: Let's reset. Because we're professionals around here. This is the WP minute alive Twitter space talking about learning WordPress with WordPress 5.9. That happened last week. There's less alert and we're excited to have three great panelists on to to help us learn WordPress. [00:40:50] You can expect to see us maybe once a month around here doing some live Twitter spaces with Daniel shoot Smith at the helm. Join the hashtag link squad@thewpminute.com. The WP minute.com. Your experiment in WordPress, community, journalism and news. I think now, if anyone has any questions about learning WordPress or any reactions responses to what our panelists have shared today, feel free to raise your hand request to speak. [00:41:20] And as long as you don't come at us like crazy folks in the movies on. We'll bring you up on stage.  [00:41:30] Daniel: Yup. No pitchforks. And also too, if you have a link that you'd like to share, feel free to tweet that out and then hop on here to ask the speak. I'll go and do mine now. So share mine. [00:41:40] And I got to preface this by the fact that none of us talked about our links ahead of time. It just so happens that a lot of shows like that were from the make team and the specifically learn WordPress team mine as well. So mine was specifically about the training team goals. And again, you'll hear [00:42:00] her name mentioned a lot, but Courtney was the one who showed this to me. [00:42:04] And I think it was maybe even yesterday or the day before that That the trading team goals for 2022 there's some really great things in here talking about the represent representation of stakeholders and making sure they have the right the right people at the table to be able to be involved. [00:42:18] Also talk about the different methods and priorities and what obstacles they're dealing with. But one of the things that really stood out to me, and it was almost a footnote that I heard was the whole concept of certifications that that we are experimenting, or looking into kind of certifications in Q4 20, 22 around around learned WP. [00:42:38] And this is something I think that's, everyone has their own opinions about certification. The reality is people do get attracted to having certifications, especially if it's done by a body that, that everyone sees as the expert or the lead, body and whatever that industry is. [00:42:52] And so to me, it just opens up another avenue of just, professionalism and also just the that capability there to attract, those folks coming from other industries and other areas where they're focusing on web development to now realize that they can do this type of thing over here. [00:43:07] I know it'll be a slow roll and it'll be something that'll have to be done over time. But I think it's just very exciting to see that coming, seeing that as a possibility here and putting things together. And Courtney is actually requesting, go ahead, Joe.  [00:43:22] Joe: I just want to provide a little bit of context for this cause I'm sure Courtney you'll probably remember, but. [00:43:29] Actually, I don't, I can't remember if you were at the 2015 community summit, but we we talked about certification, like official certifications. At the community summit where you there Courtney? I  [00:43:42] Courtney: was, yes. And so community summit, if people are listening that aren't familiar community summit happens every few years before one of the international level word camps, I would say. [00:43:56] So for a continental level, they've held it in us. And also EU I was not present for EU and I was petrified my mind during that conversation. And there are those that have spoken about WordPress governance that were very involved with. That was terrifying me at that point in my journey. I will be the first to tell you as a side note I later went on to teach at a bootcamp and my bootcamp organizers, where I advised how much PHP individuals would need even front end devs seeking beginner entry-level roles in the WordPress product space and that involved sufficient amount of PHP for plugin troubleshooting type of things. [00:44:40] And we went through a course about underscores and learn the template hierarchy and template tags, but the students still were not yet at a skill level where they would be able to. Apply and pass the tech screening questions for one of the plugin companies. I'm not [00:45:00] naming names in this one, but they wouldn't have been able to pass that exam. [00:45:03] And I told my bootcamp, organizers, look, this is problematic. If we're tacking WordPress development onto a front end bootcamp. And they're like we need some official direction or guidelines for that. And I am very thankful and fortunate that my role now means helping create some of those resources for outside of the WordPress bubble. [00:45:25] Those that would do that training.  [00:45:29] Joe: Yeah. Yeah. I was. I remember I remember everything that you spoke about. I was pretty warmed up at that point because we also talked about dropping the B this is the first time that we had like a real community discussion. Banning certain venues for word camps, local word camps. [00:45:45] And I was pretty heated about that. So this was like a cakewalk for me. But I know the big question was who would be the the kind of arbiter of certification, right? Because automatic was ruled out because this was more of a open source community thing. And there was no real arm or a governing body, to use maybe not the best term, but there was no arbiter for that. [00:46:11] It looks like, learned that WordPress is the thing that could serve in that capacity as the place that can determine what is certification and it's backed by the open source project and the foundation. But I know there were a lot of concerns around. Who's going to be the person who says that this is a certificate, right? [00:46:28] Cause like Microsoft can give out certificates for Microsoft CIP systems and Oracle can give out certificates for Oracle systems, but who's going to say this is an official certificate for the open source project.  [00:46:41] Daniel: Yeah. So  [00:46:43] Courtney: in that context, learn is a great segue for that and why the training team will be conducting first a needs analysis and then forming a curriculum advisory board. [00:46:57] And then further down the road, we're only talking in Q4 about doing discovery and discovery would look like learning what has worked and what did not work from other open source and proprietary organizations that have pursued certification or what was great and what was not great. And. Tapping into other places that have navigated those waters and also hearing the concerns for instance of web development related careers, the training programs for those. [00:47:31] So whether people take a pathway of design, develop content marketer, factoring in what the needs are for guidance from those types of organizations, what do they need to get their trainees up to jobs, sufficient, ready to apply. And I think that's a really big area to consider. And I always say you could get the jobs, whether you have gone through and gotten the degree or taken a couple [00:48:00] of Demi courses, LinkedIn learning courses are great to books, whatever method it is that you learn, you can still get jobs without these certifications, but I see certification as more of a framework for here is what would help someone be proficient in various. [00:48:16] John pathways.  [00:48:18] Joe: Yeah. It almost goes back to answering the question that we opened this whole space with. Which is what, who are you? And where do you go to learn? What? If you have a certification path, then all right, I want to be a WordPress content editor. Here's the path I want to be a WordPress developer. [00:48:35] These are the things that according to the open source project, or according to whomever that you should know to be a proficient WordPress developer, I think that's, I love seeing that on the roadmap for the learn team or the training team.  [00:48:49] Courtney: Yeah, but we're interchangeable, but I, again, a huge, thanks. [00:48:53] I see quite a few people that drop in through the training team. And Joe, I know that you were part of the training team in those early years, too. We were a group that was centrally based out of DC and all of those areas. So it's been exciting to see the work that this team has put in and the meetings that took place to form that goal-setting were three weeks, three hours ish, each time. [00:49:20] So there was a lot of work. I want to make sure that others are credited and attributed to that. That's not just Courtney sat down and whipped out a post. That was a lot of effort across at least a dozen people there in the meetings. [00:49:38] Daniel: That's great. That's, if it's things like that, that I think it's really exciting to know that. There are folks that are interested in this kind of thing. And if any of you are interested in this, we talked a lot about learning WP here, and we've put different links up top there that you can also get involved with some of those things. [00:49:56] Matt Madeiros any final parting thoughts?  [00:50:01] Matt: No, this has been fantastic. I learned a lot as I normally do. It's pretty easy for me to learn from smart folks that come together on Twitter and in the WordPress space. So I appreciate a beer get Joe and how how I can't wait for you to start a podcast because you have the podcast voice. [00:50:16] It's about time. You start the podcast. But I appreciate everything that you do there. Everything you share on the WP minute same with you, a beer get with all of your Gutenberg knowledge Joe give or take, but Daniel, thanks for hosting today. It was fantastic. Everyone follows. Daniel beer, get Joe and Howard on Twitter and follow us@thewpminute.com. [00:50:40] Daniel. Thanks again for everything you do here.  [00:50:44] Daniel: Oh, [00:50:48] Joe: thanks everybody. ★ Support this podcast ★

HTML All The Things - Web Development, Web Design, Small Business
The Front-End Developer Roadmap (Revisited)

HTML All The Things - Web Development, Web Design, Small Business

Play Episode Listen Later Nov 10, 2021 81:03


In this episode Matt and Mike discuss front-end development, covering a roadmap of skills that can be used as a sort of guide through the many front-end technologies. The duo go over a list of topics that you can use to learn front-end development starting at vanilla HTML + CSS, and working into more complex topics like frameworks, JavaScript, some backend tech, and much more.   You can find us on... Facebook | Twitter | Instagram RSS | Patreon | Spotify Medium | YouTube | GitHub

Made in Taiwan | 台灣製造
WixTW 一站式網站建立 | Brian Chien 簡以翔

Made in Taiwan | 台灣製造

Play Episode Listen Later Apr 17, 2021 30:07


WixTW 是 Wix.com 授權的台灣代理。 還在煩惱怎麼設計網頁嗎?不是設計系畢業,也沒有工程背景?沒關係,這些都是 WixTW 的創辦人 Brian 已經想到的。在過去幾年,美國知名網站 Wix.com 已經成為網頁建立的主宰,目前在全球 190 個國家中,Wix 有超過 2 億名使用者!不用 HTML、不用 CSS、沒有任何需要安裝的困難程式,即便你對編碼、程式設計毫無頭緒,你仍能透過 Wix 簡單而直覺性的操作,建立美觀又有質感的網頁。 而 Brian 正是台灣第一位拿到認證的 agency partner,也是 certified trainer 和 webmaster。從小對體育有興趣的 Brian 從沒想過有一天自己會創業。但是他的熱情和努力不懈的精神在創立了 WixTW 後,開始幫助中小企業建立他們的網頁。今天,讓我們一起聽聽看 Brian 是怎麼接觸到 Wix 的。 Guest | Brian Chien 簡以翔, WixTW 創辦人 Host | Boy Chow, Jennifer Ko Production | Bijou Media Recording | SoundOn 聲浪 © 2021 Bijou Media | FB | IG

Tech Heads
Ep. 7 | The Big Three in Web Development

Tech Heads

Play Episode Listen Later Mar 28, 2021 65:12


Tech Heads back once again. We return after a two week hiatus to bring you a quick look at the fundamentals of front end web development…that's right we're hitting the surface of HTML/CSS/and JavaScript. Don't be too scared. It's an evening edition which means we're kickin' back and slamming a couple drinks too. I also share some big news at the end of the episode. This is Tech Heads. Victor Recommends:The Art of Code

Start Over Coder
073: Discoveries! Chingu & uMatrix

Start Over Coder

Play Episode Listen Later Jan 17, 2021 18:40


This week I'm sharing 2 more awesome resources for learning to code. Chingu Chingu is a learning community that gets you working on a dev team no matter what skill level you're at. How it works: Apply to join a team. Skill levels range from HTML/CSS beginners to building full stack apps. Your teammates can be from anywhere in the world. Once you're accepted, get together with your team and decide what to build during the 8-week commitment. Build it! Feel accomplished with your finished product, new portfolio addition, and all the soft & hard skills you have gained. I'm excited to participate in Chingu because I learned so much during a similar group project last year. Of course your success depends entirely on the work you put into it and a bit of luck in getting committed teammates, but in my opinion the benefits far outweigh the risks, so I think it's worth going for! To learn more about what it's like to go through Chingu, check out their Medium publication or YouTube channel. uMatrix uMatrix is a browser extension (available on Chrome, Firefox, and Opera) that can add privacy to your browser and teach you about the modern web at the same time. Its purpose is to give you control about what you want to allow/block—things like cookies, 3rd party tracking, 3rd party anything, iframes, external scripts, etc. For a thorough description and to see uMatrix in action, check out this YouTube walk-through video. You can also take a look at some examples of uMatrix rulesets: Kristerkari's uMatrix Recipes Gorhill's Useful Rulesets More in the Discoveries! series: Ep 18: Learn To Code With Me Podcast & Free Lynda.com Ep 41: Coding Solo Podcast & Millennial Money Diaries Blog Ep 64: Financial Toolbelt & Second Career Devs Podcast Ep 73: Chingu & uMatrix This episode was originally published 13 June, 2018.

Programador X
Animaciones en Javascript con GSAP 3.0

Programador X

Play Episode Listen Later Dec 3, 2020 15:00


En este tutorial vas a aprender a usar a la librería GSAP para animación con HTML5 y javascript. Esta librería te permite hacer animaciones fluídas como mantequilla derretida.

Echo.js
Episode 1: 前端开发吐槽大会

Echo.js

Play Episode Listen Later Jun 14, 2020 57:51


白羊:我觉得我们录完没说到一起去啊。Astrian:怎么讲?我觉得还成?白羊:我一直在说元素排版的问题,你一直在说分辨率的事儿。Astrian:

Il Mordente
59 | Un anno da freelance.

Il Mordente

Play Episode Listen Later May 6, 2020 25:32


Prima puntata dopo la quarantena; prima puntata dopo la fine del progetto di recupero laptop; prima puntata dopo l'anniversario del mio nuovo lavoro. In questo Mordente 59 vi parlo di vite già cambiate (la mia), di vite che si vorrebbero cambiare (le vostre, forse), di libri, di Hamsun e di piante, di contaminazioni lavorative, di piegamenti in isometria e della sinergia tra corpo e mente. E poi ebook reader a colori (E-Ink Kaleido), le fatture non ancora pagate, la corsa - finalmente la corsa. Ci siamo mancati, no? - Note della puntata: https://riccardo.im/podcast/il-mordente-59/ - Corso gratuito HTML+CSS di Boolean: https://www.boolean.careers/fundamentals Potete inviare messaggi vocali su Telegram o Whatsapp al numero 351 8516089, oppure usare il modulo contatti su riccardo.im per scrivere una e-mail. Ciao.

The Web Platform Podcast
197: Modern HTML

The Web Platform Podcast

Play Episode Listen Later Mar 25, 2020 60:43


Dave Rupert, podcaster and web developer, talks with us about modern HTML practices. In a world full of JavaScript where does HTML & CSS fit in? What are the roles of Web Components and web standards? Visit the website for This Week in Web, resources & more: https://thewebplatformpodcast.com/197-modern-html   Follow The Web Platform podcast on Twitter for regular updates @TheWebPlatform.

The Page 2 Podcast: An SEO Podcast

In this episode, we talk with Luke Davis, SEO executive at Adzooma.We discuss growing up in the UK, moving to the US and the culture-shock that ensued, growing up using computers and the Internet and how that experience pushed him to learn HTML/CSS on his own, how blogging eventually led him to a career in digital marketing, and how that eventually led him to SEO. We also discuss the difficulty of landing his first true SEO gig, optimizing for a PPC company, the challenge of finding his voice within the industry, and much more!In the news we again talk about the impact of Coronavirus on the SEO industry as well as our personal lives.Finally, we have a deep dive into another incredibly important topic – diversity in the SEO industry.

Working Draft » Podcast Feed
Revision 359: HTML/CSS für EPUB und Print Stylesheets

Working Draft » Podcast Feed

Play Episode Listen Later Sep 27, 2018


Wisst ihr, wo semantisches (X)HTML, CSS und ganz, ganz, ganz viel Responsive Design unglaublich wichtig ist? Bei Büchern! Jedes EPUB ist im Grunde ein gezipptes Bündel an Web Dokumenten, für euren Les…

Tech Talk Radio Podcast
August 19, 2017 Tech Talk Radio Show

Tech Talk Radio Podcast

Play Episode Listen Later Aug 19, 2017 58:48


Windows Safe Mode (why and when), Gmail attachments (when using Apple Mail), Facebook feed (turning off video sound), becoming a programmer (learn HTML/CSS, Javascript, Ruby/Ruby on Rails), fixing a corrupted print spooler, Profiles in IT (Patrick Collison, co-founder and CEO of Stripe), pinhole projector (a good way to view the solar eclipse), Eclipse Glasses (beware of fakes on Amazon), Advanced Mobile Location Services (supported on Android, not support of iPhone), crowdsourced AI medical diagnosis app (using the collective wisdom of doctors), Drone Use of the Week (tree planting in Myanmar), iPhone Audio Trick of the Week (audio equalization), and fifty year-old woman learns to code (launches new career as Business Analyst). This show originally aired on Saturday, August 19, 2017, at 9:00 AM EST on WFED (1500 AM).

The Frontside Podcast
057: Demystifying Software with Liz Baillie

The Frontside Podcast

Play Episode Listen Later Feb 9, 2017 47:43


Liz Baillie @_lbaillie | GitHub | Blog | Tilde Inc. Show Notes: 01:32 - Becoming a Developer 07:54 - Website Building 12:03 - Understanding Programming 17:34 - Coming to Peace with Ignorance 22:25 - Systems Programming 26:46 - Making Goals for Yourself 28:57 - Math and Programming 38:08 - Open Source Resources: Wicked Good Ember Liz Baillie: Journey to the Center of Ember Test Helpers Fibonacci Number Freewheel: Volume One by Liz Baillie The Flatiron School Skylight Impostor Syndrome Twilio Letter to a Young Haskell Enthusiast Hello, Con! OSCON Transcript: CHARLES: Hello, everybody and welcome to The Frontside Podcast Episode 57. My name is Charles Lowell. I am a developer here at The Frontside and with me is Stephanie Riera, also a developer at The Frontside. Today, we have with us Liz Baillie, who is a developer at Tilde. I am actually really excited to have Liz on the show. I saw her at Wicked Good Ember back in June of 2016 and her talk was definitely one of the more memorable ones. You come away from a conference kind of only remembering a certain number of talks that stick in your mind and as time passes, the messages may fade but some of the message just stick with you and the one I got from her talk was a feeling of empowerment that, even though I have a lot of experience, I could approach any code base and try and grapple with it and understand it. I came away thinking, "There are a lot of code bases out there that I don't understand but if I apply a certain set of techniques and a certain level of fearlessness, I will actually get there." You know, if I want to go attack something like I don't know like Kafka or something like that, I would feel better about that. That was actually a great feeling coming away from that, a feeling of great power so thank you very much for that, Liz. LIZ: Yeah, no problem. CHARLES: Why don't we start with a conversation of how you came to be a developer? Everybody's got kind of a unique path. What's yours? LIZ: Well, I went to art school and I studied comic books. I actually have a bachelor's degree in comic books. I was a cartoonist for a number of years and at some point, maybe like 10 years ago, I had a friend who was a programmer. He's a web developer. But I didn't even what's a web developer was. But I knew he worked at home and he made his own hours and he made a lot of money. It seemed like an awesome job so I was like, "How did you get into that?" And he's like, "I don't know. I just kind of mess around and figured it out." And I was like, "Uh... I don't know what that means." Like how do you start? I have no idea. I went to the bookstore and I look at the For Dummies books and I got Programming for Dummies or something and it was like Visual Basic, I think. CHARLES: All right. What year was this? LIZ: That's 2004. I guess, it was a little more than 10 years ago. But it didn't say that on the cover. It was like 'Programming' and I was like, "Oh, cool. I'll learn programming." I don't even know what the difference of languages was or anything like that. I did a couple of exercises in that book and I had no concept of how this would become a website ever. I was making 'Hello, World' and little things that spit out Fibonacci numbers or whatever. I kind of gave up on that and I was like, "I don't care. I don't mind being poor." I'm used to it so I kept being a cartoonist, putting out books and stuff. I did a little PHP and HTML type of stuff in making websites for myself in between but I don't really consider that programming. It didn't feel like programming. CHARLES: Did you ever put any of your cartoons on the web? LIZ: Oh, yeah. Google me. They're there. [Laughter] LIZ: I might have some stuff like my web comic, I'm not sure if it's still up. But I had a web comic called Freewheel, which was about this girl who runs away from home and joins a band of magical hobos. CHARLES: That sounds like a career change to programming. It was oddly prophetic. LIZ: Yeah. It's out there. Anyway, I got to a point where, long story short, I was tired of being broken for all the time and I have to figure out some way to make money that I like doing so I thought, "I would go back to school," so I went back to school. I didn't start out with computer science but I took some math and science classes and I got really into math a lot. I really enjoyed math so I started looking into what careers can I do that are math-y. Somebody said, "If you enjoy the problem solving aspects of math, you'll love computer science," so I took a Computer Science 101 class or something like that and I got really, really into it like I just killed it. I just loved it. It was awesome. But I still didn't understand how you made that a website. In the back of my mind, I was like, "We did this thing --" We learned Python in my class so there's some program we had that like move a little turtle around and do pictures or something. I was like, "I don't understand how this makes a website." CHARLES: You got to move that turtle around a lot, especially like account for the kerning in the fonts and stuff. LIZ: Yeah. I have no idea how you make that a job, like the stuff that we were doing like spitting out Fibonacci numbers and making a little adventure game or something but how does that translate into anything else. That was in 2014 and that was around the time that web development bootcamps were starting to be more of a thing. I heard about a school called the Flatiron School in New York which is right at the time and I thought, "This sounds great. In three months, they'll actually teach me how this makes a website and finally know how does this make a website?" I applied in kind of like on a lark. I don't think I'll get in, I didn't know how can I afford it or anything and I applied and I got in. I was really lucky that my stepdad help me pay for it so I don't have to worry about it. I did that in three months and then I got a job. In November 2014, my first web job and now I know how those codes make a website so here I am today. CHARLES: What a journey. LIZ: Now, I live in Portland, Oregon and I make websites. Not really, I work on web apps, I guess is more accurate. CHARLES: So you actually went straight from the Flatiron School to working at Tilde? LIZ: No. I was in New York at the time and my first job was at an ad tech company called SimpleReach and I worked there for a little over a year before I got the job at Tilde, then I move to Portland. A year ago yesterday was my first day at Tilde. CHARLES: Fantastic. Knowing that company and knowing what they do, they must have you doing some really, really fascinating stuff. LIZ: Yeah, I do a lot of typical web stuff. I work on the Ember side of our app, Skylight. I also, more recently have been working on Rails engine that's also a gem that spits out documentation automatically, which is pretty cool. CHARLES: Now, is this documentation for the product or is it just documentation for any real site? LIZ: No, it's for our products specifically but I don't think it would be very difficult to alter for someone's personal needs, other than ours. But it's basically like if someone can write a markdown document, then we'll parse it and spit it out into HTML and all these different places so that it just updates the whole documentation site around our products. CHARLES: Basically, there's an infinite amount of stuff that has to happen to make a website because there are literally so many moving parts. What's been your favorite kind of area, I'll just say the whole website building because that really is like the tip of the iceberg. The actual iceberg goes way, way, way beneath the surface. But what's your favorite location on the iceberg so far? LIZ: I kind of like the middle, I guess. I always feel bad saying it because everybody talks badly about CSS but I just don't like it. I tried it really hard. One of my resolution this year was I'm going to try really hard and I'm going to like it more. But what I like the most is whenever I get to do pure Ruby. I learned Rust in the last year or two and anytime I get to make the stuff behind the visual aspect work or kind of like meta stuff. I'm saying this and it's totally wrong but I did my first meta programming the other day or last month. The metaprogramming that I did ended up getting cut out of [inaudible] but I got to do it before it got deleted. It was pretty cool. CHARLES: That's generally how it works. Metaprogramming is the program we do that we end up hating ourselves later for but it's really fun. LIZ: Yeah, they're like, "This is cool but this is not the most efficient to do this." It's like, "I guess, we don't have to dynamically create methods based on all our filenames. CHARLES: As far as the CSS goes, I actually see CSS like raw kale. It's actually really good for you, if you like to it eat in large quantities and it's like fantastic but it's not always the most pleasant going down. LIZ: It tastes bad. It has a terrible feel. It's like eating rubber. I am really lucky, though that I worked with a couple of people who are incredible at CSS and when I get to pair with them, it's like watching magic happen. CHARLES: Yeah, you realized, for all its quirks and strange ways that you approach it, is an outlier but it is kind of a fully-formed programming model that has a lot of depth and a lot of people have really, really generated some pretty neat abstractions and ways of dealing with CSS. But it is like, "I just want to fix this one thing," and it's basically a sea of things that I have no idea how to navigate. LIZ: It's one of those things. I always think it's funny, anyway that I come from a visual art background but the thing I like about programming is anything visual. CHARLES: That is actually really is fascinating. LIZ: Yeah, when they hired me here they're like, "You're going to be really good at design," and I'm like, "I just want to do programming." CHARLES: Like never the temptation, like this is just because you've actually kind of drank your fill of that in a past life? LIZ: I think I've talked to my coworker, Kristen about this because she actually has a design background and we paired together all the time. She's one of the people that I was talking about who are geniuses at CSS. She's a genius at it. She has a design background. We've talked about this how art and design are kind of different, like the brain stuff that I use to make a comic is really different from designing a book cover or designing an experience. It's all part of the art side of the brain but it's different compartments of the art side of the brain. I don't really have a design background as much as I have like a narrative and a drawing background. STEPHANIE: That and your interest for math that probably has a factor. LIZ: Yeah. STEPHANIE: Going back to your journey, I wanted to ask about it seems like it took you awhile to knock on different doors and finally feel like, "Now, I understand. How do I work with what I have to create a website?" We have similar backgrounds in that. We didn't start off in programming and I also went through a code boot camp. But mine was a little different where when I finish, I didn't really feel I understood what programming really was. I still felt like I understood a primitive level like just building something, just a 'Hello, World' using HTML CSS. When I finished, it took me a year and a half to actually get a full time programming job, like a legit job. Before that, I was scrambling doing three part time jobs and lots of WordPress grunt work. Even though I thought it was actual experience, it was enough experience but I feel like a lot of the programming concepts that I've had to learn and just basic functional programming, I've learned it on the job. I don't yet feel like I am a legit 'real programmer'. We were talking about the Pinocchio thing like, "I'm a real boy." But I want to be a real programmer. [Laughter] STEPHANIE: What I'm curious about is at what point did that happen? When did that click and when did you stop having -- I'm sure at some point you had -- impostor syndrome? When did that just evaporate and you're okay? LIZ: I still have impostor syndrome all the time. It's weird that it's like I have a sense of, "Oh, I can figure anything out." At this point, I know who to ask or where to look and I could figure anything out if I really wanted to. But I also feel like everyone else is better than me. I get impostor syndrome in that sense, not that I'm not a programmer but that everyone else is better than me. When did I start feeling like I was a real programmer? Definitely not at my first job. When I started my first job at SimpleReach in November 2014, I had two months in between bootcamp and the job. In that time, I made some weird little apps but nothing super serious. I made an app that I use the Twilio API to anonymously text Seal lyrics to people. It sends either lyrics from Kiss From A Rose or a fact about Kiss From A Rose. You can choose which one. I made stuff like that. CHARLES: [Singing in the tune of Kiss From A Rose] There's was so much in app can tell you so much it can touch. Okay, I'll stop. I'll stop right there. I promise. LIZ: Yeah, so I did stuff like that and I sort of wrote my own crowdfunding to go to RubyConf because I gotten an opportunity scholarship ticket that year. But I couldn't afford to go otherwise. I did a little crowdfunding thing but I did little things like that. I didn't really feel like I understood everything so I was looking on other people's code and forking stuff to make all that happen. Then I got my job and it was small-ish start up at the time and they didn't have a whole lot of on-boarding at all. It's kind of like I showed up, they gave me a computer and it took me three or four days to get their app running locally. It was just a lot of leaving me to my own devices a lot of the time in the beginning and I was kind of like, "I don't know what I'm doing. What do I do?" It took a while. As the company matured and as I matured as a programmer, they kind of develop a little more infrastructure, I guess for supporting junior engineers. As time went on, I became better and they became better at mentoring me. I don't know when I felt like a real programmer, probably sometime in the middle of that job. I gave my first technical talk, I guess or conference talk at EmberConf in 2015. I gave a lightning talk at the behest of the Leah who is now my boss. It was a five-minute talk on why testing an Ember sucked at that time. It sucked for me to learn and it was really hard. I wanted to learn it but it was really hard. Then after that, people started talking to me. They came up to me after and they are like, "Oh, my God. Blah-blah-blah." I was like, "I don't know half the stuff these people are saying. I don't understand what you're talking about." I'm going to smile and nod. But maybe a little bit after that, I kind of started feeling more that I could solve problems. I think public speaking actually helped me a lot with that like when I realized that I had something to say and that people want to hear it, then I could help other people feel empowered to learn stuff, I think that was part of it as well. CHARLES: Yeah, I really like that. Obviously, I'm going to push back a little bit on Stephanie, just in terms of the day-to-day. You definitely deliver daily as a programmer so you can look at that. You've mentioned this at the very beginning of your answer and it almost really sounds like what you came to be was more of a kind of a peace with the things that you didn't know, rather than feeling confident about the things that you did. You said something and I'm going to paraphrase it but it's like, "I got to the point where I became sure that I would be able to figure it out." Or, "I had strategies for being able to figure it out." Maybe we can unpack that a little bit because I feel that's actually very, very important and that's a skill that's important to have at any level of experience in your career, whether it's one year or whether it's 20. Certainly, that message when I saw you speak that's something that I took away as a very experienced developer. I felt actually empowered by it. What are some of those mechanisms to feel at peace with your own ignorance? LIZ: I think part of the problem for me, I started learning how to program before I went to dev bootcamp or whatever, that I was really good at stuff. I actually think that was a problem because I was used to succeeding immediately or like always doing everything right so it's hard when you start learning something and you don't realize when you first start learning programming and it's not supposed to work immediately, like you're starting with something that's broken and you're making it work. CHARLES: Right. In fact, 99% of the experience is like every time I look at a piece of software, I'm like, "Someone sat with the broken version of this for a year and then it work and that's what I got." They got to live with the working version for two seconds before it came to me and they spent the rest of the time, totally broken. LIZ: Yeah, totally. It's hard when you're used to creating something from scratch like doing comic books and like writing stories and stuff. It's never broken it's just blank and then you add to it so I'm used to that sort of workflow. Then I started in this new field where Rails is new or whatever then it's just errors as far as the eye can see until you fix it, until you configure it, you made it work. It's hard to change your mindset into that. It's easy to feel like a failure when all you see is errors and you don't know that that's normal. I helped a couple of my friends to learn to program and I think the biggest hurdle is just mentally overcoming that it's not you, you're not a failure. It's just that everything's broken until it's done. STEPHANIE: I can definitely relate to that. I was always one of those overachievers, straight A, AP class. I'm not even kidding. In my high school, they called me Hermione, which for those that don't know, that's the girl from Harry Potter. It's like you take it really personally when you feel like you're a failure. You feel like you can't deliver, you don't pull your own weight. For me, it's actually so overbearing that it can even inhibit you from doing things like public speaking or other activities. But one of the reasons why I do like to teach whenever I can is because that's when you realize, "I do know a lot of things," like how to do stuff on Git and just basic things that you don't even think twice about. I volunteered for this these high school girls and no one really gave me any instructions and I just rolled out of bed for this thing and just have them build a basic cute little web page with their picture and this and that. I had to really think hard to how do I put just a regular image tag and I had to peel back all the old layers of stuff that I don't do anymore. You don't think about those kind of things in Ember or JavaScript frameworks. I caught myself in keep on saying dom and this and that and they were like, "What is a dom?" And I'm like, "Urghh." But then I realized, I do have all this context, I guess I don't appreciate it or something. LIZ: I think talking to beginners when you're slightly above beginner-level in helping other fresh beginners is one of the best things for you as a new developer because you realized, you're like, "I actually know stuff." STEPHANIE: Yeah, that's usually the type of advice I like to give to other aspiring junior programmers. I also wanted to ask about it seems like now you're going through something similar because you tweeted or you're asking about systems programming. What's that like? LIZ: I'll start at the beginning. When I started at Tilde about a year ago, I knew that we use Rust, which is a systems programming language, a lower level language than Ruby or JavaScript. We use it for some aspects of our stacks. I thought, "That's really cool. I want to get into that nitty-gritty type of stuff so how do I learned that?” I started learning Rust but I didn't really know how to apply that knowledge. I wrote like a little adventure game in Rust and it was almost exactly the same as when I first started learning about web development, it's similar to how does this become a website, instead of like, "How does this become a computer thing?" I don't even know what systems programming is but I hear Rust is a systems programming language so I want to learn that stuff, like what is that stuff? A couple months ago, I think it was, I tweeted like, "Anybody have any probably three systems programming resources so I could learn more about systems programming?" And I got huge amount of responses. Everybody was super kind and helpful but a third of the responses were like, "Well, what kind of systems programming?" And I was like, "I..." [Laughter] CHARLES: "The kind that happens on a system?" [Laughter] LIZ: I don't know. It was kind of the same thing. I think I used this metaphor earlier but it's similar to when I first started learning programming it was like I was standing at the front of a forest and I knew that the stuff I want is in the forest but I don't even know what a tree is, you know what I mean? Eventually, I learned what a tree was then I learned what a map was and I learned how to get through that forest. But then in the middle of that forest, I was like, "Oh, there's a tunnel," like there's another stuff. "I want to get on to this tunnel," but I don't know anything about living underground, you know what I mean? Like, "What do I need? What even is there?" I have no idea so that's kind of how I feel about systems programming. At the moment, I'm trying to go into this tunnel but can I breathe down there? I don't know. Where does it lead? CHARLES: I feel like at that point when you're about to enter into the tunnel, can you intentionally apply filters for information that at that point is not useful like the difference between a stalactite and stalagmite is not useful when you haven't even gone into the cave yet and you're just like, "How do I actually just get down there with a flashlight?" How do you go about deciding which information is useful and which is not at your particular stage? Because obviously, it's all going to be useful at some point but at what point it becomes useful and what point do you just catalog it and put it for later? I feel like that's very, very hard thing to do. Do you feel like you're able to do that? LIZ: I'm not sure. I think I said this earlier but I feel like I can figure most things out at this point like if I really want to. One of the things I learned just from talking to people on Twitter about systems programming is like, "Oh, some examples of systems programming are operating system," or like a browser engine because I'm still learning Rust and I gotten to write as much lately but I know that there is servo which I believe is a browser rendering engine written in Rust, it's something like that. CHARLES: Supposedly it's going to powering Firefox at some point. LIZ: Yeah, stuff like that, I think is really interesting but now I know a little more about what to look at in terms of as far as I understand, there is probably an infinite amount of different kinds of systems: operating systems is one, maybe a browser engine is another. I can't remember the others but I'm sure people tweeted it out to me. STEPHANIE: I feel like we touched on something which is it can get overwhelming when you're starting off in something new. Trying to understand what you don't know that you don't know. LIZ: Yeah, that's the hardest thing. STEPHANIE: How can you make tangible goal marks for yourself if you don't even know what you don't know? When I first started off, when I would pair with someone that was more advanced, I remember having a realization that every time I would look for an add-on or I'm looking at someone's repo, I would take my time to read everything about it, all of the Ember documentation and I need to know everything. Then later I realized that is totally not the case. Like Charles said, people develop this filter for noise and only focusing on not the entire tool box but that one tool that they need for that one specific thing that they're doing and I realized it only when I was pairing with people and seeing that. They go to this repo, skim it, "No, this is not what we need. Let's go to the next one. Let's try to find a method that what we need," and then they would just search on the page. "Oh, this looks kind of similar. Let's plug this in," and I'm just like, "What? You can do this? You can just copy/paste someone else's stuff?" and it was amazing. But when you're starting out, you don't know all of these things and unfortunately, kind of waste a lot of time thinking that you need to know everything and you don't. CHARLES: Yeah, Cheating is totally a virtue in so many cases. [Laughter] LIZ: Totally, for sure. CHARLES: Just being like, "I don't need to understand this," but I just know that it works. You pushed at what point that happens like further and further back but that boundary of understanding is just simply always going to be there. No matter where you are, that kind of veil of ignorance, you can push it out but it's just can be further away. I am actually curious, you mentioned you got really into math, this is when you went back to school. What drew you to that and how have you applied, if you've applied? Have you found it to be an asset in your development career? LIZ: For sure. When I first went back to school, it was with the idea that this is totally different now, obviously. I thought I might become a veterinarian -- CHARLES: You need a lot of math for that, right? LIZ: Well, it's like a lot in biology and there's a lot of math and science and stuff. I had to take a bunch of science classes and take biology and chemistry so that involved taking some pre-calculus and calculus and more calculus. What I realized, though was that I hated biology and chemistry but I love the math that I was learning. I loved the process of problem solving and just figuring out puzzles. When you get into calculus, how you solve problems, they're similar to how you solve problems in programming where you have sort of a framework like I have this certain language which would be the different theorems or whatever in math and you can just pick and choose which ones will fit your problem and if you're taking a calculus test, you could be sitting next to the same person and you might come to the same answer in different ways so it's similar in programming where you have all of this documentation, you have these languages, you have use other frameworks and you can solve the same problem in a million different ways. But in terms of how people talk about needing math for programming, I don't necessarily think you need math for programming but if you already like math, it's definitely sort of a happy path, I guess because you get the same joy out of programming that you get out at solving calculus problem. But if you don't like calculus, it's okay. I don't think it's necessary. CHARLES: One of my favorite blog posts of all time is this letter to young Haskeller, I don't know if any of you guys have ever read that. It's fantastic and it's an experienced person in the Haskell community talking to someone who's just coming in and it's incredibly empathetic and wonderful. I think it's a message that needs to be heard more generally. I think it's ironic coming out of the Haskell community as it does because they definitely have a reputation for being a little bit salty and a little bit exclusive. But it's actually a very inclusive message. One of the great points they make is they say we've got the whole equation reversed. It shouldn't be, "Math is hard, therefore programming is hard." It should be, "Programming can be really fun, therefore math on which programming is based, can also be really fun." You can go both ways. If you find math fun, you can find programming fun and if you find programming fun first, you can later go and have fun with math. You can pick and choose which parts you want. I think it's a great message that needs to get out there. LIZ: I think it's also really, really important to note for anyone who might be listening that is getting in to programming, that is scared of math or has had a bad experience with math that it is not necessarily to love math. I think that scares a lot of people away and a lot of the stuff that people learn when they're first learning programming are math based. When I was in the Flatiron School, Some of the exercise we did in the beginning with just pure Ruby were Fibonacci sequence. They were sort of math-y and that turns a lot of people off and makes people scared. If someone is hearing this and has experienced that, don't be scared. You don't need to worry about it. But if you love math, then it's great but you don't have to. STEPHANIE: I'm one of those people that always had this mental block of like, "I'm not good at math." I was good at everything in school. I excelled at everything except math. I think a lot of it came from my struggle when I was a kid so you have this self-perpetuating thought that you aren't good at something. Every time you take a final or something, you blank out because you have this mental wall in your mind. What I found weird was I was doing the exact same thing. I was taking calculus for bio-sciences and physics too at the same time. In physics, I loved that class. It was so awesome and I realized that half the stuff I was doing was going backwards in all of my problems and it was fun for me. Eventually, I was taking a final for my calculus class and I didn't remember the equation that we needed for that class so I took out all the variables and I solved it as if it's a physics problem and I got the same answer and I was correct. I realized at that moment, if you just remove the negativity from your mind and you try to apply yourself in the same fashion as you would in something that you enjoy, you'll just forget for the moment that it's math, that it's something that you 'suck at'. You actually could do good in it and not get stuck. I realized I actually do like math when it's veiled as chemistry or physics. LIZ: I think a lot of people have that experience with math. They have a really bad experience when they're young and then they get stuck and they feel like they're just not good at it like somehow, on this subatomic level, you just can't change it or you're not good at it. It's not really true. STEPHANIE: Yeah. CHARLES: I actually love that example because it is, it's all integrated. We are constantly doing things like math without even realizing it. Actually, one of the things I love about the Montessori education is that's the way they actually teach it. They have all of the different great lessons, they want to convey to the children which is things like courtesy and grace, things like taking care of your things, things like music. But for all, I think they've got a bunch of different categories but they make sure that they always intersect with each other and you get that in surprising ways to make sure that if a child likes music, use the music as a way to introduce them to arithmetic. If they like arithmetic, use that as a way to introduce them to music. If they have things doing design, I don't want to say, interior designer or clothing design but practical life stuff and if that's something that a child really is drawn to, then they'll use that as an introduction to music or geography. There's all these parallels that are constantly there and you can ride whichever rail works for you to whatever area that you want to go. There is no set way to approach math. You literally can find a way that works for you. STEPHANIE: The subjects aren't mutually exclusive, "Because you're not good at this, probably you shouldn't become a programmer." CHARLES: It's not expected that every child will grow in one subject at the same rate that they'll grow in every other subject. They just let the children explore the area that they're interested in and let them go crazy. If they're really into art, they just let them explore and learn as much as they can and then slowly entice them and just show them the connections that art has to courtesy and grace to math to music to other things and let them see those connections and then follow them on their own. That's why they call it -- the kind of grown up in there -- the guide. It's really there. The way that they push is by showing them the connections but then using the kind of internal motivations of the children to move. I actually have some pretty strong feels on this. I feel like our education does leave a lot of people behind because there's this expectation that in every single subject, everybody will goose step forward at exactly the same rate and that's just a fable. It's not real. It's not how the human mind works. LIZ: Yeah. CHARLES: But yeah, I actually think, certainly for me and my connection to math has been helped by the fact of programming and now, later on after having done a lot of programming, so much more is interesting to me about math and I can see beauty in it, I think where I didn't see beauty in it before. STEPHANIE: For one of the projects that we've been working on, we have been doing an Ember upgrade. I basically needed to get some changes for one of the dependencies and I have no experience in open source, whatsoever. That happened for the past two weeks. I was making a lot of PRs to two different dependencies and that was my first experience with open source. It was less scary than I had imagined and I actually got a lot of great feedback from it. Now, I realized that it wasn't as hard as I thought it would be and most people are very receptive to your PRs or if you have questions about their open source because they need help, they need people to help them tackle all the issues that they have so I'm curious, do you have any advice for people that are interested in contributing to open source but they may find it daunting and they don't want to look dumb or do things the wrong way? LIZ: One of the things I've been interested in since I started learning programming is open source because I enjoy collaborative atmospheres and just the idea of a big group of people coming together to solve problems. It was something that I wanted to do since the beginning but it's super intimidating because when you think of people who are open source maintainers, at least to me in the beginning, they seemed way above me like Gods so I'm like, "How can I possibly be useful to these Gods?" At my last job, my manager was like, "I got a couple of goals for you and for your career." One of my goals was I want to contribute To Ember CLI Mirage. That was a goal. I just thought, "This is a great add-on. This is a great project and everyone uses it and I love it and I would love to contribute to that." I made it a goal but then in that in the middle of that time period, I got a job here at Tilde and I went to Portland. Shortly after that, I went to the repo and I was like, "I'm going to do this thing," because one of the reasons why I chose it as a project to contribute to is because I heard Sam is a really nice guy. One of the things was that I was really intimidated by the people maintaining projects is like, "Well, he's not intimidating." I feel okay about this so that's a good first step. The second step is let's find a thing to do so I look at all the issues on the repo and I find something super simple which is just adding in-line documentation. That's what I did and I was like, "Can I pick this up?" I was feeling super shy so I didn't even want to put it on the issues so I think I just pinged him on the Ember Slack and just like, "Can I help with this?" He's like, "Yeah, yeah. That's great," so I made a bunch of in-line documentation additions to the project and I made my first PR and it felt like such a way that it's not as scary at all as I thought it would be so I started contributing to other projects, things that just came up. Not so much like in your situation where it was a dependency I was using but more like I saw somebody tweet about it and like, "I just made this project and I think there's a bunch of typos. Can somebody just spell-check this for me?" I'll go in and do a couple of typo fixes. Another situation when I was reading through a repo because I want to learn and there's a project called intermezzOS which is Rust operating system, like a tiny operating system. I was just reading the code and I was like, "There's a couple of typos. I can fix this," and stuff like that and I found, through that experience, that open source maintainers are super happy to have you help in any way that you can, even if it's a little things. In the last couple of months, I started my own project which is like an app -- it's not an add-on or anything. I actually got my first couple of PRs from other people and other people are helping me build it. I don't think I've ever met but every time I get a PR, I feel like I won a prize. Every time someone contributes and I'm like, "Thank you." I cannot give you another -- [Laughter] LIZ: I love that you're helping me. You know, like I only have one hour a day to work on this thing so anything, anyone people can do to help me is so great. Now I have the experience of being on the other side and I can attest to the fact that most open source maintainers are incredibly stoked for any help they can get. Even if you're new, just find someone who's nice and ask them how you can help. STEPHANIE: Yeah, that was a realization that I had because I was communicating directly with this person in the Ember Slack as well. I had submitted a PR and later he was like, "Hey, while you're at it, do you mind adding in this one property that's missing?" And I'm just like, "All right. Sure." Later he offered if I wanted to become a collaborator because I was putting in so many PRs and like you said, he hasn't had the time to cut out a new version or to fix the things that you keep in your head, "Okay, I'm going to go back and fix this," and then someone else is like, "I want to fix this thing," go for it. That's the best. LIZ: Yeah, totally. It's a great way to learn more stuff too. CHARLES: I like the point about choosing a project that you know is not intimidating because unfortunately, there is a lot of negativity that happens out there. LIZ: Totally, I knew that and that was a big blocker for me, for a long time. CHARLES: Yeah but knowing that there are actual, I would like to say, a majority I don't know if that's true but it can feel like it's enclaves, just because negativity has a way of clouding everything and propagating but there are certainly areas where we put that way and it's very healthy, it's very collaborative and welcoming and making a definitive effort to first know that they're out there because if you have a negative experience, you make sure that you don't bounce off of that and then define them. I really like that, how you were deliberate about that. LIZ: Yeah, it seems like the most important thing, if you're a new programmer and they're like, "How do I get involve in open source," and your first advice is like, "Find someone who's really nice." It doesn't sound like the right advice but I think it is the right advice. CHARLES: That's because that's where you'll stick. LIZ: Yeah and you'll want to collaborate with that person and that project because you're not scared of being insulted or something. CHARLES: Well, that was fantastic. We can wrap it up. LIZ: I have two talks this year so far coming up. One is going to be in Toronto at the end of this month at a new conference called 'Hello, Con!' I built a type space adventure game in Rust and I built it side by side with the same game in Ruby so I can learn Rust by doing the same thing on both sides. I'm going to be talking about the similarities and differences and things I came across learning Rust as a Rubyist. I also have a similar talk in May at OSCON in Austin about learning Rust as a Rubyist but at a slightly different, longer talk. I did a version of it at RustConf last year. It's kind of in comic book form so it's all of drawings and it's sort of a story about going to a place called Rustlandia as a Ruby person and how you literally navigate that world, not just everything is sort of a metaphor. I'm getting that talk again in a longer form at OSCON in Austin in May. CHARLES: Well, fantastic. You have to stop by the office and come see us. LIZ: Yeah. CHARLES: But thank you so much -- LIZ: Thank you. CHARLES: -- Liz for taking the time to talk with us. This is a great conversation again. You know, I feel like I'm going to come away feeling that I've got more tools to deal, certainly with my daily struggles -- LIZ: Yeah, get pumped! CHARLES: -- In programming. Yeah. LIZ: Programming! Yeah! [Laughter] LIZ: -- One of the Mortal Kombat music comes in -- Tun-tun-tun-tun-tun-tun-tun-tun-tun... [Laughter] CHARLES: I remember actually seeing Mortal Kombat in a theater and I actually getting up and dancing in the theater and then the rest of the movie just sucked. It was like they spent the whole budget on the first 20 seconds of that movie. Anyhow, all right. That's it from The Frontside. Remember to get in touch with us at Frontside.io, if you're interested in UI that's engineered to make your UX dreams come true.

The Frontside Podcast
055: Redux and Ember with Toran Billups

The Frontside Podcast

Play Episode Listen Later Jan 26, 2017 56:03


Toran Billups @toranb | GitHub | Blog Show Notes: 02:23 - Ember 2.0; Data Down, Actions Up 08:28 - redux and State 16:39 - Dispatching Actions/Patterns 24:00 - Components and Routing 31:00 - ember-redux and Cloning the react-redux API 35:22 - Hot Reloading 41:22 - Audience 47:02 - Motivation 50:25 - Building Component Trees Resources: Toran Billups: Test-Driven Development By Example @ EmberConf 2015 Dan Abramov: Live React: Hot Reloading with Time Travel @ react-europe 2015 react-redux Charles Lowell: Immutability is for UI, You and I @ EmberConf 2016 redux-thunk Ryan Toronto: Safety of the herd EmberMap: Component side effects Functional Programming Browserify More Toran Billups Talks Transcript: CHARLES: Hello everybody. Welcome to The Frontside Podcast. This is Episode 55. We're broadcasting and everybody's here in Austin, although we're still remote. I am here with a really special panel today. There's me, which makes it special by default. My name is Charles Lowell. I'm a developer here at The Frontside. I'm also here with Robert De Luca, who also develops JavaScript codes at The Frontside and we have today [drum roll sound] -- I'm really, really going to work that drumroll -- Toran Billups. What's up, man? TORAN: Hey, man. Thanks for having me. I'm really excited to be here. CHARLES: Toran is with us today and he's going to be talking about a lot of things. He's going to be talking about today mostly about Redux and his efforts to meld Redux and make it useful within the Ember community. But first, if you have not heard of Toran, I think the first time we'd interacted over email, Slack briefly but then when I really, really saw you for the first time was at EmberConf, I think in 2015 and he just gave the most amazing talk on Test Driven Development and really kind of the focus on you can set up your acceptance tests from the outside into really define that behavior and set out that firm shell and then actually build your application from the outside in. You've really kind of been talking about that message. We like to have people on here who all about walking the walk. That's certainly the first thing that I've noticed that you were doing in the community but then more recently, you've been playing with Redux. Not playing with Redux, actually making a concerted effort to bring this kind of pattern into Ember. I just wanted to start out, how did you jump onto that track? TORAN: Some months after EmberConf in 2015, as you mentioned that talk was not only, probably the most well-rehearsed talk I've ever given but definitely the most well-received. I got a lot of people excited and really gave me a lot of opportunities that weren't there before that was also believe in that keynote in 2015 as when Ember 2.0 was announced. The interesting part of Ember 2.0, of course was we were using it, and it was called Ember 1.13, which actually made it really great. At the time, I was very much excited about the stability that offered. Other folks were not as much as interested in that idea or those values, in the JavaScript community so it's really exciting. Yet at the same time, there was this new mantra that was being talked about more that I knew nothing about. It was this 'data down, actions up' idea. I still remember as much as the stability was awesome, I also started to doubt not Ember core in particular but the ideas that were being espoused by other folks around the Ember core team because I didn't really understand the value. For instance, if I had the tree of components back then in early Ember 1.13 or 2.0 days and I had an Ember model or some kind of Ember object at the bottom of this tree, why would I not just do Ember.set. I remember, actually you may recall conversations you had with people at EmberConf around that time but there was actually varying definitions of what 'data down, actions up' meant to different people and actually never met the same thing to anyone. It was funny enough. Because of that, it sort of drove this fear in me that I didn't know what I was talking about. I was consulting at the time so I wanted to sound like I knew what I was talking about as you probably should. You guys are in that business so you know what I mean. Because of that doubt, eventually I sort of become apathetic to really trying to understand better what 'data down, actions up' meant or how components should be constructed and really what the wider impacts of Ember 2.0 meant. Because of that, I just found myself, not really loving learning. I felt like everything else in learning was a hyped up thing that would never happen or a hyped up thing that I didn't really understand or didn't make sense in the context of Ember at that time so I just kind of floated by. Everybody has their ebb and flows in the journey of excitement or not. For me, this was just the down moment. One of the things, like an analogy to this is when you lose your hunger in real life, you'd be very much like losing your hunger for learning. There's this interesting hormone that your body produces when you're actually physically hungry that kind of gives you the physical symptoms like your stomach cramps that tells your brain probably should eat somewhere. When those things aren't happening or that hormones not being produced, it's often because you've quit eating yourself. If you've ever gone on a fast or something weird like that on day three, your body quits secreting this hormone so you just sort of or not hungry at all, which is kind of weird. The same sort of thing was happening to me. If you ask a doctor or a physician, "What's the first thing I should do? I'm not hungry anymore." They'll tell you, "You just start eating." But I'm not hungry now so the same thing applied in my life and I think the first step really is just eat anyway. In this case, it was just learn something anyway even if you're not in love with learning right now. Eventually, your body will start producing this hormone, in the hunger example and for me, I just sort of got back in the flow and what came from this was a routine, which is really the second part of how you get your hunger back, not just eating once a day. I was eating three meals a day or more, especially if you haven't been eating. For me, I just set aside an hour a day, in addition to consulting work and things that would get me interested in loving learning again. The third component to this was trying something different. At the time, of course I was just doing Ember, I pretty much had done Ember since 2012 like some of you guys and I feel like there wasn't a lot of new. There was patterns and ideas but there was anything really challenging me. That's when I sort of looked around at the React community and I had done some React in the early days when I was super hyped up but I still feel vaguely different. Not that it's jQuery or any way but I didn't feel like this fully encompass single page out framework. The reasons I got into Ember very early on were that I wanted to build rich single page apps. If you guys remember from the early React days, that also wasn't really the messaging with React and maybe today with View. In fact, that's kind of one of the benefits or they speak to in those communities about why you use React because you don't have to use it for your whole app. You could kind of piecemeal it in, which totally cool. You got to see it out with Ember too. But in my mind, I just wanted to build a rich JavaScript lines that could compete with the iPhone or the iPhone apps that were popular in that day. Through this process, I started looking at React and really just kind of get back into it again, get going again. I wasn't really in love with it but I needed to try something outside of the realm I was used to. As part of that, I noticed there was this talk by Dan Abramov, I think he works for Facebook now, big in the React community, of course and he gave this talk at a conference in Europe that introduced Redux. What's funny, if you find out or dive deeper into that story is he actually pitched the talk, not really having built any of this and just thought, "This sounds like a great idea," and then of course the talk was accepted. Like most, he delivered on that promise and made a great talk. There are definitely courage folks to check out and I should link it to you here. We can show noted that, I'm sure. That talk make me excited mostly because there was a lot of whiz-bang. If you guys remember any great talk you've ever seen, the talk even that I gave at EmberConf that you mentioned, Charles the thing that blew people away was this very end moment that, of course I had produced to be a great moment. In the same way, Dan during this talk introduced some new ideas or new to the JavaScript community. One of those was the tooling that can change when the state doesn't change in your application. That got me sort of piqued my interest, in part because I was actually big test driven guy and I thought, "I won't use any of this stuff. It just seems cool. It's a gimmick. Tester development is how you really build app." If anything I thought to disprove it by getting involved and learning a little bit more but what I instantly found was the simplicity of data changes rerender. That sounds very high level, of course but it was almost just that simple, instead of being like how does this change to an object in my array, bubble out through notifications on the Ember side and notify the Ember change detection to rerender. Well, I'm not entirely sure so when I was start debugging that, I noticed a lot of framework code between me and the rerender. It's that's how Ember is, right? When I boiled that down in jQuery with vanilla Redux, not even using React at all, I was like, "Wow, there's just a call back. I wonder why I haven't been doing this." CHARLES: As a single callback for a global state? TORAN: Correct. CHARLES: So there's no call back for every single path in your tree. You just used that one call back? TORAN: I'll fill in for Rob here. I know he's jumping at it. You should probably define a Redux is. He's really good at asking that question. Redux in this case, for me is just a global JavaScript object to use to hydrate your templates. They'll give you some big spiel about state container, if you go check out the website. But for me and in this context of being on an Ember-centric sort of podcast, we already use this idea in Ember today. If you're just feeding your templates from some high level service, it's a very similar idea in that Redux is just a single service. In the Ember case, especially you can talk about the add-on, I maintain later, but really it's just a service with a single object that will help you populate all of your components. ROBERT: Yeah, I love Redux. I actually sort of coming into the Redux world, probably to about six to eight months ago and it was around the same thing like exploring React stuff. I share similar opinions to you as nobody really can define 'data down, actions up'. I also think that 'data down, actions up' cannot just live in the component. In a lot of the Ember apps I worked on, there's times where I'll be looking up to get a new state and it comes in from the side and something's mutating, something that I have no idea why and where it was mutated and Redux does a really good job at helping you manage what changes and why it changed. CHARLES: I have a question too. When you're actually using Redux, you said you got a single tree that you used to hydrate your templates. In the context of Ember, where do you maintain that single object? I assume you have one store, one instance of your Redux state per application? TORAN: Correct. There's just a service like you imagine in the Ember data service and that holds on to really just an identity map or a single graph object that will let you pass or pull that in by injecting the service into your components if you want to do that or your route then just asking for that state. CHARLES: Because I think that for a lot of people in the Ember community certainly, when I was kind of grappling with these ideas, the idea of having a single global object as your state seems so counterintuitive, so going to go against everything that we learned, that you have to decompose a problem into its component parts. Obviously, Redux has an answer for that so how does that work? How do you decompose that state into saying, "I'm just interested in this kind of local state." How does local state work in Redux? TORAN: I should define local state is state specific to the component. It doesn't need to bleed up and has no value at the global level. CHARLES: Usually, I got two components. Let's say, I want to store both of their states in the Redux store. Obviously, component one is not interested in seeing any state that's not related to it so it's only interested in its own state and it's not interested in any of the surrounding context. How does that work? How do you connect a single component or connect a route to the store? TORAN: There's really just a simple method on Redux -- the Redux store itself, which it says, "Give me the state." What may not sound great at first is that it say, "I will give you all the state and that is your job to pull from that or map three attributes from that whole tree into my component." Then by side effect if you're using our add-on or if you don't React-Redux, you actually subscribe then to call backs on any of those changes so if something were to be bumped, then your component is given the opportunity to rerender during that call back. CHARLES: Now, in terms of Ember-Redux, that kind plumbing is hidden from you. You don't actually have to explicitly map that state. You can say, "I want to connect this component into the Redux store," and you're just off to the races. ROBERT: Is there a mapStateToProps or... I don't know what that would be called in Ember-land. TORAN: That brings about interesting point. I literally copied this API that you guys are probably looked at from the readme from this very popular project in React called React-Redux. The word that you're using, Charles is this word connect. Actually, I like that word because that's how I think about it. I want to connect the components to the single source of truth and then respond by rerendering when something changes. The API is actually very similar on what you said, Rob. In fact, the set of mapStateToProps is just map states to computed, which is very much the same idea so instead of really defining the component like you might normally, this is where it gets a little weird for your classic Ember developer, you actually just write two functions and really only one is require. The first one is what you're hinting at Charles, which is I want to pull from the state a set of properties and as you mentioned, the plumbing is sort of hidden, magically those are actually created as CPs or Computed Properties on your component so you can go to your HPS file, your handlebars template and say, "Oh, I took number from the global state and I'm just going to map it in this function and now I can go to my handlebars template and number," and there it is. Every time you bump number up or down, you'll get a rerun in your callback and the HPS will update. The other function, as sort of glossed over is really just for your closure actions. If you would like to ask the store to do something and saying, "I would actually like to increment the number," then you can fire an action and the second block just does also additional magic, which just maps a closure action by letting you get this dispatched keyword. Dispatch in a Redux context is just, "I'm going to send an action," and you can think of it almost in vanilla JavaScript terms as, "I have an event. Someone will handle this event and I'm just going to throw it up." ROBERT: It makes its way to reducer then from there, right? TORAN: Correct. We haven't talked too much about that process. The reducer really says, "I'm going to be given a state or the initial state, if you haven't done this yet," which would be maybe in the number scenario. I'm going to start with zero as a sensible default and then I'm going to have an action, whether that's add or subtract in this simple example and in add, I'm just going to take the state coming in, even if it starts out at zero and then do something, transform it to a new state. Actually the important word here is that -- I know you guys are big in the functional world, functional programming and that's the word actually got me interested and really excited about programming again as well, in the most perfect sense -- a pure function, which just means that there are no side effects. There's no mutation or changing of the state that comes in when you do it correctly. In this case, actually instead of mutating something I'm actually returning to number two or to number one and you're like, "Now, we have both zero and one in kind of a timeline." If you think about this almost as the realistic stories, we're just kind of kicking a pointer to a new block of state. Every single time you come to reducer, we still have the old state and we can still walk backwards, which is how the time travel debugging works as we just flip the pointer back in time. As you guys have talked about and I think, Charles you mentioned last year in EmberConf, the immutability story has of course a whole slew of great properties that come with it and those we haven't even obviously talked about. But hopefully I gave people a broad overview of what the reducer does. In its most simplest form, state comes and action returns a new state. ROBERT: Yeah, in Charles's talk and his research, I got to sit next to him and watched him do that actually kind of shaped a lot of my thinking and hunger, if we want to keep that going towards doing like something that's immutable and state management in Ember. I would like to thank you, Toran for building that add-on and spearheading Redux because Redux is pretty awesome for state management. CHARLES: By the way, you did in that call out the analogy for hunger. I really, really, really like that. It's an important tidbit not to miss is that when you are feeling those kind of doldrums of development. I know I was actually ironically feeling that about the same time in 2015, feeling of in a funk because I feel like there was a lot of stuff coming down the pipe like with 'data down, actions up' but no good examples of where we've actually seen this in practice. I think Redux is an actual implementation of 'data down, actions up' so I think it's fantastic that you were able to go and seek inspiration there like, "We've got this message of the way things that ought to be doing with the applications ought to be built." But we don't actually have any concrete examples that we can look to. I think the Redux actually is almost the most pure version of that 'data down, actions up'. I guess my next question is given that you've got this global store, you've got a way to connect components. I assume there are other ways to dispatch actions from within your Ember application like what are the patterns that you're seeing emerge around this? We've talked about how you would use them in components. Suppose my tree of components gets pretty complex, how do I manage that to kind of the passing of data down? Do parent components play any role in the data that their subcomponents see? Is each component connecting directly to the store? I'm just kind of curious where that balance lies and how things are kind of playing out? TORAN: There's really two points in your bigger question. One that I was going to try out of you but then you kept going. That was really around side effects. How do you actually dispatch or make changes, requests changes and see the flow and we could talk about that really starts out briefly with a Promise based approach. With Redux, most people don't know but it's basically like asynchronous flow. Dispatch would normally be like asynchronous action where you're sort of blocking and then doing, transform and getting it back. In the simplest ways, you see there is this tool or this add-on, Redux-thunk, which you can use Promises now and async will still work as if it were synchronous essentially by firing dispatch up and letting your reducer do the work. I think that is a great introductory because especially as Ember developers, we've got a lot of experience with Promises so this is just the same thing. In most of the demos I've done and if you check out the read me, there's like a full Yelp Clone example. It's using this approach because it's a little bit more familiar to most folks. CHARLES: Just to clarify what would happen there is you're essentially getting a new state transition when every Promise resolves or rejects. If it's rejects, that's a state transition. If it resolves, that's a state transition. The next Promise that resolves is another state transition. Is that fair to say? TORAN: Assuming you want to alter and use that top level state, of course you could reject or resolve and just not even bother with the top level store. We kind of skipped over some of the benefits and we could just roll back to that briefly. Why would you use top level stores at all? You mentioned earlier and it kind of seems counterintuitive. This is basic global variable. That's what we're talking about. In the Ember example, I think it's actually sort of not weird because if you guys, your Ember data in its earlier form or even today, it really very much is that. We have this one cache of objects related or otherwise and we pass those around. They are a global object or almost like a global variable. The downside of that in my experience has been that is truly mutable and actually everything is driven by mutating those and then having callbacks or denotify property change drive your template updates. That is not the process with Redux, of course. It feels more explicit, where I can actually go look up kind of a tree or look up table of actions and see exactly what's going to happen. Then also to your second half of the question, which is like how was the components wired up? How do they map? I actually uses an interesting pattern which isn't specific to Ember-Redux or Redux, which is to create a seam in my components now where I have truly HTML CSS components. Separating those from the components and know about the data and the closure action story. Forgetting Redux for a moment and all of this actually made my regular Ember much better because I started to produce this component that would connect to a Ember data store, provide closure actions to send up in the most pure 'data down, actions up' sense and then I would connect it using the yield block, which credits to you and other folks at EmberConf that you, Charles kind of talked me into this because I was a espousing this idea but I didn't really understand that I would actually nest within this parent, the HTML component that would just be handed the properties to render. When we do this, again it still is I think a better pattern even if you're not using Redux but when we did it and I when I started with Redux, the only thing that really gets me in hot water is when people see this and they're like, "Oh, so this is the first thing that comes down from the routed controllers template. Then there's always this brief moment of like, "I'm not sure what to say. I don't want to predict the future and I'm not trying to be Mr Routable Components here." But for me, most of my controller templates are just a landing page for the component tree to begin. Again, that's not me trying to hacking the route or anything to say, "I want to use this controller as a routed to component. I think eventually when that RFC lands, this will look different, anyway so I'm not trying to have people do things really outside of the Ember ecosystem or outside of the norm." But from there, I feel like still just landing into a component, allows you this composition which is supposed is the real value of the components structure. They are too primitive to build pages and then eventually full apps. ROBERT: So if we want to drop parallel, it's container versus presentation components, right? TORAN: Yes and that of course, again stolen from, not me probably stolen from someone else in the 70s. But you know, Dan Abramov is accredited to bringing that idea about in React. Actually I like the idea because let's pretend I had done this pattern in 2013. Now, it's using Ember data or simple store or Erik Bryn's Ember model, something like that. Then eventually, the community start shifting to something else. It could be MobX, it could be Redux and whatever the case, I could just very easily swap out those connected components that have no HTML CSS. The data source changes and all the presentation components do not know. They do not change. There is actually an iterable story to refactor through, an update like that normally is kind of a [inaudible]. If you have ever done PHP in the early days or at least my PHP experience in 1999 -- no offense to PHP today -- was that everything was so stuck together or so couple that I could never refactor anything out of it. Of course, you probably do this in a consulting space as I have, where he first thing on a messy project is actually making those scenes in the application anyway to allow you to upgrade incrementally. This process is just more of an upfront thought and I don't think it's really taken hold than it needs to in the Ember community. It's just something I was experimenting with and I'm finding a lot of value because I think the connection of the data source is a different activity than HTML. ROBERT: I think it also holds a lot of value. CHARLES: I think it holds a lot of value. I think there's a dawning awareness of this. In your comment, I actually thought of two blog posts for EmberMap, which I was just reading this morning. One was talking about kind of the safety of the herd and don't worry so much about controllers versus radical components like use your controllers, use your components. Don't worry about it too much. It'll get sorted out. I definitely agree with that. Although, you definitely want to experiment when you're experiencing particular pain around something. But then, the next thing which I think came out yesterday was talking about basically components for managing side effects, which I think is an unfortunate name because I think side effects is a tainted word. But basically, the idea is having presentation components and container components and the container components are responsible for managing the state. I think that idea is valuable in of itself and I hope that it takes root. I think that's something that you're doing, something that we're doing and as people kind of realize it, it does take root, just kind of by virtue of its own value. Let me summarize if I understand it correctly. As part of these job, you've got these container components and their job is, I like the term that you used, creating a seam. Their job in the Redux world is to take a slice of that global state. You have these components whose responsibility is taking a slice of that global state and presenting that global state to HTML CSS aka presentation components that lie underneath them. Is that a fair assessment? Then if that's so, I've got a second part to that. I just want to make sure I'm understanding it correctly. For components that are further downstream on that tree, do you ever switch back to data containers like you switch between data components and presentation components and then back to data components and then to presentation components and kind of back and forth and back and forth on down the tree? Or do you mostly see it as one-kind of container component on top and then presentation components all the way down? TORAN: It's a great question. I think that still needs a fair bit of experience in the Ember community because the patterns I pulled from the source code I read a lot is mostly from the React ecosystem. Because of that, there's a very split view or a different view in that community on routing. We may share some of those views in Ember but I think for the most part, we assume routing actually and that's one of the tricky part to answer your question. This is a broad statement so I'm likely wrong in every context but I don't love to be creating these data components that don't get routed to if I can help it. I'm sure there are situations that have been really complex, places where you just have to make, no route here because I don't want change the URL for instance and I'm just going to make this thing like a routed to component with no URL to get me here. But for the most part, I treat the entry point to this route and when I land on this route at this time, it's appropriate to ask for the data likely coming from the model hook in the route. In fact, all that's still the same. That's also where it's a little weird. If you've ever seen a full component tree in a React app, they may not have a router at all. In that situation I think, Redux was in particular even better because you don't have to pass from the top app component, the same props or the same data all the way down that tree. In fact, if you read documentation about why Redux in the React ecosystem they'll say, "It gives you this place where we can create a little shim and then ask for the data down here in the [inaudible] mode. You don't have to pass it from the app to that, to that." I see those benefits but in Ember we don't really get as much from that. In fact, they still tell people who challenged the global state idea that not everything maybe should be a global state but you give up some things by doing that. The first one I would say, which I think is the most valuable for anyone doing vanilla Ember with Ember data or someone experimenting with React or Redux. Or the case I'm most interested in, the audience I'm after which is Redux in Ember, which is do you actually need to have that state in one place. The prime example of this that is the greatest use case is master detail. What I mean by that is you have a list of things and when someone drills into one of those, you can also see that at the same time. There's really two choices you can make here. One is I'm going to have two separate data sources to feed two separate components so the list will go get its data and then the detail won't even use that data at all. Just go get its own data. In that case, you may up against a problem where you need to synchronize at some point and here's the tradeoff. Either synchronize the two separate states or you have a single source of truth. That's a real benefit I think of Redux for the most part. It's like the broad, "Do I want deterministic rendering?" We've all heard the joke about the Facebook nav bar that's like, "You have one message," and you're like, "No, I just answered it down here." Well, that's a different component so the joke is like, "Oh, Redux must be working. We have one up here but I've already read the message." You know? Someone obviously is in charge of synchronizing in those sort of examples. Maybe not just doing it well or they run up against an issue synchronizing that. My experience doing back end development, colors this for me. What I rather have three databases and they kind of synchronize the state across them or I rather have the one postgres or SQL server database that is the source of truth so that when I render something to a customer, I can guarantee that it's not in a transition to be synchronized. It is the source of truth. CHARLES: Right, I really like that and I think the point that I take from that is that, and again this speaks to people who might be internally reacting to this idea of a global state is that you actually do have a global state always in your UI, whether you acknowledge it or not. It's composed of all the other distributed states that are sprinkled around your application so if you take an approach like Redux, you're kind of acknowledging that upfront that at any given time, I do in fact have a global state. I might as well deal with that explicitly. That's kind of a key innovation. I also like what you said too about kind of treating the router in Ember really leaning on the router as a good way to partition your data or drill down into a sub-piece of that global state. Inside Ember-Redux, are there explicit hooks for dealing with the Redux store inside your routes? TORAN: Yeah, that's that one that gets me the most trouble. When I see a blog post and memes that are all about the herd lately, can't help but feel like they're pointed directly at me because of some of these new ideas. CHARLES: Toran, I'm just telling you. This is a safe space. We believe in innovation here. You're okay. TORAN: Yeah. CHARLES: Let me add-on that. I didn't mean that as a knock to you. I do think they call this out of the end of the blog post. I think acting in concert with the community for the most part, actually fosters innovations and an innovative journeys like the one on which you're currently embarked because you don't have to worry about CLI tools and you don't have to worry about this. You can focus on the problem of like how does an Ember application work with a global atom as its state. TORAN: That is the idea. I mean the route is interesting. I have a little helper to your point, Charles if you've seen some of the docs or any of the examples. There is a little helper for routes and all it really does is provide dispatch as an argument. For instance, a lot of times I just want a model to be a regular function and dispatch to be an argument so I can return a Promise or do some Generator stuff as a side effect. In that way, I sort of create a shorthand which is just really simple. It allows me to say [inaudible] model and then have dispatch as an argument and run my code then just providing that to this special little helper. It's a functional type helper called route and what it does behind the scenes is it injects the Redux service for me, which is again something you can do by hand. If you really just don't like that or you want to be more in the herd, you can just have a regular route, inject the service and then get dispatched from that service and use it. ROBERT: It looks like you just dropped the version 2.0, like three hours ago. I would like to ask, we heard about your journey like you were feeling like you weren't hungry for learning. I want to know more about where you actually sat down and wanted to write this add-on on and why you chose to clone the React-Redux API and what took you on that path? TORAN: Yeah, that's a good question. Back to benefits or the reasons I got excited about, of course I mentioned during the talk that Dan Abramov did. There was some interesting dev tools. First of which was this thing Time Travel Debugging which it allows you to sort of move backwards in time and pretend as if actions and mutations or what looked like mutations that never occurred. That was very interesting. I wasn't really sure of the value, especially at the time. I told you guys around 2015, I was consulting which lucky me, I was doing Greenfield. Thankfully, I was working with a really great team and some great people, built an amazing product. I don't really understand the pain of this. For the most part Ember-set was doing its job and I didn't really have a lot of interest in learning this. But as I got more into it, also started a full time job last year, I pretty much just fix bugs for a year. Anyone who's been on one side of the fence or the other knows that the bug fixing side will sort of expose, maybe the weaknesses of the application or patterns or choices made. For me, that was really mutation or shared mutable stake aka the root of all evil. If you've ever looked at your Elm ClojureScript, Elm next is the same vein where immutability is very much there. Charles, of course gave his talk on immutability and trying to get people interested in that or more interested in the Ember community. That was really all I wanted to do to your point, Rob was provide really an outlet for people to use this and I wanted to keep the messaging away from the things I didn't like, which I think was actually something I screwed up to be fair early on. I think I was very vocal in the microcosm that I would talk to people about like, "These are the things I don't like about Ember," or I would use the word 'Ember the good parts' plus 'Ember the bad parts' and I was told not to say that anymore on the Slack channel. Once I started getting too much needed feedback -- I don't want to be negative about it -- I changed my messaging and as part of that, you mentioned Rob I basically cargo-culted or copied this API from React-Redux called connect and excluding the brief route helper that I mentioned, Charles a minute ago, the real idea here is you just call disconnect function with two other functions: mapping state and closure actions. Everything else becomes then vanilla JavaScript in this reducer function we talked about briefly where I have state coming in and I need to transform it into a new state. One interesting benefit of that -- I wasn't overly critical about until I really saw the difference is that -- I'm no longer using the Ember object. I'm not doing Ember.get and set, which immediately start to open the door some time last year for TypeScripts interest. I'm actually not a super type friendly person. I sort of left Objective C and C# and Java in my background and have like this Vietnam experience when people ask me about types. But I do understand one very critical fact that I can't dispute about types is that there are more information for the next programmer than you have without them. Again, my experience this last 12 months has been, as a maintenance programmer, I need more information. Tests are great when they're there but they also don't provide the interface or all the information about those and certainly the compiler may help as well. I don't know yet. I'm not doing any TypeScript. What I started notice is also more functional programming and maybe just not in our core yet but also things I wanted to steal from other ecosystems because I also found is very interesting. I started to study functional programming. I know like nothing about it, of course. I don't think anyone does because I can't describe a monad without getting in trouble or being wrong. For me, the real value is the separation of the data structure and the function. I'm preaching to the choir here but that was so much like an interesting idea to me and actually spurred on some of the further patterns or adoption of those in my work in Ember-Redux because this presentation and container component idea was really that I was separating the data structure from the function of the view. I think you mentioned this in your talk at EmberConf where the actual HTMLbars template is really just a function that has data in, HTML out. I started to internalize that and think about that and what were the properties I got from that, as well as I enjoyed functional programming. Some other great benefits that we've already touched on briefly are just how much more of this I felt explicit, not that Ember-set is inherently implicit but when you do a Ember-set for mutation to chase down every single place in a complex system to determine why they something render this way? It does feel a little more implicit than something like React-Redux with this connect function where I was like, "Wow," when I was doing React. Especially, I was like, "I bet I could just put a breakpoint at every connection so when that callback happens, I can know exactly what action spurred on this new callback to rerender," and that was something that was very new and interesting. Then of course, falling out of all this was another hyped tooling thing that I thought was really cool, not explicit to Redux, again but it got me interested because that's hot reloading. All hot reloading of CSS and Ember CLI, which I've never done design work which I'm not good at. But I do write some CSS or hack-on it when friends show me what to write. Then writing HTML was a separate experience. Once you wrote the CSS, you would hot reload in that course, what do you do every time you change CSS, you also change HTML, which would incur a full-page reload with a live reload tool, if you're familiar with that in Ember CLI. This tooling allowed the Redux store itself because it's stored the state, allow me to really throw the component away in the page without refreshing it and then providing a new one and just go rerender because the state was instantly mapped in and then rerendered. I actually did a demo sometime last year and like, "I'm going to build a star rating component and here it is with live reload. Here it is with hot reload. I'm not going to make a decision about which one is better. You decide," and overwhelmingly people were like, "This is a much nicer feedback loop to make HTML and CSS changes in real time." ROBERT: Agreed. Let's pedal back the hot module reloading because that is pure awesomeness. But that has a little bit of setup they have to do and changing your application. I remember we were talking about this. When you did that demo, I remember this. But there's a little bit they have to do to make your components stateless. They have to come down from the Redux store. TORAN: Correct and this actually still applies if you are, I think using Ember data as well, as you just can't pull the state to reload it anything local, which may go against what you're trying to do with your component. ROBERT: Right. That's cool but I do want to highlight a little bit something that was cool about the Redux dev tools as with all the state that you have since it's in a centrally managed place, you can take your state and then play it back over the top of something like if it did live reload and it'll just pop you right back down to where you were when you were debugging. When that page refresh happens, if you're not doing hot module reloading, you still won't lose all your state which is really cool. You just play it right back down on top and you're exactly where you were before. It's almost like you would throw a specific test that puts you into that state that you're trying to debug. TORAN: Yes, it's like git rebase. It lets me pull off my state, replay the new component function and then drop my changes on top of it and see it all viewed together. ROBERT: Yeah, I think that's massively powerful. CHARLES: Yeah, it is fantastic and that's where you get into that power. I can get on my immutability soapbox. But it turns out that as programmers, we deal in information and not throwing information away, not just flushing it down the toilet is hugely powerful. I think the thing that's so fantastic is that Redux takes this concept and then all of the tools to leverage it are there for you. I think that it is something that is missing from the Ember development story and people don't realize that it's missing, that we have all these wonderful tools, we have this conventional way of building our applications, of deploying our applications, of rendering our applications, of marshalling the data in our applications in the form of routes. But what we're lacking is this unified atomically based state management solution. I think that, Toran it's been fantastic that you have pioneered this and trying to bring what I see as a glaring gap in the developer experience to the community. I'm curious then to ask you what do you see as the future. You know, 2.0 just dropped and there's this need. I feel very strongly that Ember 3.0, 4.0 or Ember 'dot future' at some point should have a unified state management solution. How do you see the road that you're on intersecting with that future if it does in fact exist? ROBERT: Also how can I help or how can we help? TORAN: Just real brief before I dive into some of those questions. I just want to mention that 2.0, as awesome as that sounds, of course I dropped that this morning just so we could say that on podcast, really. We've had a beta in the works for Ember. The only change really, if you're like, "I just got into an Ember-Redux last week. Is it all garbage?" No, this isn't Ryan Florence 2.0 -- it was a joke for any [inaudible] router folks in here. Actually, just us removing Browserify because if you are familiar with Browserify in the Ember ecosystem, talk to Robert Jackson or Stef Penner, folks familiar with that in Broccoli, they'll tell you that one of the harder things to optimize and although, it created a great entry point to how do I use Redux? Boom! Ember Browserify, install Redux, I'm done. If you've ever seen an [inaudible] in Ember that has 'npm:', you're using Ember Browserify to pull in, either a common JS module or some kind of node module and use that in the Ember ecosystem without an additional shim. Now, what we found or learned was that bigger teams that are using this, paid a little bit of a cost and not just cold rebuilds. I'm talking hot rebuilds because Browserify just isn't friendly to get those to be optimized, I guess is the word, so we removed it completely or just use some smaller simpler shims. You actually get the performance improvements hopefully -- ROBERT: That is awesome. TORAN: -- Which is big win. Back to your question, Charles. The audience that's intended, of course is a little different than most people like me to talk about. In fact, the API itself, I think was a bit rejected. You're sort of asking like, "What does this mean in the future?" I don't really feel that the traditional Ember audience has picked up around with it because of something that's missing. You said the 'C word' earlier so convention is certainly still missing from this and even in the React ecosystem, they're just barely thinking about, "Look at all this great stuff we can do with one-way data flow and immutability and functional programming," but guess what we're giving up. No one's really come around with this perfect pattern and conventionalized it as Ember did in its early days so there's a lot of churn, I wouldn't say overly so much that you're not going to getting work done but more than the average Ember developer is aware of. My audience is actually not the average Ember developer, which may be bad for what you're asking about, Charles. Instead, it's actually the person who maybe has done React and maybe Redux or Backbone in the last two years. They love some of those patterns. They're not in love with the Ember-object because of getting set. Maybe they love TypeScript and they say, "I want to use this in Ember." They joined a new company that's a little larger than the startup they'd been on the last two years and they are using Ember. They love a lot of Ember but they would also like to use some of the predictable state patterns that you get with Redux. As well as maybe the dev tooling, things like that so they have adopted this. I feel like that really is the new audience that I aim to please or I'm falling in line with, which is a little bit outside. I feel like there's room for some fragmentation and a good beat up on me for that because when the realities of this herd conversation that we're kind of talking around a little bit is that the herd is great until something innovative needs to happen. Innovation, obviously takes some risk and I feel like that's sort of what I did last year and said, "Here's some interesting ideas. I have not shipped Facebook with it yet so let's just check this out." Of course, Ember add-ons are a great way to enable someone to try a new idea. But I think most people got into it, saw this funky connect thing and they're like, "What the heck is this?" It's a function and returns a component. All right, that's not doing that so most people bailed out. But I do hope people still and I know great folks at LinkedIn, Chris [inaudible], of course. We chat occasionally. Mostly he just tells me what I'm doing wrong. Shout out for Chris. But he knows a lot more about some of the stuff than I do and I think he is fully aware of the values that are in Redux that are great and then working hard, of course during his full time gig to apply these to Ember data and hopefully these do make their way in naturally. I just wanted to be a bit more radical. I don't want to wait around and I wasn't really involved in the Ember data project. My own fault there but I think if nothing else, the ideas will come out of it because the developers want this. Whether you're the audience I'm talking about, which is a React developer from two years ago, you're in Ember, you're eventually going to really understand and want this and then those 'data down, action up' ideas that were pretty unclear to me in 2015, will be very clear. In fact, if anyone seen or heard of this Project MobX, which is like an alternative in a way, popularity-wise to React ecosystem. It kind of looks like Ember in a way where you get sort of some more magic and what I found quickly in playing around MobX is that you can very much fall into the shared mutable state problems. The interesting part about MobX is you can opt into a strict 'data down, actions up' approach. But if you don't have the Ember battle scars like we do, you're just going to come in and say, "What's less work?" Just like in Ember when I can do a set in the [inaudible] node, why would I do 'data down, actions up' and that's the transition I want to see folks make. Hopefully they learn something from that. CHARLES: Right, I agree with you. Although, I think the time has definitely come, I think the term 'herd-mentality' is an unfortunate one. I prefer to think of it as like a pack. If you travel as a pack, you can bring down moose that are bigger than you are individually. But every once in a while, like a gigantic moose with laser horns shows up and then what are you going to do? If you're hunting as a pack, you have to introduce new things because I like that analogy a little bit better than a herd because the job of the herd is just to not get eaten, where is the pack has this idea of these entities that have to stick together. They're hunting and they're tackling different problems as they come but sharing in the benefits. But I think that there has to be room for innovation inside that herd/pack-mentality, whatever you choose. I do think this idea needs to be introduced so what I would say is that if you're listening to this podcast, you should actually go and you should try and use Toran's add-on and you should try and build something with it so that if you have opinions about how it should fit into Ember, then we can hear them. It sounds like you're taking a minimalist approach, you're emulating patterns that are proven to work in the React community so kind of enabling that seed cross-pollination right there. I would say go build something with it, experience what it's like to have your state as a single atom, experience what it's like to have incredible development tools that come along with that. I think that if you're in the Ember community today, you need to go build something with React, you need to go build something with Redux and you actually have made it one step easier to do. You don't even have to leave Ember to do that. You can build something of node with production quality code using Redux and you can experience what it's like. That's my challenge, I think to the Ember community. Go try it, go experience it because you'll come back, I think like I did. You'll come back with superpowers just from having tried that. ROBERT: Managing state becomes so easy. TORAN: Yes. I want to jump in briefly and just cover one point that we haven't talked about that's very controversial so why not drop it at the end here. I think, Rob you might have asked about it earlier and I just didn't feel brave enough to talk about it at that time. But you guys keep going back to this idea and I have to talk about a little bit too. One of the motivations is I live in Iowa. I work in Texas. Thankfully, this great company, Q2 employs me and I don't know why I'm being paid. I'm lucky to be writing JavaScript for money, probably we all are. But in the Ember local community that I'm in, a very little folks writing Ember and that was even years ago. I was like the only voice in the middle of the Midwest screaming and then folks in Minnesota would tell me that wasn't true so I went up there and did a conference as well. But for the most part, I looked around the job market too and thought, "It be really great if I understand some of the more JavaScript-centric parts of building web apps today," and when I looked at Redux functional programming, the way the reducer worked and structured, the way to React-Redux project was structured and thought, "I bet I could emulate that an Ember," such that I could actually and I believe this is to be true, that if you were in a React-Redux project or even an Angular like ‘ngRedux', which is a very similar connect binding, you could copy a whole directory of your reducer code, which is all vanilla JavaScript. If you're doing generators, which we didn't talk about but if you're doing you know any additional side effects, you copy all that vanilla JavaScript, drop it into your Ember app and it all works because it doesn't matter if it's in React or Ember or even Angular, even View if View has some connect API like this. We all share this common API that is just give me the functions that enumerate over the data and return new states of the data and call back to rerender. There's something really powerful about that but the tradeoff being there are not a lot of strong conventions, Charles that I have adopted. That's kind of what I'm cautioning here a little bit is that I'm still also just watching the other communities to see what eventually turns out not. This is going to be am Ember add-on and I don't care what everyone else is doing. This is my vision because really my vision was to make a drop in for anyone already doing Redux on any platform. CHARLES: You know, to the point, there's a pack that extends beyond the Ember community and it sounds like you're also leveraging and being a part of that. TORAN: There's an interesting idea about the hunger thing, which just tied us in and there's where the fourth thing that a doctor will tell you to get your hunger back is go experience eating with other people. There's actually a statistic that when you sit down to eat with someone else or many people, you're likely going to eat 44% more food than you did on your own. That's just, I guess a statistic that's true. I just made it up for this podcast. No, I think it's true. If that is the case, then I think that very much translates to programming as well where when I'm developing code with other folks and I'm on like the React channel and we're just talking about vanilla JavaScript, it doesn't have to be me being an Ember developer anymore, which has been a large part of what's blocked me from being, I think an asset in my local community in the broader JavaScript community. At large is every time I get a conversation it's like, "I have to do it the Ember way," and that's changing actually. The Ember has credit a lot of deprecation if you guys have seen or follow the RCs and other just Ember upgrade deprecation. We're kind of getting away from being Ember and writing just more JavaScript and even maybe sometime this year beginning ES6 classes, instead of Ember object extend. I think Ember is heading in that direction. I just went there, rather rapidly because I also was again experiencing vanilla JavaScript with other communities, View and React. ROBERT: I think we're walking on this very similar path. I'm following your footsteps right now, it sounds like. TORAN: My last point which was that third bullet about building component trees, it didn't sound like either of you guys really contest that and I'm friends with, obviously Chris Freeman, formerly The Frontside and Chris tells me, "You're trying to build full component trees once you're injected at the route level and you're not doing like a ton of HTML in your controller HPS files." Is that true? CHARLES: We treat our controller basically as a component. Sometimes, we'll be like, "This is the controller and if we ever use it in more than one place, we'll take out its component." We're not super dogmatic but we definitely see the clear separation of the route is for maintaining the data and everything else is just one tree of components just below that. ROBERT: The more I think about it though, I'm so conflicted because I really like routes in Ember and they do a lot for you. I like having the data be maintained in one spot but I don't know a single store with Redux maintaining that and using like Redux-thunk or Redux-saga. I got some exploring to do. CHARLES: I don't think those are mutually exclusive propositions. That's what you were saying at the beginning, right Toran? You still do all of your data munching in the route. There's two kind of subjects that I wanted to broach briefly, although I don't think brief is possible with them is actions, like how we talked about data down, we talked about where you draw the seams in your application, where you're loading your data, where you're mapping it to your components and having that separation into your presentation components. We didn't get to talk about reducers so much and how you map. You touched on it like the mechanics but suppose I have a to-do list and I want to delete an item and I've got some button to delete an item, that's down my component tree. How do I map that action back up to the store? I don't know if we actually have time to cover that because it is meaty-meaty subject. ROBERT: Redux part two? TORAN: Yeah, we have to follow up because really that is a little bit more of an advanced segment not that folks shouldn't hear about it. But one thing that's a radical shift, Charles that we would have to go into and talk about, which is controversial as well as most folks want to operate in one structure, one dictionary not in the array. Then immediately, everything flips to being a Lodash operation. I didn't really use Lodash at all until I got into this. You guys probably actually are smart folks to do. But for me, this store is not in array now. When I'm doing array operations like remove or filter, I'm actually operating with Lodash on an object to produce those new states and most of it is just learning the Lodash operators because I didn't actually know them so the Yelp Clone that I have out there is a very simplistic look at using Lodash with Ember. But it accomplishes some of that. Then also, the secondary piece that would also consume a ton of time that we should go into but maybe not today is switching from Thunk to Generators with Saga and then maybe even observables with RxJS, which seems like possibly the future. Those all sounds cool but I think they're going to blow the heck out of scope on this thing. CHARLES: All right. Well, thank you so much for coming by Toran. As always, our conversations are too big to fit into a single podcast. I really want to have you on again. There are so many things that we haven't even touched on. We haven't touched on the subtleties of how action dispatching works. We haven't touched on using Ember-data -- I'm just [inaudible] out there and say it. With Redux, we haven't open that can of worms and who doesn't want to just sift through a can of worms on a podcast? We are going to have you on again. I am positive of that. ROBERT: We're going to paint that bike shed. CHARLES: Yeah, we're going to paint that bike shed. It's a bike shed that needs to be painted. It's something that the community, I think needs to face head on. Thank you so much for coming by and talking with us about Ember-Redux. Everybody, go and check it out. Toran, you've got some talks coming up, if you want to mention those real quick. TORAN: Yeah, I just wanted to plug. There's possibly going to be a talk, we're still lining up the official date with the Washington DC Ember Meetup sometime in April. I planning out to fly out there actually and give this talk on Ember-Redux. I want to thank just publicly the RSA team for kind of helping sponsor me to fly out and check it out. As well as give a more in-depth talk on Ember-Redux in the Meetup setting. CHARLES: Fantastic. If you're in the area, be sure to go check that out. If not, watch it on video and then unrelated Ember-Redux, if you haven't watched Toran's EmberConf talk on Outside-In development. TORAN: That's out actually global Ember Meetup, I think. CHARLES: Okay, that one. Actually, just go watch all Toran's talks. The thing that I didn't mention at the beginning of the podcast is that you do a lot of live coding, which is just makes my bowels freeze when I think about doing it. You just pull it off so effortlessly so it's definitely, definitely worth a watch. With that we, will take it out. We'll see you guys later. That's it from The Frontside. Remember to get in touch with us at Frontside.io. If you're interested in UI, that's engineered to make UX dreams come true.

Tech Talk Radio Podcast
August 8, 2015 Tech Talk Radio Show

Tech Talk Radio Podcast

Play Episode Listen Later Aug 8, 2015 58:54


VPNs revealed, exploits using buffer overflow, OOMA security, upgrading to Windows 10 (reverting back to Windows 7/8), importing Yahoo Mail into Gmail (including subdirectories), Profiles in IT (Martin Casado, inventor of Software Defined Networks), Verizon drops contracts (buy new phone on installments, good for consumers), most popular programming languages at hackathons(HTML/CSS, Javascript, Python, Java), iPhone waterproof cases (five options), and replacing iPhone after water damage (the beauty of Apple Care). This show originally aired on Saturday, August 8, 2015, at 9:00 AM EST on WFED (1500 AM).

How to Program with Java Podcast
HTML, CSS and JavaScript - Oh My!

How to Program with Java Podcast

Play Episode Listen Later Oct 20, 2014 40:40


The presentation layer is one of the three main layers in object-oriented programming. The three main layers include: Presentation Layer Business Layer Data Layer Now, these three layers are typically related to enterprise web applications. It's a design pattern used to help separate your code out in three distinct areas that (if need be) can easily be switched out with another programming language or technology. So if you keep all of your presentation layer code in one area of your application, switching presentation layer technologies shouldn't be too difficult. Same rules apply to the business and data layers. If you separated your code out properly, switching databases shouldn't be too big of an issue. Having said that, we'll be focusing on the presentation layer. The four big players (in terms of technology) in the presentation layer are as follows: (Keep Reading)