
Elm Town
A podcast about the people making and using the Elm language, and the things that they do.
Latest episodes

Sep 5, 2023 • 1h 22min
Elm Town 64 – The network effect
Martin Stewart comes back to share his experience using Elm and Lamdera to make all the things, from games to professional apps.Thanks to our sponsor, Logistically. Email: elmtown@logisticallyinc.com.Music by Jesse Moore.Recording date: 2023.07.10GuestMartin StewartShow notes[00:00:14] Sponsored by Logistically[00:01:01] Introducing Martin Stewarthttps://ascii-collab.appCircuit breakerMeetdownState of Elm survey 2022/2023Under MartinSStewart/:elm-audio packageelm-serialize packagelamdera/program-testInteractive UI source maps for LamderaHobby scale: making web apps with minimal fuss by Martin Stewart[00:02:21] A New Year's gift from Thea & MartinElm Town 48 – Making Little Games Like Presents[00:06:52] Discovering Lamdera"Evergreen Elm" by Mario Rogic at Elm Europe 2018[00:09:54] Lego Loco Remake - Take 2https://town-collab.appPer Martin, turns out the "better presentation" on how the netcode in ascii-collab works was not recorded.[00:17:46] Move fast and not break things[00:23:02] elm-serializeMartin Stewart's elm-serialize packageMiniBill's elm-codec package[00:25:47] Performance challengesElm Optimize, Level 2![00:28:56] Building Lamdera tools and working with Mario RogicAaron VonderHaar's elm-program-test[00:42:21] "The real cost of using Lamdera..."[00:45:05] Making MeetdownElm Online Meetup[00:48:37] Using Lamdera professionallyUsing Lamdera professionally[00:53:17] elm-mapMartin Stewart's elm-mapJakub Hampl's elm-mapbox[00:56:44] WebGLelm-explorations/webglElm 3D Pool Game Collaboration with Andrey KuzminIan Mackenzie's elm-3d-scene[01:01:41] Realiahttps://realia.se/[01:07:03] Elm MarketElm Camp[01:10:52] State of State of ElmIt's ready! https://state-of-elm.com/[01:18:07] PicksMartin's PicksMiniBill's elm-interpreterJim Carlson's Elm NotebookJared's PicksLamdera docsElm Online Meetup

Aug 22, 2023 • 1h 11min
Elm Town 63 – Opening the doors of functional programming
Join Mika Naylor on her journey with functional programming through the doors of Elm to Elm Land and beyond.Thanks to our sponsor, Logistically. Email: elmtown@logisticallyinc.com.Music by Jesse Moore.Recording date: 2023.06.08GuestMika NaylorShow notes[00:00:25] Sponsored by Logistically[00:01:04] Introducing Mika NaylorNix and NixOS"Behind The Lambda",at Python Pizza Hamburg 2021"Leading Beyond Tools, Process & Structure" with Johannes Moser at Worker Conf 2022elm-spaElm Land 🌈[00:02:09] Fan sites and forums[00:04:44] From Emily, "How did you first get excited about Elm?"[00:11:17] Elm as a gateway drug to functional programming[00:18:17] Not disempowering teams[00:22:25] A community of makersr/elmElm Discourse[00:27:55] Experience using Elm LandElm Town 62 – The map to Elm LandWyrhta Ceramics (sourceElm Town 6 - The Founding Story - Evan talks about inspiration for explicit imports ~32:00[00:42:23] DhallDhall[00:44:50] Fearless refactoringMatthew Griffith's elm-ui[00:52:46] Collaboration with machine learning modelsWyrhta Ceramics - Fey Mood - Works made in collaboration with ML models, like GPT@mika@hordburh.autophagy.io - Mika's Mastodon[01:01:48] Stoicism & ElmMeditations by Marcus Aurelius2023 Resolutions"Make Reliable Web Apps Without JS Fatigue" by Jared M. Smith at Detroit Tech Watch 2019[01:05:20] PicksMika's PicksLearn You a Haskell for Great Good! by Miran LipovačaThinking in Systems by Donella H. MeadowsJared's PicksAll things Mouse Reeve"Mapping Imaginary Cities" by Mouse Reeve at Strange Loop 2018"Minimalist Piano Forever" by Mouse Reeve at Strange Loop 2019 (listen at gnossiennes.mousereeve.comBookWyrmPlease contact me elmtown at jaredmsmith.com to recommend/share climate-related work using Elm.

Aug 8, 2023 • 54min
Elm Town 62 – The map to Elm Land
Ryan Haskell-Glatz talks about making Elm mainstream, learning through iterations of elm-spa, and how experiences at Vendr shaped Elm Land.Note: the quality of Jared's recording is off and there are technical difficulties with the video at the end.Thanks to our sponsor, Logistically. Email: elmtown@logisticallyinc.com.Music by Jesse Moore.Recording date: 2023.06.05GuestRyan Haskell-GlatzShow notes[00:00:11] Introducing Ryan@rhg_dev on YouTubeElm Landelm-sparyannhg/date-formatryannhg/graphqlGrowing Programming Communities on Software Unscripted with Richard Feldman[00:00:57] A common computing genesisLet's be mainstream! by Evan Czaplicki at Curry On Prague, 2015Seven Seas Remake[00:12:27] Elm at workelm-spa v3elm-spa v6 on Elm Radio[00:20:15] Solving different problems with Elm Land vs. elm-spaorus-io/elm-spa[00:24:03] Scaling an Elm Land projectelm-pagesDillon's elm-graphql["Incremental Type Driven Development"]](https://youtu.be/mrwn2HuWUiA) by Dillon Kearns at Elm Europe 2019[00:33:54] How the experience at Vendr shaped Elm LandMatthew Griffith's elm-ui[00:39:21] Sponsored by Logistically[00:39:55] Success with Elm at scale at VendrElm Town 60 – Productivity and the culture of moving a little bit slower with Wolfgang Schuster[00:43:12] Exciting stuff with Elm Land 0.19Elm Land: The Sai Update (0.19)The Milkmaid (Vermeer)[00:47:49] PicksRyan's Picks"Let's be mainstream!" by Evan Czaplicki at Curry On Prague, 2015"On Storytelling" by Evan Czaplicki at Deconstruct, 2017Jared's PicksElm RadioSoftware Unscripted

Jul 25, 2023 • 1h 30min
Elm Town 61 – Turning the pages with Dillon Kearns
Dillon Kearns turns the pages of his journey with Elm, from applying meta-learning techniques as a classical piano player & agile coach to building a full-stack Elm framework (elm-pages).Thanks to our sponsor, Logistically. Email: elmtown@logisticallyinc.com.Music by Jesse Moore.Recording date: 2023.05.04GuestDillon Kearns (https://incrementalelm.com/)Show notes[00:00:32] Introducing Dillon KearnsElm Radioincrementalelm.comdillonkearns/elm-graphql (Elm Radio episode)dillonkearns/elm-markdownelm-ts-interop (Elm Radio episode)https://html-to-elm.com/elm-pages 🎉[00:01:54] Links between experiences as an agile coach and piano player and how that relates to programming?[00:04:20] Do you really want to do what it takes to do that thing?Elm Radio 71 - Deliberate PracticeA Software Journey in Steps[00:15:08] Getting into programming[00:20:48] Defining moments[00:23:25] Discovering Elm"Facilitating Technology Change Through Cultural Change" by Grant Maki"Make Reliable Web Apps Without JS Fatigue" by Jared M. Smith[00:28:39] ADHDElm Radio 68 - Elm and ADD"Work 2.0 - the interruptible programmer" by Steve Streeting[00:32:08] Mentors[00:33:39] Mobster and the Elm communityMobster[00:42:36] Jamming on jazz improvKafka on the Shore by Haruki Murakami[00:52:55] Finding time for experimentation & learningLean Startup by Eric Ries[00:56:49] How to make an incremental learning path with elm-pages[01:02:33] New features in elm-pages v3Elm Radio 75 - elm-pages scriptsElm Radio 86 - elm-pages v3Elm Radio 81 - elm-form[01:12:48] Elm and AIElm Radio 80 - Elm and AI"Assume ChatGPT is Lying" by Kevin Yank[01:16:18] Sponsored by Logistically[01:16:59] Seeing how other folks are using ElmElm Radio 67 - Elm at a Billion Dollar Company with Aaron White[01:19:29] PicksDillon's picksGetting Things Done by David AllenThingsNonviolent Communication by Marshall Rosenberg"Practical Refactoring - How to clean code in many small steps" by Llewellyn Falco and Woody ZuillJared's requestIf you work on addressing the climate crisis using Elm, I'd love to have you on the show. Please email me elmtown@jaredmsmith.com.

Jul 11, 2023 • 1h 14min
Elm Town 60 – Productivity and the culture of moving a little bit slower
Wolfgang Schuster shares his journey with Elm, describes writing & deleting Elm code at Vendr, and explains the productivity gains in an ecosystem that values building things for the end user.Thanks to our sponsor, Logistically. Email: elmtown@logisticallyinc.com.Music by Jesse Moore.Recording date: 2023.05.02GuestWolfgang Schuster (https://wolfgangschuster.wordpress.com/)Show notes[00:00:22] Sponsored by Logistically[00:01:02] Introducing Wolfgang Schusterwolfadex/elm-ecswolfadex/elm-text-adventurewolfadex/tilerwolfadex/elm-open-api[00:02:55] Seeing Elm everywhereElm × Haskell Intersection from heyakyra[00:04:45] Going all-in on programming[00:10:23] "Just make it work"[00:13:18] Discovering Elm[00:25:27] Helping to build stuff with Elm while at SquareFarmers' market civic hacking by Dillon KearnsJeroen Engels' elm-review[00:28:39] Strategies for introducing Elm[00:35:09] Productivity & "the culture of moving a little bit slower"Elm Town 55 – From algorithms & animation to building a decentralized finance app[00:41:09] Introducing elm-review rules"Code is the Easy Part" by Evan CzaplickiDucks by Wolfgang Schuster[00:54:20] Elm at Vendr[00:58:09] Using Elm at scaleBring Your Own DOM – Part 1 – Portals by Wolfgang Schuster, as promised[01:03:43] Strategies for adding web componentsWolfgang's Fluent-Web internationalization web components[01:07:29] RocRoc[01:10:49] PicksWolfgang's picksStacy London on Front End Happy HourA Life Well Wasted by Robert AshleyJared's picksMatthew Griffith's elm-codegenKafka on the Shore by Haruki Murakami

Jun 27, 2023 • 1h 6min
Elm Town 59 – Elm Camp with Katja Mordaunt
Katja Mordaunt talks about Elm vibes versus other programming communities and gives us the low-down on Elm Camp.Thanks to our sponsor, Logistically. Email: elmtown@logisticallyinc.com.Music by Jesse Moore.Recording date: 2023.04.14GuestKatja Mordaunt (https://katj.am/)Show notes[00:01:00] Introducing Katja Mordauntcodereading.club"Growing an Elm Project with the Whole Team" at elm-conf 2019Functional Geekery Episode 140 – Katja Mordaunt and Adam WarskiElm Camp Europe[00:02:01] Computing in the 80's in SoCal[00:05:53] Switching careers[00:09:47] Commonalities in leading teams from film to computing[00:11:44] How Elm has a more accessible vibe than other programming communitieselm-conf 2017[00:15:22] How Katja discovered Elm[00:25:13] Code Reading Club[00:34:18] "How has being an Elm advocate helped to connect to the wider development community?"It Will Never Work in TheoryStrange Loop[00:37:10] Elm apps are not fragileguide.survivingeconomicabuse.orgyoumatterhaven.org.uk[00:40:27] Elm feels less stressful[00:47:07] Elm CampElm Online Meetupelm.camp[00:59:57] PicksKatja's picksThe Programmer's Brain byFelienne HermansEric NormandGrokking SimplicityThe Eric Normand PodcastJared's picksConsoleIf Hemingway Wrote JavaScript by Angus CrollSimon Lydell's elm-watchThanks, everyone, for coming to Elm Town! If you're enjoying the show, please share it with friends and like/rate it on your podcast platform.

Jun 13, 2023 • 58min
Elm Town 58 – Unblocking users with quality software
Tessa Kelly shares her experience unblocking users while building quality software, explains how to avoid the "accessibility dongle" using the Elm philosophy, and considers some tesk9/accessible-html design changes.Thanks to our sponsor, Logistically. Email: elmtown@logisticallyinc.com.Music by Jesse Moore.Recording date: 2023.04.04GuestTessa Kelly (https://github.com/tesk9)Show notes[00:00:13] Sponsored by Logistically[00:00:47] Introducing Tessa Kelly (she needs no introduction)Elm Town 9 - Getting StartedElm Town 30 - Accessibility with Tessa KellyElm Radio - (2020) Holiday Special!Elm Radio - Accessibility in Elmtesk9/accessible-htmltesk9/palette"Functional Data Structures" at elm-conf 2016"Accessibility with Elm" at elm-conf 2017"Writing Testable Elm" at elm-conf 2019Software Unscripted - Accessibility in Practice with the Accessibilibats! 🦇[00:01:25] Tessa is stealing her brother's life[00:03:48] The early days of Elm at NoRedInkNoRedInk/noredink-ui"The life of a file" by Evan Czaplicki at Elm Europe 2017[00:08:17] Motivation for building tesk9/accessible-htmlThe Four Principles of Accessibility - POUR[00:12:40] Not disempowering people"Don’t assume that you’re the default. Make space for there to be other ways of being.” - runner Lauren Fleshman on the Daily Stoic podcast[00:18:32] The business motivation for accessibilityVoluntary Product Accessibility Template (VPAT)[00:25:51] The tests are there for you[00:28:07] Using Elm philosophy to avoid the "accessibility dongle"Elm philosophy tweet[00:34:31] accessible-html design ideas[00:44:53] How do you feel about CSS?[00:49:00] What's going on at NoRedInk?"Word Labels" by Tessa Kelly on the NoRedInk blog.[00:52:35] PicksTessa's picks"Research Through Broken Lenses: The Need to ‘Shift Left’ in UX Research" by Michele Williams at axe-con 2023All of the axe-con 2023 talksJeroen Engel's elm-reviewJared's picksAaron VonderHaar's elm-program-testLucky Man by Michael J. FoxThe End of This Day's Business by Katharine Burdekin

May 30, 2023 • 1h 8min
Elm Town 57 – Brilliant ways to use Elm
Aaron Strick shares what it was like learning Elm at NoRedInk, and explains some of the "zany" (delightful) ways Elm is used at Brilliant.Thanks to our sponsor, Logistically. Email: elmtown@logisticallyinc.com.Intro music by Jesse Moore.Outro music (The Elm Song) by Matt Farley. (Commissioned by Michael Glass for elm-conf 2019.)Recording date: 2023.03.10GuestAaron Strick (https://aaronstrick.com/)Show notes[00:00:56] Introducing Aaron Strick[00:01:47] An eclectic background[00:05:12] The impetus for Aaron's journey into computers[00:07:10] Learning Elm at NoRedInk"A Farewell to FRP" by Evan Czaplicki on the move away from signals to The Elm Architecture.[00:10:32] What Aaron likes about Elmiselmdead.info[00:13:27] Challenges when learning Elm as first functional language[00:19:33] Mentors at NoRedInkElm Town 15 - Spotlight on Hardy JonesElm in Action by Richard Feldman"Haskell, in Elm terms: Type Classes" by Tereza Sokol[00:23:26] Richard gives us a memorable moment from NoRedInk[00:27:27] Benefits of the holistic approachElm Town 55 – From algorithms & animation to building a decentralized finance app with Dwayne CrooksDiscourse post with Cal Newport quote & how Evan works[00:30:18] Brilliant ways to use Elm"Diagrammar: Simply Make Interactive Diagrams" by Pontus Granström (Strange Loop 2022)Year End Review 2022 post on Aaron's website about working on a mathematical input boxBrilliant.org math courses[00:52:56] Using elm-pages to build aaronstrick.comaaronstrick.comelm-pages.comAaron's music (including the "Turtlehead Poo" cover)[00:59:02] PicksAaron's picksCSS for Javascript Developers by Josh W. ComeauEverything Everywhere All at OnceJared's picksCourtney BarnettParable of the Sower by Octavia E. ButlerThanks, everyone, for coming to Elm Town! If you're enjoying the show, please share it with friends and like/rate it on your podcast platform.

May 16, 2023 • 50min
Elm Town 56 – Why don’t you do it in Elm?
Théophile Kalumbu comes by to talk about how Elm makes developing a frontend fun, building a design system explorer, iterating quickly, and getting Elm to production.Thanks to our sponsor, Logistically. Email: elmtown@logisticallyinc.com.Music by Jesse Moore.Recording date: 2023.03.06GuestThéophile Kalumbu (@kalu_theo)Show notes[00:00:56] Some of Théophile's contributions to Elmkalutheo/ elm-ui-explorerTalk "Building a Design System with Elm" at Elm Europe 2019Recently talked about Elm on the French podcast "If This Then Dev"[00:02:35] Finding passion in programming through Nintendo games[00:09:20] Learning functional programming through React, then Elmlodash/fp[00:11:34] Elm stands apart to make developing a frontend funElm documentation requirements[00:13:29] "Why don’t you do it in Elm?"To the Elm audience member at the Elm meetup in Paris who encouraged Théophile to make Elm UI Explorer, if you're listening, please contact Jared (elmtown@jaredmsmith.com) or Théophile (kalutheo@hotmail.com or on Twitter @kalu_theo) to say "Hi".[00:18:10] Don't be afraid to start small"Compilers as Assistants" by Evan Czaplicki"Incremental Type-Driven Development" by Dillon Kearns at Elm Europe 2019dmy/elm-doc-preview[00:26:48] Getting Elm to production at Veepee[00:32:26] Elm as a double-edged sword of reliabilityDillon Kearns' elm-graphql[00:39:48] How Elm has changed the way Théophile writes software in general[00:44:33] PicksThéophile's picksDomain Modeling Made Functional by Scott WlaschinRichard Feldman's elm-cssRichard's Frontend Masters coursesIntroduction to Elm, v2Advanced ElmGeorges Boris' elm-bookJared's picksLuca Mugnaini's Elm 2022, a year in reviewMatthew Griffith's elm-uiThanks, everyone, for coming to Elm Town! If you're enjoying the show, please share it with friends and like/rate it on your podcast platform.

May 2, 2023 • 1h 8min
Elm Town 55 – From algorithms & animation to building a decentralized finance app
Dwayne Crooks stops in to share his appreciation of algorithms, experience learning Elm, challenges building Elm 2048, and how he uses Elm at work to build things like the decentralized finance app, Qoda.Thanks to our sponsor, Logistically. Email: elmtown@logisticallyinc.com.Music by Jesse Moore.Recording date: 2023.03.07GuestDwayne Crooks (https://dev.to/dwayne)Show notes[00:00:56] Some of Dwayne's contributions to ElmMaintains the BuiltWithElm websitePublished dwayne/elm-naturalBuilt 2048 game clone[00:01:51] How Dwayne became interested in programming[00:05:37] Discovering Elm[00:10:04] Previous experience with functional programmingStructure and Interpretation of Computer Programs (SICP) by Harold Abelson and Gerald Jay Sussman with Julie Sussman[00:13:49] Diving deeper into Elmdwayne/elm-random-quote-machinedwayne/elm-markdown-previewerdwayne/elm-drum-machinedwayne/elm-calculatordwayne/elm-raterdwayne/elm-tictactoe[00:16:46] elm-2048dwayne/elm-2048[00:19:31] Elm Radio rocks![00:19:46] Describing animation challengeDiscourse postElm 3D Pool on itch.io"Elm 3D Pool Game Collaboration" blog post[00:29:56] Experiments lead to building a career using Elmdwayne/elm-super-rentalsBuiltWithElm websiteRealFolkElm Town 36 - The Risk of Elm with Dhruv Dang[00:35:31] Debugging a custom data interchange parserHeisenbug[00:46:48] Building Qoda, a decentralized finance appQodaElm Guide chapter "Ports"[00:57:13] Jared "just" starts generalizing on how folks might do JavaScript interopJared makes generalizations here that work well for many cases but do not apply for every situation. For example, interop with UI tools such as a map would make more sense with custom elements rather than ports.Check out Dwayne's post on Discourse explaining how ports are used in Qoda.If you're stuck, please ask the community on Elm Slack or Discourse.[00:59:10] elm-naturaldwayne/elm-naturalCoury Ditch's elm-bigint[01:02:12] Cal Newport and the way Evan worksDiscourse post with Cal Newport quote & how Evan worksDisclaimer: Comments about how Evan works are based on our outside observations.[01:04:50] PicksDwayne's picksStructure and Interpretation of Computer Programs (SICP) by Harold Abelson and Gerald Jay Sussman with Julie SussmanHow to Design Programs: An Introduction to Programming and Computing by Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, & Shriram KrishnamurthiCal Newport's booksSo Good They Can't Ignore YouDeep WorkDigital MinimalismA World Without EmailEssentials of Programming Languages by Daniel P. Friedman, Mitchell Wand, and Christopher T. HaynesJared's pick "The Importance of Ports" by Murphy Randle