Tune in to the tools and techniques in the Elm ecosystem.
Similar Podcasts
The Cynical Developer
A UK based Technology and Software Developer Podcast that helps you to improve your development knowledge and career,
through explaining the latest and greatest in development technology and providing you with what you need to succeed as a developer.
New Rustacean
A show about the Rust programming language and the people who use it.
The Rabbit Hole: The Definitive Developer's Podcast
Welcome to The Rabbit Hole, the definitive developers podcast. If you are a software developer or technology leader looking to stay on top of the latest news in the software development world, or just want to learn actionable tactics to improve your day-to-day job performance, this podcast is for you.
081: elm-form
dillonkearns/elm-formExploring a New Form API Design episode (discussion of some ideas that became dillonkearns/elm-form)Ellie example of elm-formMeetdown code that does additional checks to ensure that opaque type are trusted (sending unparsed data in Lamdera sendToBackend avoids this pattern)Lamdera example with elm-formelm-app-urldillonkearns/elm-package-starter
080: Elm and AI
ChatGPTGitHub Co-PilotTweet showing intermediary questions prompt engineering techniqueelm-gql episodeDillon's prompt engineering type puzzle examplesDecode mapping solution (correct on first try)Markdown solution with 2 corrections from compiler feedbackDillon's Frame Then Fill In blog post describes a similar method to the GPT prompt
079: Scaffolding Elm Code
elm-codegen episodeElm Code Generation episodeScaffold API in elm-pages v3 beta
078: Color parameters in elm-tailwind-modules with Philipp Krüger
Philipp Krüger, aka matheus23 (github) (twitter)matheus23/elm-tailwind-modulesmatheus23/elm-default-tailwind-modulesTailwindCSSIntroduction to elm-tailwind-modules Elm Radio episodeTailwind UIhtml-to-elm.comelm-review-html-to-elm packagematheus23/elm-tailwind-modules-base
077: elm-app-url with Simon Lydell
Simon Lydell (github)lydell/elm-app-urlShort YouTube walkthrough Introducing elm-app-urlJohn Kelly's blog post explaining the URL parser types understanding the design of elm/urlRichard Feldman's conference talk explaining early elm-css syntax design ideas and changes over time The Design Evolution of elm-css and elm-testURLSearchParams in JavaScriptWHATWG URL StandardArlo Belshee post on WET (Write Explicit Tests)
076: Elm and Vite
Lindsay Wardell (github)ViteESM (native JS module import statement)esbuildRollupVitestTurbopackVite SSR mode (for framework authors)vite-plugin-elmDocs on configuring ViteLindsay's vite-elm-templateWeb Workers APILindsay's blog post Utilizing Elm in a Web Workerelm-watch Elm Radio episodeArticle about finding Google Fonts embeds to be in violation of GDPRGoogle fonts download plugin setup in the elm-pages docs sitevite-nodeawesome-vite repoLindsay's ViteConf 2022 talk Functional Programming in Vite with ElmViteConf 2022 talks
075: elm-pages scripts
elm-pages v3 (still in pre-release)elm-pages v2 DataSources are called BackendTasks in v3Feels similar to elm/core Task (andThen, map, mapError)Script.logMinimal setup repo for running scriptswolfadex/elm-inkBackendTask.Custommdgriffith/elm-codegenFatalErrorBackendTask.allowFatalZoddillonkearns/elm-cli-options-parser (Elm package for parsing command-line flags and showing help text)Other Elm tools for running scriptselm-posixelm-scriptelm-pages V3 starter (still pre-release)elm-pages V3 beta package#elm-pages Slack channel
074: Plug and Play Design Systems with Georges Boris
Georges Boris (twitter) (github) (Uncover)elm-widgetsTwitter Bootstrapelm-themeelm-theme Tailwind pluginelm-sortable-table philosophy in readmeConfidenceman02/elm-select/latest/tesk9/elm-accessible-htmltesk9/paletteelm-theme showcase site using Elm Bookelm-theme theme generatorWhy Breaking Up with CSS-in-JS blog postLoading widgetsModal widgetsdetails HTML elementdialog HTML elementTooltipsCSS :has() pseudo-classJS tool for theming Theme UI
073: Security in Elm
Bobby Tables XKCD comicSQL injectionsDDoS attacksXSS (Cross-Site Scripting) attack prevention cheatsheetJeroen's blog post Fixing vulnerabilities in Elm's virtual DOMHTTP cross origin cookie policy optionsRichard's Oslo Elm Day keynote where he discusses rolling your own tools for security reasonslukewestby/elm-http-builderOutput Encoding articleElm's Virtual DOM implementationFeross' CS 253 Stanford Web Security course on YouTubeWeb Security course notes and slidesFeross' blog post What's Really Going On Inside Your node_modules Folder?
072: 2022 Holiday Special
GuestsMario Rogic (twitter) (github)Matthew Griffith (twitter) (github)LinksElmcraft.orgJeroen's Elmcraft article ESLint equivalents in ElmElmcraft project on GitHubElmcraft discordelm-codegenelm-gqlMatt's Strange Loop talk CodeGen with Types, for Humans, by HumansTail recursion modulo cons elm optimize level 2 prelm-review extractors featureelm-pages-v3-betaelm-pages Script (v3 feature)OpenAI whisper project on GitHubelm-watchelm-bookelm-widgetsL*a*b color spaceelm.develm-watch episodeelm-tailwind-modules color parameterization PR
071: Deliberate Practice
Practice makes permanentFlow book by Mihaly CsikszentmihalyiKey Principles of Deliberate PracticeIsolationAppropriate level of challengeIntrospectionCode katasFuzz buzzTennis kataRoman Numerals KataGilded roseConstraint gamesTDD is a core tenant of katasExercismMartin Janiczek fuzz testing (and elm-test v2) episodeAdvent of CodeDillon's elm-katas starter repoElm Gilded Rose starter repoTCR (test commit revert)Dillon and Corey Haines pairing using TCR on the Gilded Rose kata in ElmDillon's example TCR script for snapshot testing workflow
070: elm-gql with Matthew Griffith
vendrinc/elm-gqldillonkearns/elm-graphqlelm-codegenThe Insomnia API client has a graphql toolGraphQL variablesWrap early, unwrap lateGraphQL Union TypesGraphQL Enum typesDillon's Types Without Borders elm-conf talkGraphQL fragmentsRichard Feldman's talk Immutable Relational DataElm Store Pattern episoderemotedata packageElm Radio elm-graphql episodeVendr is hiringDillon's Types Without Borders Isn't Enough blog postelm-ts-interop episodeGraphQL approach for sending allow listed hashed query to serverGraphQL field aliasesMatthew's Strange Loop talk CodeGen with Types, for Humans, by Humansharmboschloo/graphql-to-elmDeprecated jahewson/elm-graphql toolelm-gql repo guideelm-gql GitHub API example repo
069: Types vs. Tests
Is TDD Dead? (TDD is Dead and associated video discussions with TDD experts)Roc-lang's tagged unionsXP (Extreme Programming)80-20 rule (i.e. Pareto Principle)Amanda Laucher's ScalaDays talk Types vs TestsKent Beck's book TDD by Exampledtwrks/elm-bookMartin Janiczek's Elm Online talk on Storybook-driven developmentTalk with demo of program synthesisRelentless Tiny HabitsCode Katas
068: Elm and ADD
Getting Things Done methodologyElm Radio Developer Productivity episodeElm Radio Parse, Don't Validate episodeScaling Elm apps Elm Radio episodeRuby's method_missingRuby's Enumerble API methodsJoël Quenneville's recommendation to write functions at a single level of abstractionelm-pages v3 API makes HttpOnly cookies opt-out instead of opt-inLlewellyn Falco and Woody Zuill's video Practical Refactoring ("Understand the code so we can change it" vs. "change the code so we can understand it")Elm Radio Incremental Steps episodeElm Radio Opaque Types episode
067: Elm at a Billion Dollar Company with Aaron White
Aaron White (github) (twitter)Vendr (github)Vendr, Software Procurement Startup, Raises $150 Million at Unicorn Valuation - BloombergMake Impossible States ImpossibleLuke Westby's talk on Web ComponentsRichard Feldman's 2016 meetup talk on Web Componentselm-spa-exampleelm-spaelm-spa-realworld exampleEvan's elm-sortable-table repoActor framework or taco or Msg translator (nested TEA) didn't work out wellelm-codegenPlop templating toolStorybookEvan's vision for data interchangeVendr is hiring