<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="https://feeds.captivate.fm/style.xsl" type="text/xsl"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:podcast="https://podcastindex.org/namespace/1.0"><channel><atom:link href="https://feeds.captivate.fm/id-rather-be-scripting/" rel="self" type="application/rss+xml"/><title><![CDATA[I'd Rather Be Scripting]]></title><podcast:guid>5fdd60d0-bf85-50b8-a7ae-8c7400ec43c5</podcast:guid><lastBuildDate>Thu, 04 Sep 2025 08:57:11 +0000</lastBuildDate><generator>Captivate.fm</generator><language><![CDATA[en]]></language><copyright><![CDATA[© 2023 I'd Rather Be Scripting]]></copyright><managingEditor>Ash Arnwine &amp; Kerri Shotts</managingEditor><itunes:summary><![CDATA[Ash and Kerri go on mostly random tangents about technology, music, photography, and just about anything else. You never know what you'll hear!]]></itunes:summary><image><url>https://artwork.captivate.fm/f5312b72-1ebc-4a2a-b34b-114ab9fa2642/q4uxu7zadr0v9oxt6bhsgt6b.jpg</url><title>I&apos;d Rather Be Scripting</title><link><![CDATA[https://idratherbescripting.com]]></link></image><itunes:image href="https://artwork.captivate.fm/f5312b72-1ebc-4a2a-b34b-114ab9fa2642/q4uxu7zadr0v9oxt6bhsgt6b.jpg"/><itunes:owner><itunes:name>Ash Arnwine &amp; Kerri Shotts</itunes:name></itunes:owner><itunes:author>Ash Arnwine &amp; Kerri Shotts</itunes:author><description>Ash and Kerri go on mostly random tangents about technology, music, photography, and just about anything else. You never know what you&apos;ll hear!</description><link>https://idratherbescripting.com</link><atom:link href="https://pubsubhubbub.appspot.com" rel="hub"/><itunes:subtitle><![CDATA[Adventures in Technology Tangents]]></itunes:subtitle><itunes:explicit>false</itunes:explicit><itunes:type>episodic</itunes:type><itunes:category text="Technology"></itunes:category><podcast:locked>no</podcast:locked><podcast:medium>podcast</podcast:medium><item><title>A hundred years later</title><itunes:title>A hundred years later</itunes:title><description><![CDATA[<p><em>This episode was recorded on April 14th, 2024</em></p><h1>So... it's been awhile...</h1><p>So, it's been a little while since we last posted an episode... it feels like it's been about a hundred years or so! How is it possible we're already so far through the year?</p><p>We have a lot of topics in this episode given that it was a long time since our first episode of the year, so buckle up, get settled, and enjoy as we cover topics ranging from developing an cool email app, talk about interfacing with FPGAs, and cover a series of quick picks.</p><h2>Ash's updates:</h2><ul><li><a href="https://www.ashryan.io/devrel-ai-as-department-lead/" rel="noopener noreferrer" target="_blank">DevRel and AI: a department lead’s self-evaluation one year in</a></li><li><a href="https://podcasts.bcast.fm/e/x8vzk648-how-to-utilize-ai-in-devrel" rel="noopener noreferrer" target="_blank">Using AI in Developer Relations</a></li><li><a href="https://www.youtube.com/watch?v=pTQI0emPLDM" rel="noopener noreferrer" target="_blank">AI for the mere mortal web developer</a> (YouTube)</li></ul><br/><h2>Vibebox</h2><p>Ash's team at Nylas built such a cool web app that mixes AI and email to let you view emails in a new way—now your inbox is full of good vibes!</p><p>We discuss the development of this app, including Ash's attempts to use <a href="https://v0.dev/" rel="noopener noreferrer" target="_blank">v0 by Vercel</a> and <a href="https://render.com/" rel="noopener noreferrer" target="_blank">Render</a> for hosting.</p><p>Go check it out at <a href="https://vibebox.app" rel="noopener noreferrer" target="_blank">https://vibebox.app</a>.</p><h2>FPGA Updates</h2><p>As Kerri's mentioned in the past, she's busy learning FPGA development. In this section, she talks about some of the tools that she's been using to help connect with and debug her FPGA project.</p><ul><li><a href="https://github.com/kerrishotts/retroputer-fpga/tree/main" rel="noopener noreferrer" target="_blank">Retroputer FPGA</a> (in case you want to follow along—reminder that Kerri is <em>not</em> an expert with FPGAs, so take this code with a very large grain of salt)</li><li><a href="https://deploy-preview-67--blissful-bose-ff8542.netlify.app/#/" rel="noopener noreferrer" target="_blank">Retroputer Emulator</a> (also in progress)</li><li><a href="https://serialport.io/" rel="noopener noreferrer" target="_blank">Serial Port library for Node.js</a>—Kerri uses this to create custom debugging tools written in JavaScript to explore the state of the CPU on the FPGA including a <a href="https://github.com/kerrishotts/retroputer-fpga/blob/main/monitor/source/app.js" rel="noopener noreferrer" target="_blank">monitor</a> and <a href="https://github.com/kerrishotts/retroputer-fpga/blob/main/terminal/index.js" rel="noopener noreferrer" target="_blank">terminal</a>. If you want to do something like this in the browser, <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API" rel="noopener noreferrer" target="_blank">it turns out that's an option too</a>!</li><li>Ever want to build a dynamic text UI in Node.js using React? Turns out you can with <a href="https://github.com/vadimdemedes/ink?tab=readme-ov-file#useinputinputhandler-options" rel="noopener noreferrer" target="_blank">ink</a>! Kerri uses this to build out a live updating <a href="https://github.com/kerrishotts/retroputer-fpga/blob/main/monitor/source/app.js" rel="noopener noreferrer" target="_blank">monitor</a> that reflects the state of the CPU she's building in the FPGA.</li><li>Want to incorporate a cute TFT LCD into your hardware projects? Kerri's using <a href="https://www.adafruit.com/product/3315" rel="noopener noreferrer" target="_blank">this LCD from Adafruit</a> and is slowly learning how to drive it.</li><li>Also mentioned: the <a href="https://pine64.com/product/pinecil-smart-mini-portable-soldering-iron/" rel="noopener noreferrer" target="_blank">Pinecil soldering iron</a></li></ul><br/><h2>Our (semi-) quick...]]></description><content:encoded><![CDATA[<p><em>This episode was recorded on April 14th, 2024</em></p><h1>So... it's been awhile...</h1><p>So, it's been a little while since we last posted an episode... it feels like it's been about a hundred years or so! How is it possible we're already so far through the year?</p><p>We have a lot of topics in this episode given that it was a long time since our first episode of the year, so buckle up, get settled, and enjoy as we cover topics ranging from developing an cool email app, talk about interfacing with FPGAs, and cover a series of quick picks.</p><h2>Ash's updates:</h2><ul><li><a href="https://www.ashryan.io/devrel-ai-as-department-lead/" rel="noopener noreferrer" target="_blank">DevRel and AI: a department lead’s self-evaluation one year in</a></li><li><a href="https://podcasts.bcast.fm/e/x8vzk648-how-to-utilize-ai-in-devrel" rel="noopener noreferrer" target="_blank">Using AI in Developer Relations</a></li><li><a href="https://www.youtube.com/watch?v=pTQI0emPLDM" rel="noopener noreferrer" target="_blank">AI for the mere mortal web developer</a> (YouTube)</li></ul><br/><h2>Vibebox</h2><p>Ash's team at Nylas built such a cool web app that mixes AI and email to let you view emails in a new way—now your inbox is full of good vibes!</p><p>We discuss the development of this app, including Ash's attempts to use <a href="https://v0.dev/" rel="noopener noreferrer" target="_blank">v0 by Vercel</a> and <a href="https://render.com/" rel="noopener noreferrer" target="_blank">Render</a> for hosting.</p><p>Go check it out at <a href="https://vibebox.app" rel="noopener noreferrer" target="_blank">https://vibebox.app</a>.</p><h2>FPGA Updates</h2><p>As Kerri's mentioned in the past, she's busy learning FPGA development. In this section, she talks about some of the tools that she's been using to help connect with and debug her FPGA project.</p><ul><li><a href="https://github.com/kerrishotts/retroputer-fpga/tree/main" rel="noopener noreferrer" target="_blank">Retroputer FPGA</a> (in case you want to follow along—reminder that Kerri is <em>not</em> an expert with FPGAs, so take this code with a very large grain of salt)</li><li><a href="https://deploy-preview-67--blissful-bose-ff8542.netlify.app/#/" rel="noopener noreferrer" target="_blank">Retroputer Emulator</a> (also in progress)</li><li><a href="https://serialport.io/" rel="noopener noreferrer" target="_blank">Serial Port library for Node.js</a>—Kerri uses this to create custom debugging tools written in JavaScript to explore the state of the CPU on the FPGA including a <a href="https://github.com/kerrishotts/retroputer-fpga/blob/main/monitor/source/app.js" rel="noopener noreferrer" target="_blank">monitor</a> and <a href="https://github.com/kerrishotts/retroputer-fpga/blob/main/terminal/index.js" rel="noopener noreferrer" target="_blank">terminal</a>. If you want to do something like this in the browser, <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API" rel="noopener noreferrer" target="_blank">it turns out that's an option too</a>!</li><li>Ever want to build a dynamic text UI in Node.js using React? Turns out you can with <a href="https://github.com/vadimdemedes/ink?tab=readme-ov-file#useinputinputhandler-options" rel="noopener noreferrer" target="_blank">ink</a>! Kerri uses this to build out a live updating <a href="https://github.com/kerrishotts/retroputer-fpga/blob/main/monitor/source/app.js" rel="noopener noreferrer" target="_blank">monitor</a> that reflects the state of the CPU she's building in the FPGA.</li><li>Want to incorporate a cute TFT LCD into your hardware projects? Kerri's using <a href="https://www.adafruit.com/product/3315" rel="noopener noreferrer" target="_blank">this LCD from Adafruit</a> and is slowly learning how to drive it.</li><li>Also mentioned: the <a href="https://pine64.com/product/pinecil-smart-mini-portable-soldering-iron/" rel="noopener noreferrer" target="_blank">Pinecil soldering iron</a></li></ul><br/><h2>Our (semi-) quick picks</h2><p>We end the episode with some quick picks of sites, tools, and apps we'd been playing around with recently.</p><ul><li>From Ash: task management by <a href="https://godspeedapp.com/" rel="noopener noreferrer" target="_blank">Godspeed</a> </li><li>From Kerri: AI Music by <a href="https://suno.com/" rel="noopener noreferrer" target="_blank">Suno</a></li><li>From Kerri: <a href="https://calca.io/" rel="noopener noreferrer" target="_blank">Calca</a> app</li><li>From Ash: <a href="https://tydligapp.com/" rel="noopener noreferrer" target="_blank">Tydlig</a> app</li></ul><br/><p>Some of the songs that Kerri and her sister created with Suno AI:</p><ul><li><a href="https://suno.com/song/407cdc25-389e-4cdb-b277-57742eb62a46" rel="noopener noreferrer" target="_blank">Wrapped in plastic</a> (prompt: "Country song about that plastic thingy on the bread bag")</li><li><a href="https://suno.com/song/e5c14727-bf1c-4a03-a512-f8329bb52404" rel="noopener noreferrer" target="_blank">Forever in motion</a> (prompt: "A peppy song about the meaningless of time")</li><li><a href="https://suno.com/song/64905714-b139-4ef4-91f4-7638c400b5d1" rel="noopener noreferrer" target="_blank">The Jumpin' Kitty Kat</a> (prompt: "A peppy kids song about a happy kitty") (<a href="https://suno.com/song/c1d65fb0-b1be-41a6-9852-8e9c56ecf8a2" rel="noopener noreferrer" target="_blank">second variation</a> is also cute)</li></ul><br/>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/a-hundred-years-later]]></link><guid isPermaLink="false">27914817-0c9d-4343-a9e6-4ce92eeef293</guid><itunes:image href="https://artwork.captivate.fm/f5312b72-1ebc-4a2a-b34b-114ab9fa2642/q4uxu7zadr0v9oxt6bhsgt6b.jpg"/><pubDate>Sun, 30 Jun 2024 09:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/50d28a0a-fad5-4e89-bdf4-85ab8dc453fe/S2E3-converted.mp3" length="92451687" type="audio/mpeg"/><itunes:duration>01:50:04</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>3</itunes:season><itunes:episode>2</itunes:episode><itunes:season>3</itunes:season><podcast:episode>2</podcast:episode><podcast:season>3</podcast:season><podcast:chapters url="https://transcripts.captivate.fm/chapter-50d28a0a-fad5-4e89-bdf4-85ab8dc453fe.json" type="application/json+chapters"/></item><item><title>Looking ahead to 2024</title><itunes:title>Looking ahead to 2024</itunes:title><description><![CDATA[<p><em>This episode was recorded January 14th, 2024.</em></p><h1>What's in store, 2024?</h1><p>Welcome to a near year and new season of <em>I'd Rather Be Scripting</em>! In this episode Ash and Kerri chat about the things they'd like to learn or do in 2024. Buckle up—we've got a lot to talk about in this one!</p><p>Kerri's topics:</p><ul><li>FPGA (Field Programmable Gate Array) development using the <a href="https://alchitry.com" rel="noopener noreferrer" target="_blank">Alchitry Au kit</a> and <a href="https://www.xilinx.com/developer/products/vivado.html" rel="noopener noreferrer" target="_blank">Vivado</a>. One learning already: getting the toolchain working on an Apple-silicon Mac is challenging! (Way easier with an Intel-based Windows machine.)</li><li>3D Printing. Bambu Lab is one of the mentions as a potential buy: <a href="https://bambulab.com/en-eu" rel="noopener noreferrer" target="_blank">https://bambulab.com/en-eu</a>. </li><li>Learning Latex (pronounced lay-tech). Of note, <a href="https://www.texifier.com" rel="noopener noreferrer" target="_blank">Texifier</a> is a nice piece of software for having live previews of your latex documents. It's not free, but it's definitely worth the price if you're into latex. And it comes with a lot of latex packages available for download, so one doesn't have to spend a lot of time manually configuring your environment.</li><li>Musical topics, including learning more classical music and figuring out polyrhythms. <a href="https://4four.io/ploop" rel="noopener noreferrer" target="_blank">https://4four.io/ploop</a> is a great way to explore how two (or more) competing rhythms sound. Also looking to get into finger drumming a bit, with a <a href="https://www.korg.com/us/products/computergear/nanopad2/" rel="noopener noreferrer" target="_blank">Korg Nanopad</a>.</li></ul><br/><p>Ash's topics:</p><ul><li>Exploring <a href="https://makeymakey.com" rel="noopener noreferrer" target="_blank">Makey Makey</a>. During the conversation, Ash mentioned his sound maker Github repo named Chikurin. <a href="https://github.com/ashryanbeats/chikurin" rel="noopener noreferrer" target="_blank">Go check it out!</a></li><li>Coding topics, including Deno and asynchronous APIs</li><li>Generative AI in product</li><li>Native app development</li><li>Also mentioned a <a href="https://store.hermanmiller.com/office-furniture-desk-accessories-organization/jarvis-single-monitor-arm/2548325.html?lang=en_US" rel="noopener noreferrer" target="_blank">single monitor arm</a> that Ash has been using during the intro.</li></ul><br/>]]></description><content:encoded><![CDATA[<p><em>This episode was recorded January 14th, 2024.</em></p><h1>What's in store, 2024?</h1><p>Welcome to a near year and new season of <em>I'd Rather Be Scripting</em>! In this episode Ash and Kerri chat about the things they'd like to learn or do in 2024. Buckle up—we've got a lot to talk about in this one!</p><p>Kerri's topics:</p><ul><li>FPGA (Field Programmable Gate Array) development using the <a href="https://alchitry.com" rel="noopener noreferrer" target="_blank">Alchitry Au kit</a> and <a href="https://www.xilinx.com/developer/products/vivado.html" rel="noopener noreferrer" target="_blank">Vivado</a>. One learning already: getting the toolchain working on an Apple-silicon Mac is challenging! (Way easier with an Intel-based Windows machine.)</li><li>3D Printing. Bambu Lab is one of the mentions as a potential buy: <a href="https://bambulab.com/en-eu" rel="noopener noreferrer" target="_blank">https://bambulab.com/en-eu</a>. </li><li>Learning Latex (pronounced lay-tech). Of note, <a href="https://www.texifier.com" rel="noopener noreferrer" target="_blank">Texifier</a> is a nice piece of software for having live previews of your latex documents. It's not free, but it's definitely worth the price if you're into latex. And it comes with a lot of latex packages available for download, so one doesn't have to spend a lot of time manually configuring your environment.</li><li>Musical topics, including learning more classical music and figuring out polyrhythms. <a href="https://4four.io/ploop" rel="noopener noreferrer" target="_blank">https://4four.io/ploop</a> is a great way to explore how two (or more) competing rhythms sound. Also looking to get into finger drumming a bit, with a <a href="https://www.korg.com/us/products/computergear/nanopad2/" rel="noopener noreferrer" target="_blank">Korg Nanopad</a>.</li></ul><br/><p>Ash's topics:</p><ul><li>Exploring <a href="https://makeymakey.com" rel="noopener noreferrer" target="_blank">Makey Makey</a>. During the conversation, Ash mentioned his sound maker Github repo named Chikurin. <a href="https://github.com/ashryanbeats/chikurin" rel="noopener noreferrer" target="_blank">Go check it out!</a></li><li>Coding topics, including Deno and asynchronous APIs</li><li>Generative AI in product</li><li>Native app development</li><li>Also mentioned a <a href="https://store.hermanmiller.com/office-furniture-desk-accessories-organization/jarvis-single-monitor-arm/2548325.html?lang=en_US" rel="noopener noreferrer" target="_blank">single monitor arm</a> that Ash has been using during the intro.</li></ul><br/>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/looking-ahead-to-2024]]></link><guid isPermaLink="false">485e5122-28e9-4bdf-9bf8-1d35f5c32411</guid><itunes:image href="https://artwork.captivate.fm/ef109f5a-867e-499a-9fef-be7057db09ac/sQmqYEWB27yIzpNzu70xWQ3Q.jpg"/><pubDate>Sun, 10 Mar 2024 09:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/878ed129-06c8-4546-b6ae-e073efc40c4c/S3E1-f.mp3" length="95868127" type="audio/mpeg"/><itunes:duration>01:39:25</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>3</itunes:season><itunes:episode>1</itunes:episode><itunes:season>3</itunes:season><podcast:episode>1</podcast:episode><podcast:season>3</podcast:season><podcast:chapters url="https://transcripts.captivate.fm/chapter-878ed129-06c8-4546-b6ae-e073efc40c4c.json" type="application/json+chapters"/></item><item><title>2023 in Review</title><itunes:title>2023 in Review</itunes:title><description><![CDATA[<p><em>This episode was recorded on December 17, 2023. Since we mention a lot of companies and products in this episode, it's worth noting that our episodes (including this one) are not sponsored. Our opinions are entirely our own. Links to any products do NOT contain affiliate links.</em></p><p>In this episode, Ash and Kerri look back at the year that was 2023, including some notable work and personal milestones while also looking at some hardware, software, and media that they found interesting in 2023.</p><p><strong>Kerri's Top Hardware</strong></p><ol><li><a href="https://www.esrgear.com/products/halolock-3-in-1-watch-wireless-charging-set/" rel="noopener noreferrer" target="_blank">ESR 3-in-1 Charger Stand for MagSafe</a></li><li><a href="https://semiconductor.samsung.com/consumer-storage/portable-ssd/t7-shield/" rel="noopener noreferrer" target="_blank">Samsung T7 Shield</a></li><li><a href="https://www.insta360.com/product/insta360-link" rel="noopener noreferrer" target="_blank">Insta360 Link Webcam</a></li><li><a href="https://www.elgato.com/us/en/s/welcome-to-stream-deck" rel="noopener noreferrer" target="_blank">Stream Deck</a> (Honorable mention)</li><li><a href="https://www.apple.com/iphone-15-pro/" rel="noopener noreferrer" target="_blank">Iphone 15 Pro Max</a> (Honorable mention)</li></ol><br/><p><strong>Ash's Top Hardware</strong></p><ol><li><a href="https://www.audio-technica.com/en-us/at-sb2022" rel="noopener noreferrer" target="_blank">AudioTechnica Sound Burger</a></li><li><a href="https://www.apple.com/mac-studio/" rel="noopener noreferrer" target="_blank">Mac Studio</a></li><li><a href="https://www.moleskine.com/en-us/shop/notebooks/journals/cahier-journals/" rel="noopener noreferrer" target="_blank">Moleskin Cahiers</a></li></ol><br/><p>We have a brief chat about e-readers as we both have been considering getting one. The following were mentioned:</p><ul><li><a href="https://remarkable.com/store/remarkable-2" rel="noopener noreferrer" target="_blank">Remarkable 2</a></li><li><a href="https://shop.boox.com/products/tabultrac" rel="noopener noreferrer" target="_blank">Boox Tab Ultra C</a></li></ul><br/><p><strong>Kerri's Top Software</strong></p><ul><li><a href="https://rocketmoney.com" rel="noopener noreferrer" target="_blank">Rocket Money</a></li><li><a href="https://soma-zone.com/BackupLoupe/" rel="noopener noreferrer" target="_blank">BackupLoupe</a></li><li><a href="https://daisydiskapp.com" rel="noopener noreferrer" target="_blank">DaisyDisk</a> (honorable mention, along with a mention of <a href="https://grandperspectiv.sourceforge.net" rel="noopener noreferrer" target="_blank">GrandPerspective</a>)</li><li><a href="https://firefly.adobe.com" rel="noopener noreferrer" target="_blank">Adobe Firefly</a> &amp; <a href="https://new.express.adobe.com" rel="noopener noreferrer" target="_blank">Adobe Express</a></li></ul><br/><p><strong>Ash's Top Software</strong></p><ul><li><a href="https://lightroom.adobe.com" rel="noopener noreferrer" target="_blank">Adobe Lightroom</a> (honorable mention)</li><li><a href="https://ollama.ai" rel="noopener noreferrer" target="_blank">Ollama</a></li><li><a href="https://getdrafts.com" rel="noopener noreferrer" target="_blank">Drafts</a></li><li><a href="https://checkyourlist.app" rel="noopener noreferrer" target="_blank">CheckYourList</a></li></ul><br/><p><strong>Kerri's Top Games</strong></p><ul><li>Super Mario Wonder</li><li>Zelda: Tears of the Kingdom (honorable mention)</li><li><a href="https://www.dredge.game" rel="noopener noreferrer" target="_blank">Dredge</a></li><li><a href="https://bugsnax.com" rel="noopener noreferrer" target="_blank">Bugsnax</a></li></ul><br/><p><strong>Ash's Top Media</strong></p><ul><li><a href="https://matthewdicks.com/storyworthy/" rel="noopener noreferrer" target="_blank">Storyworthy</a></li><li><a href="https://www.goodreads.com/en/book/show/50083106" rel="noopener noreferrer" target="_blank">The Art of Leadership</a></li><li><a...]]></description><content:encoded><![CDATA[<p><em>This episode was recorded on December 17, 2023. Since we mention a lot of companies and products in this episode, it's worth noting that our episodes (including this one) are not sponsored. Our opinions are entirely our own. Links to any products do NOT contain affiliate links.</em></p><p>In this episode, Ash and Kerri look back at the year that was 2023, including some notable work and personal milestones while also looking at some hardware, software, and media that they found interesting in 2023.</p><p><strong>Kerri's Top Hardware</strong></p><ol><li><a href="https://www.esrgear.com/products/halolock-3-in-1-watch-wireless-charging-set/" rel="noopener noreferrer" target="_blank">ESR 3-in-1 Charger Stand for MagSafe</a></li><li><a href="https://semiconductor.samsung.com/consumer-storage/portable-ssd/t7-shield/" rel="noopener noreferrer" target="_blank">Samsung T7 Shield</a></li><li><a href="https://www.insta360.com/product/insta360-link" rel="noopener noreferrer" target="_blank">Insta360 Link Webcam</a></li><li><a href="https://www.elgato.com/us/en/s/welcome-to-stream-deck" rel="noopener noreferrer" target="_blank">Stream Deck</a> (Honorable mention)</li><li><a href="https://www.apple.com/iphone-15-pro/" rel="noopener noreferrer" target="_blank">Iphone 15 Pro Max</a> (Honorable mention)</li></ol><br/><p><strong>Ash's Top Hardware</strong></p><ol><li><a href="https://www.audio-technica.com/en-us/at-sb2022" rel="noopener noreferrer" target="_blank">AudioTechnica Sound Burger</a></li><li><a href="https://www.apple.com/mac-studio/" rel="noopener noreferrer" target="_blank">Mac Studio</a></li><li><a href="https://www.moleskine.com/en-us/shop/notebooks/journals/cahier-journals/" rel="noopener noreferrer" target="_blank">Moleskin Cahiers</a></li></ol><br/><p>We have a brief chat about e-readers as we both have been considering getting one. The following were mentioned:</p><ul><li><a href="https://remarkable.com/store/remarkable-2" rel="noopener noreferrer" target="_blank">Remarkable 2</a></li><li><a href="https://shop.boox.com/products/tabultrac" rel="noopener noreferrer" target="_blank">Boox Tab Ultra C</a></li></ul><br/><p><strong>Kerri's Top Software</strong></p><ul><li><a href="https://rocketmoney.com" rel="noopener noreferrer" target="_blank">Rocket Money</a></li><li><a href="https://soma-zone.com/BackupLoupe/" rel="noopener noreferrer" target="_blank">BackupLoupe</a></li><li><a href="https://daisydiskapp.com" rel="noopener noreferrer" target="_blank">DaisyDisk</a> (honorable mention, along with a mention of <a href="https://grandperspectiv.sourceforge.net" rel="noopener noreferrer" target="_blank">GrandPerspective</a>)</li><li><a href="https://firefly.adobe.com" rel="noopener noreferrer" target="_blank">Adobe Firefly</a> &amp; <a href="https://new.express.adobe.com" rel="noopener noreferrer" target="_blank">Adobe Express</a></li></ul><br/><p><strong>Ash's Top Software</strong></p><ul><li><a href="https://lightroom.adobe.com" rel="noopener noreferrer" target="_blank">Adobe Lightroom</a> (honorable mention)</li><li><a href="https://ollama.ai" rel="noopener noreferrer" target="_blank">Ollama</a></li><li><a href="https://getdrafts.com" rel="noopener noreferrer" target="_blank">Drafts</a></li><li><a href="https://checkyourlist.app" rel="noopener noreferrer" target="_blank">CheckYourList</a></li></ul><br/><p><strong>Kerri's Top Games</strong></p><ul><li>Super Mario Wonder</li><li>Zelda: Tears of the Kingdom (honorable mention)</li><li><a href="https://www.dredge.game" rel="noopener noreferrer" target="_blank">Dredge</a></li><li><a href="https://bugsnax.com" rel="noopener noreferrer" target="_blank">Bugsnax</a></li></ul><br/><p><strong>Ash's Top Media</strong></p><ul><li><a href="https://matthewdicks.com/storyworthy/" rel="noopener noreferrer" target="_blank">Storyworthy</a></li><li><a href="https://www.goodreads.com/en/book/show/50083106" rel="noopener noreferrer" target="_blank">The Art of Leadership</a></li><li><a href="https://en.wikipedia.org/wiki/The_Boy_and_the_Heron" rel="noopener noreferrer" target="_blank">The Boy and the Heron</a></li></ul><br/>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/2023-in-review]]></link><guid isPermaLink="false">15a69b84-bd59-4800-9287-3b4d9ba80016</guid><itunes:image href="https://artwork.captivate.fm/4fbb3cb6-35d8-4717-965b-7604a48b6adc/-V5GzkHCR5B8jAS8LBcorF8l.jpg"/><pubDate>Sun, 31 Dec 2023 21:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/7ee1029a-2c18-4fa0-be5b-8deec0d7c4a0/S2E14-f.mp3" length="105075775" type="audio/mpeg"/><itunes:duration>01:49:10</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>2</itunes:season><itunes:episode>14</itunes:episode><itunes:season>2</itunes:season><podcast:episode>14</podcast:episode><podcast:season>2</podcast:season><podcast:chapters url="https://transcripts.captivate.fm/chapter-7ee1029a-2c18-4fa0-be5b-8deec0d7c4a0.json" type="application/json+chapters"/></item><item><title>Updates on Adobe Firefly &amp; Express Extensibility</title><itunes:title>Updates on Adobe Firefly &amp; Express Extensibility</itunes:title><description><![CDATA[<p><em>This episode was recorded on October 1, 2023. The events mentioned in this podcast episode have already occurred, but you should be able to watch them online by visiting the </em><a href="https://www.adobe.com/max.html" rel="noopener noreferrer" target="_blank"><em>Adobe MAX</em></a><em> website.</em></p><p>In this episode, Kerri shares some Adobe updates with Ash, including some new features for Adobe Firefly and the general availability of the developer platform for Adobe Express add-ons. She also mentions a MAX session for more about using Adobe add-ons: <a href="https://www.adobe.com/max/2023/sessions/na-adobe-express-add-ons-spark-creativity-with-pow-s6712.html" rel="noopener noreferrer" target="_blank">Adobe Express Add-ons: Spark Creativity with Powerful Gems [S6712]</a>. At the time of this recording some APIs were gated behind experimental flags, but these APIs are now available for all developers. <em>(Note: Kerri is a product manager for extensibility at Adobe, but her opinions are her own.)</em></p><p>Links:</p><ul><li><a href="https://firefly.adobe.com" rel="noopener noreferrer" target="_blank">Adobe Firefly</a></li><li><a href="https://new.express.adobe.com" rel="noopener noreferrer" target="_blank">Adobe Express</a></li><li><a href="https://developer.adobe.com/express/add-ons/" rel="noopener noreferrer" target="_blank">Adobe Express Add-on Documentation</a>, including <a href="https://developer.adobe.com/express/add-ons/docs/references/addonsdk/app-document/#addaudio" rel="noopener noreferrer" target="_blank">Audio</a> and <a href="https://developer.adobe.com/express/add-ons/docs/references/document-sandbox/document-apis/" rel="noopener noreferrer" target="_blank">Editor</a> (now Document Model) APIs</li></ul><br/><p>Ash also mentions  the <a href="https://www.devrelxsummit.com/" rel="noopener noreferrer" target="_blank">DevRelX</a> summit, and a panel he was about to host on AI: <strong><em>2.0 of your DevRel team - How DevRel teams can use AI today? </em></strong>(<a href="https://www.youtube.com/watch?v=dWQEyrManjc&amp;t=6499s" rel="noopener noreferrer" target="_blank">Recording</a>) You should absolutely go check this panel session out — it was fantastic, with lots of great insights from the panelists.</p><p>Near the end we also chat about the new iPhone and upgrading from previous models. </p>]]></description><content:encoded><![CDATA[<p><em>This episode was recorded on October 1, 2023. The events mentioned in this podcast episode have already occurred, but you should be able to watch them online by visiting the </em><a href="https://www.adobe.com/max.html" rel="noopener noreferrer" target="_blank"><em>Adobe MAX</em></a><em> website.</em></p><p>In this episode, Kerri shares some Adobe updates with Ash, including some new features for Adobe Firefly and the general availability of the developer platform for Adobe Express add-ons. She also mentions a MAX session for more about using Adobe add-ons: <a href="https://www.adobe.com/max/2023/sessions/na-adobe-express-add-ons-spark-creativity-with-pow-s6712.html" rel="noopener noreferrer" target="_blank">Adobe Express Add-ons: Spark Creativity with Powerful Gems [S6712]</a>. At the time of this recording some APIs were gated behind experimental flags, but these APIs are now available for all developers. <em>(Note: Kerri is a product manager for extensibility at Adobe, but her opinions are her own.)</em></p><p>Links:</p><ul><li><a href="https://firefly.adobe.com" rel="noopener noreferrer" target="_blank">Adobe Firefly</a></li><li><a href="https://new.express.adobe.com" rel="noopener noreferrer" target="_blank">Adobe Express</a></li><li><a href="https://developer.adobe.com/express/add-ons/" rel="noopener noreferrer" target="_blank">Adobe Express Add-on Documentation</a>, including <a href="https://developer.adobe.com/express/add-ons/docs/references/addonsdk/app-document/#addaudio" rel="noopener noreferrer" target="_blank">Audio</a> and <a href="https://developer.adobe.com/express/add-ons/docs/references/document-sandbox/document-apis/" rel="noopener noreferrer" target="_blank">Editor</a> (now Document Model) APIs</li></ul><br/><p>Ash also mentions  the <a href="https://www.devrelxsummit.com/" rel="noopener noreferrer" target="_blank">DevRelX</a> summit, and a panel he was about to host on AI: <strong><em>2.0 of your DevRel team - How DevRel teams can use AI today? </em></strong>(<a href="https://www.youtube.com/watch?v=dWQEyrManjc&amp;t=6499s" rel="noopener noreferrer" target="_blank">Recording</a>) You should absolutely go check this panel session out — it was fantastic, with lots of great insights from the panelists.</p><p>Near the end we also chat about the new iPhone and upgrading from previous models. </p>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/updates-on-adobe-firefly-express-extensibility]]></link><guid isPermaLink="false">cc88764d-7a86-4db8-a59b-b1f952ef8f56</guid><itunes:image href="https://artwork.captivate.fm/db772a51-ce04-4be8-a588-45e79a9d02cb/EvGL5F0L6y97MpjsuAT6CH3R.jpg"/><pubDate>Mon, 25 Dec 2023 09:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/7ca40ad5-4baa-4cda-bdf1-b705cceb7504/S2E13-f.mp3" length="83295272" type="audio/mpeg"/><itunes:duration>01:26:20</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>2</itunes:season><itunes:episode>13</itunes:episode><itunes:season>2</itunes:season><podcast:episode>13</podcast:episode><podcast:season>2</podcast:season><podcast:chapters url="https://transcripts.captivate.fm/chapter-7ca40ad5-4baa-4cda-bdf1-b705cceb7504.json" type="application/json+chapters"/></item><item><title>Staying up-to-date</title><itunes:title>Staying up-to-date</itunes:title><description><![CDATA[<p><em>This episode was recorded on September 4, 2023</em></p><h2>Intro</h2><p>In this episode, Ash and Kerri talk about the various resources they use to stay up-to-date with technology and related news. But first, they chat about some events that were coming up (in the past as of the release of this recording).</p><p>Traveling &amp; Events:</p><ul><li>apiDays London 2023 (<a href="https://www.youtube.com/playlist?list=PLmEaqnTJ40Opv8eGnu4g6xM2JW8ZrEzAh" rel="noopener noreferrer" target="_blank">YouTube playlist</a>)</li><li><a href="https://www.adobe.com/max.html" rel="noopener noreferrer" target="_blank">Adobe Max</a></li></ul><br/><p>We also chat a little bit about setting up kiosks for conferences and setting up education setups using <a href="https://github.com/features/codespaces" rel="noopener noreferrer" target="_blank">GitHub Codespaces</a> and <a href="https://replit.com" rel="noopener noreferrer" target="_blank">Replit</a>.</p><p>Before we delve into the main topic, we also make a few detours, as per usual:</p><ul><li><a href="https://www.theverge.com/2023/8/23/23843360/today-on-the-vergecast-computers-made-of-wood-and-apps-made-of-other-apps" rel="noopener noreferrer" target="_blank">Vergecast (Aug 23): Mythical computers and super apps</a></li><li><a href="https://lock.cmpxchg8b.com/timex.html" rel="noopener noreferrer" target="_blank">Hacking the Timex m857</a> (Found on Hacker News)</li><li><a href="https://atari.com/products/atari-2600-plus" rel="noopener noreferrer" target="_blank">Atari 2600 reissue</a></li></ul><br/><h2>Our sources for staying up-to-date</h2><p>Ash and Kerri go back and forth sharing some of their sources for staying up-to-date in the ever-changing world of technology and related topics.</p><ul><li><a href="https://-https://hckrnews.com" rel="noopener noreferrer" target="_blank">Hacker News</a></li><li>Reddit &amp; Reddit-likes, including <a href="https://tildes.net" rel="noopener noreferrer" target="_blank">Tildes</a>, <a href="https://lobste.rs" rel="noopener noreferrer" target="_blank">Lobste.rs</a>, and <a href="https://lemmy.world/c/technology" rel="noopener noreferrer" target="_blank">Lemmy</a>'s technology forum</li><li><a href="https://www.producthunt.com" rel="noopener noreferrer" target="_blank">Product Hunt</a></li><li><a href="https://www.indiehackers.comhttps://www.indiehackers.com" rel="noopener noreferrer" target="_blank">Indie Hackers</a></li><li>YouTube — and a channel right up our alley: <a href="https://www.youtube.com/channel/UCcCYTCDxsMl84_btikjY40Q" rel="noopener noreferrer" target="_blank">Work From Hype</a>. Also check out this interesting related article: <a href="https://fstoppers.com/diy/60-monitor-worth-having-your-desk-619933" rel="noopener noreferrer" target="_blank"><em>"The $60 Monitor Worth Having on Your Desk"</em></a></li><li><a href="https://-https://stratechery.com" rel="noopener noreferrer" target="_blank">Stratechery</a></li></ul><br/><p>Honorable mentions (including apps) that didn't get called out in the episode, but you should go check out anyway:</p><ul><li><a href="https://www.techmeme.com" rel="noopener noreferrer" target="_blank">Techmeme</a></li><li><a href="https://netnewswire.com" rel="noopener noreferrer" target="_blank">NetNewsWire</a> (App)</li><li><a href="https://goodlinks.app" rel="noopener noreferrer" target="_blank">GoodLinks</a> (App)</li><li><a href="https://daringfireball.net" rel="noopener noreferrer" target="_blank">Daring Fireball</a> (&amp; <a href="https://daringfireball.net/thetalkshow/" rel="noopener noreferrer" target="_blank">The Talk Show</a> podcast)</li><li><a href="https://www.morningbrew.com/daily" rel="noopener noreferrer" target="_blank">Morning Brew</a></li><li><a href="https://www.youtube.com/@TechnologyConnections" rel="noopener noreferrer" target="_blank">Technology Connections</a> (YouTube)</li><li><a href="https://www.youtube.com/@DavesGarage" rel="noopener noreferrer" target="_blank">Dave's Garage</a>...]]></description><content:encoded><![CDATA[<p><em>This episode was recorded on September 4, 2023</em></p><h2>Intro</h2><p>In this episode, Ash and Kerri talk about the various resources they use to stay up-to-date with technology and related news. But first, they chat about some events that were coming up (in the past as of the release of this recording).</p><p>Traveling &amp; Events:</p><ul><li>apiDays London 2023 (<a href="https://www.youtube.com/playlist?list=PLmEaqnTJ40Opv8eGnu4g6xM2JW8ZrEzAh" rel="noopener noreferrer" target="_blank">YouTube playlist</a>)</li><li><a href="https://www.adobe.com/max.html" rel="noopener noreferrer" target="_blank">Adobe Max</a></li></ul><br/><p>We also chat a little bit about setting up kiosks for conferences and setting up education setups using <a href="https://github.com/features/codespaces" rel="noopener noreferrer" target="_blank">GitHub Codespaces</a> and <a href="https://replit.com" rel="noopener noreferrer" target="_blank">Replit</a>.</p><p>Before we delve into the main topic, we also make a few detours, as per usual:</p><ul><li><a href="https://www.theverge.com/2023/8/23/23843360/today-on-the-vergecast-computers-made-of-wood-and-apps-made-of-other-apps" rel="noopener noreferrer" target="_blank">Vergecast (Aug 23): Mythical computers and super apps</a></li><li><a href="https://lock.cmpxchg8b.com/timex.html" rel="noopener noreferrer" target="_blank">Hacking the Timex m857</a> (Found on Hacker News)</li><li><a href="https://atari.com/products/atari-2600-plus" rel="noopener noreferrer" target="_blank">Atari 2600 reissue</a></li></ul><br/><h2>Our sources for staying up-to-date</h2><p>Ash and Kerri go back and forth sharing some of their sources for staying up-to-date in the ever-changing world of technology and related topics.</p><ul><li><a href="https://-https://hckrnews.com" rel="noopener noreferrer" target="_blank">Hacker News</a></li><li>Reddit &amp; Reddit-likes, including <a href="https://tildes.net" rel="noopener noreferrer" target="_blank">Tildes</a>, <a href="https://lobste.rs" rel="noopener noreferrer" target="_blank">Lobste.rs</a>, and <a href="https://lemmy.world/c/technology" rel="noopener noreferrer" target="_blank">Lemmy</a>'s technology forum</li><li><a href="https://www.producthunt.com" rel="noopener noreferrer" target="_blank">Product Hunt</a></li><li><a href="https://www.indiehackers.comhttps://www.indiehackers.com" rel="noopener noreferrer" target="_blank">Indie Hackers</a></li><li>YouTube — and a channel right up our alley: <a href="https://www.youtube.com/channel/UCcCYTCDxsMl84_btikjY40Q" rel="noopener noreferrer" target="_blank">Work From Hype</a>. Also check out this interesting related article: <a href="https://fstoppers.com/diy/60-monitor-worth-having-your-desk-619933" rel="noopener noreferrer" target="_blank"><em>"The $60 Monitor Worth Having on Your Desk"</em></a></li><li><a href="https://-https://stratechery.com" rel="noopener noreferrer" target="_blank">Stratechery</a></li></ul><br/><p>Honorable mentions (including apps) that didn't get called out in the episode, but you should go check out anyway:</p><ul><li><a href="https://www.techmeme.com" rel="noopener noreferrer" target="_blank">Techmeme</a></li><li><a href="https://netnewswire.com" rel="noopener noreferrer" target="_blank">NetNewsWire</a> (App)</li><li><a href="https://goodlinks.app" rel="noopener noreferrer" target="_blank">GoodLinks</a> (App)</li><li><a href="https://daringfireball.net" rel="noopener noreferrer" target="_blank">Daring Fireball</a> (&amp; <a href="https://daringfireball.net/thetalkshow/" rel="noopener noreferrer" target="_blank">The Talk Show</a> podcast)</li><li><a href="https://www.morningbrew.com/daily" rel="noopener noreferrer" target="_blank">Morning Brew</a></li><li><a href="https://www.youtube.com/@TechnologyConnections" rel="noopener noreferrer" target="_blank">Technology Connections</a> (YouTube)</li><li><a href="https://www.youtube.com/@DavesGarage" rel="noopener noreferrer" target="_blank">Dave's Garage</a> (YouTube)</li><li><a href="https://www.youtube.com/@thebradcolbow" rel="noopener noreferrer" target="_blank">Brad Colbow</a> (YouTube)</li><li><a href="https://petapixel.com" rel="noopener noreferrer" target="_blank">PetaPixel</a> (Site &amp; <a href="https://www.youtube.com/@PetaPixel" rel="noopener noreferrer" target="_blank">YouTube</a>)</li><li><a href="https://www.youtube.com/c/fanthedeck" rel="noopener noreferrer" target="_blank">Fan the Deck</a> (YouTube)</li><li><a href="https://atp.fm" rel="noopener noreferrer" target="_blank">Accidental Tech Podcast</a></li><li><a href="https://syntax.fm" rel="noopener noreferrer" target="_blank">Syntax.fm</a></li></ul><br/>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/our-sources-for-staying-up-to-date-on-tech-and-more]]></link><guid isPermaLink="false">dbd83823-56ff-4b8f-92ae-470822649abe</guid><itunes:image href="https://artwork.captivate.fm/dc7664b0-0c00-4067-9a86-dfe73bdfc478/0rZ0m0JfzXRtXzVSXPmDZ56f.jpg"/><pubDate>Wed, 22 Nov 2023 09:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/01b581bc-d6fa-4cb5-ad17-ee1b09eeb368/S2E12-f.mp3" length="65194138" type="audio/mpeg"/><itunes:duration>01:07:26</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>2</itunes:season><itunes:episode>12</itunes:episode><itunes:season>2</itunes:season><podcast:episode>12</podcast:episode><podcast:season>2</podcast:season></item><item><title>Desk Setups and iStat Menus</title><itunes:title>Desk Setups and iStat Menus</itunes:title><description><![CDATA[<p><em>Recorded July 23, 2023</em></p><h1>Intro</h1><p>This episode is all about desk setups! (And a little about desktop menu bar setups…)</p><p>But first, Kerri and Ash catch up on <a href="https://www.we-connect-the-dots.org" rel="noopener noreferrer" target="_blank">We Connect the Dots</a>, <a href="https://archive.org/details/apple-ii-basic-programming" rel="noopener noreferrer" target="_blank">Apple II Basic</a>, and summer movies.&nbsp;</p><h1>Desk setups</h1><p>It's been alluded to a few times, and now it's actually happening—Kerri and Ash share all about their home desk setups.</p><p>Some of the gear they cover includes:</p><ul><li>Insta 360 Link webcam: <a href="https://www.insta360.com/product/insta360-link" rel="noopener noreferrer" target="_blank">https://www.insta360.com/product/insta360-link</a></li><li>Wave XLR: <a href="https://www.elgato.com/us/en/p/wave-xlr" rel="noopener noreferrer" target="_blank">https://www.elgato.com/us/en/p/wave-xlr</a></li><li>Stream Deck+: <a href="https://www.elgato.com/us/en/p/stream-deck-plus-black" rel="noopener noreferrer" target="_blank">https://www.elgato.com/us/en/p/stream-deck-plus-black</a></li><li>Stream Deck SDK: <a href="https://docs.elgato.com/sdk/plugins/overview" rel="noopener noreferrer" target="_blank">https://docs.elgato.com/sdk/plugins/overview</a></li></ul><br/><p><br></p><h1>iStat Menus</h1><p>Kerri and Ash then pull the trigger on doing a dive into their respective iStat Menu setups for monitoring their Mac hardware in real time. CPUs, GPUs, RAM, network, and more!</p>]]></description><content:encoded><![CDATA[<p><em>Recorded July 23, 2023</em></p><h1>Intro</h1><p>This episode is all about desk setups! (And a little about desktop menu bar setups…)</p><p>But first, Kerri and Ash catch up on <a href="https://www.we-connect-the-dots.org" rel="noopener noreferrer" target="_blank">We Connect the Dots</a>, <a href="https://archive.org/details/apple-ii-basic-programming" rel="noopener noreferrer" target="_blank">Apple II Basic</a>, and summer movies.&nbsp;</p><h1>Desk setups</h1><p>It's been alluded to a few times, and now it's actually happening—Kerri and Ash share all about their home desk setups.</p><p>Some of the gear they cover includes:</p><ul><li>Insta 360 Link webcam: <a href="https://www.insta360.com/product/insta360-link" rel="noopener noreferrer" target="_blank">https://www.insta360.com/product/insta360-link</a></li><li>Wave XLR: <a href="https://www.elgato.com/us/en/p/wave-xlr" rel="noopener noreferrer" target="_blank">https://www.elgato.com/us/en/p/wave-xlr</a></li><li>Stream Deck+: <a href="https://www.elgato.com/us/en/p/stream-deck-plus-black" rel="noopener noreferrer" target="_blank">https://www.elgato.com/us/en/p/stream-deck-plus-black</a></li><li>Stream Deck SDK: <a href="https://docs.elgato.com/sdk/plugins/overview" rel="noopener noreferrer" target="_blank">https://docs.elgato.com/sdk/plugins/overview</a></li></ul><br/><p><br></p><h1>iStat Menus</h1><p>Kerri and Ash then pull the trigger on doing a dive into their respective iStat Menu setups for monitoring their Mac hardware in real time. CPUs, GPUs, RAM, network, and more!</p>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/desk-setups-and-istat-menus]]></link><guid isPermaLink="false">10a64d46-54b8-4372-938e-518d782ee886</guid><itunes:image href="https://artwork.captivate.fm/539d6ed6-e9a3-438f-89f1-ae4c945c1c8c/s0E8T2PoRH3hJv0iDmB55r_L.jpeg"/><pubDate>Sun, 05 Nov 2023 22:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/21913f3e-15f1-41d4-ac42-820bb71209d2/S2E11.mp3" length="97680228" type="audio/mpeg"/><itunes:duration>01:41:13</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>2</itunes:season><itunes:episode>11</itunes:episode><itunes:season>2</itunes:season><podcast:episode>11</podcast:episode><podcast:season>2</podcast:season></item><item><title>Beyond OpenAI APIs with Hugging Face</title><itunes:title>Beyond OpenAI APIs with Hugging Face</itunes:title><description><![CDATA[<h1>Beyond OpenAI APIs</h1><p><em>Recorded Jul 9, 2023</em></p><h2>Intro</h2><p>Kerri and Ash kick things off by talking about their 4th of July celebrations. Also they talk about learning Japanese and not learning German.</p><h2>Music ML Update </h2><p>Kerri has some follow-up regarding a recent episode on music and ML.</p><p>Topics covered include:</p><ul><li><a href="https://aitestkitchen.withgoogle.com" rel="noopener noreferrer" target="_blank">Google’s AI Music Kitchen</a></li><li>MusicLM (<a href="https://google-research.github.io/seanet/musiclm/examples/" rel="noopener noreferrer" target="_blank">Example</a>; <a href="https://www.kaggle.com/datasets/googleai/musiccaps" rel="noopener noreferrer" target="_blank">Dataset</a>; <a href="http://arxiv.org/abs/2301.11325" rel="noopener noreferrer" target="_blank">Paper</a>)</li></ul><br/><p>Kerri notes how these tools today can be great for idea generation, but won't necessary write your albums for you... yet.</p><h2>Going beyond OpenAI APIs</h2><p>Ash is interested in exploring beyond calling OpenAI APIs for creating smart features.</p><p>On reason for the timing of this exploration is that Ash's team at <a href="http://arxiv.org/abs/2301.11325" rel="noopener noreferrer" target="_blank">Nylas</a> is sponsoring WeAreDevelopers World Congress in Berlin and his team needs an AI tool that doesn't require a credit card when running a workshop.</p><p><a href="https://huggingface.co" rel="noopener noreferrer" target="_blank"><em>Hugging Face</em></a><em> joins the chat...</em></p><p>Hugging Face—which Ash will refer to as the GitHub for AI models—is quite useful with its free tier.</p><p>There's a <a href="https://huggingface.co/docs/huggingface.js/index" rel="noopener noreferrer" target="_blank">Node.js module</a> for Hugging Face, which Ash built a tiny, tiny demo around (<a href="https://github.com/ashryanbeats/hf-demo/tree/main" rel="noopener noreferrer" target="_blank">GitHub repo here</a>).</p><p>Ash notes that there is some dialog in the developer community around whether LangChain is pointless or not (<a href="https://old.reddit.com/r/LangChain/comments/13fcw36/langchain_is_pointless/" rel="noopener noreferrer" target="_blank">Reddit</a>; <a href="https://news.ycombinator.com/item?id=36645575" rel="noopener noreferrer" target="_blank">HackerNews</a>).</p><p>You can decide for yourself by checking out the <a href="https://js.langchain.com/docs/" rel="noopener noreferrer" target="_blank">LangChain docs</a>.</p><p>Also... <a href="https://old.reddit.com/r/LocalLLaMA/wiki/models" rel="noopener noreferrer" target="_blank">LocalLlama</a> is something Ash and Kerri want to play with.</p><h2>Mac stuff</h2><p>Ash refrained from talking about his new Mac Studio in the last episode. He gets into it a little more in this one. </p><p>Our co-hosts marvel at comparing their lived experiences with MacBooks on Intel i9 vs Apple Silicon M1 vs a Mac Studio with M2 Ultra. Nothing scientific here in the comparison, but <a href="https://diffusionbee.com" rel="noopener noreferrer" target="_blank">DiffusionBee </a>speed gets discussed.</p><h2>Desk stuff</h2><p>Kerri and Ash talk about their different approaches to cable management:</p><ul><li>Kerri: avoid</li><li>Ash: obsess</li></ul><br/><p>Obligatory xkcd: <a href="https://xkcd.com/2810/" rel="noopener noreferrer" target="_blank">https://xkcd.com/2810/</a></p><p><br></p><p>Ash also brings up the topic of KVM switches.</p><ul><li>Ash got: <a href="https://www.amazon.com/dp/B0BG12L25Z" rel="noopener noreferrer" target="_blank">ELECABLE USB C Switch Bi-Direction 2 in 1 Out or 1 in 2 Splitter 8K@60Hz Video / 10Gbps Data Transfer Compatible with Thunderbolt Device (Black)</a></li><li>Kerri is eyeing: <a href="https://www.amazon.com/SABRENT-2-Port-Type-C-Delivery-USB-KCPD/dp/B07Y2HKN37" rel="noopener noreferrer" target="_blank">SABRENT KVM Switch, USB-C, 1-PC to 1-Display with 60 Watt Power Delivery (USB-KCPD)</a></li></ul><br/>]]></description><content:encoded><![CDATA[<h1>Beyond OpenAI APIs</h1><p><em>Recorded Jul 9, 2023</em></p><h2>Intro</h2><p>Kerri and Ash kick things off by talking about their 4th of July celebrations. Also they talk about learning Japanese and not learning German.</p><h2>Music ML Update </h2><p>Kerri has some follow-up regarding a recent episode on music and ML.</p><p>Topics covered include:</p><ul><li><a href="https://aitestkitchen.withgoogle.com" rel="noopener noreferrer" target="_blank">Google’s AI Music Kitchen</a></li><li>MusicLM (<a href="https://google-research.github.io/seanet/musiclm/examples/" rel="noopener noreferrer" target="_blank">Example</a>; <a href="https://www.kaggle.com/datasets/googleai/musiccaps" rel="noopener noreferrer" target="_blank">Dataset</a>; <a href="http://arxiv.org/abs/2301.11325" rel="noopener noreferrer" target="_blank">Paper</a>)</li></ul><br/><p>Kerri notes how these tools today can be great for idea generation, but won't necessary write your albums for you... yet.</p><h2>Going beyond OpenAI APIs</h2><p>Ash is interested in exploring beyond calling OpenAI APIs for creating smart features.</p><p>On reason for the timing of this exploration is that Ash's team at <a href="http://arxiv.org/abs/2301.11325" rel="noopener noreferrer" target="_blank">Nylas</a> is sponsoring WeAreDevelopers World Congress in Berlin and his team needs an AI tool that doesn't require a credit card when running a workshop.</p><p><a href="https://huggingface.co" rel="noopener noreferrer" target="_blank"><em>Hugging Face</em></a><em> joins the chat...</em></p><p>Hugging Face—which Ash will refer to as the GitHub for AI models—is quite useful with its free tier.</p><p>There's a <a href="https://huggingface.co/docs/huggingface.js/index" rel="noopener noreferrer" target="_blank">Node.js module</a> for Hugging Face, which Ash built a tiny, tiny demo around (<a href="https://github.com/ashryanbeats/hf-demo/tree/main" rel="noopener noreferrer" target="_blank">GitHub repo here</a>).</p><p>Ash notes that there is some dialog in the developer community around whether LangChain is pointless or not (<a href="https://old.reddit.com/r/LangChain/comments/13fcw36/langchain_is_pointless/" rel="noopener noreferrer" target="_blank">Reddit</a>; <a href="https://news.ycombinator.com/item?id=36645575" rel="noopener noreferrer" target="_blank">HackerNews</a>).</p><p>You can decide for yourself by checking out the <a href="https://js.langchain.com/docs/" rel="noopener noreferrer" target="_blank">LangChain docs</a>.</p><p>Also... <a href="https://old.reddit.com/r/LocalLLaMA/wiki/models" rel="noopener noreferrer" target="_blank">LocalLlama</a> is something Ash and Kerri want to play with.</p><h2>Mac stuff</h2><p>Ash refrained from talking about his new Mac Studio in the last episode. He gets into it a little more in this one. </p><p>Our co-hosts marvel at comparing their lived experiences with MacBooks on Intel i9 vs Apple Silicon M1 vs a Mac Studio with M2 Ultra. Nothing scientific here in the comparison, but <a href="https://diffusionbee.com" rel="noopener noreferrer" target="_blank">DiffusionBee </a>speed gets discussed.</p><h2>Desk stuff</h2><p>Kerri and Ash talk about their different approaches to cable management:</p><ul><li>Kerri: avoid</li><li>Ash: obsess</li></ul><br/><p>Obligatory xkcd: <a href="https://xkcd.com/2810/" rel="noopener noreferrer" target="_blank">https://xkcd.com/2810/</a></p><p><br></p><p>Ash also brings up the topic of KVM switches.</p><ul><li>Ash got: <a href="https://www.amazon.com/dp/B0BG12L25Z" rel="noopener noreferrer" target="_blank">ELECABLE USB C Switch Bi-Direction 2 in 1 Out or 1 in 2 Splitter 8K@60Hz Video / 10Gbps Data Transfer Compatible with Thunderbolt Device (Black)</a></li><li>Kerri is eyeing: <a href="https://www.amazon.com/SABRENT-2-Port-Type-C-Delivery-USB-KCPD/dp/B07Y2HKN37" rel="noopener noreferrer" target="_blank">SABRENT KVM Switch, USB-C, 1-PC to 1-Display with 60 Watt Power Delivery (USB-KCPD)</a></li></ul><br/>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/beyond-open-ai-hugging-face]]></link><guid isPermaLink="false">78c80c81-83ce-4018-a7a5-ef21f527d729</guid><itunes:image href="https://artwork.captivate.fm/6343cf22-391d-40bc-9722-5daa65d9817c/i4M_Q2tExjj64puzn_xJO5WW.jpeg"/><pubDate>Sun, 27 Aug 2023 09:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/63501842-3241-46f8-8f98-1eb5ebcdaa16/S2E10.mp3" length="95270115" type="audio/mpeg"/><itunes:duration>01:38:46</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>2</itunes:season><itunes:episode>10</itunes:episode><itunes:season>2</itunes:season><podcast:episode>10</podcast:episode><podcast:season>2</podcast:season></item><item><title>Adobe Express add-ons</title><itunes:title>Adobe Express add-ons</itunes:title><description><![CDATA[<h1>Adobe Express Add-ons</h1><p><em>Recorded Jun 25, 2023</em></p><h2>Intro</h2><p>To kick things off, Kerri gives us an update on Adobe Creative Cloud Partner Days, where Creative Cloud platform developers gather to learn more about in-app and cloud APIs for Creative Cloud. </p><p>Kerri also tells Ash about the Star Trek Resurgence game, while Ash is trying to avoid talking about his new Mac Studio.</p><h2>Adobe Express extensibility</h2><p>Ash is excited he didn't have to debate what to name Adobe Express extensibility products: add-ons, addons, plug-ins, plugins, scripts, apps, widgets, etc etc. They are called add-ons! Please don't alter our current timeline by calling them something else!</p><p>Then our co-hosts do a deep-dive. To start, Kerri gives Ash a recap of what Adobe Express is. </p><p>Building on this basic understanding, Kerri and Ash look at what developers can do with the Express Add-on APIs:</p><ul><li> Storage and content I/O</li><li> Icon generation</li><li> Recoloring</li><li> Workflows and automation</li></ul><br/><p>Then Kerri and Ash get into the <em>how</em> by talking through the Adobe team's priorities for APIs, which—at recording time in June 2023—were in private beta:</p><ul><li>OAuth</li><li>Drag and drop</li><li>I/O</li><li>Networking</li></ul><br/><p><a href="https://developer.adobe.com/express-add-ons/" rel="noopener noreferrer" target="_blank">You can get the docs here</a>.</p><p>Some early examples of Adobe Express Add-ons that come up:</p><ul><li>Accessibility (A11y): add-ons for color blindness</li><li>Attention Insight: heat map based on AI</li><li>Notion: this add-on doesn't  yet! But developers: go build that please! - Love, Ash</li><li>MediaGrab: scrape assets from web pages</li><li>Clipping Mask Pro: now with blobs!</li><li>NFTs: add-ons for managing them</li><li>VisionBoard: mood boarding</li></ul><br/><p>Kerri then walks Ash through the end user flow:</p><ol><li>Make a new blank asset</li><li>Select add-ons in the left-hand nav</li><li>Select and add-on and click the “Add” button</li></ol><br/><p>All-in-all, our co-hosts, while surely biased, are quite excited about the possibilities Adobe Express extensibility APIs represent.</p><h2>Obligatory xkcd</h2><p>Questing for info on a Safari color picker bug: <a href="https://xkcd.com/979/" rel="noopener noreferrer" target="_blank">https://xkcd.com/979/</a></p>]]></description><content:encoded><![CDATA[<h1>Adobe Express Add-ons</h1><p><em>Recorded Jun 25, 2023</em></p><h2>Intro</h2><p>To kick things off, Kerri gives us an update on Adobe Creative Cloud Partner Days, where Creative Cloud platform developers gather to learn more about in-app and cloud APIs for Creative Cloud. </p><p>Kerri also tells Ash about the Star Trek Resurgence game, while Ash is trying to avoid talking about his new Mac Studio.</p><h2>Adobe Express extensibility</h2><p>Ash is excited he didn't have to debate what to name Adobe Express extensibility products: add-ons, addons, plug-ins, plugins, scripts, apps, widgets, etc etc. They are called add-ons! Please don't alter our current timeline by calling them something else!</p><p>Then our co-hosts do a deep-dive. To start, Kerri gives Ash a recap of what Adobe Express is. </p><p>Building on this basic understanding, Kerri and Ash look at what developers can do with the Express Add-on APIs:</p><ul><li> Storage and content I/O</li><li> Icon generation</li><li> Recoloring</li><li> Workflows and automation</li></ul><br/><p>Then Kerri and Ash get into the <em>how</em> by talking through the Adobe team's priorities for APIs, which—at recording time in June 2023—were in private beta:</p><ul><li>OAuth</li><li>Drag and drop</li><li>I/O</li><li>Networking</li></ul><br/><p><a href="https://developer.adobe.com/express-add-ons/" rel="noopener noreferrer" target="_blank">You can get the docs here</a>.</p><p>Some early examples of Adobe Express Add-ons that come up:</p><ul><li>Accessibility (A11y): add-ons for color blindness</li><li>Attention Insight: heat map based on AI</li><li>Notion: this add-on doesn't  yet! But developers: go build that please! - Love, Ash</li><li>MediaGrab: scrape assets from web pages</li><li>Clipping Mask Pro: now with blobs!</li><li>NFTs: add-ons for managing them</li><li>VisionBoard: mood boarding</li></ul><br/><p>Kerri then walks Ash through the end user flow:</p><ol><li>Make a new blank asset</li><li>Select add-ons in the left-hand nav</li><li>Select and add-on and click the “Add” button</li></ol><br/><p>All-in-all, our co-hosts, while surely biased, are quite excited about the possibilities Adobe Express extensibility APIs represent.</p><h2>Obligatory xkcd</h2><p>Questing for info on a Safari color picker bug: <a href="https://xkcd.com/979/" rel="noopener noreferrer" target="_blank">https://xkcd.com/979/</a></p>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/adobe-express-add-ons]]></link><guid isPermaLink="false">d1e6e8ac-69b0-496f-8984-79ec4719141c</guid><itunes:image href="https://artwork.captivate.fm/d74f1f6b-ee0d-4839-b8a4-8a7f8dbb20b0/F8qXVI9JI6EeU1zRtxJ-KW6g.png"/><pubDate>Sun, 13 Aug 2023 09:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/f3ae0f7d-667b-4b00-b906-d23c30b8ebd7/S2E9.mp3" length="71841815" type="audio/mpeg"/><itunes:duration>01:14:25</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>2</itunes:season><itunes:episode>9</itunes:episode><itunes:season>2</itunes:season><podcast:episode>9</podcast:episode><podcast:season>2</podcast:season></item><item><title>Doo-be-doo-be-boop: Generative AI for music 🤖</title><itunes:title>Doo-be-doo-be-boop: Generative AI for music 🤖</itunes:title><description><![CDATA[<h1>Intro</h1><p>Ash kicks things off by sharing <a href="https://blog.stoplight.io/developer-relations-programs-best-practices" rel="noopener noreferrer" target="_blank">his recent appearance on the API Intersection podcast</a>. The API Intersection episode covers best practices in Developer Relations (DevRel), particularly around Ash's 3 C's of hiring Developer Advocates (with a new 4th C added in the convo!), kickstarting your company's DevRel function, and making space for Developer Advocates to get great work done.</p><p>Then back to our own podcast episode: it's AI and creativity with Kerri and Ash from there!</p><h1>The Art of AI: Generative Technologies for Image Creation</h1><p>Stardate: zero degrees kelvin. Join our co-hosts as they traverse the exciting galaxy of generative AI technology for image creation. </p><p>Even as the technology is constantly evolving, Kerri and Ash consider the universal implications for creativity, the future of visual content creation, and what this could mean for digital artists and designers.</p><p><br></p><h1>Making Music with AI</h1><p>This episode takes a tuneful turn (thx ChatGPT, we'll allow this) as Kerri guides Ash into the world of AI music production. They explore a range of technologies that are reshaping how music is composed, produced, and performed:</p><ul><li>Soundraw and Loudly, exploring new frontiers in AI music creation: <a href="https://soundraw.io" rel="noopener noreferrer" target="_blank">Soundraw</a>, <a href="https://www.loudly.com/music/register" rel="noopener noreferrer" target="_blank">Loudly</a></li><li>Fadr, the future of music generation: <a href="https://fadr.com" rel="noopener noreferrer" target="_blank">Fadr</a></li><li>Ecrett Music, revolutionizing music creation: <a href="https://ecrettmusic.com" rel="noopener noreferrer" target="_blank">Ecrett Music</a></li><li>AIVA, AI that composes emotional soundtrack music: <a href="https://www.aiva.ai" rel="noopener noreferrer" target="_blank">AIVA</a></li><li>MusicLM from Google's AI Test Kitchen, an experiment in music language modeling: <a href="https://aitestkitchen.withgoogle.com" rel="noopener noreferrer" target="_blank">AI Test Kitchen</a>, <a href="https://blog.google/technology/ai/musiclm-google-ai-test-kitchen/" rel="noopener noreferrer" target="_blank">MusicLM</a></li><li>Muzic, an open-source project for generating music with AI: <a href="https://ai-muzic.github.io" rel="noopener noreferrer" target="_blank">Muzic</a></li><li>Amadeus Code, the iOS app for creating unique song ideas with AI: <a href="https://amadeuscode.com/app/en" rel="noopener noreferrer" target="_blank">Amadeus Code</a></li><li>MuseNet by OpenAI, a deep learning model that can generate 4-minute musical compositions with 10 different instruments: <a href="https://openai.com/research/musenet" rel="noopener noreferrer" target="_blank">MuseNet</a></li></ul><br/><p>Join Kerri and Ash as they discuss these developments, their potential implications for the music industry, and what they're excited about in the fusion of AI and music.</p><p>In the 2020's, my SoundCloud checks out <em>you</em>! ♫</p>]]></description><content:encoded><![CDATA[<h1>Intro</h1><p>Ash kicks things off by sharing <a href="https://blog.stoplight.io/developer-relations-programs-best-practices" rel="noopener noreferrer" target="_blank">his recent appearance on the API Intersection podcast</a>. The API Intersection episode covers best practices in Developer Relations (DevRel), particularly around Ash's 3 C's of hiring Developer Advocates (with a new 4th C added in the convo!), kickstarting your company's DevRel function, and making space for Developer Advocates to get great work done.</p><p>Then back to our own podcast episode: it's AI and creativity with Kerri and Ash from there!</p><h1>The Art of AI: Generative Technologies for Image Creation</h1><p>Stardate: zero degrees kelvin. Join our co-hosts as they traverse the exciting galaxy of generative AI technology for image creation. </p><p>Even as the technology is constantly evolving, Kerri and Ash consider the universal implications for creativity, the future of visual content creation, and what this could mean for digital artists and designers.</p><p><br></p><h1>Making Music with AI</h1><p>This episode takes a tuneful turn (thx ChatGPT, we'll allow this) as Kerri guides Ash into the world of AI music production. They explore a range of technologies that are reshaping how music is composed, produced, and performed:</p><ul><li>Soundraw and Loudly, exploring new frontiers in AI music creation: <a href="https://soundraw.io" rel="noopener noreferrer" target="_blank">Soundraw</a>, <a href="https://www.loudly.com/music/register" rel="noopener noreferrer" target="_blank">Loudly</a></li><li>Fadr, the future of music generation: <a href="https://fadr.com" rel="noopener noreferrer" target="_blank">Fadr</a></li><li>Ecrett Music, revolutionizing music creation: <a href="https://ecrettmusic.com" rel="noopener noreferrer" target="_blank">Ecrett Music</a></li><li>AIVA, AI that composes emotional soundtrack music: <a href="https://www.aiva.ai" rel="noopener noreferrer" target="_blank">AIVA</a></li><li>MusicLM from Google's AI Test Kitchen, an experiment in music language modeling: <a href="https://aitestkitchen.withgoogle.com" rel="noopener noreferrer" target="_blank">AI Test Kitchen</a>, <a href="https://blog.google/technology/ai/musiclm-google-ai-test-kitchen/" rel="noopener noreferrer" target="_blank">MusicLM</a></li><li>Muzic, an open-source project for generating music with AI: <a href="https://ai-muzic.github.io" rel="noopener noreferrer" target="_blank">Muzic</a></li><li>Amadeus Code, the iOS app for creating unique song ideas with AI: <a href="https://amadeuscode.com/app/en" rel="noopener noreferrer" target="_blank">Amadeus Code</a></li><li>MuseNet by OpenAI, a deep learning model that can generate 4-minute musical compositions with 10 different instruments: <a href="https://openai.com/research/musenet" rel="noopener noreferrer" target="_blank">MuseNet</a></li></ul><br/><p>Join Kerri and Ash as they discuss these developments, their potential implications for the music industry, and what they're excited about in the fusion of AI and music.</p><p>In the 2020's, my SoundCloud checks out <em>you</em>! ♫</p>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/generative-ai-for-music]]></link><guid isPermaLink="false">84b445c7-1d9e-4631-a9da-574922263426</guid><itunes:image href="https://artwork.captivate.fm/f775d5ad-0559-4e74-8b70-ca7f5fb8d111/lxQ-zlAB_-Pd0rIUJtCeMvQC.jpeg"/><pubDate>Wed, 19 Jul 2023 22:30:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/983173ba-5d13-42bd-ac04-7f9433c076f2/S2E8.mp3" length="78875934" type="audio/mpeg"/><itunes:duration>01:21:37</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>2</itunes:season><itunes:episode>8</itunes:episode><itunes:season>2</itunes:season><podcast:episode>8</podcast:episode><podcast:season>2</podcast:season></item><item><title>ChatGPT: web scraping and talking OpenAPI specs</title><itunes:title>ChatGPT: web scraping and talking OpenAPI specs</itunes:title><description><![CDATA[<h1>Intro</h1><p>Kerri and Ash talk trees! Unfortunately for us all, Ash turns this into a recurring analogy about giving in to our AI overlords.</p><h1>Talk to your OpenAPI spec</h1><p>If a tree is going to fall on your house, do you ignore it... or talk to ChatGPT?</p><p>Well, Ash is excited about <a href="https://www.openapis.org" rel="noopener noreferrer" target="_blank">OpenAPI specs</a> that talk back. Our co-hosts talk through a fun approach to this:</p><ol><li>Paste in your OpenAPI spec</li><li>Ask some yes/no questions about capabilities, correct as needed</li><li>Ask some how-to questions, correct as needed</li><li>Have fun!*</li></ol><br/><p>*Fun = ask for Getting Started guides, look for issues, get it to code, etc**</p><p>As part of this, Kerri and Ash talk about learning how to ask good questions:</p><ul><li>❌ "What would a Getting Started guide look like?" → (You get an outline of best practices.)</li><li>✅ "Write me a Getting Started guide for Node.js 18 developers." → (You get an actual Getting Started guide that a developer could use.)</li></ul><br/><p><br></p><p>Thank you AI. We are better humans now.</p><p><br></p><h1>Writing a scraper with ChatGPT</h1><p>ChatGPT can't scrape webpages at the moment, but it caaaaan tell you how!</p><p><br></p><p>Ash talks about using ChatGPT to write a webpage scraper in Node.js and clobber it together with the Google Books API.</p><p><br></p><p>ChatGPT does a great job functionally, but requires some guidance on coding opinions. Ash has coding opinions, so he asks the AI to:</p><ol><li>Use ESM imports instead of CommonJS requires</li><li>Use async/await syntax instead of Promises</li><li>Use Node.js-native fetch instead of axios</li></ol><br/><p><br></p><p>Kerri points out how interesting it is that ChatGPT fumbles with ESM imports in the same way that a human would.</p><p><br></p><p>Mid-project, Ash teeters on the edge between the theory and reality of <a href="https://xkcd.com/1319/" rel="noopener noreferrer" target="_blank">an xkcd automation classic</a>... but he triumphs in the end? (He does!)</p><p><br></p><h1>More fun</h1><ul><li>Kerri mentions that she's looking into a game streaming setup. Ash plans to be the first sub.</li><li>Ash mentions that he recently spoke at apiDays. The video will be on <a href="https://www.youtube.com/@apidays" rel="noopener noreferrer" target="_blank">the apiDays YouTube channel</a> soon.</li></ul><br/><p><br></p><p>===</p><p><br></p><p>** ChatGPT advised that:</p><blockquote>the bullet point "Fun = ask for Getting Started guides, look for issues, get it to code, etc." could be expanded to better explain what fun means in this context.</blockquote><p>But we're confident the real human scripters know what fun means 👾</p>]]></description><content:encoded><![CDATA[<h1>Intro</h1><p>Kerri and Ash talk trees! Unfortunately for us all, Ash turns this into a recurring analogy about giving in to our AI overlords.</p><h1>Talk to your OpenAPI spec</h1><p>If a tree is going to fall on your house, do you ignore it... or talk to ChatGPT?</p><p>Well, Ash is excited about <a href="https://www.openapis.org" rel="noopener noreferrer" target="_blank">OpenAPI specs</a> that talk back. Our co-hosts talk through a fun approach to this:</p><ol><li>Paste in your OpenAPI spec</li><li>Ask some yes/no questions about capabilities, correct as needed</li><li>Ask some how-to questions, correct as needed</li><li>Have fun!*</li></ol><br/><p>*Fun = ask for Getting Started guides, look for issues, get it to code, etc**</p><p>As part of this, Kerri and Ash talk about learning how to ask good questions:</p><ul><li>❌ "What would a Getting Started guide look like?" → (You get an outline of best practices.)</li><li>✅ "Write me a Getting Started guide for Node.js 18 developers." → (You get an actual Getting Started guide that a developer could use.)</li></ul><br/><p><br></p><p>Thank you AI. We are better humans now.</p><p><br></p><h1>Writing a scraper with ChatGPT</h1><p>ChatGPT can't scrape webpages at the moment, but it caaaaan tell you how!</p><p><br></p><p>Ash talks about using ChatGPT to write a webpage scraper in Node.js and clobber it together with the Google Books API.</p><p><br></p><p>ChatGPT does a great job functionally, but requires some guidance on coding opinions. Ash has coding opinions, so he asks the AI to:</p><ol><li>Use ESM imports instead of CommonJS requires</li><li>Use async/await syntax instead of Promises</li><li>Use Node.js-native fetch instead of axios</li></ol><br/><p><br></p><p>Kerri points out how interesting it is that ChatGPT fumbles with ESM imports in the same way that a human would.</p><p><br></p><p>Mid-project, Ash teeters on the edge between the theory and reality of <a href="https://xkcd.com/1319/" rel="noopener noreferrer" target="_blank">an xkcd automation classic</a>... but he triumphs in the end? (He does!)</p><p><br></p><h1>More fun</h1><ul><li>Kerri mentions that she's looking into a game streaming setup. Ash plans to be the first sub.</li><li>Ash mentions that he recently spoke at apiDays. The video will be on <a href="https://www.youtube.com/@apidays" rel="noopener noreferrer" target="_blank">the apiDays YouTube channel</a> soon.</li></ul><br/><p><br></p><p>===</p><p><br></p><p>** ChatGPT advised that:</p><blockquote>the bullet point "Fun = ask for Getting Started guides, look for issues, get it to code, etc." could be expanded to better explain what fun means in this context.</blockquote><p>But we're confident the real human scripters know what fun means 👾</p>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/chatgpt-web-scraping-talking-openapi-spec]]></link><guid isPermaLink="false">ea8a2a01-f5b8-4277-aaa9-dcb7cac38aa9</guid><itunes:image href="https://artwork.captivate.fm/9e4259a4-3451-4cf6-b96c-21f6be2f1d84/56tg-MCJwXRHq8wi57fcV9Jx.jpg"/><pubDate>Sat, 17 Jun 2023 09:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/72f7dfbb-64cb-48a2-bca5-956eb9c4fe16/S2E7.mp3" length="71676816" type="audio/mpeg"/><itunes:duration>01:14:08</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>2</itunes:season><itunes:episode>7</itunes:episode><itunes:season>2</itunes:season><podcast:episode>7</podcast:episode><podcast:season>2</podcast:season></item><item><title>Generative AI and ChatGPT in Developer Relations</title><itunes:title>Generative AI and ChatGPT in Developer Relations</itunes:title><description><![CDATA[<h1>Intro</h1><p>Ash re-discovers the Upper West Side of Manhattan while Kerri goes fishing in Dredge on the Steamdeck!</p><p>Also! Star Trek feelings for both co-hosts at the end of <em>Star Trek: Picard</em>. For the true 80s kids, watch <a href="https://youtu.be/NIFYpKucMa8" rel="noopener noreferrer" target="_blank">LeVar Burton's TNG Reading Rainbow Special</a> for maximum feels.</p><h1>Experimenting with AI in Developer Relations</h1><p><a href="https://www.ashryan.io/experimenting-with-ai-in-devrel/" rel="noopener noreferrer" target="_blank">Ash wrote a blog post about how DevRel teams can start using AI.</a></p><p>The post covers the following questions about AI in DevRel, some of which Kerri and Ash cover in this episode:</p><ol><li>How can AI enhance the way you work?</li><li>How can developers use third-party AI to enhance their integrations with our APIs?</li><li>How can AI enhance the developer experience we offer?</li><li>How can AI enhance our product?</li></ol><br/><p>Kerri and Ash cover all kinds of stuff here, including:</p><ul><li>A "sandwich model" for human-AI collaboration</li><li>The possibilities with using OpenAPI specs to provide an AI with context</li><li>Asking the AI for "white space" in your thoughts: "What am I missing?"</li><li>The copilot is you! And sometimes your pilot is a little bit drunk...</li><li>.... Yet perfection is not the bar we should be setting</li></ul><br/><p><br></p><h1>Experimenting with AI in developer use cases</h1><p>A deep dive into question #2 above: AI-enhanced sample code!</p><p><br></p><p>Ash uses OpenAI APIs and Nylas APIs to triage his Gmail inbox. You can <a href="https://www.ashryan.io/nylas-openai-triage-email/" rel="noopener noreferrer" target="_blank">read a bit about it</a>, or <a href="https://github.com/nylas-samples/node-chatgpt-email-spam-detect" rel="noopener noreferrer" target="_blank">see the code</a>. </p><p><br></p><p>At the end, our co-hosts talk about how strange it feels to use English strings as a functional part of your code. As an extension, they cover the perils of programmatically handling output from generative AI.</p>]]></description><content:encoded><![CDATA[<h1>Intro</h1><p>Ash re-discovers the Upper West Side of Manhattan while Kerri goes fishing in Dredge on the Steamdeck!</p><p>Also! Star Trek feelings for both co-hosts at the end of <em>Star Trek: Picard</em>. For the true 80s kids, watch <a href="https://youtu.be/NIFYpKucMa8" rel="noopener noreferrer" target="_blank">LeVar Burton's TNG Reading Rainbow Special</a> for maximum feels.</p><h1>Experimenting with AI in Developer Relations</h1><p><a href="https://www.ashryan.io/experimenting-with-ai-in-devrel/" rel="noopener noreferrer" target="_blank">Ash wrote a blog post about how DevRel teams can start using AI.</a></p><p>The post covers the following questions about AI in DevRel, some of which Kerri and Ash cover in this episode:</p><ol><li>How can AI enhance the way you work?</li><li>How can developers use third-party AI to enhance their integrations with our APIs?</li><li>How can AI enhance the developer experience we offer?</li><li>How can AI enhance our product?</li></ol><br/><p>Kerri and Ash cover all kinds of stuff here, including:</p><ul><li>A "sandwich model" for human-AI collaboration</li><li>The possibilities with using OpenAPI specs to provide an AI with context</li><li>Asking the AI for "white space" in your thoughts: "What am I missing?"</li><li>The copilot is you! And sometimes your pilot is a little bit drunk...</li><li>.... Yet perfection is not the bar we should be setting</li></ul><br/><p><br></p><h1>Experimenting with AI in developer use cases</h1><p>A deep dive into question #2 above: AI-enhanced sample code!</p><p><br></p><p>Ash uses OpenAI APIs and Nylas APIs to triage his Gmail inbox. You can <a href="https://www.ashryan.io/nylas-openai-triage-email/" rel="noopener noreferrer" target="_blank">read a bit about it</a>, or <a href="https://github.com/nylas-samples/node-chatgpt-email-spam-detect" rel="noopener noreferrer" target="_blank">see the code</a>. </p><p><br></p><p>At the end, our co-hosts talk about how strange it feels to use English strings as a functional part of your code. As an extension, they cover the perils of programmatically handling output from generative AI.</p>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/ai-chatgpt-devrel]]></link><guid isPermaLink="false">05458f9b-059a-4227-b633-15b28b19e338</guid><itunes:image href="https://artwork.captivate.fm/f5312b72-1ebc-4a2a-b34b-114ab9fa2642/q4uxu7zadr0v9oxt6bhsgt6b.jpg"/><pubDate>Sun, 21 May 2023 09:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/3953a1f3-affa-4cd2-ada2-c15ec06ae615/S2E6.mp3" length="80068408" type="audio/mpeg"/><itunes:duration>01:22:56</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>2</itunes:season><itunes:episode>6</itunes:episode><itunes:season>2</itunes:season><podcast:episode>6</podcast:episode><podcast:season>2</podcast:season></item><item><title>🤖 AI-based image and code generation tools</title><itunes:title>🤖 AI-based image and code generation tools</itunes:title><description><![CDATA[<p>Kerri and Ash play with AI!</p><h1>Image generation</h1><p>First up, our co-hosts look at text-to-font and text-to-image capabilities of these tools:</p><ul><li>Adobe Firefly</li><li>Midjourney</li><li>Stable Diffusion</li></ul><br/><p>You can see all of the images we mention in <a href="https://indieweb.social/@ashryan/110187745376047947" rel="noopener noreferrer" target="_blank">this Mastodon thread</a>.</p><h1>Code generation</h1><p>Next up, code-generation tools like GitHub Copilot, GitHub Copilot for Docs, and ChatGPT get a look.</p><p>Here's the Adobe UXP plugin code that was generated (notice the sweet, sweet use of Papyrus):</p><p>```</p><p>const { executeAsModal } = require("photoshop").core;</p><p>const { LayerKind } = require("photoshop").constants;</p><p>async function main() {</p><p>&nbsp; try {</p><p>&nbsp; &nbsp; await executeAsModal(async () =&gt; {</p><p>&nbsp; &nbsp; &nbsp; const activeDocument = require("photoshop").app.activeDocument;</p><p>&nbsp; &nbsp; &nbsp; const textLayers = activeDocument.layers.filter(layer =&gt; layer.kind === LayerKind.TEXT);</p><p>&nbsp; &nbsp; &nbsp; await Promise.all(textLayers.map(async layer =&gt; {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; layer.textItem.characterStyle.font = "Papyrus";</p><p>&nbsp; &nbsp; &nbsp; &nbsp; await layer.textItem.convertToParagraphText();</p><p>&nbsp; &nbsp; &nbsp; }));</p><p>&nbsp; &nbsp; });</p><p>&nbsp; } catch (err) {</p><p>&nbsp; &nbsp; console.log(err);</p><p>&nbsp; }</p><p>}</p><p>```</p><h1>Links!</h1><p>Subscribe to I’d Rather Be Scripting on:</p><ul><li>Apple Podcasts: <a href="https://podcasts.apple.com/us/podcast/id-rather-be-scripting/id1540518298" rel="noopener noreferrer" target="_blank"><strong>https://podcasts.apple.com/us/podcast/id-rather-be-scripting/id1540518298</strong></a></li><li>Overcast: <a href="https://overcast.fm/itunes1540518298/id-rather-be-scripting" rel="noopener noreferrer" target="_blank"><strong>https://overcast.fm/itunes1540518298/id-rather-be-scripting</strong></a></li><li>Anywhere: <a href="https://www.idratherbescripting.com" rel="noopener noreferrer" target="_blank"><strong>https://www.idratherbescripting.com</strong></a></li></ul><br/><p><br></p><p>Kerri&nbsp;</p><ul><li>Mastadon: <a href="https://mastodon.cloud/@kerrishotts" rel="noopener noreferrer" target="_blank">https://mastodon.cloud/@kerrishotts</a></li><li>Instagram: <a href="https://www.instagram.com/kerrishotts" rel="noopener noreferrer" target="_blank">https://www.instagram.com/kerrishotts</a></li><li>GitHub: <a href="https://github.com/kerrishotts" rel="noopener noreferrer" target="_blank">https://github.com/kerrishotts</a></li><li>LinkedIn: <a href="https://www.linkedin.com/in/kerrishotts" rel="noopener noreferrer" target="_blank">https://www.linkedin.com/in/kerrishotts</a></li><li>YouTube: <a href="https://www.youtube.com/c/KerriShotts" rel="noopener noreferrer" target="_blank">https://www.youtube.com/c/KerriShotts</a></li></ul><br/><p>Ash</p><ul><li>Mastadon: <a href="https://indieweb.social/@ashryan" rel="noopener noreferrer" target="_blank">https://indieweb.social/@ashryan</a></li><li>Instagram: <a href="https://www.instagram.com/ashryan.io" rel="noopener noreferrer" target="_blank">https://www.instagram.com/ashryan.io</a></li><li>GitHub: <a href="https://github.com/ashryanbeats" rel="noopener noreferrer" target="_blank">https://github.com/ashryanbeats</a></li><li>LinkedIn: <a href="https://www.linkedin.com/in/ashryan" rel="noopener noreferrer" target="_blank">https://www.linkedin.com/in/ashryan</a></li></ul><br/>]]></description><content:encoded><![CDATA[<p>Kerri and Ash play with AI!</p><h1>Image generation</h1><p>First up, our co-hosts look at text-to-font and text-to-image capabilities of these tools:</p><ul><li>Adobe Firefly</li><li>Midjourney</li><li>Stable Diffusion</li></ul><br/><p>You can see all of the images we mention in <a href="https://indieweb.social/@ashryan/110187745376047947" rel="noopener noreferrer" target="_blank">this Mastodon thread</a>.</p><h1>Code generation</h1><p>Next up, code-generation tools like GitHub Copilot, GitHub Copilot for Docs, and ChatGPT get a look.</p><p>Here's the Adobe UXP plugin code that was generated (notice the sweet, sweet use of Papyrus):</p><p>```</p><p>const { executeAsModal } = require("photoshop").core;</p><p>const { LayerKind } = require("photoshop").constants;</p><p>async function main() {</p><p>&nbsp; try {</p><p>&nbsp; &nbsp; await executeAsModal(async () =&gt; {</p><p>&nbsp; &nbsp; &nbsp; const activeDocument = require("photoshop").app.activeDocument;</p><p>&nbsp; &nbsp; &nbsp; const textLayers = activeDocument.layers.filter(layer =&gt; layer.kind === LayerKind.TEXT);</p><p>&nbsp; &nbsp; &nbsp; await Promise.all(textLayers.map(async layer =&gt; {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; layer.textItem.characterStyle.font = "Papyrus";</p><p>&nbsp; &nbsp; &nbsp; &nbsp; await layer.textItem.convertToParagraphText();</p><p>&nbsp; &nbsp; &nbsp; }));</p><p>&nbsp; &nbsp; });</p><p>&nbsp; } catch (err) {</p><p>&nbsp; &nbsp; console.log(err);</p><p>&nbsp; }</p><p>}</p><p>```</p><h1>Links!</h1><p>Subscribe to I’d Rather Be Scripting on:</p><ul><li>Apple Podcasts: <a href="https://podcasts.apple.com/us/podcast/id-rather-be-scripting/id1540518298" rel="noopener noreferrer" target="_blank"><strong>https://podcasts.apple.com/us/podcast/id-rather-be-scripting/id1540518298</strong></a></li><li>Overcast: <a href="https://overcast.fm/itunes1540518298/id-rather-be-scripting" rel="noopener noreferrer" target="_blank"><strong>https://overcast.fm/itunes1540518298/id-rather-be-scripting</strong></a></li><li>Anywhere: <a href="https://www.idratherbescripting.com" rel="noopener noreferrer" target="_blank"><strong>https://www.idratherbescripting.com</strong></a></li></ul><br/><p><br></p><p>Kerri&nbsp;</p><ul><li>Mastadon: <a href="https://mastodon.cloud/@kerrishotts" rel="noopener noreferrer" target="_blank">https://mastodon.cloud/@kerrishotts</a></li><li>Instagram: <a href="https://www.instagram.com/kerrishotts" rel="noopener noreferrer" target="_blank">https://www.instagram.com/kerrishotts</a></li><li>GitHub: <a href="https://github.com/kerrishotts" rel="noopener noreferrer" target="_blank">https://github.com/kerrishotts</a></li><li>LinkedIn: <a href="https://www.linkedin.com/in/kerrishotts" rel="noopener noreferrer" target="_blank">https://www.linkedin.com/in/kerrishotts</a></li><li>YouTube: <a href="https://www.youtube.com/c/KerriShotts" rel="noopener noreferrer" target="_blank">https://www.youtube.com/c/KerriShotts</a></li></ul><br/><p>Ash</p><ul><li>Mastadon: <a href="https://indieweb.social/@ashryan" rel="noopener noreferrer" target="_blank">https://indieweb.social/@ashryan</a></li><li>Instagram: <a href="https://www.instagram.com/ashryan.io" rel="noopener noreferrer" target="_blank">https://www.instagram.com/ashryan.io</a></li><li>GitHub: <a href="https://github.com/ashryanbeats" rel="noopener noreferrer" target="_blank">https://github.com/ashryanbeats</a></li><li>LinkedIn: <a href="https://www.linkedin.com/in/ashryan" rel="noopener noreferrer" target="_blank">https://www.linkedin.com/in/ashryan</a></li></ul><br/>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/-ai-based-image-and-code-generation-tools]]></link><guid isPermaLink="false">e9bb9629-fced-4f85-97fb-6a4bebc51fb4</guid><itunes:image href="https://artwork.captivate.fm/f5312b72-1ebc-4a2a-b34b-114ab9fa2642/q4uxu7zadr0v9oxt6bhsgt6b.jpg"/><pubDate>Mon, 01 May 2023 17:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/0454f55e-c31d-4883-87e5-d155022bedac/S2E5.mp3" length="86366405" type="audio/mpeg"/><itunes:duration>01:29:30</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>2</itunes:season><itunes:episode>5</itunes:episode><itunes:season>2</itunes:season><podcast:episode>5</podcast:episode><podcast:season>2</podcast:season></item><item><title>Diagramming with Mermaid!</title><itunes:title>Diagramming with Mermaid!</itunes:title><description><![CDATA[<h1>Intro: Time!</h1><p>Kerri and Ash kick this one off by chatting about time! ⏱️</p><p>JavaScript libraries mentioned:</p><ul><li><a href="https://moment.github.io/luxon/#/" rel="noopener noreferrer" target="_blank">Luxon</a></li><li><a href="https://date-fns.org" rel="noopener noreferrer" target="_blank">data-fns</a></li><li><a href="https://momentjs.com" rel="noopener noreferrer" target="_blank">Moment</a></li></ul><br/><p>Also an old blog post by Ash showing <a href="https://www.ashryan.io/cloning-dates-in-moment-js/" rel="noopener noreferrer" target="_blank">how to avoid accidental object mutation with Moment</a>. <strong>tl;dr for 2023 and beyond</strong>: Don't use Moment. <a href="https://momentjs.com/docs/#/-project-status/" rel="noopener noreferrer" target="_blank">They say so too</a>!</p><h1>Main topic: Mermaid</h1><p>For this episode's main topic, Kerri introduces <a href="https://mermaid.js.org" rel="noopener noreferrer" target="_blank">Mermaid</a>, which is a:</p><blockquote>JavaScript based diagramming and charting tool that renders Markdown-inspired text definitions to create and modify diagrams dynamically.</blockquote><p>Kerri takes us on a tour of the <a href="https://mermaid.live" rel="noopener noreferrer" target="_blank">live diagram editor</a>, and then through the <a href="https://mermaid.js.org/intro/" rel="noopener noreferrer" target="_blank">docs</a> where our cohosts ponder on different diagram types like user journeys, sequence diagrams, mindmaps, timelines, and more.</p><h1>Closer: Diagram tool shoutouts</h1><p>At the end, Kerri and Ash call out some of their favorite diagram or diagram-adjacent tools.</p><p>Kerri's list:</p><ul><li>Sequence Diagram (<a href="        - https://apps.apple.com/us/app/sequence-diagram/id1195426709?mt=12" rel="noopener noreferrer" target="_blank">Mac App Store</a>)</li><li><a href="https://www.omnigroup.com/omnigraffle/" rel="noopener noreferrer" target="_blank">OmniGraffle</a></li><li><a href="https://github.com/stathissideris/ditaa" rel="noopener noreferrer" target="_blank">ditaa</a></li></ul><br/><p>Ash's list:</p><ul><li><a href="https://www.mindnode.com" rel="noopener noreferrer" target="_blank">MindNode</a></li><li><a href="http://tydligapp.com" rel="noopener noreferrer" target="_blank">Tydlig</a></li></ul><br/>]]></description><content:encoded><![CDATA[<h1>Intro: Time!</h1><p>Kerri and Ash kick this one off by chatting about time! ⏱️</p><p>JavaScript libraries mentioned:</p><ul><li><a href="https://moment.github.io/luxon/#/" rel="noopener noreferrer" target="_blank">Luxon</a></li><li><a href="https://date-fns.org" rel="noopener noreferrer" target="_blank">data-fns</a></li><li><a href="https://momentjs.com" rel="noopener noreferrer" target="_blank">Moment</a></li></ul><br/><p>Also an old blog post by Ash showing <a href="https://www.ashryan.io/cloning-dates-in-moment-js/" rel="noopener noreferrer" target="_blank">how to avoid accidental object mutation with Moment</a>. <strong>tl;dr for 2023 and beyond</strong>: Don't use Moment. <a href="https://momentjs.com/docs/#/-project-status/" rel="noopener noreferrer" target="_blank">They say so too</a>!</p><h1>Main topic: Mermaid</h1><p>For this episode's main topic, Kerri introduces <a href="https://mermaid.js.org" rel="noopener noreferrer" target="_blank">Mermaid</a>, which is a:</p><blockquote>JavaScript based diagramming and charting tool that renders Markdown-inspired text definitions to create and modify diagrams dynamically.</blockquote><p>Kerri takes us on a tour of the <a href="https://mermaid.live" rel="noopener noreferrer" target="_blank">live diagram editor</a>, and then through the <a href="https://mermaid.js.org/intro/" rel="noopener noreferrer" target="_blank">docs</a> where our cohosts ponder on different diagram types like user journeys, sequence diagrams, mindmaps, timelines, and more.</p><h1>Closer: Diagram tool shoutouts</h1><p>At the end, Kerri and Ash call out some of their favorite diagram or diagram-adjacent tools.</p><p>Kerri's list:</p><ul><li>Sequence Diagram (<a href="        - https://apps.apple.com/us/app/sequence-diagram/id1195426709?mt=12" rel="noopener noreferrer" target="_blank">Mac App Store</a>)</li><li><a href="https://www.omnigroup.com/omnigraffle/" rel="noopener noreferrer" target="_blank">OmniGraffle</a></li><li><a href="https://github.com/stathissideris/ditaa" rel="noopener noreferrer" target="_blank">ditaa</a></li></ul><br/><p>Ash's list:</p><ul><li><a href="https://www.mindnode.com" rel="noopener noreferrer" target="_blank">MindNode</a></li><li><a href="http://tydligapp.com" rel="noopener noreferrer" target="_blank">Tydlig</a></li></ul><br/>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/diagramming-with-mermaid]]></link><guid isPermaLink="false">dd00be7a-c90d-46bd-9637-5b8b10215168</guid><itunes:image href="https://artwork.captivate.fm/f5312b72-1ebc-4a2a-b34b-114ab9fa2642/q4uxu7zadr0v9oxt6bhsgt6b.jpg"/><pubDate>Sun, 02 Apr 2023 09:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/50a80290-0054-4426-81cc-b1d8f8e9fcda/S2E4.mp3" length="79903014" type="audio/mpeg"/><itunes:duration>01:22:46</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>2</itunes:season><itunes:episode>4</itunes:episode><itunes:season>2</itunes:season><podcast:episode>4</podcast:episode><podcast:season>2</podcast:season></item><item><title>ChatGPT, Automation, and our first experiences with Bunch</title><itunes:title>ChatGPT, Automation, and our first experiences with Bunch</itunes:title><description><![CDATA[<p>In this episode, Ash and Kerri talk about ChatGP, the challenges of automating macOS, and a cool tool called "Bunch" by Brett Terpstra.</p><p>First up, our hosts catch up to see how the last few weeks have gone, including talking about coding with kids, and learning to exercise a new muscle with AI tools like ChatGPT and getting in the habit of keeping tabs on where these technologies are going. As a bonus, ChatGPT makes an appearance rendering some rhymes!</p><p>After the intro, our hosts delve into some of our past experiences with macOS automation, and we're introduced to a new tool that both hosts have wanted to try for awhile: "Bunch" by Brett Terpstra (<a href="https://bunchapp.co/" rel="noopener noreferrer" target="_blank">https://bunchapp.co/</a>). From the website:</p><blockquote>Bunch is a macOS automation tool that takes a folder of plain text files containing lists of apps and commands to launch and provides an easy-to-use menu for triggering them.</blockquote><p>Kerri walks Ash through her first experiences using Brunch, and the pair start brainstorming about interesting ways of incorporating it into their workflows.</p><p>Along the way a discussion of using "do not disturb" mode and focus modes comes up—be sure to check the documentation on using Bunch effectively Focus modes: <a href="https://bunchapp.co/docs/integration/focus-modes/" rel="noopener noreferrer" target="_blank">https://bunchapp.co/docs/integration/focus-modes/</a></p><p>Some other tips:</p><ul><li>Don't blindly invoke bunches (even the example bunch) without reading the script first!</li><li>You can quickly <em>edit</em> a bunch by cmd-clicking on a bunch in the app menu</li><li>Be careful with apostrophes in file names—that seemed to cause bunches not to load (but may have just been user error, too!)</li></ul><br/><p>Other links that came up during the discussion:</p><ul><li>Elgato Streamdeck (<a href="https://www.elgato.com/en/stream-deck-mk2" rel="noopener noreferrer" target="_blank">https://www.elgato.com/en/stream-deck-mk2</a>) and Bunch feels like a perfect match</li><li>My mom's Art tutorials site (she uses an Elgato Streamdeck for recording): <a href="https://www.redtoadartstudio.com/" rel="noopener noreferrer" target="_blank">https://www.redtoadartstudio.com/</a> and <a href="https://www.youtube.com/@redtoadartstudio/videos" rel="noopener noreferrer" target="_blank">https://www.youtube.com/@redtoadartstudio/videos</a></li><li>Pianoteq (<a href="https://www.modartt.com/" rel="noopener noreferrer" target="_blank">https://www.modartt.com/</a>) has a JSON RPC interface, which could be interesting to automate (See <a href="https://github.com/shuhaowu/remote-for-pianoteq" rel="noopener noreferrer" target="_blank">https://github.com/shuhaowu/remote-for-pianoteq</a> for web front-end example)</li></ul><br/>]]></description><content:encoded><![CDATA[<p>In this episode, Ash and Kerri talk about ChatGP, the challenges of automating macOS, and a cool tool called "Bunch" by Brett Terpstra.</p><p>First up, our hosts catch up to see how the last few weeks have gone, including talking about coding with kids, and learning to exercise a new muscle with AI tools like ChatGPT and getting in the habit of keeping tabs on where these technologies are going. As a bonus, ChatGPT makes an appearance rendering some rhymes!</p><p>After the intro, our hosts delve into some of our past experiences with macOS automation, and we're introduced to a new tool that both hosts have wanted to try for awhile: "Bunch" by Brett Terpstra (<a href="https://bunchapp.co/" rel="noopener noreferrer" target="_blank">https://bunchapp.co/</a>). From the website:</p><blockquote>Bunch is a macOS automation tool that takes a folder of plain text files containing lists of apps and commands to launch and provides an easy-to-use menu for triggering them.</blockquote><p>Kerri walks Ash through her first experiences using Brunch, and the pair start brainstorming about interesting ways of incorporating it into their workflows.</p><p>Along the way a discussion of using "do not disturb" mode and focus modes comes up—be sure to check the documentation on using Bunch effectively Focus modes: <a href="https://bunchapp.co/docs/integration/focus-modes/" rel="noopener noreferrer" target="_blank">https://bunchapp.co/docs/integration/focus-modes/</a></p><p>Some other tips:</p><ul><li>Don't blindly invoke bunches (even the example bunch) without reading the script first!</li><li>You can quickly <em>edit</em> a bunch by cmd-clicking on a bunch in the app menu</li><li>Be careful with apostrophes in file names—that seemed to cause bunches not to load (but may have just been user error, too!)</li></ul><br/><p>Other links that came up during the discussion:</p><ul><li>Elgato Streamdeck (<a href="https://www.elgato.com/en/stream-deck-mk2" rel="noopener noreferrer" target="_blank">https://www.elgato.com/en/stream-deck-mk2</a>) and Bunch feels like a perfect match</li><li>My mom's Art tutorials site (she uses an Elgato Streamdeck for recording): <a href="https://www.redtoadartstudio.com/" rel="noopener noreferrer" target="_blank">https://www.redtoadartstudio.com/</a> and <a href="https://www.youtube.com/@redtoadartstudio/videos" rel="noopener noreferrer" target="_blank">https://www.youtube.com/@redtoadartstudio/videos</a></li><li>Pianoteq (<a href="https://www.modartt.com/" rel="noopener noreferrer" target="_blank">https://www.modartt.com/</a>) has a JSON RPC interface, which could be interesting to automate (See <a href="https://github.com/shuhaowu/remote-for-pianoteq" rel="noopener noreferrer" target="_blank">https://github.com/shuhaowu/remote-for-pianoteq</a> for web front-end example)</li></ul><br/>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/chatgpt-automation-and-our-first-experiences-with-bunch]]></link><guid isPermaLink="false">6784f17f-90ae-4431-b9b0-10640b9a3402</guid><itunes:image href="https://artwork.captivate.fm/f5312b72-1ebc-4a2a-b34b-114ab9fa2642/q4uxu7zadr0v9oxt6bhsgt6b.jpg"/><pubDate>Sun, 05 Mar 2023 18:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/cb9364bf-01b9-473e-b70b-ce0e3c68d154/S2E3.mp3" length="81022810" type="audio/mpeg"/><itunes:duration>01:23:56</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>2</itunes:season><itunes:episode>3</itunes:episode><itunes:season>2</itunes:season><podcast:episode>3</podcast:episode><podcast:season>2</podcast:season></item><item><title>Building Safari Web Extensions</title><itunes:title>Building Safari Web Extensions</itunes:title><description><![CDATA[<p>It’s been a few weeks since Kerri and Ash sat down to talk and they had a lot to say!</p><p>---</p><p>First up—follow-up! Kerri reports back on the <a href="https://www.we-connect-the-dots.org/2023-codeathon" rel="noopener noreferrer" target="_blank">We Connect the Dots Code-A-Thon</a>. Topics covered include:</p><ul><li>The care required when guiding early programming learners from local to prod</li><li>An update on JavaScript notebooks (covered in depth in <a href="https://www.idratherbescripting.com/episode/javascript-notebooks-runkit-and-observable" rel="noopener noreferrer" target="_blank">the previous episode</a>)</li></ul><br/><p>Tools mentioned:&nbsp;</p><ul><li><a href="https://runkit.com" rel="noopener noreferrer" target="_blank">RunKit</a></li><li><a href="https://codesandbox.io" rel="noopener noreferrer" target="_blank">CodeSandbox</a></li><li><a href="https://pages.github.com/" rel="noopener noreferrer" target="_blank">GitHub Pages</a></li><li><a href="https://www.netlify.com" rel="noopener noreferrer" target="_blank">Netlify</a></li><li><a href="http://replit.com" rel="noopener noreferrer" target="_blank">Replit</a></li></ul><br/><p>---</p><p>Next, our co-hosts dive into Safari Web Extensions. Ash has been building one recently, and wants to share his developer experience thus far (JavaScript in Xcode, anyone?).</p><p>Handy links for Safari Web Extension development:</p><ul><li><a href="https://developer.apple.com/videos/play/wwdc2022/10099" rel="noopener noreferrer" target="_blank">”What’s new in Safari Web Extensions” WWDC22 video</a></li><li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions" rel="noopener noreferrer" target="_blank">"Broswer Extensions" on MDN docs</a></li><li><a href="https://developer.apple.com/documentation/safariservices/safari_web_extensions/developing_a_safari_web_extension" rel="noopener noreferrer" target="_blank">“Developing a Safari Web Extension” on Apple docs</a></li></ul><br/><p>---</p><p>At the very end, Kerri and Ash share the Safari Web Extensions they currently use on the daily. Mentioned are:</p><ul><li><a href="https://apps.apple.com/us/app/ghostery-privacy-ad-blocker/id1436953057" rel="noopener noreferrer" target="_blank">Ghostery</a> (ad blocker)</li><li><a href="https://netnewswire.com" rel="noopener noreferrer" target="_blank">NetNewsWire</a> (RSS reader)</li><li><a href="https://apps.apple.com/us/app/apollo-for-reddit/id979274575" rel="noopener noreferrer" target="_blank">Apollo</a> (Reddit client)</li><li><a href="https://apps.apple.com/us/app/1blocker-ad-blocker/id1365531024" rel="noopener noreferrer" target="_blank">1Blocker</a> (ad and tracker blocker)</li><li><a href="https://apps.apple.com/us/app/super-agent-for-safari/id1568262835" rel="noopener noreferrer" target="_blank">Super Agent</a> (automatic cookie consent)</li><li><a href="https://apps.apple.com/us/app/goodlinks/id1474335294" rel="noopener noreferrer" target="_blank">GoodLinks</a> (bookmark and link manager)</li></ul><br/><p>---</p><p>Follow your co-hosts on:</p><p><strong>Kerri&nbsp;</strong></p><ul><li>Mastadon: <a href="https://mastodon.cloud/@kerrishotts" rel="noopener noreferrer" target="_blank">https://mastodon.cloud/@kerrishotts</a></li><li>Instagram: <a href="https://www.instagram.com/kerrishotts" rel="noopener noreferrer" target="_blank">https://www.instagram.com/kerrishotts</a></li><li>GitHub: <a href="https://github.com/kerrishotts" rel="noopener noreferrer" target="_blank">https://github.com/kerrishotts</a></li><li>LinkedIn: <a href="https://www.linkedin.com/in/kerrishotts" rel="noopener noreferrer" target="_blank">https://www.linkedin.com/in/kerrishotts</a></li><li>YouTube: <a href="https://www.youtube.com/c/KerriShotts" rel="noopener noreferrer" target="_blank">https://www.youtube.com/c/KerriShotts</a></li></ul><br/><p><strong>Ash</strong></p><ul><li>Mastadon: <a href="https://indieweb.social/@ashryan" rel="noopener noreferrer"...]]></description><content:encoded><![CDATA[<p>It’s been a few weeks since Kerri and Ash sat down to talk and they had a lot to say!</p><p>---</p><p>First up—follow-up! Kerri reports back on the <a href="https://www.we-connect-the-dots.org/2023-codeathon" rel="noopener noreferrer" target="_blank">We Connect the Dots Code-A-Thon</a>. Topics covered include:</p><ul><li>The care required when guiding early programming learners from local to prod</li><li>An update on JavaScript notebooks (covered in depth in <a href="https://www.idratherbescripting.com/episode/javascript-notebooks-runkit-and-observable" rel="noopener noreferrer" target="_blank">the previous episode</a>)</li></ul><br/><p>Tools mentioned:&nbsp;</p><ul><li><a href="https://runkit.com" rel="noopener noreferrer" target="_blank">RunKit</a></li><li><a href="https://codesandbox.io" rel="noopener noreferrer" target="_blank">CodeSandbox</a></li><li><a href="https://pages.github.com/" rel="noopener noreferrer" target="_blank">GitHub Pages</a></li><li><a href="https://www.netlify.com" rel="noopener noreferrer" target="_blank">Netlify</a></li><li><a href="http://replit.com" rel="noopener noreferrer" target="_blank">Replit</a></li></ul><br/><p>---</p><p>Next, our co-hosts dive into Safari Web Extensions. Ash has been building one recently, and wants to share his developer experience thus far (JavaScript in Xcode, anyone?).</p><p>Handy links for Safari Web Extension development:</p><ul><li><a href="https://developer.apple.com/videos/play/wwdc2022/10099" rel="noopener noreferrer" target="_blank">”What’s new in Safari Web Extensions” WWDC22 video</a></li><li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions" rel="noopener noreferrer" target="_blank">"Broswer Extensions" on MDN docs</a></li><li><a href="https://developer.apple.com/documentation/safariservices/safari_web_extensions/developing_a_safari_web_extension" rel="noopener noreferrer" target="_blank">“Developing a Safari Web Extension” on Apple docs</a></li></ul><br/><p>---</p><p>At the very end, Kerri and Ash share the Safari Web Extensions they currently use on the daily. Mentioned are:</p><ul><li><a href="https://apps.apple.com/us/app/ghostery-privacy-ad-blocker/id1436953057" rel="noopener noreferrer" target="_blank">Ghostery</a> (ad blocker)</li><li><a href="https://netnewswire.com" rel="noopener noreferrer" target="_blank">NetNewsWire</a> (RSS reader)</li><li><a href="https://apps.apple.com/us/app/apollo-for-reddit/id979274575" rel="noopener noreferrer" target="_blank">Apollo</a> (Reddit client)</li><li><a href="https://apps.apple.com/us/app/1blocker-ad-blocker/id1365531024" rel="noopener noreferrer" target="_blank">1Blocker</a> (ad and tracker blocker)</li><li><a href="https://apps.apple.com/us/app/super-agent-for-safari/id1568262835" rel="noopener noreferrer" target="_blank">Super Agent</a> (automatic cookie consent)</li><li><a href="https://apps.apple.com/us/app/goodlinks/id1474335294" rel="noopener noreferrer" target="_blank">GoodLinks</a> (bookmark and link manager)</li></ul><br/><p>---</p><p>Follow your co-hosts on:</p><p><strong>Kerri&nbsp;</strong></p><ul><li>Mastadon: <a href="https://mastodon.cloud/@kerrishotts" rel="noopener noreferrer" target="_blank">https://mastodon.cloud/@kerrishotts</a></li><li>Instagram: <a href="https://www.instagram.com/kerrishotts" rel="noopener noreferrer" target="_blank">https://www.instagram.com/kerrishotts</a></li><li>GitHub: <a href="https://github.com/kerrishotts" rel="noopener noreferrer" target="_blank">https://github.com/kerrishotts</a></li><li>LinkedIn: <a href="https://www.linkedin.com/in/kerrishotts" rel="noopener noreferrer" target="_blank">https://www.linkedin.com/in/kerrishotts</a></li><li>YouTube: <a href="https://www.youtube.com/c/KerriShotts" rel="noopener noreferrer" target="_blank">https://www.youtube.com/c/KerriShotts</a></li></ul><br/><p><strong>Ash</strong></p><ul><li>Mastadon: <a href="https://indieweb.social/@ashryan" rel="noopener noreferrer" target="_blank">https://indieweb.social/@ashryan</a></li><li>Instagram: <a href="https://www.instagram.com/ashryan.io" rel="noopener noreferrer" target="_blank">https://www.instagram.com/ashryan.io</a></li><li>GitHub: <a href="https://github.com/ashryanbeats" rel="noopener noreferrer" target="_blank">https://github.com/ashryanbeats</a></li><li>LinkedIn: <a href="https://www.linkedin.com/in/ashryan" rel="noopener noreferrer" target="_blank">https://www.linkedin.com/in/ashryan</a></li></ul><br/>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/building-safari-web-extensions]]></link><guid isPermaLink="false">87a4f223-195e-47b9-a63a-94aba5f11a2b</guid><itunes:image href="https://artwork.captivate.fm/f5312b72-1ebc-4a2a-b34b-114ab9fa2642/q4uxu7zadr0v9oxt6bhsgt6b.jpg"/><pubDate>Sun, 12 Feb 2023 09:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/09513369-a785-4108-a708-d16fce5e23bd/S2E2.mp3" length="105086414" type="audio/mpeg"/><itunes:duration>01:46:41</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>2</itunes:season><itunes:episode>2</itunes:episode><itunes:season>2</itunes:season><podcast:episode>2</podcast:episode><podcast:season>2</podcast:season></item><item><title>JavaScript notebooks: RunKit and Observable</title><itunes:title>JavaScript notebooks: RunKit and Observable</itunes:title><description><![CDATA[<p><em>I'd Rather Be Scripting</em> is back after the holiday break!</p><p>Kerri and Ash start with follow-up from <a href="https://www.idratherbescripting.com/episode/decker-lil-and-hypercard-nostalgia" rel="noopener noreferrer" target="_blank">"Episode 7: Decker, Lil, and a good dose of HyperCard nostalgia"</a>. Decker developer John Earnest reached out with a few app updates relevant to episode 7, including:</p><ul><li>X-Ray Specs, a super power for seeing <em>through</em> the Lil script editor into the deck to speed up script development</li><li>Improved column formatting for creating and manipulating table data on the fly (as well as documentation improvements for column formatting)</li><li>Confirmation that locking a deck is essentially kiosk mode in Decker</li></ul><br/><p>The <em>Coding with Nylas</em> YouTube video that Ash mentions is <a href="https://www.youtube.com/watch?v=xDXy-v54pTM" rel="noopener noreferrer" target="_blank">"Episode 41: How to build an agenda using Decker (HyperCard) and Ruby"</a>.</p><p>---</p><p>For our main topic, Kerri talks to us about her findings in the land of JavaScript notebooks. Specifically, Kerri shares some details about:</p><ul><li><a href="https://runkit.com" rel="noopener noreferrer" target="_blank">RunKit</a></li><li><a href="    - https://observablehq.com" rel="noopener noreferrer" target="_blank">Observable</a></li><li><a href="https://marketplace.visualstudio.com/items?itemName=codebook.codebook" rel="noopener noreferrer" target="_blank">Codebook Visual Studio Code Extension</a></li><li><a href="https://marketplace.visualstudio.com/items?itemName=donjayamanne.typescript-notebook" rel="noopener noreferrer" target="_blank">Node.js Notebooks (REPL) Visual Studio Code Extension</a></li></ul><br/><p>Kerri is looking into JavaScript notebooks to support her students at <a href="https://www.we-connect-the-dots.org/2023-codeathon" rel="noopener noreferrer" target="_blank">We Connect the Dots</a>, which educates students about Science, Technology, Engineering, Arts, and Math (STEAM). </p><p>Check out the <a href="https://www.we-connect-the-dots.org/2023-codeathon" rel="noopener noreferrer" target="_blank">We Connect the Dots Code-A-Thon 2023 page</a> for details in case you'd like register someone who'd like to learn to code (ages 13-18) in the future, or if you'd like to sponsor events in the future!</p>]]></description><content:encoded><![CDATA[<p><em>I'd Rather Be Scripting</em> is back after the holiday break!</p><p>Kerri and Ash start with follow-up from <a href="https://www.idratherbescripting.com/episode/decker-lil-and-hypercard-nostalgia" rel="noopener noreferrer" target="_blank">"Episode 7: Decker, Lil, and a good dose of HyperCard nostalgia"</a>. Decker developer John Earnest reached out with a few app updates relevant to episode 7, including:</p><ul><li>X-Ray Specs, a super power for seeing <em>through</em> the Lil script editor into the deck to speed up script development</li><li>Improved column formatting for creating and manipulating table data on the fly (as well as documentation improvements for column formatting)</li><li>Confirmation that locking a deck is essentially kiosk mode in Decker</li></ul><br/><p>The <em>Coding with Nylas</em> YouTube video that Ash mentions is <a href="https://www.youtube.com/watch?v=xDXy-v54pTM" rel="noopener noreferrer" target="_blank">"Episode 41: How to build an agenda using Decker (HyperCard) and Ruby"</a>.</p><p>---</p><p>For our main topic, Kerri talks to us about her findings in the land of JavaScript notebooks. Specifically, Kerri shares some details about:</p><ul><li><a href="https://runkit.com" rel="noopener noreferrer" target="_blank">RunKit</a></li><li><a href="    - https://observablehq.com" rel="noopener noreferrer" target="_blank">Observable</a></li><li><a href="https://marketplace.visualstudio.com/items?itemName=codebook.codebook" rel="noopener noreferrer" target="_blank">Codebook Visual Studio Code Extension</a></li><li><a href="https://marketplace.visualstudio.com/items?itemName=donjayamanne.typescript-notebook" rel="noopener noreferrer" target="_blank">Node.js Notebooks (REPL) Visual Studio Code Extension</a></li></ul><br/><p>Kerri is looking into JavaScript notebooks to support her students at <a href="https://www.we-connect-the-dots.org/2023-codeathon" rel="noopener noreferrer" target="_blank">We Connect the Dots</a>, which educates students about Science, Technology, Engineering, Arts, and Math (STEAM). </p><p>Check out the <a href="https://www.we-connect-the-dots.org/2023-codeathon" rel="noopener noreferrer" target="_blank">We Connect the Dots Code-A-Thon 2023 page</a> for details in case you'd like register someone who'd like to learn to code (ages 13-18) in the future, or if you'd like to sponsor events in the future!</p>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/javascript-notebooks-runkit-and-observable]]></link><guid isPermaLink="false">11f30e84-fb73-48fc-953d-25e83ab68579</guid><itunes:image href="https://artwork.captivate.fm/f5312b72-1ebc-4a2a-b34b-114ab9fa2642/q4uxu7zadr0v9oxt6bhsgt6b.jpg"/><pubDate>Sat, 21 Jan 2023 18:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/4c97fd25-048f-4621-869c-859bc9fd4014/S2E1.mp3" length="81812980" type="audio/mpeg"/><itunes:duration>01:24:45</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>2</itunes:season><itunes:episode>1</itunes:episode><itunes:season>2</itunes:season><podcast:episode>1</podcast:episode><podcast:season>2</podcast:season></item><item><title>2022 Year-end Review &amp; Looking Ahead to 2023</title><itunes:title>2022 Year-end Review &amp; Looking Ahead to 2023</itunes:title><description><![CDATA[<p>In this episode Ash and Kerri look back at what technologies were on our minds in 2022, and we do a rapid fire look ahead at those technologies we want to learn more about in 2023.</p><h2>Kerri's 2022 Lookback</h2><p>First, Kerri talks about her experiences learning Swift and Swift UI in 2022 as a way to learn new technologies and also build a MIDI-based macOS and iOS app. Along the way we talk a little about Apple's lack of good documentation, but also about some of the great resources that are available.</p><p>For those wanting to dig into Swift and Swift UI, these links may prove useful:</p><ul><li><a href="https://www.hackingwithswift.com" rel="noopener noreferrer" target="_blank">Hacking With Swift</a></li><li><a href="https://www.hackingwithswift.com/quick-start/swiftui" rel="noopener noreferrer" target="_blank">Swift UI Quick Start</a> (from Hacking with Swift)</li><li><a href="https://www.reddit.com/r/SwiftUI/" rel="noopener noreferrer" target="_blank">r/SwiftUI</a> Reddit community</li><li><a href="https://swiftui-lab.com" rel="noopener noreferrer" target="_blank">Swift UI Lab</a></li></ul><br/><p>Kerri's next two topics were related to JavaScript:</p><ul><li>JS Tooling, especially bundlers -- Kerri is using and loving <a href="https://esbuild.github.io" rel="noopener noreferrer" target="_blank">esbuild</a> for bundling complex projects extremely rapidly.</li><li>Atomics and SharedArrayBuffer are available again in all browsers, as long as you follow a couple of rules: 1) serve from a secure context, and 2) set some CORS headers. <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer#security_requirements" rel="noopener noreferrer" target="_blank">See this MDN article for more.</a> </li><li>An easy way to set the above CORS flags for local development is to add the "local-web-server" npm package, and modify your "serve" script to use it, like so: `ws --cors.opener-policy same-origin --cors.embedder-policy require-corp`. There's lots of other settings you can specify (port, source folder, etc.) -- check out the <a href="https://github.com/lwsjs/local-web-server/wiki/CLI-usage" rel="noopener noreferrer" target="_blank">CLI docs</a>.</li></ul><br/><h2>Ash's 2022 Lookback</h2><p>First, Ash talks about Open API tooling, in particular <a href="https://github.com/oas-tools/oas-tools" rel="noopener noreferrer" target="_blank">OAS Tools</a>. For an entire deep dive, see <a href="https://player.captivate.fm/episode/adb7a1be-5691-41e8-9e42-d7c41d9e0cf1/" rel="noopener noreferrer" target="_blank">Episode 6, "OAS Tools Deep Dive"</a>.</p><p>Second, Ash talks about his journey in navigating the various front-end stacks that are available -- from tooling to view layer to layout and styles. If you want to learn more about Tailwind (mentioned briefly), see <a href="https://player.captivate.fm/episode/3a55d23b-9379-4896-8931-a8f7f00b23c7/" rel="noopener noreferrer" target="_blank">episode 8, "Bootstrap and Tailwind.CSS: component-first vs utility-first frameworks"</a>.</p><p>Lastly, Ash talks about some full-stack app hosts, integrating with databases, and more. Some sites mentioned in the episode that you might want to check out:</p><ul><li><a href="https://vercel.com" rel="noopener noreferrer" target="_blank">Vercel</a></li><li><a href="https://railway.app" rel="noopener noreferrer" target="_blank">Railway</a></li><li><a href="https://fly.io" rel="noopener noreferrer" target="_blank">Fly.io</a></li><li><a href="https://www.netlify.com" rel="noopener noreferrer" target="_blank">Netlify</a></li><li><a href="https://www.cloudflare.com" rel="noopener noreferrer" target="_blank">Cloudflare</a></li><li><a href="https://www.digitalocean.com" rel="noopener noreferrer" target="_blank">Digital Ocean</a></li><li><a href="https://supabase.com" rel="noopener noreferrer" target="_blank">Supabase</a></li><li><a href="https://planetscale.com" rel="noopener noreferrer"...]]></description><content:encoded><![CDATA[<p>In this episode Ash and Kerri look back at what technologies were on our minds in 2022, and we do a rapid fire look ahead at those technologies we want to learn more about in 2023.</p><h2>Kerri's 2022 Lookback</h2><p>First, Kerri talks about her experiences learning Swift and Swift UI in 2022 as a way to learn new technologies and also build a MIDI-based macOS and iOS app. Along the way we talk a little about Apple's lack of good documentation, but also about some of the great resources that are available.</p><p>For those wanting to dig into Swift and Swift UI, these links may prove useful:</p><ul><li><a href="https://www.hackingwithswift.com" rel="noopener noreferrer" target="_blank">Hacking With Swift</a></li><li><a href="https://www.hackingwithswift.com/quick-start/swiftui" rel="noopener noreferrer" target="_blank">Swift UI Quick Start</a> (from Hacking with Swift)</li><li><a href="https://www.reddit.com/r/SwiftUI/" rel="noopener noreferrer" target="_blank">r/SwiftUI</a> Reddit community</li><li><a href="https://swiftui-lab.com" rel="noopener noreferrer" target="_blank">Swift UI Lab</a></li></ul><br/><p>Kerri's next two topics were related to JavaScript:</p><ul><li>JS Tooling, especially bundlers -- Kerri is using and loving <a href="https://esbuild.github.io" rel="noopener noreferrer" target="_blank">esbuild</a> for bundling complex projects extremely rapidly.</li><li>Atomics and SharedArrayBuffer are available again in all browsers, as long as you follow a couple of rules: 1) serve from a secure context, and 2) set some CORS headers. <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer#security_requirements" rel="noopener noreferrer" target="_blank">See this MDN article for more.</a> </li><li>An easy way to set the above CORS flags for local development is to add the "local-web-server" npm package, and modify your "serve" script to use it, like so: `ws --cors.opener-policy same-origin --cors.embedder-policy require-corp`. There's lots of other settings you can specify (port, source folder, etc.) -- check out the <a href="https://github.com/lwsjs/local-web-server/wiki/CLI-usage" rel="noopener noreferrer" target="_blank">CLI docs</a>.</li></ul><br/><h2>Ash's 2022 Lookback</h2><p>First, Ash talks about Open API tooling, in particular <a href="https://github.com/oas-tools/oas-tools" rel="noopener noreferrer" target="_blank">OAS Tools</a>. For an entire deep dive, see <a href="https://player.captivate.fm/episode/adb7a1be-5691-41e8-9e42-d7c41d9e0cf1/" rel="noopener noreferrer" target="_blank">Episode 6, "OAS Tools Deep Dive"</a>.</p><p>Second, Ash talks about his journey in navigating the various front-end stacks that are available -- from tooling to view layer to layout and styles. If you want to learn more about Tailwind (mentioned briefly), see <a href="https://player.captivate.fm/episode/3a55d23b-9379-4896-8931-a8f7f00b23c7/" rel="noopener noreferrer" target="_blank">episode 8, "Bootstrap and Tailwind.CSS: component-first vs utility-first frameworks"</a>.</p><p>Lastly, Ash talks about some full-stack app hosts, integrating with databases, and more. Some sites mentioned in the episode that you might want to check out:</p><ul><li><a href="https://vercel.com" rel="noopener noreferrer" target="_blank">Vercel</a></li><li><a href="https://railway.app" rel="noopener noreferrer" target="_blank">Railway</a></li><li><a href="https://fly.io" rel="noopener noreferrer" target="_blank">Fly.io</a></li><li><a href="https://www.netlify.com" rel="noopener noreferrer" target="_blank">Netlify</a></li><li><a href="https://www.cloudflare.com" rel="noopener noreferrer" target="_blank">Cloudflare</a></li><li><a href="https://www.digitalocean.com" rel="noopener noreferrer" target="_blank">Digital Ocean</a></li><li><a href="https://supabase.com" rel="noopener noreferrer" target="_blank">Supabase</a></li><li><a href="https://planetscale.com" rel="noopener noreferrer" target="_blank">PlanetScale</a></li><li><a href="https://neon.tech" rel="noopener noreferrer" target="_blank">Neon</a></li><li><a href="https://www.prisma.io" rel="noopener noreferrer" target="_blank">Prisma</a></li></ul><br/><h2>Rapid-fire 2023 Lookahead</h2><p>Because we're chatty, our look back at 2022 took the majority of the episode. So we did a quick rapid-fire round of what technologies we most want to explore in 2023.</p><p>Kerri's list:</p><ul><li>Learning more Swift, including some libraries: MidiKit, AudioKit, but also wants to try to build an AudioUnit (Apple's version of VST3 plugins for DAWs).</li><li>Mastodon has an API! Kerri wrote a bot for <a href="https://github.com/kerrishotts/retroputer/tree/develop-2.0" rel="noopener noreferrer" target="_blank">Retroputer</a> for Twitter, but now that she's doing more on Mastodon, she wants to learn more about the Mastodon API. (Oh, and if you want to play with Retroputer, a <a href="https://develop-2-0--blissful-bose-ff8542.netlify.app/#/" rel="noopener noreferrer" target="_blank">recent-ish version is here, on Netlify</a> -- just note -- a lot is broken, docs are in a state of flux, and it has a long way to go.)</li><li>Upcoming JavaScript proposals (in particular improvements to <a href="https://2ality.com/2022/12/set-methods.html" rel="noopener noreferrer" target="_blank">sets</a> and <a href="https://2ality.com/2022/12/iterator-helpers.html" rel="noopener noreferrer" target="_blank">iteration</a>... we briefly mention the pipe operator, and Ash has questions!). A great resource for all things modern JS is <a href="https://2ality.com/" rel="noopener noreferrer" target="_blank">https://2ality.com/</a>.</li></ul><br/><p>Ash's list:</p><ul><li>Frameworks that mix the client and server. Some he wants to check out: <a href="https://astro.build" rel="noopener noreferrer" target="_blank">Astro</a>, <a href="https://nextjs.org" rel="noopener noreferrer" target="_blank">Next.js</a>, <a href="https://remix.run" rel="noopener noreferrer" target="_blank">Remix</a></li><li>Homelabbing</li><li><a href="https://scratch.mit.edu" rel="noopener noreferrer" target="_blank">Scratch</a> (the visual programming language)</li></ul><br/><h2>Mastodon Socials</h2><p>Both Ash and Kerri show their newbie status talking about how to contact us on Mastodon. Our profiles are:</p><ul><li>Kerri: <a href="https://mastodon.cloud/@kerrishotts" rel="noopener noreferrer" target="_blank">https://mastodon.cloud/@kerrishotts</a></li><li>Ash: <a href="https://indieweb.social/@ashryan" rel="noopener noreferrer" target="_blank">https://indieweb.social/@ashryan</a></li></ul><br/><h2>That's a wrap!</h2><p>With this episode, we're done for the year! We hope you and yours have a wonderful holiday season, and a fantastic 2023! We'll have no shortage of things to talk about in 2023, and so we'll see you the new year!</p>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/2022-year-end-review-looking-ahead-to-2023]]></link><guid isPermaLink="false">e0485150-a350-4fb1-8365-561727cb144e</guid><itunes:image href="https://artwork.captivate.fm/f5312b72-1ebc-4a2a-b34b-114ab9fa2642/q4uxu7zadr0v9oxt6bhsgt6b.jpg"/><pubDate>Sun, 25 Dec 2022 09:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/3a2a9529-cd4d-46f3-8ac9-954f566ab07d/S1E10-chapters.mp3" length="96694449" type="audio/mpeg"/><itunes:duration>01:30:34</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>1</itunes:season><itunes:episode>10</itunes:episode><itunes:season>1</itunes:season><podcast:episode>10</podcast:episode><podcast:season>1</podcast:season><itunes:summary>In this episode Ash and Kerri look back at what technologies were on our minds in 2022, and we do a rapid fire look ahead at those technologies we want to learn more about in 2023.</itunes:summary></item><item><title>Script MIDI in Apple&apos;s Logic Pro using JavaScript and the MIDI FX Scripter Plugin</title><itunes:title>Script MIDI in Apple&apos;s Logic Pro using JavaScript and the MIDI FX Scripter Plugin</itunes:title><description><![CDATA[<p>Kerri and Ash are deep diving into Logic Pro MIDI scripting this time.</p><p>===</p><p>But first! WiFi routers! 🥱😴😪 Because Ash is done with Eero yet has Mesh Needs™️. He's opted for the <a href="https://www.asus.com/us/networking-iot-servers/whole-home-mesh-wifi-system/zenwifi-wifi-systems/asus-zenwifi-ax-xt8/" rel="noopener noreferrer" target="_blank">Asus ZenWiFi AX 6600 2-pack</a> and things are good so far. </p><p>Aaand while we're in WiFi router corner, can we just pour one out for <a href="https://en.wikipedia.org/wiki/AirPort_Express" rel="noopener noreferrer" target="_blank">Apple AirPort Express</a>? Ash's finally died a few years ago, but Kerri still has one doing its thing reliably.</p><p>===</p><p>For our main topic, Kerri introduces Ash to the world of MIDI scripting in Apple Logic Pro.</p><p>But not in the language you thi-iiiink: it's a JavaScript API!</p><p>Some links discussed:</p><ul><li><a href="https://support.apple.com/en-au/guide/logicpro/lgce728c68f6/mac" rel="noopener noreferrer" target="_blank">"Use the Scripter MIDI plug-in in Logic Pro"</a> on Apple Support</li><li><a href="https://support.apple.com/en-au/guide/logicpro/lgcecc16550d/10.7.5/mac/12.3" rel="noopener noreferrer" target="_blank">"Use the Scripter MIDI plug-in Script Editor in Logic Pro"</a> on Apple Support</li><li><a href="https://support.apple.com/en-au/guide/logicpro/lgce19021147/10.7.5/mac/12.3" rel="noopener noreferrer" target="_blank">"MIDI processing functions in Scripter MIDI plug-in in Logic Pro"</a> on Apple Support (*this* is the API documentation)</li><li><a href="https://music.tutsplus.com/an-introduction-to-scripting-in-logic-x--cms-23920t" rel="noopener noreferrer" target="_blank">"An Introduction to Scripting in Logic X"</a> on Envato Tuts+ (2015)</li><li><a href="https://github.com/andrewjhunt/logic-pro-scripter" rel="noopener noreferrer" target="_blank">andrewjhunt/logic-pro-scripter</a> on GitHub</li><li><a href="https://kabirnagral.github.io/LPXscripts/" rel="noopener noreferrer" target="_blank">LPX Scripts</a> on GitHub</li></ul><br/><p>Gists of Kerri's plugins (these are conversions from other scripts for other DAWs; see each one's header for the original inspiration):</p><ul><li><a href="https://gist.github.com/kerrishotts/9a31dd4d884ba60d0e4410ccd78f1d62" rel="noopener noreferrer" target="_blank">Loud Note Correction Script for Logic Pro X</a> (based on a script by <a href="https://github.com/herqX/YamahaNU1LoudNoteFix" rel="noopener noreferrer" target="_blank">herqX</a>)</li><li><a href="https://gist.github.com/kerrishotts/9a760852216f6a300d58b9bc005458b1" rel="noopener noreferrer" target="_blank">Pitch-based Velocity Transform plugin for Logic Pro X</a> (Based on this <a href="http://forum.pianoworld.com/ubbthreads.php/topics/3092415/re-realtime-pitch-based-velocity-filter-transformed-the-nu1x.html#Post3092415" rel="noopener noreferrer" target="_blank">script by fraaly</a>)</li></ul><br/><p>Kerri's general tips and tricks for getting started with Logic Pro scripting:</p><ol><li>Use the script sample source code to learn the API—there are a lot of them, and you'll find valuable snippets of information in each one!</li><li>Find tutorials; the official docs are... sparse and unsearchable—the links above are a great start.</li><li>Find 3rd-party docs class-and-method references</li><li>Set magic globals with *var*, not "const" or "let" (e.g.: var NeedsTimingInfo = true;)</li><li>Click "Run script" to push your script changes to the app; saving alone will not push the changes</li></ol><br/><p>The takeaway? If you want to script MIDI in Logic Pro, this is your option. The API speaks the languages of MIDI and musical timing natively, which is a beautiful thing. But be prepared for a friction-heavy developer experience, especially if you're familiar with modern development environments such as Visual Studio Code.</p><p>===</p><p>Lastly, Kerri and Ash talk about developer experience as a general subject, in...]]></description><content:encoded><![CDATA[<p>Kerri and Ash are deep diving into Logic Pro MIDI scripting this time.</p><p>===</p><p>But first! WiFi routers! 🥱😴😪 Because Ash is done with Eero yet has Mesh Needs™️. He's opted for the <a href="https://www.asus.com/us/networking-iot-servers/whole-home-mesh-wifi-system/zenwifi-wifi-systems/asus-zenwifi-ax-xt8/" rel="noopener noreferrer" target="_blank">Asus ZenWiFi AX 6600 2-pack</a> and things are good so far. </p><p>Aaand while we're in WiFi router corner, can we just pour one out for <a href="https://en.wikipedia.org/wiki/AirPort_Express" rel="noopener noreferrer" target="_blank">Apple AirPort Express</a>? Ash's finally died a few years ago, but Kerri still has one doing its thing reliably.</p><p>===</p><p>For our main topic, Kerri introduces Ash to the world of MIDI scripting in Apple Logic Pro.</p><p>But not in the language you thi-iiiink: it's a JavaScript API!</p><p>Some links discussed:</p><ul><li><a href="https://support.apple.com/en-au/guide/logicpro/lgce728c68f6/mac" rel="noopener noreferrer" target="_blank">"Use the Scripter MIDI plug-in in Logic Pro"</a> on Apple Support</li><li><a href="https://support.apple.com/en-au/guide/logicpro/lgcecc16550d/10.7.5/mac/12.3" rel="noopener noreferrer" target="_blank">"Use the Scripter MIDI plug-in Script Editor in Logic Pro"</a> on Apple Support</li><li><a href="https://support.apple.com/en-au/guide/logicpro/lgce19021147/10.7.5/mac/12.3" rel="noopener noreferrer" target="_blank">"MIDI processing functions in Scripter MIDI plug-in in Logic Pro"</a> on Apple Support (*this* is the API documentation)</li><li><a href="https://music.tutsplus.com/an-introduction-to-scripting-in-logic-x--cms-23920t" rel="noopener noreferrer" target="_blank">"An Introduction to Scripting in Logic X"</a> on Envato Tuts+ (2015)</li><li><a href="https://github.com/andrewjhunt/logic-pro-scripter" rel="noopener noreferrer" target="_blank">andrewjhunt/logic-pro-scripter</a> on GitHub</li><li><a href="https://kabirnagral.github.io/LPXscripts/" rel="noopener noreferrer" target="_blank">LPX Scripts</a> on GitHub</li></ul><br/><p>Gists of Kerri's plugins (these are conversions from other scripts for other DAWs; see each one's header for the original inspiration):</p><ul><li><a href="https://gist.github.com/kerrishotts/9a31dd4d884ba60d0e4410ccd78f1d62" rel="noopener noreferrer" target="_blank">Loud Note Correction Script for Logic Pro X</a> (based on a script by <a href="https://github.com/herqX/YamahaNU1LoudNoteFix" rel="noopener noreferrer" target="_blank">herqX</a>)</li><li><a href="https://gist.github.com/kerrishotts/9a760852216f6a300d58b9bc005458b1" rel="noopener noreferrer" target="_blank">Pitch-based Velocity Transform plugin for Logic Pro X</a> (Based on this <a href="http://forum.pianoworld.com/ubbthreads.php/topics/3092415/re-realtime-pitch-based-velocity-filter-transformed-the-nu1x.html#Post3092415" rel="noopener noreferrer" target="_blank">script by fraaly</a>)</li></ul><br/><p>Kerri's general tips and tricks for getting started with Logic Pro scripting:</p><ol><li>Use the script sample source code to learn the API—there are a lot of them, and you'll find valuable snippets of information in each one!</li><li>Find tutorials; the official docs are... sparse and unsearchable—the links above are a great start.</li><li>Find 3rd-party docs class-and-method references</li><li>Set magic globals with *var*, not "const" or "let" (e.g.: var NeedsTimingInfo = true;)</li><li>Click "Run script" to push your script changes to the app; saving alone will not push the changes</li></ol><br/><p>The takeaway? If you want to script MIDI in Logic Pro, this is your option. The API speaks the languages of MIDI and musical timing natively, which is a beautiful thing. But be prepared for a friction-heavy developer experience, especially if you're familiar with modern development environments such as Visual Studio Code.</p><p>===</p><p>Lastly, Kerri and Ash talk about developer experience as a general subject, in response to <a href="https://mastodon.cloud/@pklaschka/109482891019333116 " rel="noopener noreferrer" target="_blank">a nice Mastodon post</a> by our mutual friend Pablo Klaschka.</p><p>Our co-hosts talk about the critical role documentation plays in DevEx, and particularly how important docs search is, despite the short shrift it is often given.</p><p>The DevOps.com article that Ash was recently interviewed for by Bill Doerrfeld is <a href="https://devops.com/looking-to-the-future-of-developer-experience/" rel="noopener noreferrer" target="_blank">"Looking to the Future of Developer Experience"</a>.</p>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/scripting-midi-with-javascript-in-apple-logic-pro]]></link><guid isPermaLink="false">fef1b826-667c-4b5b-998f-811403144f26</guid><itunes:image href="https://artwork.captivate.fm/f5312b72-1ebc-4a2a-b34b-114ab9fa2642/q4uxu7zadr0v9oxt6bhsgt6b.jpg"/><pubDate>Sun, 18 Dec 2022 17:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/1b1a1759-493a-425d-90b2-9887a382825f/S1E9-Chapters.mp3" length="140819473" type="audio/mpeg"/><itunes:duration>01:37:29</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>1</itunes:season><itunes:episode>9</itunes:episode><itunes:season>1</itunes:season><podcast:episode>9</podcast:episode><podcast:season>1</podcast:season></item><item><title>Bootstrap and Tailwind CSS: component-first vs utility-first frameworks</title><itunes:title>Bootstrap and Tailwind CSS: component-first vs utility-first frameworks</itunes:title><description><![CDATA[<p>Kerri and Ash talk CSS frameworks and the difference between component-first and utility-first frameworks.&nbsp;</p><p>The frameworks in the mix are:</p><ul><li><a href="https://getbootstrap.com/" rel="noopener noreferrer" target="_blank">Bootstrap</a>: the venerable component-first framework that has made it easy to create responsive, grid-based layouts for over a decade.</li><li><a href="https://tailwindcss.com/" rel="noopener noreferrer" target="_blank">Tailwind CSS</a>: a utility-first CSS framework that encourages use of utility classes over creating bespoke names for every div in your HTML.</li></ul><br/><p>Since Ash is currently exploring Tailwind CSS, our co-hosts look at it more closely, specifically calling out these developer resources:</p><ul><li><a href="https://tailwindcss.com/blog/just-in-time-the-next-generation-of-tailwind-css" rel="noopener noreferrer" target="_blank">Tailwind CSS framework guides</a></li><li><a href="https://tailwindcss.com/docs/utility-first" rel="noopener noreferrer" target="_blank">Utility-first fundamentals</a></li><li><a href="https://tailwindcss.com/blog/just-in-time-the-next-generation-of-tailwind-css" rel="noopener noreferrer" target="_blank">The Tailwind CSS just-in-time (JIT) engine</a></li></ul><br/><p>===</p><p>And! Here are the follow-up items mentioned from previous episodes:</p><ul><li><a href="https://www.youtube.com/watch?v=RebA5J-rlwg" rel="noopener noreferrer" target="_blank">“Learn Prisma in 60 minutes”</a> on Web Dev Simplified</li><li><a href="https://www.ashryan.io/create-an-entity-resource-file-for-oas-tools-with-prisma/" rel="noopener noreferrer" target="_blank">“Create an entity resource file for OAS Tools with Prisma”</a> on <a href="http://ashryan.io" rel="noopener noreferrer" target="_blank">ashryan.io</a></li><li><a href="https://oas-tools.github.io/docs/customization/project-setup#prisma-orm" rel="noopener noreferrer" target="_blank">OAS Tools documentation &gt; Prima ORM integration</a></li></ul><br/>]]></description><content:encoded><![CDATA[<p>Kerri and Ash talk CSS frameworks and the difference between component-first and utility-first frameworks.&nbsp;</p><p>The frameworks in the mix are:</p><ul><li><a href="https://getbootstrap.com/" rel="noopener noreferrer" target="_blank">Bootstrap</a>: the venerable component-first framework that has made it easy to create responsive, grid-based layouts for over a decade.</li><li><a href="https://tailwindcss.com/" rel="noopener noreferrer" target="_blank">Tailwind CSS</a>: a utility-first CSS framework that encourages use of utility classes over creating bespoke names for every div in your HTML.</li></ul><br/><p>Since Ash is currently exploring Tailwind CSS, our co-hosts look at it more closely, specifically calling out these developer resources:</p><ul><li><a href="https://tailwindcss.com/blog/just-in-time-the-next-generation-of-tailwind-css" rel="noopener noreferrer" target="_blank">Tailwind CSS framework guides</a></li><li><a href="https://tailwindcss.com/docs/utility-first" rel="noopener noreferrer" target="_blank">Utility-first fundamentals</a></li><li><a href="https://tailwindcss.com/blog/just-in-time-the-next-generation-of-tailwind-css" rel="noopener noreferrer" target="_blank">The Tailwind CSS just-in-time (JIT) engine</a></li></ul><br/><p>===</p><p>And! Here are the follow-up items mentioned from previous episodes:</p><ul><li><a href="https://www.youtube.com/watch?v=RebA5J-rlwg" rel="noopener noreferrer" target="_blank">“Learn Prisma in 60 minutes”</a> on Web Dev Simplified</li><li><a href="https://www.ashryan.io/create-an-entity-resource-file-for-oas-tools-with-prisma/" rel="noopener noreferrer" target="_blank">“Create an entity resource file for OAS Tools with Prisma”</a> on <a href="http://ashryan.io" rel="noopener noreferrer" target="_blank">ashryan.io</a></li><li><a href="https://oas-tools.github.io/docs/customization/project-setup#prisma-orm" rel="noopener noreferrer" target="_blank">OAS Tools documentation &gt; Prima ORM integration</a></li></ul><br/>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/bootstrap-and-tailwind-css-component-first-vs-utility-first-frameworks]]></link><guid isPermaLink="false">3a55d23b-9379-4896-8931-a8f7f00b23c7</guid><itunes:image href="https://artwork.captivate.fm/f5312b72-1ebc-4a2a-b34b-114ab9fa2642/q4uxu7zadr0v9oxt6bhsgt6b.jpg"/><pubDate>Sat, 03 Dec 2022 12:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/e44861bd-1266-4ab2-876b-1af595aed4b4/S1E8.mp3" length="120860049" type="audio/mpeg"/><itunes:duration>01:23:56</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>1</itunes:season><itunes:episode>8</itunes:episode><itunes:season>1</itunes:season><podcast:episode>8</podcast:episode><podcast:season>1</podcast:season></item><item><title>Decker, Lil, and a good dose of HyperCard nostalgia</title><itunes:title>Decker, Lil, and a good dose of HyperCard nostalgia</itunes:title><description><![CDATA[<p>Kerri and Ash have spent some time with <a href="https://beyondloom.com/decker/index.html" rel="noopener noreferrer" target="_blank">Decker</a>—created by John Earnest—which bills itself as:</p><blockquote>a multimedia platform for creating and sharing interactive documents, with sound, images, hypertext, and scripted behavior.</blockquote><p>It's a new take on <a href="https://en.wikipedia.org/wiki/HyperCard" rel="noopener noreferrer" target="_blank">HyperCard</a>, a classic Mac app from the 80s and 90s that both of our hosts share their nostalgia for.</p><p>If you're getting started with Decker, here are the 3 key resources mentioned during the conversation:</p><ul><li><a href="https://beyondloom.com/decker/decker.html" rel="noopener noreferrer" target="_blank">Decker user manual</a></li><li><a href="https://beyondloom.com/decker/lil.html" rel="noopener noreferrer" target="_blank">Lil scripting language documentation</a></li><li><a href="https://beyondloom.com/decker/guis.html" rel="noopener noreferrer" target="_blank">5GUIs example deck</a> </li></ul><br/><p>Check out the interactive Decker decks that our hosts made and deployed:</p><ul><li><a href="https://id-rather-be-scripting-decker.netlify.app" rel="noopener noreferrer" target="_blank">Podcast episode browser</a> by Kerri</li><li><a href="https://clinquant-halva-565990.netlify.app" rel="noopener noreferrer" target="_blank">Todo app</a> by Ash</li></ul><br/><p>The Lil script that Ash describes for adding a row to a grid is:</p><blockquote>on addItem do</blockquote><blockquote>  todoList.value: insert </blockquote><blockquote>     item:todoField.text </blockquote><blockquote>     status:false</blockquote><blockquote>  into todoList.value</blockquote><blockquote>  todoList.format:"sB"</blockquote><blockquote>end</blockquote><p>===</p><p>Kerri mentions getting her Panic Playdate midway through. If you're wondering what that is, you can find out all about it on <a href="https://play.date/" rel="noopener noreferrer" target="_blank">https://play.date/</a>.</p>]]></description><content:encoded><![CDATA[<p>Kerri and Ash have spent some time with <a href="https://beyondloom.com/decker/index.html" rel="noopener noreferrer" target="_blank">Decker</a>—created by John Earnest—which bills itself as:</p><blockquote>a multimedia platform for creating and sharing interactive documents, with sound, images, hypertext, and scripted behavior.</blockquote><p>It's a new take on <a href="https://en.wikipedia.org/wiki/HyperCard" rel="noopener noreferrer" target="_blank">HyperCard</a>, a classic Mac app from the 80s and 90s that both of our hosts share their nostalgia for.</p><p>If you're getting started with Decker, here are the 3 key resources mentioned during the conversation:</p><ul><li><a href="https://beyondloom.com/decker/decker.html" rel="noopener noreferrer" target="_blank">Decker user manual</a></li><li><a href="https://beyondloom.com/decker/lil.html" rel="noopener noreferrer" target="_blank">Lil scripting language documentation</a></li><li><a href="https://beyondloom.com/decker/guis.html" rel="noopener noreferrer" target="_blank">5GUIs example deck</a> </li></ul><br/><p>Check out the interactive Decker decks that our hosts made and deployed:</p><ul><li><a href="https://id-rather-be-scripting-decker.netlify.app" rel="noopener noreferrer" target="_blank">Podcast episode browser</a> by Kerri</li><li><a href="https://clinquant-halva-565990.netlify.app" rel="noopener noreferrer" target="_blank">Todo app</a> by Ash</li></ul><br/><p>The Lil script that Ash describes for adding a row to a grid is:</p><blockquote>on addItem do</blockquote><blockquote>  todoList.value: insert </blockquote><blockquote>     item:todoField.text </blockquote><blockquote>     status:false</blockquote><blockquote>  into todoList.value</blockquote><blockquote>  todoList.format:"sB"</blockquote><blockquote>end</blockquote><p>===</p><p>Kerri mentions getting her Panic Playdate midway through. If you're wondering what that is, you can find out all about it on <a href="https://play.date/" rel="noopener noreferrer" target="_blank">https://play.date/</a>.</p>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/decker-lil-and-hypercard-nostalgia]]></link><guid isPermaLink="false">ffbe51fb-eddf-4a61-9e41-0f11170f9728</guid><itunes:image href="https://artwork.captivate.fm/f5312b72-1ebc-4a2a-b34b-114ab9fa2642/q4uxu7zadr0v9oxt6bhsgt6b.jpg"/><pubDate>Sat, 12 Nov 2022 17:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/ea03e09c-adc8-48cf-907f-2c6269d9b0bb/S1E7.mp3" length="100707729" type="audio/mpeg"/><itunes:duration>01:09:56</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>1</itunes:season><itunes:episode>7</itunes:episode><itunes:season>1</itunes:season><podcast:episode>7</podcast:episode><podcast:season>1</podcast:season></item><item><title>OAS Tools deep dive!</title><itunes:title>OAS Tools deep dive!</itunes:title><description><![CDATA[<p>Kerri and Ash continue chatting about Open API tooling for Node.js and Express!</p><p>This episode of <em>I'd Rather Be Scripting</em> is all about <a href="oas-tools.github.io" rel="noopener noreferrer" target="_blank">OAS Tools</a>, an open source Node.js server-side framework with full support for OpenAPI v3. Our co-hosts use the <a href="https://oas-tools.github.io/docs/getting-started/quickstart" rel="noopener noreferrer" target="_blank">OAS Tools Quickstart</a> as a path to discussing the tool's features, including:</p><ul><li>What an "entity resource" is</li><li>Creating an OpenAPI document from an entity resource</li><li>Creating a Node.js/Express server from an OpenAPI document</li><li>Understanding the generated server entry point, controllers, and services</li><li>Validating a server's adherence to an OpenAPI spec</li></ul><br/><p>... all with OAS Tools.</p><p>Kerri and Ash also discuss some potential wishlist items for the tool, including:</p><ul><li>Ensuring that generated service responses adhere to OpenAPI document schema</li><li>Continual controller/service generation (see <a href="https://github.com/orgs/oas-tools/discussions/15" rel="noopener noreferrer" target="_blank">GitHub discussion #15</a> for Ash's question and the friendly response from one of the maintainers)</li><li>Ability to eject from the OAS Tool dependency in order to gain tighter visibility and control over the usage of the Express library</li></ul><br/><p>We hope you enjoy this deep dive into OAS Tools!</p><p>===</p><p>The <em>Changelog </em>podcast episode that Ash references midway through is <a href="https://changelog.com/podcast/511" rel="noopener noreferrer" target="_blank">"The terminal as a platform"</a>, which covers <a href="https://www.textualize.io" rel="noopener noreferrer" target="_blank">Textualize</a>, a company that builds platforms for terminal-based UX/DX.</p>]]></description><content:encoded><![CDATA[<p>Kerri and Ash continue chatting about Open API tooling for Node.js and Express!</p><p>This episode of <em>I'd Rather Be Scripting</em> is all about <a href="oas-tools.github.io" rel="noopener noreferrer" target="_blank">OAS Tools</a>, an open source Node.js server-side framework with full support for OpenAPI v3. Our co-hosts use the <a href="https://oas-tools.github.io/docs/getting-started/quickstart" rel="noopener noreferrer" target="_blank">OAS Tools Quickstart</a> as a path to discussing the tool's features, including:</p><ul><li>What an "entity resource" is</li><li>Creating an OpenAPI document from an entity resource</li><li>Creating a Node.js/Express server from an OpenAPI document</li><li>Understanding the generated server entry point, controllers, and services</li><li>Validating a server's adherence to an OpenAPI spec</li></ul><br/><p>... all with OAS Tools.</p><p>Kerri and Ash also discuss some potential wishlist items for the tool, including:</p><ul><li>Ensuring that generated service responses adhere to OpenAPI document schema</li><li>Continual controller/service generation (see <a href="https://github.com/orgs/oas-tools/discussions/15" rel="noopener noreferrer" target="_blank">GitHub discussion #15</a> for Ash's question and the friendly response from one of the maintainers)</li><li>Ability to eject from the OAS Tool dependency in order to gain tighter visibility and control over the usage of the Express library</li></ul><br/><p>We hope you enjoy this deep dive into OAS Tools!</p><p>===</p><p>The <em>Changelog </em>podcast episode that Ash references midway through is <a href="https://changelog.com/podcast/511" rel="noopener noreferrer" target="_blank">"The terminal as a platform"</a>, which covers <a href="https://www.textualize.io" rel="noopener noreferrer" target="_blank">Textualize</a>, a company that builds platforms for terminal-based UX/DX.</p>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/oas-tools-deep-dive]]></link><guid isPermaLink="false">adb7a1be-5691-41e8-9e42-d7c41d9e0cf1</guid><itunes:image href="https://artwork.captivate.fm/f5312b72-1ebc-4a2a-b34b-114ab9fa2642/q4uxu7zadr0v9oxt6bhsgt6b.jpg"/><pubDate>Sat, 05 Nov 2022 21:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/aadbd393-54af-4b5c-a01f-6b0626a27ade/S1E6.mp3" length="102893864" type="audio/mpeg"/><itunes:duration>01:11:27</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>1</itunes:season><itunes:episode>6</itunes:episode><itunes:season>1</itunes:season><podcast:episode>6</podcast:episode><podcast:season>1</podcast:season></item><item><title>“Spooky’s not quite the right word”: Warp terminal, Fig CLI, and OpenAPI tools</title><itunes:title>“Spooky’s not quite the right word”: Warp terminal, Fig CLI, and OpenAPI tools</itunes:title><description><![CDATA[<p>Kerri and Ash are back in the command line, which will surprise no one.</p><p>First up, is a discussion of Kerri’s recent adventures with <a href="https://www.warp.dev/" rel="noopener noreferrer" target="_blank">Warp terminal</a> and <a href="https://fig.io/" rel="noopener noreferrer" target="_blank">Fig CLI</a>. Our hosts discuss autocompletes and AI tools in the terminal. Kerri also shares a difficulty she found getting Warp and <a href="https://spaceship-prompt.sh/" rel="noopener noreferrer" target="_blank">Spaceship prompt</a> to play well together. If you’re following along, this was her remedy:</p><p> ```</p><p>if [[ $TERM_PROGRAM != "WarpTerminal" ]]; then</p><p>&nbsp;&nbsp;&nbsp;ZSH_THEME="spaceship"</p><p>fi</p><p>```</p><p>Ash then retraces some of his steps playing around with OpenAPI 3.x. Many tools are discussed! From API spec creation tools to server generation tools (like <a href="https://openapi-generator.tech/" rel="noopener noreferrer" target="_blank">OpenAPI Generator</a> and <a href="https://swagger.io/tools/swagger-codegen/" rel="noopener noreferrer" target="_blank">Swagger Codegen</a>) and beyond. Of course, GitHub Copilot makes another appearance. If you’re ever looking for OpenAPI tools, check out <a href="https://openapi.tools/" rel="noopener noreferrer" target="_blank">https://openapi.tools/</a>.</p><p>Wondering what’s the difference between Swagger and OpenAPI? <a href="https://swagger.io/blog/api-stratagey/difference-between-swagger-and-openapi" rel="noopener noreferrer" target="_blank">This article will help you with that</a>.</p><p>The Stratechery interview that Ash references is <a href="https://stratechery.com/2022/an-interview-with-daniel-gross-and-nat-friedman-about-the-democratization-of-ai/" rel="noopener noreferrer" target="_blank">“An Interview With Daniel Gross and Nat Friedman About the Democratization of AI”</a>.</p>]]></description><content:encoded><![CDATA[<p>Kerri and Ash are back in the command line, which will surprise no one.</p><p>First up, is a discussion of Kerri’s recent adventures with <a href="https://www.warp.dev/" rel="noopener noreferrer" target="_blank">Warp terminal</a> and <a href="https://fig.io/" rel="noopener noreferrer" target="_blank">Fig CLI</a>. Our hosts discuss autocompletes and AI tools in the terminal. Kerri also shares a difficulty she found getting Warp and <a href="https://spaceship-prompt.sh/" rel="noopener noreferrer" target="_blank">Spaceship prompt</a> to play well together. If you’re following along, this was her remedy:</p><p> ```</p><p>if [[ $TERM_PROGRAM != "WarpTerminal" ]]; then</p><p>&nbsp;&nbsp;&nbsp;ZSH_THEME="spaceship"</p><p>fi</p><p>```</p><p>Ash then retraces some of his steps playing around with OpenAPI 3.x. Many tools are discussed! From API spec creation tools to server generation tools (like <a href="https://openapi-generator.tech/" rel="noopener noreferrer" target="_blank">OpenAPI Generator</a> and <a href="https://swagger.io/tools/swagger-codegen/" rel="noopener noreferrer" target="_blank">Swagger Codegen</a>) and beyond. Of course, GitHub Copilot makes another appearance. If you’re ever looking for OpenAPI tools, check out <a href="https://openapi.tools/" rel="noopener noreferrer" target="_blank">https://openapi.tools/</a>.</p><p>Wondering what’s the difference between Swagger and OpenAPI? <a href="https://swagger.io/blog/api-stratagey/difference-between-swagger-and-openapi" rel="noopener noreferrer" target="_blank">This article will help you with that</a>.</p><p>The Stratechery interview that Ash references is <a href="https://stratechery.com/2022/an-interview-with-daniel-gross-and-nat-friedman-about-the-democratization-of-ai/" rel="noopener noreferrer" target="_blank">“An Interview With Daniel Gross and Nat Friedman About the Democratization of AI”</a>.</p>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/spookys-not-quite-the-right-word-warp-terminal-fig-cli-and-openapi-tools]]></link><guid isPermaLink="false">f07b4f50-edff-4167-ad72-96d189240e25</guid><itunes:image href="https://artwork.captivate.fm/f5312b72-1ebc-4a2a-b34b-114ab9fa2642/q4uxu7zadr0v9oxt6bhsgt6b.jpg"/><pubDate>Fri, 14 Oct 2022 17:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/c36cc6fd-0342-4263-a7f6-2ff336f3f246/S1E5.mp3" length="90032215" type="audio/mpeg"/><itunes:duration>01:02:31</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>1</itunes:season><itunes:episode>5</itunes:episode><itunes:season>1</itunes:season><podcast:episode>5</podcast:episode><podcast:season>1</podcast:season></item><item><title>Spaceship prompt, zsh, fish, &amp; coding on the iPad</title><itunes:title>Spaceship prompt, zsh, fish, &amp; coding on the iPad</itunes:title><description><![CDATA[<p>Kerri and Ash cover a couple favorite topics: command line shells and coding on the iPad.</p><p>First up! Spaceship prompt, which bills itself as a "minimalistic, powerful and extremely customizable Zsh prompt". https://spaceship-prompt.sh</p><p>Kerri and Ash explore what Spaceship's async capabilities can enable for a zsh prompt and consider why having a battery indicator in your shell prompt might be useful. Of course, fish shell and Oh My Zsh do not go neglected in the conversation.</p><p>Next up! Coding on the iPad with Code App, a native IDE for iPad. https://thebaselab.com/code/</p><p>Our hosts consider the pros and cons of two different approaches to enabling real development work on iPad: thin clients like GitHub Codespaces (browser-based, server-side execution) versus native applications like Code App (app-based, local execution—with some exceptions). Kerri and Ash also theorize on what it must be like to get local code execution environments for Node.js, Python, PHP, and C/C++ past Apple App Store review.</p>]]></description><content:encoded><![CDATA[<p>Kerri and Ash cover a couple favorite topics: command line shells and coding on the iPad.</p><p>First up! Spaceship prompt, which bills itself as a "minimalistic, powerful and extremely customizable Zsh prompt". https://spaceship-prompt.sh</p><p>Kerri and Ash explore what Spaceship's async capabilities can enable for a zsh prompt and consider why having a battery indicator in your shell prompt might be useful. Of course, fish shell and Oh My Zsh do not go neglected in the conversation.</p><p>Next up! Coding on the iPad with Code App, a native IDE for iPad. https://thebaselab.com/code/</p><p>Our hosts consider the pros and cons of two different approaches to enabling real development work on iPad: thin clients like GitHub Codespaces (browser-based, server-side execution) versus native applications like Code App (app-based, local execution—with some exceptions). Kerri and Ash also theorize on what it must be like to get local code execution environments for Node.js, Python, PHP, and C/C++ past Apple App Store review.</p>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/spaceship-prompt-zsh-fish-coding-on-ipad]]></link><guid isPermaLink="false">9cfcd616-539e-488d-8d64-78c390cd3a79</guid><itunes:image href="https://artwork.captivate.fm/f5312b72-1ebc-4a2a-b34b-114ab9fa2642/q4uxu7zadr0v9oxt6bhsgt6b.jpg"/><pubDate>Fri, 30 Sep 2022 22:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/8d4b03ea-ca29-48f9-8d2d-311dc34b149d/S1E4.mp3" length="84555118" type="audio/mpeg"/><itunes:duration>58:43</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>1</itunes:season><itunes:episode>4</itunes:episode><itunes:season>1</itunes:season><podcast:episode>4</podcast:episode><podcast:season>1</podcast:season></item><item><title>&quot;In the future I&apos;ll need to protect my pinky&quot;: GitHub Copilot writes a Node.js tutorial</title><itunes:title>&quot;In the future I&apos;ll need to protect my pinky&quot;: GitHub Copilot writes a Node.js tutorial</itunes:title><description><![CDATA[<p>Kerri and Ash go down a GitHub Copilot rabbit hole, but not for coding apps like you might expect! </p><p>Instead, they are exploring the possibilities of authoring technical tutorials for developers where 95% of the writing is done by AI/ML.</p><p>In this episode, you'll get to listen to *thrilling* audio content wherein Ash hits the tab button in VS Code until he's got a Node.js and Express tutorial written almost entirely by GitHub Copilot.</p><p>What does it all mean?! Kerri and Ash want to know!</p><ul><li>Can GitHub Copilot do QA for an article that it mostly wrote on its own?</li><li>Could Copilot please just write a sample app, author the tutorial, then QA everything already thx?</li><li>Can we simply tab our way into writing bespoke tutorials for technologies we don't even know yet with GitHub Copilot? </li><li>Will humans still at least get to make the memes?</li></ul><br/><p>See below for the text of the article GitHub Copilot created (in proper Markdown!) based on a seed of 8–10 words provided by a soon-to-be-obsolete human, including the inexplicable link in the "Next steps" section to the Photoshop UXP API documentation.</p><p>Relax and enjoy this podcast, humans; the AIs can do the work now.</p><p>===</p><p><strong># Making a server with Node.js and Express</strong></p><p>In this tutorial, we will make a simple server with Node.js and Express. We will also use the `express-generator` package to generate the project.</p><p><strong>## Prerequisites</strong></p><p>- Node.js</p><p>- npm</p><p>- Express</p><p><strong>## Building the project</strong></p><p>First, we will create a new project using the `express-generator` package. This package will generate a new project for us, and we can use it to create a new project.</p><p>```bash</p><p>$ npm install express-generator -g</p><p>$ express myapp</p><p>$ cd myapp</p><p>$ npm install</p><p>```</p><p>Now, we can run the project using the `npm start` command.</p><p>```bash</p><p>$ npm start</p><p>```</p><p>This will start the server on port 3000. We can now visit the server at `http://localhost:3000`.</p><p><strong>## Adding a route</strong></p><p>Now, we will add a new route to the server. We will add a new route to the `routes/index.js` file.</p><p>```js</p><p>router.get("/hello", function (req, res, next) {</p><p>  res.send("Hello World!");</p><p>});</p><p>```</p><p><br></p><p>Now, we can visit the route at `http://localhost:3000/hello`.</p><p><br></p><p><strong>## Conclusion</strong></p><p>In this tutorial, we learned how to make a simple server with Node.js and Express. We also learned how to use the `express-generator` package to generate a new project.</p><p><br></p><p><strong>## Next steps</strong></p><p>- [Making a server with Node.js and Express](https://developer.adobe.com/photoshop/uxp/2022/guides/getting-started/making-a-server-with-nodejs-and-express/)</p><p><br></p><p><strong>## Resources</strong></p><p>- [Node.js](https://nodejs.org/en/)</p><p>- [npm](https://www.npmjs.com/)</p><p>- [Express](https://expressjs.com/)</p><p>- [express-generator](https://www.npmjs.com/package/express-generator)</p>]]></description><content:encoded><![CDATA[<p>Kerri and Ash go down a GitHub Copilot rabbit hole, but not for coding apps like you might expect! </p><p>Instead, they are exploring the possibilities of authoring technical tutorials for developers where 95% of the writing is done by AI/ML.</p><p>In this episode, you'll get to listen to *thrilling* audio content wherein Ash hits the tab button in VS Code until he's got a Node.js and Express tutorial written almost entirely by GitHub Copilot.</p><p>What does it all mean?! Kerri and Ash want to know!</p><ul><li>Can GitHub Copilot do QA for an article that it mostly wrote on its own?</li><li>Could Copilot please just write a sample app, author the tutorial, then QA everything already thx?</li><li>Can we simply tab our way into writing bespoke tutorials for technologies we don't even know yet with GitHub Copilot? </li><li>Will humans still at least get to make the memes?</li></ul><br/><p>See below for the text of the article GitHub Copilot created (in proper Markdown!) based on a seed of 8–10 words provided by a soon-to-be-obsolete human, including the inexplicable link in the "Next steps" section to the Photoshop UXP API documentation.</p><p>Relax and enjoy this podcast, humans; the AIs can do the work now.</p><p>===</p><p><strong># Making a server with Node.js and Express</strong></p><p>In this tutorial, we will make a simple server with Node.js and Express. We will also use the `express-generator` package to generate the project.</p><p><strong>## Prerequisites</strong></p><p>- Node.js</p><p>- npm</p><p>- Express</p><p><strong>## Building the project</strong></p><p>First, we will create a new project using the `express-generator` package. This package will generate a new project for us, and we can use it to create a new project.</p><p>```bash</p><p>$ npm install express-generator -g</p><p>$ express myapp</p><p>$ cd myapp</p><p>$ npm install</p><p>```</p><p>Now, we can run the project using the `npm start` command.</p><p>```bash</p><p>$ npm start</p><p>```</p><p>This will start the server on port 3000. We can now visit the server at `http://localhost:3000`.</p><p><strong>## Adding a route</strong></p><p>Now, we will add a new route to the server. We will add a new route to the `routes/index.js` file.</p><p>```js</p><p>router.get("/hello", function (req, res, next) {</p><p>  res.send("Hello World!");</p><p>});</p><p>```</p><p><br></p><p>Now, we can visit the route at `http://localhost:3000/hello`.</p><p><br></p><p><strong>## Conclusion</strong></p><p>In this tutorial, we learned how to make a simple server with Node.js and Express. We also learned how to use the `express-generator` package to generate a new project.</p><p><br></p><p><strong>## Next steps</strong></p><p>- [Making a server with Node.js and Express](https://developer.adobe.com/photoshop/uxp/2022/guides/getting-started/making-a-server-with-nodejs-and-express/)</p><p><br></p><p><strong>## Resources</strong></p><p>- [Node.js](https://nodejs.org/en/)</p><p>- [npm](https://www.npmjs.com/)</p><p>- [Express](https://expressjs.com/)</p><p>- [express-generator](https://www.npmjs.com/package/express-generator)</p>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/github-copilot-writes-a-node-js-tutorial]]></link><guid isPermaLink="false">adb3b7dc-d178-48f0-b46e-afefda575f6b</guid><itunes:image href="https://artwork.captivate.fm/f5312b72-1ebc-4a2a-b34b-114ab9fa2642/q4uxu7zadr0v9oxt6bhsgt6b.jpg"/><pubDate>Fri, 16 Sep 2022 09:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/481d119f-1980-4fdd-a40f-51b875a55b06/S2E3.mp3" length="75900718" type="audio/mpeg"/><itunes:duration>52:43</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>1</itunes:season><itunes:episode>3</itunes:episode><itunes:season>1</itunes:season><podcast:episode>3</podcast:episode><podcast:season>1</podcast:season></item><item><title>&quot;What is JavaScript?&quot; is the answer no developer wants to hear</title><itunes:title>&quot;What is JavaScript?&quot; is the answer no developer wants to hear</itunes:title><description><![CDATA[<p>Kerri and Ash reappear after a Marvel-style blip for episode 2 of I'd Rather Be Scripting.</p><p>This episode covers some fun stuff including:</p><ul><li>Node.js, Deno, and Bun: emerging variety in JavaScript server runtimes</li><li>The JavaScript spec versus browser APIs: the oft-overlooked distinction between the two</li><li>Browser APIs, Node APIs, and popular node modules: factors in choosing what to support in new development environments like UXP for Photoshop and Bun for servers</li><li>Performance considerations when choosing a Mac for development work</li><li>GitHub Codespaces and the state of web development on the iPad</li><li>Steam Deck's hackability</li><li>... and probably more</li></ul><br/>]]></description><content:encoded><![CDATA[<p>Kerri and Ash reappear after a Marvel-style blip for episode 2 of I'd Rather Be Scripting.</p><p>This episode covers some fun stuff including:</p><ul><li>Node.js, Deno, and Bun: emerging variety in JavaScript server runtimes</li><li>The JavaScript spec versus browser APIs: the oft-overlooked distinction between the two</li><li>Browser APIs, Node APIs, and popular node modules: factors in choosing what to support in new development environments like UXP for Photoshop and Bun for servers</li><li>Performance considerations when choosing a Mac for development work</li><li>GitHub Codespaces and the state of web development on the iPad</li><li>Steam Deck's hackability</li><li>... and probably more</li></ul><br/>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/what-is-javascript-node-deno-bun-uxp-browsers]]></link><guid isPermaLink="false">6215efdc-3134-4e10-a89d-6787fb8bf924</guid><itunes:image href="https://artwork.captivate.fm/f5312b72-1ebc-4a2a-b34b-114ab9fa2642/q4uxu7zadr0v9oxt6bhsgt6b.jpg"/><pubDate>Mon, 29 Aug 2022 09:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/3f49566d-8b94-480f-8fbb-d8dccd0ed7c5/postproduction-audio-trimmed2.mp3" length="93901894" type="audio/mpeg"/><itunes:duration>01:05:13</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>1</itunes:season><itunes:episode>2</itunes:episode><itunes:season>1</itunes:season><podcast:episode>2</podcast:episode><podcast:season>1</podcast:season></item><item><title>S1E1 - Nov 15, 2020</title><itunes:title>S1E1 - Nov 15, 2020</itunes:title><description><![CDATA[<p>Thoughts on <a href="https://www.apple.com/macos/big-sur/" rel="noopener noreferrer" target="_blank">macOS Big Sur</a></p><ul><li>Border Radius!</li><li>Touch MacBooks?</li></ul><br/><p>iPad Pro for Developers</p><ul><li><a href="https://apps.apple.com/us/app/play-js-javascript-ide/id1423330822" rel="noopener noreferrer" target="_blank">Play.js</a></li><li><a href="https://apps.apple.com/us/app/ish-shell/id1436902243" rel="noopener noreferrer" target="_blank">ISH Shell</a></li><li><a href="https://apps.apple.com/us/app/a-shell/id1473805438" rel="noopener noreferrer" target="_blank">a-Shell</a></li></ul><br/><p>No-Code Scripting Limitations (especially iOS Shortcuts)</p><p>Photography</p><ul><li><a href="https://fujifilm-x.com/global/products/lenses/xf27mmf28/" rel="noopener noreferrer" target="_blank">Fujinon 27mm</a></li></ul><br/>]]></description><content:encoded><![CDATA[<p>Thoughts on <a href="https://www.apple.com/macos/big-sur/" rel="noopener noreferrer" target="_blank">macOS Big Sur</a></p><ul><li>Border Radius!</li><li>Touch MacBooks?</li></ul><br/><p>iPad Pro for Developers</p><ul><li><a href="https://apps.apple.com/us/app/play-js-javascript-ide/id1423330822" rel="noopener noreferrer" target="_blank">Play.js</a></li><li><a href="https://apps.apple.com/us/app/ish-shell/id1436902243" rel="noopener noreferrer" target="_blank">ISH Shell</a></li><li><a href="https://apps.apple.com/us/app/a-shell/id1473805438" rel="noopener noreferrer" target="_blank">a-Shell</a></li></ul><br/><p>No-Code Scripting Limitations (especially iOS Shortcuts)</p><p>Photography</p><ul><li><a href="https://fujifilm-x.com/global/products/lenses/xf27mmf28/" rel="noopener noreferrer" target="_blank">Fujinon 27mm</a></li></ul><br/>]]></content:encoded><link><![CDATA[https://idratherbescripting.com/episode/2020-11-15]]></link><guid isPermaLink="false">4001f288-698d-4277-9c31-101e37ddd6ca</guid><itunes:image href="https://artwork.captivate.fm/f5312b72-1ebc-4a2a-b34b-114ab9fa2642/q4uxu7zadr0v9oxt6bhsgt6b.jpg"/><pubDate>Sun, 15 Nov 2020 09:00:00 -0400</pubDate><enclosure url="https://podcasts.captivate.fm/media/74b101e1-417e-4fd6-8f3b-7497c03b708d/2020-11-15.mp3" length="42945274" type="audio/mpeg"/><itunes:duration>59:38</itunes:duration><itunes:explicit>false</itunes:explicit><itunes:episodeType>full</itunes:episodeType><itunes:season>1</itunes:season><itunes:episode>1</itunes:episode><itunes:season>1</itunes:season><podcast:episode>1</podcast:episode><podcast:season>1</podcast:season><itunes:summary>Ash and Kerri share their random thoughts on the new macOS Big Sur update, on using iPad Pro for front-end development, on the pain of no-code scripting tools, and a little bit of photography as well!</itunes:summary></item></channel></rss>