Podcasts about svgs

  • 72PODCASTS
  • 104EPISODES
  • 42mAVG DURATION
  • 1MONTHLY NEW EPISODE
  • May 30, 2025LATEST

POPULARITY

20172018201920202021202220232024


Best podcasts about svgs

Latest podcast episodes about svgs

Hackaday Podcast
Ep 323: Impossible CRT Surgery, Fuel Cells, Stream Gages, and a Love Letter to Microcontrollers

Hackaday Podcast

Play Episode Listen Later May 30, 2025 58:05


Our choice of hacks included a fond look at embedded systems and the classic fashion sense of Cornell's Bruce Land, risky open CRT surgery, a very strange but very cool way to make music, and the ultimate backyard astronomer's observatory. We talked about Stamp collecting for SMD prototyping, crushing aluminum with a boatload of current, a PC that heats your seat, and bringing HDMI to the Commodore 64. We also took a look at flight tracking IRL, a Flipper-based POV, the ultimate internet toaster, and printing SVGs for fun and profit. Finally, we wrapped things up with a look at the tech behind real-time river flow tracking and a peek inside the surprisingly energetic world of fuel cells. Check out all the links over at Hackaday!

Syntax - Tasty Web Development Treats
899: GSAP: Killer Web Animations With Cassie Evans

Syntax - Tasty Web Development Treats

Play Episode Listen Later May 5, 2025 57:03


Scott and Wes sit down with Cassie Evans of GSAP to talk all things animation—from SVGs and scroll timelines to GSAP's new rebrand and exciting features. They also dig into performance, plugins, and what makes GSAP such a powerful tool for web developers. Show Notes 00:00 Welcome to Syntax! 00:59 What is GSAP? Cassie Codes. 01:53 GSAP Rebranding. 04:44 GSAP under the hood. 05:29 The big announcement! 07:19 GSAP Showcase. 11:01 Brought to you by Sentry.io. 11:26 Why is GSAP easier for animations? GSAP Docs. 12:38 Animating with SVGs. 13:33 The love of SVG. 14:55 GSAP is performant. 16:06 Gotchas to watch out for. 18:12 Does GSAP work with canvas? 19:02 What GSAP projects are you most proud of? 20:30 Does it play nice with web frameworks? GSAP with React. 22:32 What are you excited about in CSS right now? Scroll Timeline. 24:27 Will any of these make their way into GSAP? 26:31 Timelines. 29:24 Building animations with timelines. 34:55 What are the best GSAP plugins? Split Text spanran-wrap. Physics 2D Plugin. 38:44 GSAP docs and philosophy. 39:50 Scrubbing animations by frame. 41:09 GSAP Video Exporter. 41:45 Animating with JavaScript. 45:19 JavaScript in unconventional applications. 47:56 Is there anything missing in web tech? 50:53 What about AI in GSAP? 52:40 Sick Picks + Shameless Plugs. Sick Picks Cassie: Eyesy Video Synthesis. Shameless Plugs Cassie: Smashing Conf. Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott: X Instagram Tiktok LinkedIn Threads Randy: X Instagram YouTube Threads

Web & Design Podcast mit Freelancer Jonas Arleth
231: RIVE Deep Dive: Grafiken für Webflow-Sites turbo-schnell animieren

Web & Design Podcast mit Freelancer Jonas Arleth

Play Episode Listen Later May 2, 2025 65:21


In diesem Deep Dive zeigt Lorenz Grabosch, warum Rive-Animationen für Web- und App-Projekte oft das „Next-Level“-Upgrade zu Lottie sind. Du erfährst: • seinen Weg von After Effects zu Rive • die größten Performance- und Workflow-Vorteile • wie du SVGs aus Figma in Rive importierst, animierst und nahtlos in Webflow einbindest – inkl. Loop-Kontrolle, State Machines & GSAP-Triggern. Perfekt für alle, die interaktive Animationen schneller bauen und leichter warten wollen. Laurenz Grabosch online • LinkedIn: https://www.linkedin.com/in/laurenzgrabosch • Website: https://www.graboschmedia.de --------------------------------------------- Meine Onlinekurse:

The Presentation Podcast
e220 - The Secret Sauce to Stunning PowerPoint Presentations - Navigating the World of Vector Graphics!

The Presentation Podcast

Play Episode Listen Later Apr 15, 2025 54:07


Episode #220 - In the latest episode of The Presentation Podcast, Troy and Nolan delve into everything PowerPoint and vector. What does PowerPoint consider a vector graphic? What types of vector files does PowerPoint recognize? What are PowerPoint limitations with vector graphics? This episode is a treasure trove of insights, practical tips, and expert advice on leveraging vector graphics, particularly .SVGs, for great presentation design. Have a listen to see where the conversation goes!   Full Episode Show Notes https://thepresentationpodcast.com/2025/e220   Show Suggestions? Questions for your Hosts? Email us at: info@thepresentationpodcast.com   Listen and review on iTunes. Thanks! http://apple.co/1ROGCUq   New Episodes 1st and 3rd Tuesday Every Month  

The Naptime Hustle Podcast
109: A Designer's Take on Glowforge with Bail from Just One More Project

The Naptime Hustle Podcast

Play Episode Listen Later Feb 14, 2025 30:39 Transcription Available


Today I'm interviewing Bail from @JustOneMoreProject. This mom of 2 went from curious about Cricut to rocking SVGs with her Glowforge.  Bail left her corporate job to be with her girls. When she launched her Etsy shop to sell SVG files in the middle of a pandemic she discovered her true purpose as a creative entrepreneur. In this episode, she fills us in on Cricut vs. Glowforge from a designer's perspective.EPISODE NOTES: https://kaseyclin.com/blogs/podcast/a-designer-s-take-on-glowforge-with-bail-from-just-one-more-projectThanks for listening! Click one of the links below to. Learn how to design for crafting machines such as Cricut, Silhouette, Glowforge, sublimation or embroidery. Check out my designs on Etsy

The Naptime Hustle Podcast
131: What You Need to Know About Laser Machines with Emily from That Mom with a Laser

The Naptime Hustle Podcast

Play Episode Listen Later Feb 14, 2025 46:11 Transcription Available


Unless you've recently avoided the online world you would have heard all the buzz about laser cutting machines. Well, I have a treat for you today! I sat down with a trusted leader in the laser industry, Emily, otherwise known as “That Mom With A Laser”. If you are interested in getting a laser cutting machine or you want to design SVGs for them, you will definitely benefit from this episode. Click the link and listen in as we chat about the most desired designs for lasers and all the excitement such as fumes, fires, and how to charge top dollar for your designs.EPISODE NOTES: https://kaseyclin.com/blogs/podcast/what-you-need-to-know-about-laser-machines-with-emily-from-that-mom-with-a-laserThanks for listening! Click one of the links below to. Learn how to design for crafting machines such as Cricut, Silhouette, Glowforge, sublimation or embroidery. Check out my designs on Etsy

MarTech Interviews
Vecteezy Editor: A Free Online SVG Editor To Create Stunning Graphics

MarTech Interviews

Play Episode Listen Later Dec 15, 2024


Adaptability and quality are critical online. Designers need graphics that maintain clarity on any screen size and load seamlessly across devices and platforms. Scalable Vector Graphics (SVGs) meet this demand perfectly, offering dynamic resizing, lightweight code, and native support in all modern browsers. As businesses and creatives increasingly focus on responsiveness, SVGs have become the …

Freelandev - Vivir del desarrollo en WordPress
#280 – Mejorando los temas de bloques

Freelandev - Vivir del desarrollo en WordPress

Play Episode Listen Later Oct 21, 2024 42:30


Síguenos en: Y seguímos con los coletazos de la polémica con WP Engine, y en este caso nos afecta directamente en algunos de nuestros plugins.... mientras se soluciona, continuamos investigando y mejorando nuestros temas de bloques. ¿Qué tal la semana? Semana esther Haciendo pruebas con el plugin content model - block binding Preparando mejoras y nuevos patrones para Dakota next Semana Nahuai Parece ser que si son los primeros Core Days, inspirado en Community Summit y la idea es que sea itinerante. Intentando domar SVGs, usando las nuevas variaciones de color/tipografía y otras mejoras para Dakota Next. Master avanzado en theme.json. Experimentando con el registro de patrones de bloques de forma condicional. Teniendo que aclarar que no tenemos nada que ver con WPE. Lanzando Uprising Next en la web, puedes aprovechar el descuento del 30% de lanzamiento. En el día de contribuidor de Yoast, en la mesa de sostenibilidad, hablando del manual para crear webs más sostenibles y el plugin que indica el impacto ambiental de la web. Contenido Nahuai Novedades Otra oferta para abandonar Automattic con la oferta de un paquete de salida (9 meses de sueldo). El equipo de accesibilidad suspende las reuniones: https://make.wordpress.org/accessibility/2024/10/12/accessibility-team-meetings-suspended/ Se activa la identificación con el email de WordPress.org para acceder al canal global de WordPress (Making WordPress). Próximas WordCamps: WordCamp Granada el fin de semana del 26 de octubre. WordCamp Sevilla el fin de semana del 9 de noviembre. WordCamp Griñón el fin de semana del 24 de noviembre. Entrevista a John O'Nolan, creador de Ghost, en el que explica que no quiere crecer a más de 50 empleados. Se está trabajando en el bloque de búsqueda instantánea para poder usarlo dentro del bloque de consulta. Ya se ha publicado la “fuente de la verdad” de WordPress 6.7 https://gutenbergtimes.com/6-7-source-of-truth/ Tip de la semana Plugin para elegir cómo se muestra la navegación en móviles: https://wordpress.org/plugins/getdave-responsive-navigation-block/ Menciones Pilar y Elías nos dejan comentarios en Twitter. ¡Extra! Uprising Next Theme, nuestro último tema de bloques de WordPress ya está a la venta, y para celebrar su lanzamiento, te ofrecemos un 30% de descuento solo hasta este domingo, 27 de octubre. ¡Aprovecha! Código de descuento: HELLOUPNEXT

Freelandev - Vivir del desarrollo en WordPress
#279 – Forks de WordPress y ACF

Freelandev - Vivir del desarrollo en WordPress

Play Episode Listen Later Oct 14, 2024 57:35


Síguenos en: Nos encantaría poder dejar atrás toda la polémica de Matt y WPEngine, pero la cosa se complica cuando nos tocan a nuestro queridísimo Advanced Secure Custom Fields

Freelandev - Vivir del desarrollo en WordPress
#273 – Vuelta al cole, mantenimientos en agosto, PHP 7.4 y reflexiones sobre el Site editor

Freelandev - Vivir del desarrollo en WordPress

Play Episode Listen Later Sep 2, 2024 36:37


Síguenos en: Después de unas merecidas y disfrutadas vacaciones, volvemos a nuestros episodios semanales de Freelandev con nuestro día a día en el mundo WordPress y en OsomPress ¿Qué tal la semana? Semana esther Agosto tranquilo con mantenimientos habituales Siguiendo con la revisión de sitios con PHP 7.4 Avanzando con Dakota Next Semana Nahuai Follow-up, la opción de ver el calendario de fechas al programar un post está de vuelta en la 6.6.1 (o no la encontré en la 6.6). Cerramos una nueva colaboración en OsomPress. También vendrá a comentarlo cuando sea el momento. Flipando con la maquetación del menú responsive en un tema de bloques. Novedades sobre el proceso de review de WordPress.com Interesante reflexión que me trasladó Elías sobre para quien es el editor del sitio. Investigando las diferencias entre Transients API y las funciones wp_cache_*. Trasteando con WP-CLI. Echando un ojo al curso intermedio de desarrollo de temas de Learn WordPress. Investigando la opción de usar marcado de sintaxis solo con CSS. Necesitas una fuente que soporte “Color layers” (COLRv0 y COLRv1) y jugar con “@font-palette-values” y “font-pallete”. Meetup de Terrassa el 10 de septiembre. Contenido Nahuai Novedades https://wordpress.com/blog/2024/07/30/perplexity-partnership/ https://make.wordpress.org/core/2024/07/29/wordpress-6-6-performance-improvements/ https://make.wordpress.org/core/2024/08/15/introducing-twenty-twenty-five/ https://wptavern.com/jamie-marsland-joins-automattic-as-head-of-wordpress-youtube Menciones Enoch nos propone usar filtros anti-pop y mejorar el nivelado de audios. Bohdan nos propone usar un único fichero SVG y llamar a SVGs individuales usando ids.

Generation AI
Creating Interactive Apps for Better Teaching with Claude 3.5

Generation AI

Play Episode Listen Later Jul 30, 2024 23:18


This episode of Generation AI introduces Claude 3.5, Anthropic's latest AI model, and its new "artifacts" feature. Hosts JC Bonilla and Ardis Kadiu explore how Claude 3.5 can create interactive apps and visualizations, making complex topics like p-values easier to teach. They demonstrate Claude's ability to generate code, create web-based apps, and offer collaborative workspaces.Introduction to Claude 3.5Overview of Anthropic's new AI modelComparison to GPT-4 and other AI modelsDiscussion of Claude's improved writing and reasoning capabilitiesThe "Artifacts" FeatureExplanation of Claude's new ability to create interactive contentExamples of artifact types: code snippets, web apps, SVGs, and moreHow artifacts can be shared and collaborated onPractical Application: Teaching P-ValuesDemonstration of Claude creating an interactive app to explain p-valuesDiscussion of the "Surprise Party Planner" analogy for teaching statisticsHow AI-generated examples can make complex topics more relatableTechnical Capabilities of Claude's ArtifactsBreakdown of the code generation processExplanation of the React-based web app created by ClaudeDiscussion of Claude's ability to adapt and correct code based on feedbackImplications for Higher EducationHow AI tools like Claude can enhance teaching methodsPotential for creating personalized learning materialsDiscussion of the time-saving aspects for educatorsCollaboration and Version ControlOverview of Claude's team collaboration featuresExplanation of version control for artifactsHow these features can help in group projects and iterative learning - - - -Connect With Our Co-Hosts:Ardis Kadiuhttps://www.linkedin.com/in/ardis/https://twitter.com/ardisDr. JC Bonillahttps://www.linkedin.com/in/jcbonilla/https://twitter.com/jbonillxAbout The Enrollify Podcast Network:Generation AI is a part of the Enrollify Podcast Network. If you like this podcast, chances are you'll like other Enrollify shows too! Some of our favorites include The EduData Podcast and Visionary Voices: The College President's Playbook.Enrollify is made possible by Element451 — the next-generation AI student engagement platform helping institutions create meaningful and personalized interactions with students. Learn more at element451.com.

Crafting for Profit Live
Unleashing the Power of Digital Products with Abbi Kirsten

Crafting for Profit Live

Play Episode Listen Later Jul 22, 2024 52:06


Want to start creating digital products to sell as a side hustle or full-time income? We are chatting with Abbi Kirsten this week about creating and selling digital files, e-books, and so much more. If you want to start creating SVG files or any other type of digital product, be sure to catch this discussion from three experts who have successful digital product shops.   Abbi, the creator of Abbi Kirsten Collections, is a self-made creative entrepreneur on a mission to nurture the creative magic inside your soul and bring that bursting imagination inside you to life with easy-to-learn tutorials. Abbi spends every day making messes and magic in her home studio, with a mission to make the world a more colorful place, one craft at a time, through sharing her Cricut tutorials, papercraft projects, and handmade gifts. Be sure to check out Abbi's website: https://www.abbikirstencollections.com/   Get the Launch and Grow Your Creative Business Workbook for only $7! A series of step-by-step questions that will guide you on what and where to sell any handmade or digital product. https://link.craftingcamps.com/biz   Join the FREE! Magic of SVGs workshop: https://link.craftingcamps.com/magic   Don't forget to shop our merch store to support the podcast! https://link.craftingcamps.com/merch   Let us help you craft your future by turning your passion into a paycheck. Angie Holden and Cori George are teaming up for a series of live events dedicated to helping you start and grow your craft business. Be sure to subscribe so you don't miss any of the future episodes! Sign up for our email newsletter here: https://crafting-camps.ck.page/4715c59751   Ask us questions here: https://forms.gle/ShKt64gKjeuneMLeA   Want more from Cori and Angie? Be sure to subscribe to our YouTube channels and follow on Instagram using the links below: https://instagram.com/angieholdenmakes https://instagram.com/heyletsmakestuff https://youtube.com/angieholden https://youtube.com/heyletsmakestuff

Freelandev - Vivir del desarrollo en WordPress
#269 – Usuarios desaparecidos, cambiar color SVG, flujos de trabajo, Tripware y Scarcity

Freelandev - Vivir del desarrollo en WordPress

Play Episode Listen Later Jul 8, 2024 41:29


Síguenos en: Hoy además de nuestros poltergueist, dilemas de creadores de themes y novedades varias, traemos un par de conceptos de marketing para que luego no se diga que solo hablamos de block bindigns…. ¿Qué tal la semana? Semana esther Poltergueist usuarios admin desaparecidos PHP 5.6!!! Incidencias WPML Semana Nahuai Probando los temas de bloques con WordPress 6.6. Un buen jaleo el cambio en las variaciones de estilos. Investigando maneras de usar SVG y que se puedan modificar mediante CSS (ideal para la consistencia de las variaciones de estilos). Parece que usar mask-image y background-color puede ser la mejor opción. Revelación el viernes al última hora. Duda entre usar SVGs inline o desde fichero. ChatGPT, varias de cal y una de arena (o al revés). Probando un nuevo flujo de trabajo para actualizar temas usando WordPress Playground y de paso descubriendo cosas de gestión de Github. Pensando muy fuerte como aplicar nuevas "ideas fantásticas" en una web de membresías veterana. Gestionando una movida de (no) activación de licencias con Easy Digital Downloads. Encontrando la mejor manera para el cliente pueda restringir contenido de forma sencilla, para una nueva web (variación de bloque vs render_block_data). Probando los block bindings en WordPress 6.6. Cruzando mensajes con Carlos Bravo. Contenido Nahuai Un nuevo tutorial en Código Genesis: Mostrar el enlace a la política de privacidad mediante un bloque de WordPress Tip de la semana

WP Builds
377 – No Script Show, Episode 11 – What's new in web images. Are they worth a thousand words?

WP Builds

Play Episode Listen Later Jun 20, 2024 45:57


Today we discuss advancements in web image standards and new CSS features. Topics include object fit, aspect ratio, border images, filters, clip path, mask-image, and backdrop filters, which offer alternatives to traditional image editing tools like Photoshop. The episode also covers HTML and CSS considerations, such as img and picture elements, alt tags, and loading attributes. New image formats like WebP and AVIF are examined, along with the use of SVGs for accessibility and performance benefits. Go listen...

SVG Superstar Podcast
Ep. 50 $84 FROM SVGs in 3 days - a teacher's SVG business success

SVG Superstar Podcast

Play Episode Listen Later Mar 22, 2024 19:06


Are you uncertain about how to begin your journey into opening an SVG shop?

programmier.bar – der Podcast für App- und Webentwicklung
Deep Dive 142 – AWS Amplify mit Constantin Gonzalez Schmitz

programmier.bar – der Podcast für App- und Webentwicklung

Play Episode Listen Later Feb 23, 2024 74:13


Wolltest du schon immer mal eine vollständig cloudbasierte Anwendung bauen, ohne dich vorher tiefgehend mit AWS beschäftigen zu müssen? Dann ist dieser Deep Dive genau richtig für dich!In dieser Folge sprechen wir über AWS Amplify und haben dafür neben Jan und Garrelt auch Constantin Gonzalez Schmitz, Principal Solutions Architect bei Amazon Web Services, im Studio.Wir besprechen die Vor- und Nachteile von AWS Amplify und warum ein gutes Architecture Pattern (wie hexagonale Architektur) trotzdem unerlässlich ist. Wir beleuchten, welche Services out of the box integriert werden können und wie mittels Amazon Bedrock auch Generative-AI-Anwendungsfälle abgedeckt werden können.Außerdem diskutieren wir anfallende Kosten, das kostenlose Nutzungskontingent und die Gründe, warum auch Entwickler:innen ein solides Verständnis vom Geschäftsmodell und Nutzungsverhalten der eigenen Anwendung haben sollten.Picks of the Day: Constantin: Perplexity – Perplexity beschreibt sich selbst als „das Schweizer Taschenmesser der Informationsbeschaffung“. Anders als herkömmliche große Sprachmodelle (LLMs), erzeugt Perplexity nicht nur Antworten aufgrund angelernten Wissens, sondern kann selbstständig Recherchen anstellen und Quellennachweise erbringen. Vielmehr als Konkurrenz zu GPT, LLaMA und den anderen Modellen, will Perplexity eine Alternative zu herkömmlichen Suchmaschinen anbieten. Garrelt: SVG Tutorial – In 25 kleinen Lektionen lernt ihr hier alles, was ihr für den grundlegenden Umgang mit SVGs in der Webentwicklung wissen müsst. Von einfachem Layout, über Gestaltung mit CSS und Interaktion mit JavaScript ist alles dabei. Der perfekte Adventskalender – auch in jeder anderen Jahreszeit! Jan Gregor: Factorio – Factorio ist eine Wirtschaftssimulation, die bereits 2016 in den Early Access startete und zuletzt ein großes Update erhielt. In diesem Spiel müsst ihr Produktionsketten, Beförderung, Forschung und Verteidigung übernehmen und könnt dazu aus einer Unmenge an Werkzeugen und Automatisierungen wählen. Jan hat das Spiel ursprünglich geschenkt bekommen, weil sein damaliger Chef und Gründer bei Shopify ein großer Factorio-Fan war. Alle, die sich für komplexe Systeme und Theory of Constraints interessieren, werden hierbei Spaß haben. Constantin: Compulsory (Martha Wells) – „Compulsory“ ist eine Kurzgeschichte von Martha Wells und Teil ihrer „Murderbot Diaries“-Reihe („Tagebuch eines Killerbots“). Die Kurzgeschichte spielt vor dem ersten Band und ist damit ein gute und kurze Vorschau auf das, was Lesende in den sieben bisher erschienen Bänden erwartet. Im Zentrum steht eine Maschine, die nach der Erlangung ihrer Selbständigkeit lieber Seifenopern im Fernsehen schauen möchte, als ihrer eigentlichen Aufgabe nachzugehen. Schreibt uns! Schickt uns eure Themenwünsche und euer Feedback: podcast@programmier.barFolgt uns! Bleibt auf dem Laufenden über zukünftige Folgen und virtuelle Meetups und beteiligt euch an Community-Diskussione

The Money Lap
Live Excerpts - Brodie Kostecki: Supercars Champion & Street Course Precision & NASCAR Differences

The Money Lap

Play Episode Listen Later Dec 27, 2023 35:08


Brodie is a Supercars driver who won the 2023 Supercars Championship! He competed in the NASCAR Cup Series in 2023 and plans to compete more in 2024! We brought Brodie on to talk all things Supercars, NASCAR, and more!

SVG Superstar Podcast
Ep 49 SVGs that will make you money right now!

SVG Superstar Podcast

Play Episode Listen Later Dec 6, 2023 20:32


Join me as I unravel the secrets to a thriving SVG business! This episode is packed with practical tips and strategies on creating and selling SVGs that mean serious business. Whether you're a seasoned creator or just starting your SVG shop, this is your guide to turning creativity into profit. How interested are you in elevating your crafting game? Tune in now!

SVG Superstar Podcast
Ep. 48 How I made 25k from SVGs in 2023

SVG Superstar Podcast

Play Episode Listen Later Nov 28, 2023 29:14


SVG Superstar Podcast
Ep. 47 - From a Resin Business to Selling ASL SVGs for Passive Income - with Cheryl (CharosSVGs)

SVG Superstar Podcast

Play Episode Listen Later Nov 22, 2023 28:01


Join me and my SVG Superstar student - Cheryl as we talk about her journey from a resin business to selling ASL SVG cut files with no prior design experience. Want to make passive income selling SVGs? Join me now in SVG Superstar. $500 off until Nov 30. https://cutnmakecrafts.com/svgs-on-desk-ipad-2/

Project Geospatial
FOSS4GNA 2023 | NPMap5 Next Generation Web Maps for the National Park Service - James McAndrew

Project Geospatial

Play Episode Listen Later Nov 15, 2023 26:44


Summary Exploration of the next generation web maps for the National Park Service (NPS) using Map Libra and transitioning from Mapbox GJS. Emphasis on data standards, community collaboration, and avoiding a centralized API approach. Highlights

SVG Superstar Podcast
Ep. 46 From a 6-Figure Handmade Business to Selling SVG Cut Files with Leslie Fredrick (The Party Crafter)

SVG Superstar Podcast

Play Episode Listen Later Nov 14, 2023 44:23


Join me and @‌thepartycrafter - my student from the SVG Superstar Business Coaching Program as we chat about her successful journey on transitioning from a 6-figure handmade business to making passive income from SVGs.

The Bike Shed
397: Dependency Graphs

The Bike Shed

Play Episode Listen Later Aug 15, 2023 42:53


Stephanie is consciously trying to make meetings better for herself by limiting distractions. A few episodes ago, Joël talked about a frustrating bug he was chasing down and couldn't get closure on, so he had to move on. This week, that bug popped up again and he chased it down! AND he got to use binary search to find its source–which was pretty cool! Together, Stephanie and Joël discuss dependency graphs as a mental model, and while they apply to code, they also help when it comes to planning tasks and systems. They talk about coupling, cycles, re-structuring, and visualizations. Ruby Graph Library (https://github.com/monora/rgl) Graphviz (https://graphviz.org/) Using a Dependency Graph to Visualize RSpec let (https://thoughtbot.com/blog/using-a-dependency-graph-to-visualize-rspec-let) Mermaid.js (https://mermaid.js.org/) Strangler Fig pattern (https://martinfowler.com/bliki/StranglerFigApplication.html) Transcript: JOËL: Hello and welcome to another episode of The Bike Shed, a weekly podcast from your friends at thoughtbot about developing great software. I'm Joël Quenneville. STEPHANIE: And I'm Stephanie Minn. And together, we're here to share a bit of what we've learned along the way. JOËL: So, Stephanie, what's new in your world? STEPHANIE: So, I'm always trying to make meetings better for me [chuckles], more tolerable or more enjoyable. And in meetings a lot, I find myself getting distracted when I don't necessarily want to be. You know, oftentimes, I really do want to try to pay attention to just what I'm doing in that meeting in the moment. In fact, just now, I was thinking about the little tidbit I had shared on a previous episode about priorities, where really, you know, you can only have one priority [laughs] at a time. And so, in that moment, hopefully, my priority is the meeting that I'm in. But, you know, I find myself, like, accidentally opening Slack or, like, oh, was I running the test suite just a few minutes before the meeting started? Let me just go check on that really quick. And, oh no, there's a failure, oh God, that red is really, you know, drawing my eye. And, like, could I just debug it really quick and get that satisfying green so then I can pay attention to the meeting? And so on and so forth. I'm sure I'm not alone in this [laughs]. And I end up not giving the meeting my full attention, even though I want to be, even though I should be. So, one thing that I started doing about a year ago is origami. [laughs] And that ended up being a thing that I would do with my hands during meetings so that I wasn't using my mouse, using my keyboard, and just, like, looking at other stuff in the remote meeting world that I live in. So, I started with paper stars, made many, many paper stars, [laughs] and then, I graduated to paper cranes. [laughs] And so, that's been my origami craft of choice lately. Then now, I have little cranes everywhere around the house. I've kind of created a little paper crane army. [laughs] And my partner has enjoyed putting them in random places around the house for me [laughs] to find. So, maybe I'll open a cabinet, and suddenly, [laughs] a paper crane is just there. And I think I realized that I've actually gotten quite good at doing these crafts. And it's been interesting to kind of be putting in the hours of doing this craft but also not be investing time, like, outside of meetings. And I'm finding that I'm getting better at this thing, so that seemed pretty cool. And it is mindless enough that I'm mentally just paying attention but, yeah, like, building that muscle memory to perfecting the craft of origami. JOËL: I'm curious, for your army of paper cranes, is there a standard size that you make, or do you have, like, a variety of sizes? STEPHANIE: I have this huge stack of, like, 500 sheets of origami paper that are all the same size. So, they're all about, let's say, two or three inches large. But I think the tiny ones I've seen, really small paper cranes, maybe that would be, like, the next level to tackle because working with smaller paper seems, you know, even more challenging. JOËL: I'd imagine the ratio of, like, paper thickness to the size of the thing that you're making is different. STEPHANIE: At this point, they say that if you make 1,000, then you bring good luck. I think I'm well on my way [laughs] to hopefully being blessed with good luck in this household of my little paper crane army. JOËL: It's interesting that you mentioned the power of having something tactile to do with your hands during a meeting, and I definitely relate to that. I feel like it's so easy, even, like, mindlessly, to just hit Command-Tab when I'm doing things on a screen. Like, my hands are on the keyboard. If I'm not doing something, I'm just going to mindlessly hit Command-Tab. It's kind of like on your phone sometimes. I don't know if you do this, like, just scrolling side to side. You're not actually doing anything. You just want motion with your fingers. STEPHANIE: Yes. I know exactly what you're talking about. And it's funny because it's a bit of a duality where, you know, when you are in your development workflow, you want things to be as quick and convenient as possible, so that Command-Tab, you know, is very easy. It's just built in, and that helps speed up your, you know, day-to-day work. But then it's also that little bit of mindlessness, I think, that can get you down the distraction path. When I was first looking for something to do with my hands, to have, like, a little tactile thing to keep me focused in meetings, I did explore getting one of those fidget cubes; I have to say. [laughs] It's just a little toy, you know, that comes with a bunch of different settings for you to fidget with. There's, like, a ball you can roll, you know, with your thumb, or maybe some buttons to click, and it gives you that really satisfying tactile experience. And I know they work really well for a lot of people, but I've really enjoyed the, I guess, the unexpected benefits [chuckles] of getting better at a hobby [laughs] while spending my time at my work. Joël, what is new with you? JOËL: So, a few episodes ago, I talked about a really kind of frustrating bug that I was chasing down that was due to some, like, non-determinism in the environment. And it kind of came, and then it went away. And I wasn't able to get sort of closure on that and had to move on. Well, this week, that bug popped up again, and this time, I was actually able to chase it down. So, that felt really exciting. And I got to use binary search to try to find the source of it, which made me feel really cool. STEPHANIE: Oooh, do tell. What ended up being the issue? JOËL: I'm connecting to an external Snowflake data warehouse, and ActiveRecord tries to fetch the schema and crashes as part of that with some cryptic error that originates from the C extension ODBC Ruby driver package. I figured out that it's probably something to do with, like, a particular table name or something in the table metadata when we're pulling this schema that we're not happy about. But I don't know which table is the one that it's not happy with. Well, this time, I was able to figure out, by reading through some of the documentation, that I can pull subsets of the schema. So, I can pull the first n values of that schema, and it won't crash. It only crashes if I try to fetch the entire set, which is what is happening under the hood. At that point, you know, I could fetch each row individually, but there's hundreds of these. So, you know, I try, okay, what happens if I try to fetch 1,000 of these? Is it going to crash? Because it's a massive system. So, yes, I get a crash. So, I know that a table less than a thousandth in the list of tables is what's causing the problems. So, okay, fetch 500 halfway in between there. It's still going to crash. Okay, 250, 125. I then kind of keep halving all the time until I find one that doesn't crash. And now I know that it is somewhere between the last crash and this one. So, I think it was between 125 and 250. And now I can say, okay, well, let's fetch the first, you know, maybe 200 tables, okay, that crashes. And I keep halving that space until you finally find it. And then, like, okay, so it's this one right here. Now, the problem is the bad table actually crashes. So, I think it ended up being, like, number 175 or something like that. So, I never get to see the actual table itself. But because the list of tables is in alphabetical order, and I can see because I can fetch the first 174 and it succeeds, so I can tell what the previous 5, 6, you know, previous 174 are. I can pretty easily go and look at the actual database and the list of tables and say, okay, well, it's in the same order. And the next one is this one, and hey, look, there is some metadata there that has some very long fields that are longer than one might expect, specifically going over a potentially implied 256-character limit. That seems somewhat suspicious. And, oh, if we remove this table, all of a sudden, everything works. STEPHANIE: Wow, binary search, an excellent debugging tool [laughs] when you have no idea, you know, what could possibly be causing your issue. JOËL: It's such a cool tool. Like, I'm always so happy when I get a chance to use it. The problem is, you need a way to be able to answer the question, like, have I found it? Yes or no? Or, generally, is it greater or less than this current position? STEPHANIE: Well, that's really exciting that you ended up figuring out how to solve the bug. I know last time we talked about it, you kind of had left off in a space of, hopefully, we won't run into this issue again because it's no longer happening. But it seems like you were also set up this time around to be able to debug once it cropped up again. JOËL: Yes. So, binary search is really cool. It's got this, like, very, like, fancy computer science name. But in reality, it's a fairly simple, straightforward technique that I use fairly frequently in my development. And there's another kind of computer sciency fancy-sounding concept that I use all the time. You've all heard me reference this multiple times on the show. You're right; we're finally doing it. This is the dependency graph episode. STEPHANIE: Woo. [laughter] It's time. I'm excited to really dig into it because, you know, as someone who has heard you talk about it a lot, you know, and is maybe a little less familiar with graph theory and how, you know, it can be applied to my day to day work, I'm really excited to dig into a little bit about, you know, what a regular developer needs to know about dependency graphs to add to their toolbox of skills. JOËL: So, I think at its core, the idea of a dependency graph is that you have a group of entities, some of which depend on each other. They can't do a task, or they can't be created unless some other subtasks or dependent actions take place. And so, we have a sort of formal structural way of describing these things. Visually, we often draw these things out where each of the pieces is like a little bubble or a circle, and then we draw arrows towards the things that it depends on. So, if A cannot be done without B being done first, we draw an arrow from A to B. That's kind of how it is in the abstract. More concretely, this kind of thing shows up constantly throughout the work that we do because a lot of what we do as developers is managing things that are connected to each other or that depend on each other. We build complex systems out of smaller components that all rely on each other. STEPHANIE: Yeah, I think it's interesting because I use the word dependency, you know, very frequently when talking about normal work that I'm doing, you know, dependencies as in libraries, right? That we've pulled into our application, or dependencies, like, talking about other classes that are referenced in this class that I'm working in. And I never really thought about what could be explored further or, like, what could be learned from really digging into those connections. JOËL: It's a really powerful mental model. And, like you said, dependencies exist all over our work, and we often use that word. So, you mentioned something like packages, where your application depends on Rails, which in turn depends on ActiveRecord, which in turn depends on a bunch of other things. And so, you've got this whole chain of maybe immediate dependencies, and then those dependencies have dependencies, and those dependencies have dependencies, and it kind of, like, grows outward from there. And in a very kind of simplistic model, you might think, oh, well, it's more, like, a kind of a tree structure. But oftentimes, you'll have things like branches on one side that connect back to branches on the other. And now you've got something that's no longer really tree-like. It's more of a sort of interconnected web, and that is a graph. STEPHANIE: I think understanding the dependencies of your system has also become more important to me as I learn about things that can go wrong when I don't know enough about what my system is, you know, relying on that I had kind of taken for granted previously. I'm especially thinking about packages like we were mentioning, and, you know, not realizing that your application is dependent on this other library, right? That's brought in by a gem that you're using. And there's maybe, like, a security issue, right? With that. And suddenly, you have this problem on your hands that you didn't realize before. And I know that that has been more of a common discussion now in terms of security practices, just being more aware of all the things that you are depending on as really our work becomes more and more interconnected with the things available to us with open source. JOËL: I think where understanding the graph-like nature of this becomes really important is when you're doing something like an upgrade. So, let's say you do have a gem that has a security problem, and you want to upgrade it to fix that security issue. But the upgrade that includes the security patch is also a breaking upgrade. And so, now everything else in your system that depends on that gem or on that package is going to break unless you have them in a version that is compatible with the new version of that gem. And so, you might have to then go downstream and upgrade those packages in a way that's compatible with your app before you can bring in the security patch. And a lot of that can be done automatically by Bundler. Bundler is software that is built around navigating dependency graphs like that and finding versions that are compatible with each other. But sometimes, your code will need to change in order to upgrade one of these downstream gems so that you can then pull in the upgrade from the gem that needs a security patch. And so, understanding a little bit of that graph is going to be important to safely upgrading that gem. STEPHANIE: So, I know another application of dependency graphs that you have thought about and written a blog post for is RSpec let declarations and how a lot of the time when we are using let, you know, we are likely calling other variables defined by let. And so, when you are encountering a test file, it can be really hard to grok what data is being set up in your test. JOËL: Yeah, so that is really interesting because you can define something that will get executed in a lazy fashion if it gets referenced. But then not only is the let lazy and will not trigger unless it's referenced, but a let can reference other lets, which are also lazy, and only get triggered if they get referenced. So, you might have a bunch of lets defined in any order you want throughout a file, and they're all kind of interconnected with these references to each other. But they only get triggered if something calls it directly or it's in this, like, chain of dependencies. And getting a grasp on what actually gets created, which lets will actually execute, which ones don't in a file can quickly get out of hand. And so, thinking of this in terms of a dependency graph has been a really helpful mental model for me to understand what's going on in a complex test file. STEPHANIE: Yeah, absolutely. Especially when sometimes the lets are coming from all over the place, you know, maybe a describe block hundreds of lines away, or even a completely different file if you are using a shared context that's being pulled in. So, I can see why this was a complex problem that could be made a little simpler with plotting out a dependency graph. And in preparation for this episode, I was doing a little bit of my own exploration on this because I certainly know, you know, the pain of trying to figure out what is being executed in my tests when there are a lot of lets that reference each other. And in the blog post, you kind of gave a little step-by-step of how you could start with creating a dependency graph for the test that you're working with. And I was really curious if this process could be automated because, you know, I do enjoy, you know, pulling out the pen and paper [chuckles] every now and then. But I'm not, like, a particularly visual person. God forbid I, like, draw a circle, but then, like, don't have enough space for the rest of the circles. [laughs] So, I was really hoping for a tool that could do this for me, especially if, you know, you do, you have a lot of tests that you have to try to understand in a relatively short amount of time. And so, I ended up doing something kind of hacky with RSpec and overriding let definitions to automate this process. JOËL: That's really cool. So, is the tool that you're trying to build something where you feed it in a spec file, and it gives you some kind of graphical representation like an SVG or something as output? STEPHANIE: Yeah. I did consider that approach first, where you feed in the file, but then I ended up going with something more dynamic where you are running the test, and then as it gets executed, tracing the let definitions and then registering them to build your dependency graph. JOËL: So, you've got some sort of internal modeling that describes a dependency graph. And then, somehow, you're going to turn that, you know, a series of Ruby objects into some kind of visual. STEPHANIE: Yeah, exactly. And the bulk of that work was actually done with a library called RGL, which stands for just Ruby Graph Library. [laughs] And what's nice is that it has a really easy interface for plugging in the vertices and edges of the dependency graph that you want to build. And then, it is already hooked up with Graphviz to, you know, write the SVG to a file. And so, I ended up really just having to build up an array of my dependencies and the connections to each other and then feed it into the constructor of the graph. JOËL: And for all of our listeners, you mentioned Graphviz. That is a third-party tool that can be installed on your machine that can generate these SVG diagrams from...I believe it has its own sort of syntax. So, you create, I believe it's dot, D-O-T, so dot dot file. And based off of that, it generates all sorts of things, but SVG being potentially one of them. STEPHANIE: Yeah. The nice thing was that I actually didn't end up having to use the DSL of Graphviz because the RGL gem was doing them for me. JOËL: Nice. So, it plugs in directly. STEPHANIE: Yeah, exactly. And I was really curious about using this gem because I, you know, just wanted to write Ruby, especially to plug into other things that are already in Ruby. And I found that surprisingly easy, thanks to all of the RSpec config options that they make available to you, including an option to extend the example group class, which is actually where let and let bang is defined. And so, I ended up overriding those classes and using, you know, the name of the let that you're defining and then the block to basically register the dependencies. And I also ended up exploring a little bit with using Ruby's built-in parser to figure out in the block that's being passed to the let, what parts of that block could potentially be a reference to another let. JOËL: That's really cool. Did you get any fun results from that? STEPHANIE: I did. It worked pretty well in being able to capture all of the let declarations, and other lets that it references. And so, I was able to successfully, you know, like, generate a visual dependency graph of all of the lets, so that was really neat. The part that I was really kind of excited about trying next, though I didn't end up having time to yet, was figuring out which of those let values are executed by way of the let bang, right? Which is eager or what is referenced in the test that then gets executed as well. And so, the RGL library is pretty neat and has some formatting options, too, with the Graphviz output. So, you can change the font color or styling options for different, you know, nodes and edges. And so, I was really curious to pursue this further, maybe, and use it to show exactly what gets evaluated now that I have successfully mapped my let graph. JOËL: Right. Because the whole point of this exercise is that not the entire graph is going to get evaluated. The underlying question is, what data actually gets created when my test runs? And so, you build out this whole dependency graph, and then you can follow a few simple rules to say, okay, this branch gets called, this branch gets called, this series of things gets called. And okay, this subset of let blocks trigger, and therefore this data has been created for my given test. STEPHANIE: Yeah. Though I will say that even where I got so far to, just seeing all of the let definitions in a spec file was really helpful to have a better understanding, you know, if I do have to add a test in here, and I'm thinking about reaching for a pre-existing let declaration, to be like, oh, like, it actually, you know, goes on to reference all of these other things that may be factories [chuckles] that are created might make me, you know, think twice, or just have a little better understanding of what I'm really dealing with. JOËL: Right. The idea that when you're calling out to a let, or a factory, or something else that's just a node in a large graph, you're not necessarily referencing just one thing. You might actually be referencing the head of a very long chain of things that maybe you don't intend to trigger the whole thing. STEPHANIE: Yeah, exactly. JOËL: So, in that sense, having a sort of visual or at least an idea of the graph can give you a much better sense of the cost of certain operations that you might have to do. STEPHANIE: The cost of the operations certainly, especially when, you know, you are working in a legacy codebase, and you, you know, like, maybe don't know how everything plays together or is connected. And it's very tempting to just reach for [chuckles] the things that have been, you know, created or built for you. And I'm certainly guilty of that sometimes on this client project, where the domain is so complex, and there are so many associated models. And I'm like, well, like, let me just, you know, use this let that already, you know, has a factory set up for what I think I need for this test. But then realizing, oh, actually, like, it is creating all these things, and do I really need them? I think it can be really challenging to unravel all of that in your head. And so, with this very scrappy tool that I [chuckles] built for my own purposes, you know, maybe it makes it, like, one step easier to try to fully understand what I'm working with and maybe do something different. JOËL: One aspect that I think is really powerful about dependency graphs is that it takes this kind of, like, abstract concept that we oftentimes have an intuitive sense around, the idea that we have different components that depend on each other, and it shows it to us visually on, like, a 2D plane. And that can be really helpful to get an understanding or an overview of a system. You mentioned that RGL uses Graphviz to generate some SVGs. A visual tool that I've been using to draw some of my dependency graphs has been mermaid.js. It has a syntax that's, like, a text-based syntax, but it's almost visual in that you have a piece of text and name of a node. And then, you'll draw a little ASCII arrow, you know, two dashes and a greater than sign to say this thing depends on, and then write another name, and just have a row, like, a bunch of entries to say; A depends on B. A also depends on C. C depends on D, and so on, and, like, build up that list. And then Mermaid will just generate that diagram for you. STEPHANIE: Yeah. I've used Mermaid a few times. One really helpful use that I had for it was diagramming out a bunch of React components that I had and wanting to understand the connections between them. And I think you can even paste the Mermaid syntax into your GitHub pull request description, and it'll render as the graph image. JOËL: Yeah, that's what's really cool is that Mermaid syntax has become embedded in a lot of other places in the past few years. So, it's really easy to embed graphs now into all sorts of things. You mentioned GitHub. It works in pull requests descriptions, comments, I think pretty much anywhere that Markdown is accepted. So, you could put one in your README if you wanted. Another place that I use a lot, Obsidian, my note-taking tool, allows me to embed graphs directly in there, which is really much nicer than previously; sometimes, when I wanted to express something as a visual, I would use some sort of drawing tool to do something and export an image, and then embed that in my note. But now I can just put in this text, and it will automatically render that as a diagram. And part of what's really nice about that is that then it's really easy for me to go and change that if I'm like, oh, but actually, I want to add one more connection in here. I don't have to re go back to, hopefully, a file that I've saved somewhere and, like, change an image file and re-export it. I just, you know, I add one line of text to my note, and it just works. STEPHANIE: That's awesome. Yeah, the ability to change it seems really useful. So, we've talked a little bit about tools for creating a visual aid for understanding our dependencies. And now that we have our graph, maybe we might have some concerning observations about what we see, especially when perhaps some of our dependencies are pointing back to each other. JOËL: Yes. So, I think you're referencing cycles, in particular. That would be the formal term for it. And those are really interesting. They happen in dependency graphs. And I would say, in many cases, they can be a bit of a smell. There's definitely situations where they're fine. But there are things that you look at, and you're like, okay, this is going to be a more complex kind of tricky bit of the graph to work with. Some cases, you just straight up can't have them. So, I want to say that the way RSpec lets are set up, you cannot write code that produces cycles. But you might have...I think Ruby allows classes to reference each other in such a way that it creates a cycle, and not all languages do that. So, Elm and F#, I believe, require that modules cannot reference each other. The fancy term for this is a dependent acyclic graph, or DAG, which basically just means that there are no cycles in that graph. STEPHANIE: Yeah. What you said about classes referencing each other is very interesting because I've definitely seen that. And then, if I have to go about changing something, maybe even it's just the class name, right? Now there's no way in which I can really make just one change. I have to kind of do it all in one go. JOËL: I think that's a common property of a cycle, and a graph is that changes that happen somewhere in that cycle often need to be all shipped together as one piece. You can't break it up into smaller chunks because everything depends on everything else. So, it has to be kind of boxed together and shipped as one thing. STEPHANIE: And you'd mentioned that cycles, you know, can be a bit of a code smell. And if the goal is to be able to break it up so that it is a little bit more manageable to work with, how would you go about breaking a cycle? JOËL: So, I think breaking a cycle is going to vary a little bit based on your problem domain. So, are you modeling a series of classes that are referencing each other? Is this a function call graph? Is this even, like, a series of tasks that you're trying to do? But typically, what you want to do is make sure that eventually, at some point, like, something doesn't loop back to referencing something higher up in your hierarchy. And so, oftentimes, it ends up being about what is allowed to know about what? Do you have higher-level concepts that can know and depend on lower-level concepts but not vice versa? And again, we are talking about this a little bit at the abstract level. But in terms of, let's say, different code modules, or classes, or something like that, commonly, you might say, well, we want some sort of layering where we have almost, like, more primitive types of classes at the bottom. And they don't get to know about anything above them. But the ones above that might be more complex that are composed of smaller pieces know about the ones below them. And you might have multiple layers kind of like that that all kind of point down, but nothing points up. STEPHANIE: That is a very common heuristic. [chuckles] I think you were basically just describing how I also understand creating React components, where you want to separate your presentational ones from your functional ones. And, yeah, it makes a lot of sense that as soon as you start adding that complexity of, you know, those primitive classes at the bottom, starting to, you know, point to things higher up or to know about things higher up, that is where a cycle may be accidentally introduced. JOËL: It's interesting just how many design principles that we have in software. If you dig into them a little bit, you find out that they're about decoupling things, and oftentimes, it's specifically breaking up cycles. So, one way that you might have something like this that actually has dependency in the name, the dependency inversion principle, where what you're effectively doing is you're taking one of those dependency arrows, and you're flipping it the other way. So, instead of A depending on B, you're flipping it. Now B depends on A, and that can be enough to break a cycle. STEPHANIE: So, one thing I've picked up from our conversations about dependency graphs is that oftentimes, you know, when you're trying to figure out where to start, you want to look for those areas or those nodes where there's nothing else that depends on it. JOËL: Yeah. I think you have those nodes that, if this were a tree, you would call them the leaf nodes. In the case of a graph, I'm not sure if that's technically correct, but they don't depend on anything. They're kind of your base case. And so, you can, you know, if it's a function, you can run it. If it's a file, you can load it; if it's a class, also you can load it up and not have to do anything else because it has no dependencies. And knowing that those are there, I think, can be really useful in terms of knowing an order you might want to execute something in. And this is really interesting for one of my favorite uses of a graph, which is breaking down a series of tasks that you need to do. So, commonly, you might say, okay, I have a large task I need to do. I break it down into a series of subtasks. And, you know, maybe I draw out, like, a bulleted list and, you know, task 1, 2, 3, 4, 5. The problem is that they're not necessarily just a flat list. They all have, like, orders, like dependencies between each other. So, maybe one has to happen before 2, but it also has to happen before 3, which needs to happen before two, and, like, there's all these interconnections. And then, you find out that you can't ship them independently the way you thought initially. So, by building up a graph, you end up with something that shows you exactly what depends on what. And then, like you said, the parts that are really interesting where you can start doing work are the ones that have no dependencies themselves. Other things might depend on them, but they have no dependencies. Therefore, they can be safely built, shipped, deployed to production, and they can be done independently of the other subtasks. STEPHANIE: Yeah. I was also thinking about things that could be done in parallel as well. So, if you do have multiple of those items with no dependencies, like, that is a really good way to be able to break up that work and, yeah, identify things that are not blocked. JOËL: For a complex set of tasks, it's great to see, okay, these two pieces have no dependencies. We can have them be done in parallel, shipped independently. And then you can just kind of keep repeating that process. Because once all of the tasks that have no dependencies have been done, well, you can almost, like, remove them from the graph and see, okay, what's the new set of things that have no dependencies? And then, keep doing that until you've eventually done the whole graph. And that may sound like, oh okay, we're just kind of using a little bit of intuition and working through the graph. It turns out that this is a, like, actual, like, formal thing. When it comes to graphs, it's a traversal algorithm called topological sort is the fancy name for it, and it basically, yeah, it goes through that. It gives you a list of nodes in order where each node that you're given has no dependencies that have not been evaluated yet. So, it works from effectively to use our tree terminology, from the leaf nodes to the root, potentially roots plural, of the graph, and each step is independent. So that's a lot of, like, fancy terminology, and getting a little bit of, like, computer science graph theory into here. So, my, like, general heuristic is that graphs should be evaluated from the bottom up when you're trying to evaluate each piece independently. So, when you do that, you get to do each piece independently, as opposed to if you're evaluating from the top down. So, starting from the one thing that depends on everything else, well, it can't be shipped until all of its dependencies have been shipped. And all the transitional dependencies can't be shipped until their dependencies have been shipped. And so, you end up being not able to ship anything until you've built the entire graph. And that's when you end up with, you know, a 2,000-line PR that took you multiple weeks and might be buggy. And it's going to take a long time to review. And it's just not what anybody wants. STEPHANIE: I'm glad you brought this up because I think this is where I am really curious to get better at because oftentimes, when I am breaking down a complex task, it's quite hard for me to see all of the steps that need to happen. And so, you know, you maybe start out with that, like, top-level node, like, the task that needs to be done as you understand it immediately. And it's really hard to actually identify the dependencies and, like, the smaller pieces along the way. And because you're not able to identify that, you think that you do have to just do it all in one go. JOËL: Yeah, that sort of root node is typically the overarching task, the goal of what you want to do. And a common, I think, scenario for something like this would be, let's say, you're doing a Rails upgrade. And so, that root node is upgrade Rails. And a common thing that you might want to do is say, okay, let's go to the gem file, upgrade Rails, see what breaks, and then just keep fixing those things. That's working from the top down. And you're going to be in a long-running branch, and you're going to keep fixing things, fixing things, fixing things until you have found all the things but done all the things. And then you do a big bang upgrade that may have taken you weeks. As opposed to if you're working from the bottom up, you try to figure out, okay, what are all the subtasks? And that might take some exploration. You might not know upfront. But then you might say, okay, here, I can upgrade RSpec versus a dependency, or I need to change the interface of this class and ship all these pieces one at a time. And then, the final step is flipping that upgrade in the gem file, saying, okay, now I've upgraded Rails from 4 to 5, or whatever the version is that you're trying to do. STEPHANIE: I think you've really hit the nail on the head when it comes to trying to do something but not knowing what subtasks may compose of it and getting into that problem of, you know, having not broken it down, like, enough to really see all the dependencies. And, you know, maybe this is a conversation [chuckles] for another episode, but the skill of breaking up those tasks and exploring what those dependencies are, and being able to figure them out upfront before you start to just do that upgrade and then see what happens, that's definitely an area that I want to keep investing in. And I'm sure other people would be really curious about, too, to help them make their jobs easier. JOËL: I think one tip that I've learned that's really fun and that connects into all of this is sometimes you do end up with a cycle in your dependencies of tasks. A technique for breaking that up is a pattern that I have pitched multiple times on the show: the strangler fig pattern. And part of why it's so powerful is that it allows you to work incrementally by breaking up some of these cycles in your dependency graph. And one of the lessons that I've learned from that is that just because you have sort of an initial set of subtasks and you have a graph of them doesn't mean that you can't change them. If you're following strangler fig, what you're actually doing is introducing one or more new subtasks to that graph. But the way you introduce them breaks up that cycle. So, you can always add new tasks or split up existing ones as you get a better understanding of the work you need to do. It's not something that is fixed or set in stone upfront. STEPHANIE: Yeah, that's a really great tip. I think next time, what I really want to explore, you know, your heuristic of going from bottom up, yeah, sure, it sounds all fine and dandy. But how to get to a point where you're able to see everything at the bottom, right? And, like, when you are tasked, or you do start with the thing at the top, like, the end goal. Yeah, I'm sure that's something we'll explore [chuckles] another day. JOËL: On that note, shall we wrap up? STEPHANIE: Let's wrap up. Show notes for this episode can be found at bikeshed.fm. JOËL: This show has been produced and edited by Mandy Moore. STEPHANIE: If you enjoyed listening, one really easy way to support the show is to leave us a quick rating or even a review in iTunes. It really helps other folks find the show. JOËL: If you have any feedback for this or any of our other episodes, you can reach us @_bikeshed, or you can reach me @joelquen on Twitter. STEPHANIE: Or reach both of us at hosts@bikeshed.fm via email. JOËL: Thanks so much for listening to The Bike Shed, and we'll see you next week. ALL: Byeeeeeee!!!!!! ANNOUNCER: This podcast is brought to you by thoughtbot, your expert strategy, design, development, and product management partner. We bring digital products from idea to success and teach you how because we care. Learn more at thoughtbot.com.

Pro Wrestling Enforcer Podcast
Blake "Bulletproof" Troop PWE Report Interview

Pro Wrestling Enforcer Podcast

Play Episode Listen Later Jul 7, 2023 37:24


Host Sean Lennon talked to NWA Pro Wrestler and former MMA Fighter Blake “Bulletproof” Troop on PWE he's on half of the NWA SVGS with Jax Dane togeher they will take on NWA United States Tag Team Champions The Country Gentlemen at HP Cares for Cooper event July 8th in Highland Park and will be prefoming July 9th for NWA Tapings at Studio One Highland Park. Hes also wrestled for CCW, Control Your Narrative/GLCW, and PCW UltraBulletproof talked about Pro Wrestling about his prior career in MMA and how he was able to use it to adapt your current wrestling style, How is working Television different than Independent shows, how much has he learned from being in NWA, his match with Talos who's over 7ft tall, being in theCrocket Cup where him and Jax Dane fell short to Los Jinetes Del Aire ( Mysteziz Jr and Octagon jr) in his first lucha style match, the Veterans in NWA he looks up to for advice, competing n Submission Grappling, possibly working Josh Barnett Bloodsport event one day, NWA 312 and being apart of a landmark event where owner of NWA Billy Corgan was from, SVGS matches against Country Gentlemen Anthony Andrews and AJ Cazana and their rematch Saturday, the loudest reactions in his former hometown of Los Angelas and more!For the Official PWE Shirt shop at -https://www.prowrestlingtees.com/pro-wrestling-enforcer-logo.htmlFor Exclusive Pro Wrestling Articles and Updated Results for WWE, NXT, AEW, and Impact WrestlingLike the Facebook Page-https://m.facebook.com/PWEPodcast/And Support your favorite Independent Wrestlers by buying Shirts and More at https://www.prowrestlingtees.com/

Pro Wrestling Enforcer Podcast
NWA US Tag Team Champion "Thoroughbred" Anthony Andrews

Pro Wrestling Enforcer Podcast

Play Episode Listen Later Jul 6, 2023 40:59


Host Sean Lennon talked to NWA Pro Wrestler "Thoroughbred" Anthony Andrews on PWE he's one half of the NWA United States Tag Team Champions with AJ Cazana as The Country Gentlemen. They will be in Highland Park July 9th for NWA Tapings at Studio One Highland Park and HP Cares for Cooper July 8th.Anthony talked about Pro Wrestling how has it changed his life for the better, How is working Television different than Independent shows for him, Being In the Crocket Cup they fell short to The Immortals Kratos and Odinson, Their match was against SVGS when you're in there with Blake Troop and Jax Dane in Highland Park PPV pre-match and the rematch at The Crocket Cup Night 2 Pre Show Tag Team Gauntlet, What is the loudest reaction he's had to either their entrance or moves, and more!For the Official PWE Shirt shop at -https://www.prowrestlingtees.com/pro-wrestling-enforcer-logo.htmlFor Exclusive Pro Wrestling Articles and Updated Results for WWE, NXT, AEW, and Impact WrestlingLike the Facebook Page-https://m.facebook.com/PWEPodcast/And Support your favorite Independent Wrestlers by buying Shirts and More at https://www.prowrestlingtees.com/

Working Draft » Podcast Feed
Revision 574: Glücksrad (Applet, Headings, Slots, SVGs, Spellcheck, Screen-API, Border-Images, Indexed DB)

Working Draft » Podcast Feed

Play Episode Listen Later Jun 21, 2023 64:52


Schepp, Hans, und Peter ließen mal wieder das Glücksrad kreisen! FRONTEERS KONFERENZ Schepp lädt Euch ein, die von ihm mit-organisierte und nicht gewinnorientierte Fronteers Konferenz am 21. und 2…

Two Man Power Trip of Wrestling
Episode 188: TMPT Feature Show: The SVGS Dane, Troop, Silvio

Two Man Power Trip of Wrestling

Play Episode Listen Later May 18, 2023 34:12


Today's Feature episode of The Two Man Power Trip of Wrestling is with NWA Superstars, the SVGS: Jax Dane, Bulletproof Blake Troop, and Chris Silvio. The SVGS join the show to talk about their entire professional wrestling careers. Host John Poz and the SVGS will talk about the NWA, The Crockett Cup, Billy Corgan, winning NWA Tag team titles, Country Gentlemen, Tyrus, Chris Adonis, Trevor Murdoch, Mike Knox, The Briscoe Brothers, plus so much more!The best and easy way to win money is playing fantasy! Join @underdogfantasy today (underdogfantasy.com) and enter the promo code POWERTRIP to double your deposit. Then all you have to do is pick a game, guess higher or lower on or draft your team; then sit back, relax & watch the money roll in! - Underdog Fantasy Promo Code: POWERTRIPStore - Teepublic.com/stores/TMPTFollow us @TwoManPowerTrip on Twitter and IG

viewSource
Explore one of the coolest new features of WordPress 6.2

viewSource

Play Episode Listen Later May 8, 2023 29:17


Aurooba and Brian explore the new WP_HTML_Tag_Processor that landed in WordPress 6.2, and how handy it would be in scenarios where they've had to use regular expressions to modify HTML in their WordPress projects. They then walk through a function using the new processor to inline and safely modify SVGs, ways they could improve the function and take advantage of the processor's capabilities more, and discuss other ways the processor could enhance complicated filtering of rendered output in WordPress.A full transcript of the episode is available on the website. Watch the video podcast on YouTube and subscribe to our channel and newsletter to hear about episodes (and more) first!The code from this episode – https://github.com/viewSourcePodcast/viewSource-blocks/tree/episode/html-tag-processorAurooba's post with a walkthrough of the code – https://aurooba.com/inline-svgs-in-your-wordpress-code-with-this-helper-function/The Dev Note – https://github.com/WordPress/gutenberg/issues/44410#issuecomment-1420787816Brian's website – https://www.briancoords.comAurooba's website – https://aurooba.comPHP Inline SVG helper function from Ian – https://gist.github.com/ian-svoboda-prom/b7a436d5397e007b7d8d5427465ff161Gist to get the file contents of an SVG – https://gist.github.com/rugor/1decc15655891825d15a7024a06d898bWP SVG Helper functions – https://gist.github.com/kingkool68/6d72977fe8c82eeb9a85295ac3623cdeHow to Modify HTML in a PHP WordPress Plugin Using The New Tag Processor API – https://adamadam.blog/2023/02/16/how-to-modify-html-in-a-php-wordpress-plugin-using-the-new-tag-processor-api/

The History of Computing
The Evolution of Fonts on Computers

The History of Computing

Play Episode Listen Later Apr 10, 2023 20:04


Gutenburg shipped the first working printing press around 1450 and typeface was born. Before then most books were hand written, often in blackletter calligraphy. And they were expensive.    The next few decades saw Nicolas Jensen develop the Roman typeface, Aldus Manutius and Francesco Griffo create the first italic typeface. This represented a period where people were experimenting with making type that would save space. The 1700s saw the start of a focus on readability. William Caslon created the Old Style typeface in 1734. John Baskerville developed Transitional typefaces in 1757. And Firmin Didot and Giambattista Bodoni created two typefaces that would become the modern family of Serif. Then slab Serif, which we now call Antique, came in 1815 ushering in an era of experimenting with using type for larger formats, suitable for advertisements in various printed materials. These were necessary as more presses were printing more books and made possible by new levels of precision in the metal-casting. People started experimenting with various forms of typewriters in the mid-1860s and by the 1920s we got Frederic Goudy, the first real full-time type designer. Before him, it was part of a job. After him, it was a job. And we still use some of the typefaces he crafted, like Copperplate Gothic. And we saw an explosion of new fonts like Times New Roman in 1931. At the time, most typewriters used typefaces on the end of a metal shaft. Hit a kit, the shaft hammers onto a strip of ink and leaves a letter on the page. Kerning, or the space between characters, and letter placement were often there to reduce the chance that those metal hammers jammed. And replacing a font would have meant replacing tons of precision parts. Then came the IBM Selectric typewriter in 1961. Here we saw precision parts that put all those letters on a ball. Hit a key, the ball rotates and presses the ink onto the paper. And the ball could be replaced. A single document could now have multiple fonts without a ton of work. Xerox exploded that same year with the Xerox 914, one of the most successful products of all time. Now, we could type amazing documents with multiple fonts in the same document quickly - and photocopy them. And some of the numbers on those fancy documents were being spat out by those fancy computers, with their tubes. But as computers became transistorized heading into the 60s, it was only a matter of time before we put fonts on computer screens. Here, we initially used bitmaps to render letters onto a screen. By bitmap we mean that a series, or an array of pixels on a screen is a map of bits and where each should be displayed on a screen. We used to call these raster fonts, but the drawback was that to make characters bigger, we needed a whole new map of bits. To go to a bigger screen, we probably needed a whole new map of bits. As people thought about things like bold, underline, italics, guess what - also a new file. But through the 50s, transistor counts weren't nearly high enough to do something different than bitmaps as they rendered very quickly and you know, displays weren't very high quality so who could tell the difference anyways.  Whirlwind was the first computer to project real-time graphics on the screen and the characters were simple blocky letters. But as the resolution of screens and the speed of interactivity increased, so did what was possible with drawing glyphs on screens.  Rudolf Hell was a German, experimenting with using cathode ray tubes to project a CRT image onto paper that was photosensitive and thus print using CRT. He designed a simple font called Digital Grotesk, in 1968. It looked good on the CRT and the paper. And so that font would not only be used to digitize typesetting, loosely based on Neuzeit Book. And we quickly realized bitmaps weren't efficient to draw fonts to screen and by 1974 moved to outline, or vector, fonts. Here a Bézier curve was drawn onto the screen using an algorithm that created the character, or glyph using an outline and then filling in the space between. These took up less memory and so drew on the screen faster. Those could be defined in an operating system, and were used not only to draw characters but also by some game designers to draw entire screens of information by defining a character as a block and so taking up less memory to do graphics.  These were scalable and by 1979 another German, Peter Karow, used spline algorithms wrote Ikarus, software that allowed a person to draw a shape on a screen and rasterize that. Now we could graphically create fonts that were scalable.  In the meantime, the team at Xerox PARC had been experimenting with different ways to send pages of content to the first laser printers. Bob Sproull and Bill Newman created the Press format for the Star. But this wasn't incredibly flexible like what Karow would create. John Gaffney who was working with Ivan Sutherland at Evans & Sutherland, had been working with John Warnock on an interpreter that could pull information from a database of graphics. When he went to Xerox, he teamed up with Martin Newell to create J&M, which harnessed the latest chips to process graphics and character type onto printers. As it progressed, they renamed it to Interpress. Chuck Geschke started the Imaging Sciences Laboratory at Xerox PARC and eventually left Xerox with Warnock to start a company called Adobe in Warnock's garage, which they named after a creek behind his house. Bill Paxton had worked on “The Mother of All Demos” with Doug Engelbart at Stanford, where he got his PhD and then moved to Xerox PARC. There he worked on bitmap displays, laser printers, and GUIs - and so he joined Adobe as a co-founder in 1983 and worked on the font algorithms and helped ship a page description language, along with Chuck Geschke, Doug Brotz, and Ed Taft.  Steve Jobs tried to buy Adobe in 1982 for $5 million. But instead they sold him just shy of 20% of the company and got a five-year license for PostScript. This allowed them to focus on making the PostScript language more extensible, and creating the Type 1 fonts. These had 2 parts. One that was a set of bit maps And another that was a font file that could be used to send the font to a device.  We see this time and time again. The simpler an interface and the more down-market the science gets, the faster we see innovative industries come out of the work done. There were lots of fonts by now. The original 1984 Mac saw Susan Kare work with Jobs and others to ship a bunch of fonts named after cities like Chicago and San Francisco. She would design the fonts on paper and then conjure up the hex (that's hexadecimal) for graphics and fonts. She would then manually type the hexadecimal notation for each letter of each font.  Previously, custom fonts were reserved for high end marketing and industrial designers. Apple considered licensing existing fonts but decided to go their own route. She painstakingly created new fonts and gave them the names of towns along train stops around Philadelphia where she grew up. Steve Jobs went for the city approach but insisted they be cool cities. And so the Chicago, Monaco, New York, Cairo, Toronto, Venice, Geneva, and Los Angeles fonts were born - with her personally developing Geneva, Chicago, and Cairo. And she did it in 9 x 7.  I can still remember the magic of sitting down at a computer with a graphical interface for the first time. I remember opening MacPaint and changing between the fonts, marveling at the typefaces. I'd certainly seen different fonts in books. But never had I made a document and been able to set my own typeface! Not only that they could be in italics, outline, and bold. Those were all her. And she inspired a whole generation of innovation. Here, we see a clean line from Ivan Sutherland and the pioneering work done at MIT to the University of Utah to Stanford through the oNLine System (or NLS) to Xerox PARC and then to Apple. But with the rise of Windows and other graphical operating systems. As Apple's 5 year license for PostScript came and went they started developing their own font standard as a competitor to Adobe, which they called TrueType. Here we saw Times Roman, Courier, and symbols that could replace the PostScript fonts and updating to Geneva, Monaco, and others. They may not have gotten along with Microsoft, but they licensed TrueType to them nonetheless to make sure it was more widely adopted. And in exchange they got a license for TrueImage, which was a page description language that was compatible with PostScript. Given how high resolution screens had gotten it was time for the birth of anti-aliasing. He we could clean up the blocky “jaggies” as the gamers call them. Vertical and horizontal lines in the 8-bit era looked fine but distorted at higher resolutions and so spatial anti-aliasing and then post-processing anti-aliasing was born. By the 90s, Adobe was looking for the answer to TrueImage. So 1993 brought us PDF, now an international standard in ISO 32000-1:2008. But PDF Reader and other tools were good to Adobe for many years, along with Illustrator and then Photoshop and then the other products in the Adobe portfolio. By this time, even though Steve Jobs was gone, Apple was hard at work on new font technology that resulted in Apple Advanced Typography, or AAT. AAT gave us ligature control, better kerning and the ability to write characters on different axes.  But even though Jobs was gone, negotiations between Apple and Microsoft broke down to license AAT to Microsoft. They were bitter competitors and Windows 95 wasn't even out yet. So Microsoft started work on OpenType, their own font standardized language in 1994 and Adobe joined the project to ship the next generation in 1997. And that would evolve into an open standard by the mid-2000s. And once an open standard, sometimes the de facto standard as opposed to those that need to be licensed. By then the web had become a thing. Early browsers and the wars between them to increment features meant developers had to build and test on potentially 4 or 5 different computers and often be frustrated by the results. So the WC3 began standardizing how a lot of elements worked  in Extensible Markup Language, or XML. Images, layouts, colors, even fonts. SVGs are XML-based vector image. In other words the browser interprets a language that displays the image. That became a way to render Web Open Format or WOFF 1 was published in 2009 with contributions by Dutch educator Erik van Blokland, Jonathan Kew, and Tal Leming. This built on the CSS font styling rules that had shipped in Internet Explorer 4 and would slowly be added to every browser shipped, including Firefox since 3.6, Chrome since 6.0, Internet Explorer since 9, and Apple's Safari since 5.1. Then WOFF 2 added Brotli compression to get sizes down and render faster. WOFF has been a part of the W3C open web standard since 2011.  Out of Apple's TrueType came TrueType GX, which added variable fonts. Here, a single font file could contain a number or range of variants to the initial font. So a family of fonts could be in a single file. OpenType added variable fonts in 2016, with Apple, Microsoft, and Google all announcing support. And of course the company that had been there since the beginning, Adobe, jumped on board as well. Fewer font files, faster page loads.  So here we've looked at the progression of fonts from the printing press, becoming more efficient to conserve paper, through the advent of the electronic typewriter to the early bitmap fonts for screens to the vectorization led by Adobe into the Mac then Windows. We also see rethinking the font entirely so multiple scripts and character sets and axes can be represented and rendered efficiently.  I am now converting all my user names into pig Latin for maximum security. Luckily those are character sets that are pretty widely supported. The ability to add color to pig Latin means that OpenType-SVG will allow me add spiffy color to my glyphs. It makes us wonder what's next for fonts. Maybe being able to design our own, or more to the point, customize those developed by others to make them our own. We didn't touch on emoji yet. But we'll just have to save the evolution of character sets and emoji for another day. In the meantime, let's think on the fact that fonts are such a big deal because Steve Jobs took a caligraphy class from a Trappist monk named Robert Palladino while enrolled at Reed College. Today we can painstakingly choose just the right font with just the right meaning because Palladino left the monastic life to marry and have a son. He taught jobs about serif and san serif and kerning and the art of typography.  That style and attention to detail was one aspect of the original Mac that taught the world that computers could have style and grace as well. It's not hard to imagine if entire computers still only supported one font or even one font per document. Palladino never owned or used a computer though. His influence can be felt through the influence his pupil Jobs had. And it's actually amazing how many people who had such dramatic impacts on computing never really used one. Because so many smaller evolutions came after them. What evolutions do we see on the horizon today? And how many who put a snippet of code on a service like GitHub may never know the impact they have on so many?

SVG Superstar Podcast
Ep. 41 Email Marketing for Digital Businesses w/ Liz Wilcox

SVG Superstar Podcast

Play Episode Listen Later Mar 20, 2023 29:48


In this episode, the amazing Liz Wilcox (love her energy!) talks about why email marketing is SOOOOO important for digital businesses and WHY every single business owner NEEDS to attend her FREE workshop on email marketing at the Sell Digital Crafts - The Smart Way summit. This episode is sponsored by Creative Fabrica. Creative Fabrica has generously offered this free All Access subscription trial deal: https://www.creativefabrica.com/promo/6768/0P536-EFGHIJKLMNO/ref/1444514/ With this deal, you can try out the All Access Subscription by downloading 10 fonts & designs of your choice for free! After the 10th download or after 1 month, the subscription renews at $9. This is almost a 70% discount for the normal $29! But don't worry you can cancel anytime. Sign-up here https://www.creativefabrica.com/promo/6768/0P536-EFGHIJKLMNO/ref/1444514/ PS. I'm putting together the second Sell Digital Crafts summit for busy crafters who want to make passive income. In the summit you'll learn how to design and sell stickers, SVGs, Canva templates, Procreate brushes, and hand-lettering Etsy marketing workshops for digital businesses How to skyrocket your sales through Pinterest, Instagram and TikTok The event is completely FREE of cost. You'll have 24 hours to watch the videos for FREE. However, if you want on-going access to the presentations you can grab the All-Access Pass for just $67 for a limited time. The FREE summit runs from April 3-5, 2023! Registration opens on March 15th. Wohoo! Sign up here: https://selldigitalcrafts.com/

Jay Cal's View
The Alliance Guys Podcast - Mar 16th | Getting Big The Old Fashioned Way | NWA POWERRR | NWA NEWS

Jay Cal's View

Play Episode Listen Later Mar 17, 2023 136:59


On this week's episode of the Alliance Guys Podcast– we will examine the landscape for the United Wrestling Network. Of course with the very popular Championship Wrestling Presented by Car Shield, Memphis Wrestling, and the addition of Derby City Wrestling, could David Marquez be conquering wrestling, the old-fashioned way? More matches have been announced for the NWA 312. The women's Tag Team Championship Match has been made. The Women's Tag Team Match is added to Tyrus defending against Adons, Cyon defending against EC3, Kamille defending against La Rosa Negra, and the Country Gentlemen defending against the SVGS. Let's talk about it. Taya Valkyrie has officially signed with AEW. Ashley D'amboise has recently signed with AEW. What will these most recent signings mean for the NWA? And the breakdown of Thom Latimer's 1st title defense and the rest of the results of NWA POWERRR!!!!

SVG Superstar Podcast
Ep. 40 Sabotaging My Business and Gratitude

SVG Superstar Podcast

Play Episode Listen Later Mar 6, 2023 11:46


In this episode, I'm pulling back the curtains on some of the mindset challenges I faced in my business and how I almost threw everything in the trash until I started a daily 5-minute exercise. Listen to find out more! It's just 11 minutes ;). This episode is sponsored by Creative Fabrica. Creative Fabrica has generously offered this free All Access subscription trial deal: https://www.creativefabrica.com/promo/6768/0P536-EFGHIJKLMNO/ref/1444514/ With this deal, you can try out the All Access Subscription by downloading 10 fonts & designs of your choice for free! After the 10th download or after 1 month, the subscription renews at $9. This is almost a 70% discount for the normal $29! But don't worry you can cancel anytime. Sign-up here https://www.creativefabrica.com/promo/6768/0P536-EFGHIJKLMNO/ref/1444514/ PS. I'm putting together the second Sell Digital Crafts summit for busy crafters who want to make passive income. In the summit you'll learn how to design and sell stickers, SVGs, Canva templates, Procreate brushes, and handlettering Etsy marketing workshops for digital businesses How to skyrocket your sales through Pinterest, Instagram and TikTok The event is completely FREE of cost. You'll have 24 hours to watch the videos for FREE. However, if you want on-going access to the presentations you can grab the All-Access Pass for just $67 for a limited time. Follow me on Instagram to stay on top of the summit news. Registration opens on March 15th. Wohoo! Join the waitlist here: https://selldigitalcrafts.com/waitlist/

How to Sell Your Stuff on Etsy
Ep 69 | How to create a {mostly} passive income making and selling SVGs on Etsy—with Jav of @CutNMakeCrafts

How to Sell Your Stuff on Etsy

Play Episode Listen Later Mar 2, 2023 57:30


The SVG market on Etsy is an exciting (and growing!) place to be. Tune in today to hear from Jav Sid, who is a top SVG seller and coach, and learn how you can build a {mostly} passive income selling this digital product on Etsy. No design experience required!

Let's Go to Space: BLUE-SKY Learning
Episode 96: Controlling Space with John Inness

Let's Go to Space: BLUE-SKY Learning

Play Episode Listen Later Jan 9, 2023 31:30


John Inness is a guidance, navigation, and control engineer at Marshall Space Flight Center supporting various projects including SLS, HLS, Solar Cruiser, SVGS, and more. He is originally from North Carolina where he went to North Carolina State University for aerospace engineering and co-oped at Marshall Space Flight Center while a student. Upon graduation, he began full time work at MSFC. In his spare time, John enjoys playing music, cooking and trying various foods, hiking, and ultimate frisbee. As always, stay tuned after for our takeaways. --- Support this podcast: https://anchor.fm/shawna-christenson2/support

Embedded
439: Ditches and Psychology

Embedded

Play Episode Listen Later Jan 6, 2023 47:19


Chris and Elecia talk about house maintenance, blinking LEDs, paper engineering and more.  Cutting Mobius Strips Video: Tadashi Tokieda cuts various combinations of loops and Mobius loops - with surprising results. festi.info/boxes.py generates boxes for laser cutting (or other SVG consuming device). Boxes.py is a python module that lets you programmatically generate the SVGs. (Github repo) Amanda Ghassaei's Sugarcube is a MIDI instrument using this SparkFun button pad. We also talked about the Mikroe 8800 Retro Click. Elecia is taking Paper Engineering with Kelli Anderson. Chris is taking songwriting courses from School of Song. Transcript

Cyber Security Headlines
Japanese MirrorStealer malware, HTML smuggling SVGs, DDoS-for-hire arrests

Cyber Security Headlines

Play Episode Listen Later Dec 16, 2022 8:22


Hackers target Japanese politicians with new MirrorStealer malware Crooks use HTML smuggling to spread QBot malware via SVG files FBI charges 6, seizes domains linked to DDoS-for-hire service platforms Thanks to this week's episode sponsor, Fortra The cybersecurity landscape is full of single-solution providers, making it easy for unexpected cyberthreats to sneak through the cracks. That's why Fortra is creating a stronger, simpler strategy for protection. One that increases your security maturity while decreasing the operational burden that comes with it. Fortra's integrated, scalable solutions help customers face their toughest challenges with confidence. Learn more at Fortra.com. For the stories behind the headlines, head to CISOseries.com.

SVG Superstar Podcast
End of Season 2 and an EXCITING Announcement

SVG Superstar Podcast

Play Episode Listen Later Oct 2, 2022 7:49


This month I'm hosting a special event for busy crafters who want to make passive income. It's called Sell Digital Crafts - The Smart Way Summit. In the summit you'll learn how to design and sell stickers, SVGs, Canva templates, Procreate brushes, and handlettering Etsy marketing workshops for digital businesses How to skyrocket your sales through Pinterest, Instagram and TikTok The event is completely FREE of cost. You'll have 24 hours to watch the videos for FREE. However, if you want on-going access to the presentations you can grab the All-Access Pass for just $67 for a limited time. Follow me on Instagram to stay on top of the summit news. Registration opens on October 5th. Wohoo! Follow me here: https://www.instagram.com/cutnmakecrafts/

Ashley Speaks. You Learn.
How To Level Up Your App With Theme App Extensions

Ashley Speaks. You Learn.

Play Episode Listen Later Oct 1, 2022 19:59


To ensure that building Shopify apps provides the best experience for both merchants and developers, we're continuously working on new processes to improve app development. With our new theme app extensions, building apps for merchant's storefronts has never been easier. When building a Shopify app that interacts with the online store, one of the most difficult aspects that developers encounter is ensuring that their app integrates safely and easily with all themes, while still being straightforward for a merchant to install. Shopify's theme app extensions aim to remove this challenge by introducing a new streamlined method for apps to interact with themes, that improves the experience for both developers and merchants. Theme app extensions also ensure that apps integrate seamlessly with OS 2.0 themes, which we expect more merchants will continue to adopt throughout this year. “Merchants shouldn't concern themselves with code. Generally, they aren't technical and, even if they are, they need to spend their time on their business. We actually opted to delay our launch and migrated over to the new theme app extension framework.” App developers are already adopting theme app extensions and seeing the benefits. “Merchants shouldn't concern themselves with code. Generally, they aren't technical and, even if they are, they need to spend their time on their business,” Ryan Macdonald from Obsidian Apps says. “We actually opted to delay our launch and migrated over to the new theme app extension framework.” In this article, we'll unpack how apps work with Shopify themes, the advantages of using theme app extensions, and how to get started with this approach for your own app. We'll also learn how some Shopify app developers have implemented theme app extensions and what their experiences have been. How apps integrate with Shopify themes At Shopify Unite 2021, we released Theme App Extensions as part of Online Store 2.0 with a major update to how apps integrate with the storefront. Here's a high level look at how both the old and new approaches work. Without theme app extensions Without theme app extensions, apps use the Asset API which gives them full read/write access to theme files. They then proceed to add and modify any number of files to get their app integrated into the theme. There are a number of issues with this approach: Developers need to determine exactly where to insert their code into the theme, which can vary depending on the theme. Apps may inadvertently break themes or introduce performance degradation issues. When an app is uninstalled, the code that was added isn't removed, which leads to code running that is no longer needed or may no longer work. Shopify's theme update mechanism only works on themes without code edits, so this approach prevents merchants from receiving updates to their theme, potentially blocking them from the latest features for their online store. With theme app extensions With theme app extensions, all the issues outlined above are solved as app developers no longer need to modify theme files directly. Instead, Shopify provides a way to build blocks that are added to a theme by the merchant in the editor and injected at render time by the platform. This avoids any potential integration bugs, keeps the theme untouched and eligible for updates and the app is automatically removed from the theme when uninstalled, no further cleanup needed. Furthermore, all of your theme app extension assets (liquid, CSS, JS, SVGs) are hosted on the Shopify platform and delivered through our CDN for fast performance all over the world. What are blocks? To understand theme app extensions, you first need to understand what blocks are in themes and how merchants interact with them. Blocks are modules of content that can be added, removed, and reordered within a section. This allows merchants to have granular control over the look and feel of every aspect of their online store. To learn more about blocks in themes and...

SVG Superstar Podcast
Ep 34: From feeling scared to multiple sales - SVG designer success story

SVG Superstar Podcast

Play Episode Listen Later Jul 30, 2022 26:02


In today's episode I'm interviewing an SVG Superstar alumni, Sarah from Heart SVGs who started her SVG design journey feeling scared and overwhelmed but after 12 months in the program, she feels confident and a pro at designing SVGs. Listen to this podcast to find out the no.1 secret behind her tremendous success how she was able to design and sell SVGs without any prior graphic designing experience Check out Sarah's shop below: https://www.etsy.com/au/shop/heartSVGs https://www.instagram.com/heart.svgs/

A11y Podcast
The Power of Accessible SVGs

A11y Podcast

Play Episode Listen Later Jul 11, 2022 43:08


Accessible SVGs (Scalable Vector Graphics) featuring Guest Heather Neff of Equivalent Design. If you have ever wanted to understand how smart SVG graphics can increase accessibility while maintaining brand style this is the podcast for you. Chad and Dax talk with Heather Neff about her goal to bring SVGs to the world "One graphic at a time." We talk about embedded alt-text and how WordPress now pulls description metadata straight from your images and how that can improve your search engine placement.

SVG Superstar Podcast
Ep 28: When is it okay to rely on Youtube videos for selling SVGs

SVG Superstar Podcast

Play Episode Listen Later Jun 28, 2022 16:58


I know as crafters our no. 1 choice for learning something is to hop onto Youtube to learn literally anything and everything. Without giving it a second thought, we hop onto Youtube and get caught in the spiral of watching one video after another. So the question is, is this the right thing to do? Or is there a better alternative out there? Find out in today's podcast.

SVG Superstar Podcast
5 Ways to Make Money from SVG Cut Files

SVG Superstar Podcast

Play Episode Listen Later Jun 10, 2022 17:28


What to do when you are in a dire need of cash and your SVG shop sales are slow? When you're in desperate need of money, and you want to instantly make use of your new skill which is designing SVG cut files. Listen to this episode to find out 5 THINGS you can do to make money from SVGs besides selling them in your shop.

SVG Superstar Podcast
400+ Sales from SVG Side Hustle with Susan (LunaLagoonSVGs)

SVG Superstar Podcast

Play Episode Listen Later May 21, 2022 19:01


In this episode, I'm chatting with one of the talented SVG Superstar (SVG Business Coaching Program) students about her experience in running a successful SVG business side hustle besides her full-time day job.

SVG Superstar Podcast
Growing in your comfort zone - Myths debunked with Rafi (Ideastrider)

SVG Superstar Podcast

Play Episode Listen Later May 21, 2022 25:05


This week I partnered up with Rafi from Ideastrider to talk about what it's like to grow in your comfort zone. In this episode, we discussed...

Making Sense Of Etsy
Learn How To Create Your Own Scalable Vector Graphics with Naa Ardua

Making Sense Of Etsy

Play Episode Listen Later Apr 6, 2022 29:39


In this week's episode, Tif interviews Naa Ardua. Naa discusses how she got started creating clipart, how she transitioned to creating scalable vector graphics (SVG), and how her SVGs bring a voice to a unique community.Here are links to Naa Ardua's SVG courses: So Simple SVG Course and So Simple SVG Files course - 3 Month Payment PlanNaa Ardua's Free SVG Course -> So Quick SVG Course The Book PileWant to sound smart? Two comics discuss a book every Monday so you can pretend you read.Listen on: Apple Podcasts Spotify

create your own svg tif naa svgs scalable vector graphics
Design Details
433: Making a Case for Icons

Design Details

Play Episode Listen Later Mar 23, 2022 25:16


This week, we make the case for designing product icons and discuss what to do if your team doesn't want to invest in great iconography. In the Sidebar, we talk about how to incorporate default typefaces into your design system.The Sidebar:The Sidebar is an exclusive weekly segment for our Patreon supporters. You can subscribe starting at $1 per month for access to bonus content going forward! Sign up at patreon.com/designdetails.Latest VIP Patrons:Christian RotzollZack MeredithJSZach GeistKates Hartmanmike kennyWilsonAndre DinizMattias KronbergFollow up:Uhl Albert pointed out that “ruinous empathy” comes from the Radical Candor Framework.Main Topic:This week, we make the case for designing product icons and discuss what to do if your team doesn't want to invest in great iconography.Priscilla Then asks on GitHub:The Lead Developer at my work requested to remove some of the icons, because they slow down development time when having to wait for one to be created, grappling with SVGs, etc. Unfortunately, he is right as they are time-consuming to make (especially good ones) and since I'm the only UX/UI designer in the company, it slows me down and I become the bottleneck.That said, I feel that icons give character, polish and professionalism to an otherwise extremely utilitarian UI. Icons can also be functional in that they help make certain elements stand out from an otherwise huge sea of text, but they are still seen as "fluff". I've asked for another designer to be hired, or request our graphic designer to create icons when he has time, but these suggestions didn't get any support. How would you make a case for icons when they are seen as mere decoration?Feather IconsIconic IconsBootstrap IconsAnt IconsMaterial Design IconsIcons ToolboxIcon SizesCool Things:Brian shared the Opal C1, a professional webcam that claims DSLR-quality images in a $300 chassis. So far: it's definitely a beta product, but depending on your needs it might be a worthwhile upgrade!Marshall shared the ohsnap! Snapmount 2.0, an accessory that helps you mount your phone to a wall (with MagSafe!), making it ideal for turning your phone into a mounted shower speaker.Design Details on the Web:

COMPRESSEDfm
36 | SVGs FTW

COMPRESSEDfm

Play Episode Listen Later Nov 23, 2021 34:22


In this episode, Amy and James discuss all things SVGs: what is, why, and when to reach for it, and seven different ways to get an SVG on the page, and the pros and cons of each method.SponsorsVercelVercel combines the best developer experience with an obsessive focus on end-user performance. Their platform enables frontend teams to do their best work. It is the best place to deploy any frontend app. Start by deploying with zero configuration to their global edge network. Scale dynamically to millions of pages without breaking a sweat.For more information, visit Vercel.comZEAL is hiring!ZEAL is a computer software agency that delivers “the world's most zealous” and custom solutions. The company plans and develops web and mobile applications that consistently help clients draw in customers, foster engagement, scale technologies, and ensure delivery.ZEAL believes that a business is “only as strong as” its team and cares about culture, values, a transparent process, leveling up, giving back, and providing excellent equipment. The company has staffers distributed throughout the United States, and as it continues to grow, ZEAL looks for collaborative, object-oriented, and organized individuals to apply for open roles.For more information visit softwareresidency.com/careersDatoCMSDatoCMS is a complete and performant headless CMS built to offer the best developer experience and user-friendliness in the market. It features a rich, CDN-powered GraphQL API (with real-time updates!), a super-flexible way to handle dynamic layouts and structured content, and best-in-class image/video support, with progressive/LQIP image loading out-of-the-box."For more information, visit datocms.comShow Notes0:00 Introduction3:50 What is an SVG?Raster vs Vector6:21 Benefits to using an SVGChange the SizeSmall File SizeChange the color within your codeEasily Cached9:51 Seven Different Ways to get an SVG on the Page11:28 Sponsor - ZEAL12:59 Option 1 - Image Tag14:03 Option 2 - Inline SVG tag15:53 Option 3 - CSS as a  background Image16:18 Option 4 - CSS, as a Mask18:20 Sponsor - Vercel19:29 Option 5 - SVG directly within our Image tag21:20 Option 6 - Base64 or UTF8 with as a CSS Background Image21:47 Option 7 - An SVG Sprite22:34 Writing your own SVGs27:00 Going Deep on a Specific Topic, The Broken Comb28:34 ResourcesAmy's SVG Series on YouTubeSarah Drasner - Course on Frontend Masters, SVG Essentials & Animation, v2Sarah Drasner - SVG Animations: From Common UX Implementations to Complex Responsive AnimationChris Coyier - Practical SVG29:19 Sponsor - DatoCMS30:12 Grab Bag Questions30:56 Picks and Plugs31:07 Amy's Pick - Animal Cable Clips32:00 Amy's Plug - Advent of CSS32:32 James's Pick - Castle on Hulu33:34 James's Plug - Advent of JavaScript

newline
SVGs, Magic, and Joy of Whimsy on the Web with Cassie Evans

newline

Play Episode Listen Later Aug 14, 2020 43:42


Resources:cassie.codestwitter.com/cassiecodesAmelia's TwitterNate's TwitterKurt Vonnegut and Narrative ArcsSara Soueidan's Post on SVG Filters: The Crash CourseWelcome to the newline podcast. Our show is a conversation with experienced software engineers where we discuss new technology, career advice, and help you be amazing at work.I'm Nate Murray and I'm Amelia Wattenberger and today we're talking with creative coder Cassie Evans.In this episode we talk about something often neglected in web design today: how to bring whimsy and joy to your usersIn our chat we talk about how the old web had entry points to programming and where we might find find that today.And open with a story about how she, as a child, sold animated cursors for donuts, which felt like magic - and how even today snippets of code feel like magic spells.We loved our conversation with Cassie, and think you will too, let's dig in!Cassie Evans PodcastAmelia: [00:00:00] Welcome to the newline Podcast. Nate: [00:00:08] Our show is a conversation with experienced software engineers, where we discuss new technology, career advice and help you be amazing at work. I'm Nate. Amelia: [00:00:17] And I'm Amelia Wattenberger. Today, we're talking with creative coder, Cassie Evans. In this episode, we talk about something often neglected in web design today, how to bring whimsy and joy to your users. In our chat, we talk about how the old web had entry points to programming and where we might find that today. Nate: [00:00:35] We open with a story about how Cassie as a child, sold animated cursors for donuts, which felt like magic. And how even today, snippets of code still feel like magic spells. We loved our conversation with Cassie and we think you will too. Let's dig in. Cassie: [00:00:53] We're not Nate: [00:00:54] live and so we just it to be fun. One of things is I really love your talks and you talked about how the web needs more whimsy. I just love that so much. In one of your talks, you mentioned that you sold neopets pages for donuts. Cassie: [00:01:11] Yes. Nate: [00:01:11] Like when you were a child. Can you tell me more about that? For context, I think you and I grew up with some of the similar early web stuff. For example, when I was younger, I once got on the Internet for hours and then my parents were furious, because my dad had gotten an accident at work and his boss was supposed to call. I'd been tying up the Internet, because I was on dial-up for hours. Yeah, I just love the old classic web style, like Myspace and neopets. We can get into that some, but can you tell me about how you sold neopets pages for donuts? Cassie: [00:01:40] Yes, definitely. Yeah, firstly you mentioned dial-up. I missed that so much. It's so close to my heart, because I remember we had one computer at home, that was our home computer and I was only allowed to use it for educational things for a lot of times. I used to wait until my parents were asleep and then I'd creep downstairs with blankets and I'd have to wrap the whole computer up in the blanket, so that it wouldn't make the noises, so that I could dial-up to the Internet. I just sit there clutching it to my chest, trying to dampen down the noises, so they wouldn't wake up. Why Nate: [00:02:15] were modems so loud, right? Cassie: [00:02:17] So loud. Nate: [00:02:18] Yeah. Cassie: [00:02:21] Even that noise now gives me anxiety, because it sounds like being downstairs, terrified that my parents are going to wake up at any moment. I love that. Yeah, the donuts. I didn't have money for the tuck shop when I was younger. I got school dinners. I didn't have packed lunch boxes and they weren't really into giving us sugary snacks. They were quite healthy. I got quite jealous about all of the other kids having donuts from the tuck shops. Around that time, everyone started making Myspace profiles and neopets pet pages. My one was really good and lots of people asked me whether I could make them sparkly cursors and stuff. I started up a little side hustle and swapped sparkly cursors for donuts. It was excellent. Amelia: [00:03:11] What is the deal? Is it one cursor for one donut? Cassie: [00:03:15] Yeah, I think it was something like that; a cursor for a donut. This Nate: [00:03:19] is amazing. I don't actually understand how this would work. How much programming was it? Were you finding GIFs? I'm interested in particularly one, for the entrepreneurship side, two, because it's on-brand that you're adding sparkles. Then three, is the learning programming aspect. I love this idea, for example, that some of the best ways to learn are just when you're self-motivated and you're just trying to do stuff. I learned how to program, because I was tweaking web pages this similar way and I worked my way down. I'm interested. I didn't actually use neopets necessarily, but what were these cursors and how did that work for as much as you remember? Cassie: [00:03:53] As much as I remember. I think it was very much accidental. I don't think that I realized that I was coding at the time. I didn't really have much of an awareness of what coding was. I used to play The Sims me other early games as well and they had cheat codes that you could type in. I saw it as the same thing. It was Internet cheat codes that you went to some websites and they had pictures of different sparkly cursors, or different backgrounds, or different CSS effects and you just copied a cheat code and then you put that cheat code onto your – and I didn't really know that that's what the building blocks of the web were. I didn't understand that at the time. I thought that they were a little magical snippets that you just – I mean, they still are. Nate: [00:04:42] Right, they still are. They still are Cassie: [00:04:43] magical snippets, aren't they? I still feel like that nowadays. Some new CSS comes out and I'm just like, “Wow, another magical snippet. Amelia: [00:04:52] This is amazing.” They keep making them. Cassie: [00:04:54] Yeah. Nate: [00:04:56] I learned some early programming, we would play these old games, they were called MUDs. You'd Telnet in. It's before SSH, you Telnet. It's like SSH, but insecure. You Telnet into these servers and play these text games, where you're go to the sword shop or whatever and you buy a sword. Then I remember that what we would do is we were like, “Oh, we could host our own server.” It's the same thing. We didn't know we were We were just copying and pasting these codes, make our own server and then we're like, “Oh, we can give ourselves our own items.” We're copy this snippet and then you realize now you have these God-like powers of playing this game that you enjoy and then realize like, “Oh, shoot. What else could I do with this power?” That was actually one of my entry points to programming too. I think that's really special. One of the things that you've talked about too is well, I don't know. What are some of these entry points that people have now? What could we do to give this, serendipitous entry point into coding for kids today? Cassie: [00:05:46] It's really difficult, because I've looked around and I haven't found anything that has that same accidentally educational aspect to it. There's some really amazing things that have the same sense of community, because neopets for me and Myspace to a degree had this community aspect, where there were lots of other young kids who were all hacking around and changing things and you learnt things from each other. I think that we definitely got that in platforms like CodePen and Glitch. They're really great, because they lower the barrier to entry. They abstract away all of the fiddly setup and build tools and all of that stuff and they allow people to just jump in and start making things and remix things that other people have made and fork things that other people have made. I think that's really great, but I don't think we already have any of those accidentally educational things around anymore, which is a shame. People have to be a lot more intentional. They have to want to learn and know what they're there for in order to start off. I Amelia: [00:06:58] also think about this with cars. I think it's a little bit related. When I first started dating my husband, he had a – it was 69 Mercury Cougar, a really old car. He could work on it, because there's no computer, you can understand what the parts are pretty easily. You can just look at them and be like, okay, this turns and it turns this other thing. I think the Internet today is so much more complicated. The bar for what's cool on the web is so much higher that when we were kids and we made a sparkly cursor, even our parents would be like, “Oh, wow. How did you do that?” It's hard to make something impressive now and it's just so overwhelming. I think that's also part of why Glitch and CodePen can be so helpful, because they take care of the nitty-gritty for you, so you can focus on being creative. Nate: [00:07:51] I'm optimistic. I think that I've seen some movement there with Minecraft maybe, Roblox is interesting. Yeah, there's some interesting ideas happening there. There's even some interesting, like more deliberate code for kid tools. There's one called Microsoft MakeCode Arcade. It's like Scratch, but it's designed for building games. Even that, board is on educational. I think there's something special, where it's not deliberately educational, but you learn from it that it's important. Cassie: [00:08:19] Scratch is so cool. I really love Scratch. The Harvard computer science course, the first thing that they get you to do is a thing in Scratch. When I started that, I was like, “Oh, I bet this is really – it's really hard. It's that like Harvard computer science course.” Then they were like, “We're going to build a game in scratch.” Wow, it's Nate: [00:08:39] cool. You're like, “I can do this. Yeah.” I hope that there's more tools that come out, particularly on tablets, because one of the things I notice with my kids is that they're using an iPad a lot more frequently than they're using a computer. I think just the ethos and the ecosystem of tablet apps is it's a lot more locked down. You can't necessarily look under the covers, like you would with Vue source on a webpage. I think any tools like that that let you learn are really interesting. There's a scratch junior that my kids use just to build little stories and little animations and I love that, but there's not too many tools yet, but I'm hoping we can create more. I Cassie: [00:09:15] feel there's some stuff in the hardware hacking, crafting worlds. I think that coding and crafting, the intersection of that, there's some quite interesting stuff happening, because I think you can fall into that accidentally as well if you're interested in hacking around with things. You can end up, “Oh, well. I want to make these lights flash and oh, I'm going to have to learn Python in order to do that.” I think that that's still yeah, accidental gateway Amelia: [00:09:51] into things. Yeah, I love that. I think some of the people I used to work with, they would spend time with their kids making a Halloween skull with an Arduino that makes its eyes flashed. It's such good bonding time, and because it's fun for everyone. I enjoy doing that. Cassie: [00:10:05] I was Amelia: [00:10:06] like, “I need a kid, so I mean, Cassie: [00:10:08] I can have an excuse Amelia: [00:10:09] to do Nate: [00:10:10] this.” Right. Yeah, I know. Right. But our kids are doing that now with cosplay stuff, is they first were doing little paper craft creatures. They would print off a template and they cut it out and they'd be like, “Oh, we want to make our own,” so then they're learning how to use blender to do their own 3D modeling. Then use, there's this tool called Pepakura, which you can use to slice 3D models down into a little papercraft, like Minecraft creature or whatever. Then they're learning computer skills for using Figma to edit the templates and they're using Blender to learn 3D modeling. They're not good at that yet, but you can see the progression. They're going to take over the world. Yeah. I recently watched one of your talks on CSS filters and it totally blew my mind. I've been programming for since we talked about since dial-up, and I didn't even know that SVG had filters. I thought that was so fascinating. Can you talk a little bit about your recent work on doing paintings with SVG? Cassie: [00:11:05] Yes. I've really been loving SVG filters recently. I got into a little bit of a slump at the beginning of lockdown, where I wasn't feeling creative at all. The idea of programming, coding sounded not so much fun. I wanted to do something a little bit more relaxing. Yeah, I find SVG and SVG filters really fun to play around with, because it's more declarative. You have some filter primitives and filter primitives they work – well, filters they work a lot like audio programming, where you've got inputs and outputs. You can chain things together. You have different filter primitives inside a filter element and you can feed the output of one into the input of the next one and the output of the first two into the input of another one. That means that there's infinite possibilities. Ultimately, all you're doing is just changing a couple of values and some attributes. It feels like putting Lego blocks together. You don't really have to think through any intricate logic. You can just put some filters together and see what happens. Yeah, I find that really fun, the randomness that you get not being able to predict the outcome. I've played around and I accidentally ended up with something that looked a little bit like a pencil line. Then I just riffed on that and made some things that looked a bit like hand sketched paintings, which was a lot of fun. Nate: [00:12:42] It's gorgeous. It is one of the most beautiful SVGs I've ever seen. We'll put a link in the show notes. It was just delightful and mind-blowing. I think that yeah, your talks on SVG are really a Cassie: [00:12:55] delight. That's so lovely to hear. When you have the chance to play with these things, is Amelia: [00:12:57] that all through just side projects? I know when my – at least my job title was developer, most jobs you don't get to play around or do something super creative. Is this something you get to do in your day-to-day job, or is it mostly just side? Yeah, what is Cassie: [00:13:16] your day job? My day job, I am a front-end developer at a company called Clearleft in Brighton. I'm lucky, because my job we have a mixture of client projects, but we also – well, not so much right now, because of the pandemic, but we also do events. The event sites are a chance to flex your creative muscles a little bit, try out new things. I get to explore things creatively through the event sites and then focus on building accessible, solid front-end websites for Amelia: [00:13:55] my day job. Oh, that's a nice balance of the more focused and the more creative. Are you usually working with designers? Cassie: [00:14:02] We have a lot of really good designers at Clearleft. It's hard, but we try to avoid pigeonholing people into just one role. If people want to explore a little bit more design, but they're a developer, then they try to give people space to do that. I'm currently working on a little side project site at work. I'm getting to do design and stuff on that, which is really nice. Nate: [00:14:28] You mentioned that you used to draw a lot and I feel that , experience in your work. Your chameleon, for example, is just adorable and obviously done by someone who has art skills outside of programming. What does your process look like? Are you sketching out ideas for what you want to see on paper, or do you just go straight to SVG? How does that work? Cassie: [00:14:48] It's very much technology-driven, rather than aesthetics first, actually. I tend to get ideas, because I'll be looking at a particular technology and then I'll think, “Oh, how could I demonstrate that? Or how could I play with that in a way that is aesthetically pleasing, or fun?” The chameleon, I wanted to play around with getting colors from a webcam. I did that and it was just changing Amelia: [00:15:16] a rectangle Cassie: [00:15:17] on the screen to different colors. I was like, “Well, that's fun, but it would be so much more fun if it was a chameleon.” Nate: [00:15:25] I love that in your work. Amelia does this too, I think, in that you build something and then it's like, okay, that's fine, but how do we make that more fun? Then you'll take the time to put in those details and it's really delightful. Cassie: [00:15:38] Yeah, I am such a huge fan of Amelia's work. Your article about the SVG viewBox, I have directed so many people at that. I had a whole lengthy explanation in a workshop that I did about the viewBox and then I was just like, well, actually just look at this wonderful article, because it explains it a million times better than I could. That's so Amelia: [00:15:59] good to hear. I feel like I do these things for myself. I'm like, okay, well I need a little toy example. Then I'm like, well, I might as well make it into a telescope. Might as well just let other people use it, I think the way you described your processes, it's very just like, playing around for your own personal benefit. Then just like, “Well, if I enjoy this, other people may also enjoy this.” You released your new website recently and I feel like it got a lot of attention, especially for the bottom. You have a little SVG of yourself and the eyes follow the cursor around. It's just really delightful to play around with, because there's so many websites out there. It's nice to even stumble across one, where you're like, “Oh, this person didn't just make a nice looking well-designed website, they took the next step to make it delightful and take a chance to connect with the user.” Cassie: [00:16:56] I love that so much. I'm not a huge fan of really whiz-bang websites, so websites that you land on and just everything animates and your cursor gets hijacked and your scroll gets hijacked and all of that thing. I find that really overwhelming. I absolutely love it when I'm navigating around a website that looks on the surface, like it's just your average website and then you hover over something, or you click something and it does something unexpected and joyful. It makes you smile. It makes the website feel a lot more human. Amelia: [00:17:32] I think you have to really understand how the web works to create a website that's both really easy to read and accessible and also has that next level. I feel it's easy to do the scroll-jacking, or just animations everywhere, but to have a little bit of restraint and to make it so that people with slower connections, or using screen readers can even navigate it as well. I think that's really awesome. Cassie: [00:17:58] Yeah. I think I had a head start, because I was using 11T. You get out of the box just a lot of performance benefits there. It's a static site generator. I think the tagline is it's a very simple static site generator. Nate: [00:18:12] On the tooling side, I've noticed that you use GreenSock for a lot of your animations. I've never really used GreenSock, but I've seen that a lot of CodePen people use it. Can you just talk about GreenSock a little bit, like what you about it and explain to me why it's so popular? Cassie: [00:18:29] Yeah. I have to start with the disclaimer that I don't work for GreenSock and GreenSock don't pay me any money. Because whenever I get really excited about GreenSock people are like, “She's got to be selling something.” Yeah, I love GreenSock so much. There are a whole bunch of different animation libraries out there, like JavaScript animation libraries. I think if you're doing things with HTML DOM, or say you're using a JavaScript animation library to trim some 3JS stuff, you're mostly just concerned with changing some numbers and a lot of the animation libraries handle things exactly the same way. The problem with SVG land is different browsers handle SVG transforms differently. You can end up with things moving around in unexpected ways in some older browsers and GreenSock, they have gone above and beyond to iron out all of these browser inconsistencies. You can be very sure that your SVG animations are going to work the way that they should do. They Amelia: [00:19:31] a lot more. They'll make really nice animations between things. They have this new scrolling library, right? Cassie: [00:19:39] Yeah. This is another really cool thing about GreenSock is that they've got the core GreenSock library. Their licensing model gets a bit misunderstood, because they're one of the only JavaScript animation libraries that aren't open source. But their core animation library is free for the majority of use cases. I think if you're selling an end product to multiple users, then you have to pay for it, but for 99% of people, it's free. Then they have these additional plugins. The core library does everything that you would need it to do and then the plugins are extra fun and some of the plugins are free and then some of them are behind a membership fee, but they've got a whole bunch of different SVG-specific plugins. They've got ones that help with SVG stroke animation and they've got ones that do morphing. Yeah, they've just released scroll trigger, which is amazing. I've played around with it a little bit. It uses one event listener behind the scenes, so it's really performance and just really intuitive as well. I think that's, yeah, another thing that I really love about GreenSock is the docs. They're just really good. They've got so many good animated examples in there and the forums are really, really friendly. It's like the opposite of stack overflow, can I say that? People are nice there. You post a question and I think as a newbie, I started off doing banner ads animation. That was my first job. I didn't have anyone to learn from and I had no idea what I was doing and I'd post on the GreenSock forum and someone would just jump in and help me out immediately. Yeah, it's really good. That's a Amelia: [00:21:22] really interesting business model. Cassie: [00:21:23] It's difficult to explain to people, but I understand why they do it, because it means that they don't have to rely on any external sponsors. They can just focus their time purely on updating it, which is why a lot of the other animation libraries don't have the time to put in the effort to make sure that things work with SVG cross browser, whereas GreenSock do. Oh, Amelia: [00:21:45] and it also looks like you can use any of the plugins on CodePen? Cassie: [00:21:50] Yes. It's super cool. That's the coolest thing. I think that's why so many people on CodePen use GreenSock, because everything's available to use on there. Amelia: [00:21:58] Yeah, that's super cool. I haven't had a chance to play with it yet, but it seems like it's – just a really great way to lower the overhead of if you're like, “Oh, I want this button to have a particle system and explode, or I want it to morph into this other thing.” It might just be too much work Cassie: [00:22:13] to do. We all have deadlines at Amelia: [00:22:14] work. If anything, even haves that effort, it might just make it worthwhile. Yeah, definitely. I think there's been quite a few times where people have gone, “Wow, that's Cassie: [00:22:23] a really cool animation that you've done.” Then see that it's five lines of green top coat. That's all Amelia: [00:22:32] it takes Nate: [00:22:33] sometimes, though. Yeah. It's Cassie: [00:22:35] also a lot easier to tweak your animations with green chords, or just an animation library in general. I've struggled with very complex animations with CSS, because you can't chain them together. It's really nice to have a timeline and all that. Amelia: [00:22:54] Yeah, are there any other tools like GreenSock that might be really useful for someone who is new to the more creative coding Cassie: [00:23:02] space? I don't Nate: [00:23:03] know. I'm curious on how to learn how to do SVG animations as well, because I feel the things that actually both of you create just feel like black magic to me. I don't really understand SVG super well, or particularly CSS animations. Golly. I am not good Amelia: [00:23:18] at Cassie: [00:23:19] that. Golly. Amelia: [00:23:21] I thought of one, which is similar. I've always felt like I've seen 3D stuff on the web. I don't know what wizard you have to be to have this 3D scene in a web page, but I will never be there. Then you discover 3JS Cassie: [00:23:38] and it's like – A frame as well. A Amelia: [00:23:41] frame. Cassie: [00:23:41] Yeah, A frame is really cool. It's a web framework for building virtual reality experiences. Oh, my goodness. Yeah. Amazing. Amelia: [00:23:51] I love it. I love how these libraries make even, just you have three lines of code and you're like, “I have no idea how I did this either.” Cassie: [00:23:59] I remember when I made my first Taurus knot in 3JS and I was so excited about it. I think pretty much out of the box, you have to import Amelia: [00:24:10] a plugin, but you can rotate it, you can zoom in and out, you can pan around. It's definitely magic. Cassie: [00:24:16] What's the D3 version of that? Is there a good entry point into D3? I Amelia: [00:24:23] have this spectrum in my head of things that are really complicated, but down to the metal. You can do whatever you want with them. Then the other end is a chart library that'll make a chart for you. You say, do a line chart with this data and it'll make a line chart. D3 is definitely on the former end, where it's like, it gives you tools you need. There's a lot of tools and you have to dig into each one of them. I feel if you want that oh, my God. This is magic feeling with D3, a lot of people, especially at the beginning, they'll just look up, there's so many examples online. They'll copy the code and then they'll paste it and then over two years, they'll understand what each line is doing, which I think everyone who learns D3, this is the way they learn it, just because those end examples are so cool and you're like, “I want this. I'm going to have it.” Then you take it and don't really understand all of it. Then there's also the chart libraries that make it super easy to do a really fancy chart really easily. Nate: [00:25:23] We talked a lot about this when we were working with React and D3. I mean, D3 is like React, in that it's a ton of different little modules that all work together. If you try to use for example, D3 with React, it's obnoxious, because D3 also takes over rewriting the DOM for you. One of the things that I would complain to Amelia when she was teaching me this is that to use D3 with React, you basically use React to form all the SVGs and you almost don't need D3, except for the utility functions. I don't actually know what is a good tool that's magic for D3. There's Amelia: [00:25:55] React chart libraries that you'll get something really amazing and be like, “I did this.” We're all on the shoulders of giants. Cassie: [00:26:04] I remember looking into D3. We got a solar panel installed on the roof of our work and I wanted to hook in. Well, you could hook into the API, which is really cool. I wanted to do that and see what we'd saved. I looked into D3 and it terrified me. Then I ended up making an illustration of our office building in SVG. I've set it up, so that with every certain amount of CO2 we save, it grows another plant out of a rooftop garden. Amelia: [00:26:44] I love how this was easier. Nate: [00:26:46] Yeah. Cassie: [00:26:49] It's like reaching for the tool that you understand. It's really difficult to make yourself learn new things. I was like, this is a great opportunity to learn D3. Then about 24 hours later I was like, “I'm going to make an SVG.” I think about this a Amelia: [00:27:05] lot where the flow state is in between something that's really boring and something that's really challenging. If something's too challenging and overwhelming, your brain will just shut off. You'll be like, “I can't learn this.” Then if it's too boring, your brain also shuts off and it's like, “I can just do this in my sleep.” I think a lot of people when they first look at D3, the needle goes all the way and they'll like, “This is overwhelming. I don't know where to start direction.” Then I think even with SVG, that was probably not in the boring area for you, even though you know SVG it was in the middle flow state of this is a good challenging. Cassie: [00:27:45] Yeah. Nate: [00:27:45] Cassie, in one of your talks you mentioned this idea that limitation breeds creativity. Could you talk a little bit more about that and your thoughts there? Cassie: [00:27:53] I have quite bad anxiety. I'm quite bad with procrastinating as well. I overthink things and I procrastinate. When I was learning how to code, there were lots of times where I'd sit down and stare at an empty VS code screen and just be like, “Right. I need to make something.” Then not knowing what to do. It felt a lot like when I was younger. I really loved drawing. At a certain point, I started doubting myself a little bit and overthinking it. My mom started what we called the scribble game. The scribble game was great. She'd take the paper from me and she'd draw a scribble on it, so that the paper wasn't blank anymore and then she'd hand it back to me and I had to make that scribble into something. It was a challenge, but there was a starting point. I think that that's so important when you're trying to make some things, to have a limitation and a challenge and a starting point. If you've got those three things, I think it's a lot easier. Amelia: [00:29:02] I love that. I Cassie: [00:29:03] love the scribble game. Yeah, it's wonderful. How Amelia: [00:29:07] can we apply this to code? How can we do a code scribble in order to lower that barrier? Cassie: [00:29:14] I guess, that's what you're saying about D3 having examples that you can copy and paste and start with. CodePen as well, like other people's pens that you can fork and Glitch has things that you can remix. I think that's a really great place to get started with something new, is just start with something and then see what you can make it into, or see how you can break it. I think it's a good way to learn things. Amelia: [00:29:40] Yeah, I think that's great. I was also reading an article yesterday. I've been meaning to learn 3D modeling, like you're talking about, Nate, that your kids are doing. It was this article, someone did a 100 days of 3D modeling to learn. They had a few things where it was like, one day they'll do a tutorial and the next day they'll make something with that knowledge. Every other day, they're doing a tutorial and it's an easier day, or every other day they do something easy and then they do something really hard. That's a good idea, because otherwise, you're either burning yourself out, or you're not learning as much as you could. Nate: [00:30:17] I feel like we are so early in programming education in that there's not really – I'm lumping 3D modeling into this too. There's not really a good place that you can go that will give you this off-the-shelf curriculum to learn 3D modeling, as you learn D3. Cassie: [00:30:32] Yeah, it's definitely a tricky thing. I find it really hard, even just trying to figure out what I need to learn to be a good front-end developer nowadays, because I feel there's just so much and I inevitably just go off on rabbit hole tangents all the time into the stuff that I'm really interested in. I'm like, “I should be learning webpack, but I'm going to learn some 3JS instead.” Amelia: [00:30:59] I feel whenever I try to write an article, I turn into a grade school version of myself that would tweak the PowerPoint slide styles, instead of actually writing my presentation, where this is the only reason idea in my blog posts have something fun in them is I don't like writing. Cassie: [00:31:16] I'd rather Amelia: [00:31:17] just do something fun, like scribble on the page with SVG. It's also a strength, I guess. Because most of these things I do, I'll end up using them Cassie: [00:31:26] in work. I work with someone who uses the phrase procrasti-working. That's when you know that you're really bad at procrastinating. You have a couple of things that you want to do. Then if you're not doing one of them, then you're going to be doing the other one to procrastinate them. Right, Nate: [00:31:43] procrastinate doing something else you should be doing, so that at least, you're moving Cassie: [00:31:48] I was to Amelia: [00:31:49] my friend about this. She said, she cleans when she has a deadline. That sounds like such a superpower. At least something's clean. Cassie: [00:31:57] Before I do a talk, my house is the tidiest it's ever been. Everything is alphabetically organized. Everything is polished. Nate: [00:32:06] Can you tell us about how you prep for your talks? What does that workflow look like? I prep with Cassie: [00:32:11] great difficulty, is the honest answer. I'm very lucky, because there's a lot of people at Clearleft who do a lot of public speaking. Jeremy Keith being one of them and he helped me huge amounts with my talk writing. I think that the first ever talk I did, it was just a little talk at a meet-up. I was just doing a show and tell, basically, of some of my CodePens I clutched a glass of wine for the whole thing and just showed people the fun stuff I was working on. Doing a conference talk, it needs to have a little bit more structure than just a list of things. I think that it's very rare that you see a talk that's just a list of things that is engaging. I think Jeremy really helped with that, because he's very good at telling stories and he said to me, what you need is you to make sure that your talk has a narrative structure. You need a flow to it. I wrote down everything that I wanted to talk about on post-it notes. Then Jeremy prompted me with different narrative structures. One being the hero's journey, I think was the one I used, so you've got a hero. The hero learns something along the way and overcomes something. I looked at all of the notes that I had and tried to arrange them into different narrative structures and then, eventually found one that I was happy with. Amelia: [00:33:39] What are the other narrative structures? What do you even google find this story to narrative arts? Nate: [00:33:45] The Wikipedia page on the hero's journey is pretty good. There's another one. There's a graph. I'll link to this in the show notes. There's a blog called Reedzy, and they've actually diagrammed out. There's a talk by Kurt Vonnegut, where he actually goes through all these different narrative arcs. One of them that he talks about is the hero's journey, but they actually plot out Cinderella. Here, I'll send you the link. Cassie: [00:34:10] I love graphs of Cinderella. Excellent. Nate: [00:34:14] Yeah, so Kurt Vonnegut, he wrote Slaughterhouse-Five and he also gave this really fantastic talk. There's a YouTube video of it, where it's Kurt Vonnegut graphs the plot of every story. There's actually a database of these different narrative plot lines. Dativism Cassie: [00:34:28] storytelling. Yeah, this is right up my street. Yeah, I love cart when I get as well. Amelia: [00:34:34] I also found this chart of how happy Harry Potter is throughout all the books. It looks like he just gets progressively less happy. Yeah, Nate: [00:34:42] progressively sadder the whole time, right? Amelia: [00:34:44] Yeah. It's pretty dark by that in there. Cassie: [00:34:47] What are some other narrative arcs? Oh, the rags to riches. That's a narrative arc. Oh, rags to riches has two, so there's the rags to riches rise and riches to rags full Icarus, where you rise and then fall. I feel that'd be such a Amelia: [00:35:03] disappointing book. Cassie: [00:35:04] Yeah. Amelia: [00:35:04] Everything's happy until the end. You definitely wouldn't want to choose that for a conference talk. Right. For a conference, you got to end on the up. Yeah, Cassie: [00:35:08] definitely. Amelia: [00:35:15] Yeah, I love the concept of using storytelling in talks, because I think, especially with technical talks, it can be very like, all right, people want facts. I'm going to tell people how to use this thing. I'm just going to have slide after slide of here's a fact, here's a best practice and then it can be really hard to sit through an hour of that and keep paying attention and just keep learning things. Cassie: [00:35:39] I think it's the human element, isn't it? Again, you need more whimsy and more human elements to things. I think some of the best conference talks that I've seen have been – I learnt this thing by doing it wrong for ages. This is what happened, because I was doing it wrong and I learned this lesson the hard way. I think that that's really good, because it feels – you have empathy with them. It feels more relatable. Amelia: [00:36:06] Brain, it's like, I can avoid this pain myself. Cassie: [00:36:11] Everybody likes to laugh at other people's misfortune as well. You Amelia: [00:36:16] just started a creative coding meetup. Cassie: [00:36:19] Yes. Amelia: [00:36:20] Right before lockdown, right? Cassie: [00:36:23] Yeah. We had about three meet-ups and then lockdown happened. It was really great. There's a conference in Brighton called FFConf and Charlotte Dan did a talk. She's amazing. She does lots of really cool generative art. She makes degenerative jewelry as well, which is very cool. A lot of my Brighton nerd friends, we all went to this conference and we saw her talk and she talks through pen plotting and generative art with CSS and generative art with JavaScript and using hardware and creating physical things, like jewelry and stuff. We were all really inspired. Afterwards, we were like, “Let's have a meet-up,” because it's really hard to find time to do all of that stuff and motivation to do side projects outside of work. We decided to do a meet-up that wasn't the normal talk structure, where you go along and watch people talk and then leave again. It was more of we call it a knitting circle for nerds. Everyone just goes along and we all have our laptops and we just tinker on projects and help each other. Then do a little show-and-tell at the end and eat crisps. Sometimes there's a very, very small dog. A very, very small dog. Very, very, very small chihuahua. Amelia: [00:37:48] [inaudible] . Cassie: [00:37:50] Yeah, now that's all moved online now, because of the plague. It's been really lovely, because we've got this little Slack community that has been there the whole time the lockdown's been happening and quarantine's been happening. It's just been such a great bunch of people. Creativity without the pressure and coding without the link to work and career development and stuff. It's just feels a very free space. Everyone there has been super open about feeling a bit creatively restricted, or battling with balancing out life stuff and coding. Yeah, it's been a really, really lovely group of people. Chris, one of the people from Brighton Generator, he is just a project machine. Even when everyone else hasn't been making stuff, he's just been knocking out projects pretty much every week. It's been wonderful watching what he's been making. That Amelia: [00:38:51] sounds so nice to just have that group, especially in these times. On Twitter, I feel a lot of people are having just such a hard time with a lot of people get inspiration from nature, or talking to people, or going places. It's just so hard when you always stay in the same house, if you see the same things and the same people all the time. Yeah, definitely. I think that that's fine. People shouldn't be outputting stuff all Cassie: [00:39:18] the time. You shouldn't feel like you have to constantly be producing things. Sometimes you have to take time to absorb stuff. If that's reading books, or watching tutorials, or going for walks, or that thing. I think it's all just as important. Amelia: [00:39:34] Totally agree. Cassie: [00:39:35] Ooh, if you're wanting to learn more about SVG filters, Sara Soueidan has an amazing set of articles on Codrops, which I Amelia: [00:39:43] learned everything from. They're really great. Nate: [00:39:45] One of the things I appreciate about you is that you remember people's names. I've noticed that in your talks as well. When you are saying, you're not just like, “Oh, there's a blog post on SVG filters.” You're like, “Sara Soueidan wrote this filter.” You should know her as well as her article. I really appreciate that. I think I would like to see more of that in general. Cassie: [00:40:06] It's so important. One of the things that brings me the most joy, which I've started doing is there are a few times where I had made a CodePen or something, or written a blog post and someone actually just sent me a direct message just saying, “Oh, I just read your article and it was really helpful. Thank you for that.” I do that now. Every time I read something and it's useful, I get hold of the person directly and just say, thank you. It's such a small thing, but yeah, I think it's really nice, especially for people who don't have analytics and tracking on their things, because I don't. I don't really want to know who's on my blog, because I get a bit too overwhelmed with numbers and statistics. But it's really nice to get a message from someone saying that they enjoyed it. Amelia: [00:40:51] I love that. Also, I feel for me, the better something is, probably the less likely I'll reach out to someone to say that I enjoyed it, because I'm like, “Oh, there's so many people who are telling them that it's great.” As a creator, it's so nice to get any message. I think being on the other side has helped that anxiety. Cassie: [00:41:12] Yeah. I think we put people on pedestals and don't reach out for that reason. I think we should stop doing Amelia: [00:41:19] also recently released new newsletter. I think it's monthly. What was your motivation behind starting it? I think it's solely focused on SVG, which is just a great niche. Where do you find inspiration for that newsletter? There is Cassie: [00:41:36] a little patch of time where GreenSock were hosting the CodePen challenges. I mean, it was about a month. Every week, Jack from GreenSock got hold of me with a whole load of CodePens for me to look through and judge. I just loved it. It was so much fun. I spent every Sunday evening just going through all of these different CodePens and writing people messages and telling them what I liked about it. I got so many lovely messages back. It just felt so joyful and so lovely to be able to signal boost some people who are making really cool things and give people some feedback. I basically just loved it, so I thought that I would like to carry on doing that. Then I had also, just before lockdown happened, I did a workshop in Brussels and I met Louie, who's also putting the newsletter together with me and we've been Internet friends for quite a while, but it was we met in person for the first time. We just got along really well. We decided we wanted to do a little side project together. Yeah, he's been writing some SVG tips for a while as well on Twitter and I've been looking at those and thinking, “Oh, it'd be great if we could get these tips out to some more people.” Amelia: [00:42:50] Oh, I've seen those. They're so good. Cassie: [00:42:52] Yeah, I learned things. Amelia: [00:42:54] Yeah, Cassie: [00:42:57] me too for sure. He's a creative coding tour de force, he is. Nate: [00:43:00] Cassie, thank you so much for being with us today. It was really delightful. Cassie: [00:43:04] Oh, it's an absolute pleasure. It was lovely to meet both of you, and especially because I've been such a huge fan of Amelia: [00:43:11] Amelia's work for a while. Nate: [00:43:19] Thank you. Hey, you made it to the end. I hope you enjoyed this conversation. Amelia: [00:43:22] If you have a minute, a review on iTunes would help other people find the podcast. We have a lot of great content coming up. To be notified of new episodes, hit that subscribe Cassie: [00:43:37] button.

egghead.io developer chats
Sarah Drasner talks about SVG animation with Greensock and Vue.js

egghead.io developer chats

Play Episode Listen Later Mar 6, 2018 47:19


John Lindquist interviews Sarah Drasner, a senior cloud developer over at Microsoft and a Vue core team member. She is also known for making super cool animations. Today they discuss what got her from an art background to a full-time developer, resistance to change, why Vue is terrific, and the GreenSock animation platform (GSAP).Sarah's background was very unusual for a developer. She graduated with a major in printmaking and became a scientific illustrator for a nature museum. She relates drawing to program in that it's just a series of formalized steps. Many people say they can't draw, but if they just opened up and learned the process they would become technically proficient in drawing!Sarah also talks about how awesome GSAP is. Through benchmarking, she found that GSAP performed even better than native technologies when working with SVGs. She then gets into MorphSVG, and how it lets you transition between two SVGs and all sorts of things to create transitions.Finally, she discusses how she stays motivated on all the many projects she works on. She likes to imagine the feeling she'll get when she finally finishes it and lets that drive her. She also uses positive rewards for little milestones, such as eating a treat she enjoys or sitting in her favorite chair and relaxing.Transcript"Sarah Drasner talks about SVG animation with Greensock and Vue.js" TranscriptResourcesegghead: Develop Basic Web Apps with Vue.jsCSS Tricks: Intro to VueGreensockSarah DrasnerWebsiteTwitterGithubeggheadJohn LindquistTwitteregghead.ioGithubWebsite

The Rightly Show: Start and Grow a Brand-Based Online Business
Episode 25: Why SVG Images Are Your Website's Best Friend

The Rightly Show: Start and Grow a Brand-Based Online Business

Play Episode Listen Later Oct 11, 2016 30:02


In this episode, we'll dive into SVGs (aka Scalable Vector Graphics) and why you should begin using them as often as possible on your website to save significantly on loading times while delivering the best quality possible. The topics we'll cover in this episode: Why Facebook is Blue An Object Lesson from the Recent iPhone […] The post Episode 25: Why SVG Images Are Your Website's Best Friend appeared first on Rightly & Co..

best friend images svgs scalable vector graphics