Afleveringen

  • This episode was recorded on April 14th, 2024

    So... it's been awhile...

    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?

    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.

    Ash's updates:DevRel and AI: a department lead’s self-evaluation one year inUsing AI in Developer RelationsAI for the mere mortal web developer (YouTube)
    Vibebox

    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!

    We discuss the development of this app, including Ash's attempts to use v0 by Vercel and Render for hosting.

    Go check it out at https://vibebox.app.

    FPGA Updates

    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.

    Retroputer FPGA (in case you want to follow along—reminder that Kerri is not an expert with FPGAs, so take this code with a very large grain of salt)Retroputer Emulator (also in progress)Serial Port library for Node.js—Kerri uses this to create custom debugging tools written in JavaScript to explore the state of the CPU on the FPGA including a monitor and terminal. If you want to do something like this in the browser, it turns out that's an option too!Ever want to build a dynamic text UI in Node.js using React? Turns out you can with ink! Kerri uses this to build out a live updating monitor that reflects the state of the CPU she's building in the FPGA.Want to incorporate a cute TFT LCD into your hardware projects? Kerri's using this LCD from Adafruit and is slowly learning how to drive it.Also mentioned: the Pinecil soldering iron
    Our (semi-) quick...
  • This episode was recorded January 14th, 2024.

    What's in store, 2024?

    Welcome to a near year and new season of I'd Rather Be Scripting! 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!

    Kerri's topics:

    FPGA (Field Programmable Gate Array) development using the Alchitry Au kit and Vivado. One learning already: getting the toolchain working on an Apple-silicon Mac is challenging! (Way easier with an Intel-based Windows machine.)3D Printing. Bambu Lab is one of the mentions as a potential buy: https://bambulab.com/en-eu. Learning Latex (pronounced lay-tech). Of note, Texifier 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.Musical topics, including learning more classical music and figuring out polyrhythms. https://4four.io/ploop is a great way to explore how two (or more) competing rhythms sound. Also looking to get into finger drumming a bit, with a Korg Nanopad.

    Ash's topics:

    Exploring Makey Makey. During the conversation, Ash mentioned his sound maker Github repo named Chikurin. Go check it out!Coding topics, including Deno and asynchronous APIsGenerative AI in productNative app developmentAlso mentioned a single monitor arm that Ash has been using during the intro.
  • Zijn er afleveringen die ontbreken?

    Klik hier om de feed te vernieuwen.

  • 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.

    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.

    Kerri's Top Hardware

    ESR 3-in-1 Charger Stand for MagSafeSamsung T7 ShieldInsta360 Link WebcamStream Deck (Honorable mention)Iphone 15 Pro Max (Honorable mention)

    Ash's Top Hardware

    AudioTechnica Sound BurgerMac StudioMoleskin Cahiers

    We have a brief chat about e-readers as we both have been considering getting one. The following were mentioned:

    Remarkable 2Boox Tab Ultra C

    Kerri's Top Software

    Rocket MoneyBackupLoupeDaisyDisk (honorable mention, along with a mention of GrandPerspective)Adobe Firefly & Adobe Express

    Ash's Top Software

    Adobe Lightroom (honorable mention)OllamaDraftsCheckYourList

    Kerri's Top Games

    Super Mario WonderZelda: Tears of the Kingdom (honorable mention)DredgeBugsnax

    Ash's Top Media

    StoryworthyThe Art of Leadership
  • 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 Adobe MAX website.

    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: Adobe Express Add-ons: Spark Creativity with Powerful Gems [S6712]. At the time of this recording some APIs were gated behind experimental flags, but these APIs are now available for all developers. (Note: Kerri is a product manager for extensibility at Adobe, but her opinions are her own.)

    Links:

    Adobe FireflyAdobe ExpressAdobe Express Add-on Documentation, including Audio and Editor (now Document Model) APIs

    Ash also mentions the DevRelX summit, and a panel he was about to host on AI: 2.0 of your DevRel team - How DevRel teams can use AI today? (Recording) You should absolutely go check this panel session out — it was fantastic, with lots of great insights from the panelists.

    Near the end we also chat about the new iPhone and upgrading from previous models.

  • This episode was recorded on September 4, 2023

    Intro

    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).

    Traveling & Events:

    apiDays London 2023 (YouTube playlist)Adobe Max

    We also chat a little bit about setting up kiosks for conferences and setting up education setups using GitHub Codespaces and Replit.

    Before we delve into the main topic, we also make a few detours, as per usual:

    Vergecast (Aug 23): Mythical computers and super appsHacking the Timex m857 (Found on Hacker News)Atari 2600 reissue
    Our sources for staying up-to-date

    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.

    Hacker NewsReddit & Reddit-likes, including Tildes, Lobste.rs, and Lemmy's technology forumProduct HuntIndie HackersYouTube — and a channel right up our alley: Work From Hype. Also check out this interesting related article: "The $60 Monitor Worth Having on Your Desk"Stratechery

    Honorable mentions (including apps) that didn't get called out in the episode, but you should go check out anyway:

    TechmemeNetNewsWire (App)GoodLinks (App)Daring Fireball (& The Talk Show podcast)Morning BrewTechnology Connections (YouTube)Dave's Garage...
  • Recorded July 23, 2023

    Intro

    This episode is all about desk setups! (And a little about desktop menu bar setups…)

    But first, Kerri and Ash catch up on We Connect the Dots, Apple II Basic, and summer movies. 

    Desk setups

    It's been alluded to a few times, and now it's actually happening—Kerri and Ash share all about their home desk setups.

    Some of the gear they cover includes:

    Insta 360 Link webcam: https://www.insta360.com/product/insta360-linkWave XLR: https://www.elgato.com/us/en/p/wave-xlrStream Deck+: https://www.elgato.com/us/en/p/stream-deck-plus-blackStream Deck SDK: https://docs.elgato.com/sdk/plugins/overview
    iStat Menus

    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!

  • Beyond OpenAI APIs

    Recorded Jul 9, 2023

    Intro

    Kerri and Ash kick things off by talking about their 4th of July celebrations. Also they talk about learning Japanese and not learning German.

    Music ML Update

    Kerri has some follow-up regarding a recent episode on music and ML.

    Topics covered include:

    Google’s AI Music KitchenMusicLM (Example; Dataset; Paper)

    Kerri notes how these tools today can be great for idea generation, but won't necessary write your albums for you... yet.

    Going beyond OpenAI APIs

    Ash is interested in exploring beyond calling OpenAI APIs for creating smart features.

    On reason for the timing of this exploration is that Ash's team at Nylas 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.

    Hugging Face joins the chat...

    Hugging Face—which Ash will refer to as the GitHub for AI models—is quite useful with its free tier.

    There's a Node.js module for Hugging Face, which Ash built a tiny, tiny demo around (GitHub repo here).

    Ash notes that there is some dialog in the developer community around whether LangChain is pointless or not (Reddit; HackerNews).

    You can decide for yourself by checking out the LangChain docs.

    Also... LocalLlama is something Ash and Kerri want to play with.

    Mac stuff

    Ash refrained from talking about his new Mac Studio in the last episode. He gets into it a little more in this one.

    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 DiffusionBee speed gets discussed.

    Desk stuff

    Kerri and Ash talk about their different approaches to cable management:

    Kerri: avoidAsh: obsess

    Obligatory xkcd: https://xkcd.com/2810/

    Ash also brings up the topic of KVM switches.

    Ash got: 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)Kerri is eyeing: SABRENT KVM Switch, USB-C, 1-PC to 1-Display with 60 Watt Power Delivery (USB-KCPD)
  • Adobe Express Add-ons

    Recorded Jun 25, 2023

    Intro

    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.

    Kerri also tells Ash about the Star Trek Resurgence game, while Ash is trying to avoid talking about his new Mac Studio.

    Adobe Express extensibility

    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!

    Then our co-hosts do a deep-dive. To start, Kerri gives Ash a recap of what Adobe Express is.

    Building on this basic understanding, Kerri and Ash look at what developers can do with the Express Add-on APIs:

    Storage and content I/O Icon generation Recoloring Workflows and automation

    Then Kerri and Ash get into the how by talking through the Adobe team's priorities for APIs, which—at recording time in June 2023—were in private beta:

    OAuthDrag and dropI/ONetworking

    You can get the docs here.

    Some early examples of Adobe Express Add-ons that come up:

    Accessibility (A11y): add-ons for color blindnessAttention Insight: heat map based on AINotion: this add-on doesn't yet! But developers: go build that please! - Love, AshMediaGrab: scrape assets from web pagesClipping Mask Pro: now with blobs!NFTs: add-ons for managing themVisionBoard: mood boarding

    Kerri then walks Ash through the end user flow:

    Make a new blank assetSelect add-ons in the left-hand navSelect and add-on and click the “Add” button

    All-in-all, our co-hosts, while surely biased, are quite excited about the possibilities Adobe Express extensibility APIs represent.

    Obligatory xkcd

    Questing for info on a Safari color picker bug: https://xkcd.com/979/

  • Intro

    Ash kicks things off by sharing his recent appearance on the API Intersection podcast. 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.

    Then back to our own podcast episode: it's AI and creativity with Kerri and Ash from there!

    The Art of AI: Generative Technologies for Image Creation

    Stardate: zero degrees kelvin. Join our co-hosts as they traverse the exciting galaxy of generative AI technology for image creation.

    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.

    Making Music with AI

    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:

    Soundraw and Loudly, exploring new frontiers in AI music creation: Soundraw, LoudlyFadr, the future of music generation: FadrEcrett Music, revolutionizing music creation: Ecrett MusicAIVA, AI that composes emotional soundtrack music: AIVAMusicLM from Google's AI Test Kitchen, an experiment in music language modeling: AI Test Kitchen, MusicLMMuzic, an open-source project for generating music with AI: MuzicAmadeus Code, the iOS app for creating unique song ideas with AI: Amadeus CodeMuseNet by OpenAI, a deep learning model that can generate 4-minute musical compositions with 10 different instruments: MuseNet

    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.

    In the 2020's, my SoundCloud checks out you! ♫

  • Intro

    Kerri and Ash talk trees! Unfortunately for us all, Ash turns this into a recurring analogy about giving in to our AI overlords.

    Talk to your OpenAPI spec

    If a tree is going to fall on your house, do you ignore it... or talk to ChatGPT?

    Well, Ash is excited about OpenAPI specs that talk back. Our co-hosts talk through a fun approach to this:

    Paste in your OpenAPI specAsk some yes/no questions about capabilities, correct as neededAsk some how-to questions, correct as neededHave fun!*

    *Fun = ask for Getting Started guides, look for issues, get it to code, etc**

    As part of this, Kerri and Ash talk about learning how to ask good questions:

    ❌ "What would a Getting Started guide look like?" → (You get an outline of best practices.)✅ "Write me a Getting Started guide for Node.js 18 developers." → (You get an actual Getting Started guide that a developer could use.)

    Thank you AI. We are better humans now.

    Writing a scraper with ChatGPT

    ChatGPT can't scrape webpages at the moment, but it caaaaan tell you how!

    Ash talks about using ChatGPT to write a webpage scraper in Node.js and clobber it together with the Google Books API.

    ChatGPT does a great job functionally, but requires some guidance on coding opinions. Ash has coding opinions, so he asks the AI to:

    Use ESM imports instead of CommonJS requiresUse async/await syntax instead of PromisesUse Node.js-native fetch instead of axios

    Kerri points out how interesting it is that ChatGPT fumbles with ESM imports in the same way that a human would.

    Mid-project, Ash teeters on the edge between the theory and reality of an xkcd automation classic... but he triumphs in the end? (He does!)

    More funKerri mentions that she's looking into a game streaming setup. Ash plans to be the first sub.Ash mentions that he recently spoke at apiDays. The video will be on the apiDays YouTube channel soon.

    ===

    ** ChatGPT advised that:

    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.

    But we're confident the real human scripters know what fun means 👾

  • Intro

    Ash re-discovers the Upper West Side of Manhattan while Kerri goes fishing in Dredge on the Steamdeck!

    Also! Star Trek feelings for both co-hosts at the end of Star Trek: Picard. For the true 80s kids, watch LeVar Burton's TNG Reading Rainbow Special for maximum feels.

    Experimenting with AI in Developer Relations

    Ash wrote a blog post about how DevRel teams can start using AI.

    The post covers the following questions about AI in DevRel, some of which Kerri and Ash cover in this episode:

    How can AI enhance the way you work?How can developers use third-party AI to enhance their integrations with our APIs?How can AI enhance the developer experience we offer?How can AI enhance our product?

    Kerri and Ash cover all kinds of stuff here, including:

    A "sandwich model" for human-AI collaborationThe possibilities with using OpenAPI specs to provide an AI with contextAsking the AI for "white space" in your thoughts: "What am I missing?"The copilot is you! And sometimes your pilot is a little bit drunk....... Yet perfection is not the bar we should be setting
    Experimenting with AI in developer use cases

    A deep dive into question #2 above: AI-enhanced sample code!

    Ash uses OpenAI APIs and Nylas APIs to triage his Gmail inbox. You can read a bit about it, or see the code.

    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.

  • Kerri and Ash play with AI!

    Image generation

    First up, our co-hosts look at text-to-font and text-to-image capabilities of these tools:

    Adobe FireflyMidjourneyStable Diffusion

    You can see all of the images we mention in this Mastodon thread.

    Code generation

    Next up, code-generation tools like GitHub Copilot, GitHub Copilot for Docs, and ChatGPT get a look.

    Here's the Adobe UXP plugin code that was generated (notice the sweet, sweet use of Papyrus):

    ```

    const { executeAsModal } = require("photoshop").core;

    const { LayerKind } = require("photoshop").constants;

    async function main() {

      try {

        await executeAsModal(async () => {

          const activeDocument = require("photoshop").app.activeDocument;

          const textLayers = activeDocument.layers.filter(layer => layer.kind === LayerKind.TEXT);

          await Promise.all(textLayers.map(async layer => {

            layer.textItem.characterStyle.font = "Papyrus";

            await layer.textItem.convertToParagraphText();

          }));

        });

      } catch (err) {

        console.log(err);

      }

    }

    ```

    Links!

    Subscribe to I’d Rather Be Scripting on:

    Apple Podcasts: https://podcasts.apple.com/us/podcast/id-rather-be-scripting/id1540518298Overcast: https://overcast.fm/itunes1540518298/id-rather-be-scriptingAnywhere: https://www.idratherbescripting.com

    Kerri 

    Mastadon: https://mastodon.cloud/@kerrishottsInstagram: https://www.instagram.com/kerrishottsGitHub: https://github.com/kerrishottsLinkedIn: https://www.linkedin.com/in/kerrishottsYouTube: https://www.youtube.com/c/KerriShotts

    Ash

    Mastadon: https://indieweb.social/@ashryanInstagram: https://www.instagram.com/ashryan.ioGitHub: https://github.com/ashryanbeatsLinkedIn: https://www.linkedin.com/in/ashryan
  • Intro: Time!

    Kerri and Ash kick this one off by chatting about time! ⏱️

    JavaScript libraries mentioned:

    Luxondata-fnsMoment

    Also an old blog post by Ash showing how to avoid accidental object mutation with Moment. tl;dr for 2023 and beyond: Don't use Moment. They say so too!

    Main topic: Mermaid

    For this episode's main topic, Kerri introduces Mermaid, which is a:

    JavaScript based diagramming and charting tool that renders Markdown-inspired text definitions to create and modify diagrams dynamically.

    Kerri takes us on a tour of the live diagram editor, and then through the docs where our cohosts ponder on different diagram types like user journeys, sequence diagrams, mindmaps, timelines, and more.

    Closer: Diagram tool shoutouts

    At the end, Kerri and Ash call out some of their favorite diagram or diagram-adjacent tools.

    Kerri's list:

    Sequence Diagram (Mac App Store)OmniGraffleditaa

    Ash's list:

    MindNodeTydlig
  • In this episode, Ash and Kerri talk about ChatGP, the challenges of automating macOS, and a cool tool called "Bunch" by Brett Terpstra.

    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!

    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 (https://bunchapp.co/). From the website:

    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.

    Kerri walks Ash through her first experiences using Brunch, and the pair start brainstorming about interesting ways of incorporating it into their workflows.

    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: https://bunchapp.co/docs/integration/focus-modes/

    Some other tips:

    Don't blindly invoke bunches (even the example bunch) without reading the script first!You can quickly edit a bunch by cmd-clicking on a bunch in the app menuBe careful with apostrophes in file names—that seemed to cause bunches not to load (but may have just been user error, too!)

    Other links that came up during the discussion:

    Elgato Streamdeck (https://www.elgato.com/en/stream-deck-mk2) and Bunch feels like a perfect matchMy mom's Art tutorials site (she uses an Elgato Streamdeck for recording): https://www.redtoadartstudio.com/ and https://www.youtube.com/@redtoadartstudio/videosPianoteq (https://www.modartt.com/) has a JSON RPC interface, which could be interesting to automate (See https://github.com/shuhaowu/remote-for-pianoteq for web front-end example)
  • It’s been a few weeks since Kerri and Ash sat down to talk and they had a lot to say!

    ---

    First up—follow-up! Kerri reports back on the We Connect the Dots Code-A-Thon. Topics covered include:

    The care required when guiding early programming learners from local to prodAn update on JavaScript notebooks (covered in depth in the previous episode)

    Tools mentioned: 

    RunKitCodeSandboxGitHub PagesNetlifyReplit

    ---

    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?).

    Handy links for Safari Web Extension development:

    ”What’s new in Safari Web Extensions” WWDC22 video"Broswer Extensions" on MDN docs“Developing a Safari Web Extension” on Apple docs

    ---

    At the very end, Kerri and Ash share the Safari Web Extensions they currently use on the daily. Mentioned are:

    Ghostery (ad blocker)NetNewsWire (RSS reader)Apollo (Reddit client)1Blocker (ad and tracker blocker)Super Agent (automatic cookie consent)GoodLinks (bookmark and link manager)

    ---

    Follow your co-hosts on:

    Kerri 

    Mastadon: https://mastodon.cloud/@kerrishottsInstagram: https://www.instagram.com/kerrishottsGitHub: https://github.com/kerrishottsLinkedIn: https://www.linkedin.com/in/kerrishottsYouTube: https://www.youtube.com/c/KerriShotts

    Ash

    Mastadon:
  • I'd Rather Be Scripting is back after the holiday break!

    Kerri and Ash start with follow-up from "Episode 7: Decker, Lil, and a good dose of HyperCard nostalgia". Decker developer John Earnest reached out with a few app updates relevant to episode 7, including:

    X-Ray Specs, a super power for seeing through the Lil script editor into the deck to speed up script developmentImproved column formatting for creating and manipulating table data on the fly (as well as documentation improvements for column formatting)Confirmation that locking a deck is essentially kiosk mode in Decker

    The Coding with Nylas YouTube video that Ash mentions is "Episode 41: How to build an agenda using Decker (HyperCard) and Ruby".

    ---

    For our main topic, Kerri talks to us about her findings in the land of JavaScript notebooks. Specifically, Kerri shares some details about:

    RunKitObservableCodebook Visual Studio Code ExtensionNode.js Notebooks (REPL) Visual Studio Code Extension

    Kerri is looking into JavaScript notebooks to support her students at We Connect the Dots, which educates students about Science, Technology, Engineering, Arts, and Math (STEAM).

    Check out the We Connect the Dots Code-A-Thon 2023 page 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!

  • 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.

    Kerri's 2022 Lookback

    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.

    For those wanting to dig into Swift and Swift UI, these links may prove useful:

    Hacking With SwiftSwift UI Quick Start (from Hacking with Swift)r/SwiftUI Reddit communitySwift UI Lab

    Kerri's next two topics were related to JavaScript:

    JS Tooling, especially bundlers -- Kerri is using and loving esbuild for bundling complex projects extremely rapidly.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. See this MDN article for more. 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 CLI docs.
    Ash's 2022 Lookback

    First, Ash talks about Open API tooling, in particular OAS Tools. For an entire deep dive, see Episode 6, "OAS Tools Deep Dive".

    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 episode 8, "Bootstrap and Tailwind.CSS: component-first vs utility-first frameworks".

    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:

    VercelRailwayFly.ioNetlifyCloudflareDigital OceanSupabase
  • Kerri and Ash are deep diving into Logic Pro MIDI scripting this time.

    ===

    But first! WiFi routers! 🥱😴😪 Because Ash is done with Eero yet has Mesh Needs™️. He's opted for the Asus ZenWiFi AX 6600 2-pack and things are good so far.

    Aaand while we're in WiFi router corner, can we just pour one out for Apple AirPort Express? Ash's finally died a few years ago, but Kerri still has one doing its thing reliably.

    ===

    For our main topic, Kerri introduces Ash to the world of MIDI scripting in Apple Logic Pro.

    But not in the language you thi-iiiink: it's a JavaScript API!

    Some links discussed:

    "Use the Scripter MIDI plug-in in Logic Pro" on Apple Support"Use the Scripter MIDI plug-in Script Editor in Logic Pro" on Apple Support"MIDI processing functions in Scripter MIDI plug-in in Logic Pro" on Apple Support (*this* is the API documentation)"An Introduction to Scripting in Logic X" on Envato Tuts+ (2015)andrewjhunt/logic-pro-scripter on GitHubLPX Scripts on GitHub

    Gists of Kerri's plugins (these are conversions from other scripts for other DAWs; see each one's header for the original inspiration):

    Loud Note Correction Script for Logic Pro X (based on a script by herqX)Pitch-based Velocity Transform plugin for Logic Pro X (Based on this script by fraaly)

    Kerri's general tips and tricks for getting started with Logic Pro scripting:

    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!Find tutorials; the official docs are... sparse and unsearchable—the links above are a great start.Find 3rd-party docs class-and-method referencesSet magic globals with *var*, not "const" or "let" (e.g.: var NeedsTimingInfo = true;)Click "Run script" to push your script changes to the app; saving alone will not push the changes

    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.

    ===

    Lastly, Kerri and Ash talk about developer experience as a general subject, in...

  • Kerri and Ash talk CSS frameworks and the difference between component-first and utility-first frameworks. 

    The frameworks in the mix are:

    Bootstrap: the venerable component-first framework that has made it easy to create responsive, grid-based layouts for over a decade.Tailwind CSS: a utility-first CSS framework that encourages use of utility classes over creating bespoke names for every div in your HTML.

    Since Ash is currently exploring Tailwind CSS, our co-hosts look at it more closely, specifically calling out these developer resources:

    Tailwind CSS framework guidesUtility-first fundamentalsThe Tailwind CSS just-in-time (JIT) engine

    ===

    And! Here are the follow-up items mentioned from previous episodes:

    “Learn Prisma in 60 minutes” on Web Dev Simplified“Create an entity resource file for OAS Tools with Prisma” on ashryan.ioOAS Tools documentation > Prima ORM integration
  • Kerri and Ash have spent some time with Decker—created by John Earnest—which bills itself as:

    a multimedia platform for creating and sharing interactive documents, with sound, images, hypertext, and scripted behavior.

    It's a new take on HyperCard, a classic Mac app from the 80s and 90s that both of our hosts share their nostalgia for.

    If you're getting started with Decker, here are the 3 key resources mentioned during the conversation:

    Decker user manualLil scripting language documentation5GUIs example deck

    Check out the interactive Decker decks that our hosts made and deployed:

    Podcast episode browser by KerriTodo app by Ash

    The Lil script that Ash describes for adding a row to a grid is:

    on addItem do todoList.value: insert item:todoField.text status:false into todoList.value todoList.format:"sB"end

    ===

    Kerri mentions getting her Panic Playdate midway through. If you're wondering what that is, you can find out all about it on https://play.date/.