PLAY PODCASTS
Elm Town

Elm Town

92 episodes — Page 1 of 2

Elm Town 90 – Wonder: Contorting yourself with Ari Schlesinger

May 19, 20261h 52m

Ep 89Elm Town 89 – Elm Camp 2026

Elm Camp organizers Katja Mordaunt and Tomáš Látal share details about the June 15th-18th, 2026 event in Olomouc, Czech Republic, and extend an open invitation to Elm-curious folks in the broader community. Tickets on sale as of publishing! Thanks to our sponsor, Logistically. Email: [email protected]. Music by Jesse Moore. Edited by Toni Cañete. Recording date: 2026.01.28 Guests Katja Mordaunt Tomáš Látal Show notes [00:00:33] Sponsored by Logistically [00:00:54] Introducing Katja Mordaunt & Tomáš Látal Elm Town 59 – Elm Camp with Katja Mordaunt Elm Town 78 – Elm Camp 2024 with Katja Mordaunt and Wolfgang Schuster Scrive [00:06:22] Elm Camp Info elm.camp [00:07:33] The town of Olomouc Elm Camp Discord [00:13:28] The venue: Park Hotel Prachárna Hotel Prachárna [00:19:50] Unconference format Elm Town 85 – Wander: Elm Camp 2025 [00:27:16] Intentionally Elm-curious Elm Town 81 – Inspired: Bubble Tea with Christian Rocha Lambda Days [00:34:16] The beauty of Elm Camp [00:39:41] Picks Katja's pick "Teaching Haskell to Kids" Tomáš' picks Coderetreat Darknet Diaries Kagi Small Web "The Small Web is Beautiful" by Ben Hoyt Jujutsu

Mar 24, 20261h 0m

Ep 88Elm Town 88 – Wonder: Unconscious bias with Felienne Hermans

Felienne Hermans relates her journey in programming—writing The Programmer's Brain, uncovering biases within computing culture & herself, and building the multilingual, gradual-syntax programming language Hedy. We even dip into AI (trigger warning) and dumb phones.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Edited by Toni Cañete.Recording date: 2025.04.08GuestFelienne HermansShow notes[00:00:26] Sponsored by Logistically[00:00:48] Introducing Felienne HermansHedy - Textual programming made easyThe Programmer's Brain by Felienne Hermans"How to teach programming (and other things)?" at Strange Loop 2019"A Case for Feminism in Programming Language Design", co-authored with Ari SchlesingerElm Town 59 – Elm Camp with Katja MordauntCode Reading ClubThe Daily Stoic by Ryan Holiday and Stephen Hanselman[00:04:09] The costs of misconceptionsScience Mike[00:09:51] Journey to computer science[00:14:33] Programming culture: challenges and creativityElm Town 48 – Making Little Games Like Presents with Martin StewartElm Town 64 – The network effect with Martin StewartAdvent of Code[00:21:36] Bias and building a multi-lingual programming languageMark Guzdial's blog: Computing Ed Research - Guzdial's Take[00:28:35] Hedy's gradual syntaxAddressing Computing’s Discrimination Problem: A Framework for Anti-Discriminatory Computing by Ari SchlesingerThe Will to Change by bell hooks[00:38:12] Programming language community, learning, and valuing hard things[00:47:19] How language design choices affect cognitive load"The Hard Parts of Open Source" by Evan Czaplicki at Strange Loop 2019Elm Town 58 – Unblocking users with quality software with Tessa KellyEpisode 68: Elm and ADD with Dillon Kearns and Jeroen Engels[00:56:22] History of women in computing"Female Inventors and Narratives of Innovation in Late Twentieth-Century Computing" by Myra ChengNathan Ensmenger[01:03:40] Kotodama (言霊): What's in a name?Feeling of Computing 75 • A Case for Feminism in Programming Language Design by Felienne Hermans[01:08:49] Switching to a dumb phone[01:16:48] AI"An Age of Hyperabundance" by Laura PrestonIn Praise of Messy Lives by Katie Roiphe[01:30:10] PicksFelienne's picks"An Age of Hyperabundance" by Laura PrestonDeath Glitch: How Techno-Solutionism Fails Us in This Life and Beyond by Tamara KneeseCrisis of Narration by Byung-Chul HanJared's pickThe End of This Day's Business by Katharine Burdekin

Dec 16, 20251h 44m

Ep 87Elm Town 87 – Wonder: From machine to mob learning with Sophie Collard

Sophie Collard describes her transition from environmental engineering to software, mob programming to teach functional concepts, and building a startup app with Elm.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2025.02.24GuestSophie CollardShow notes[00:00:29] Sponsored by Logistically[00:00:50] Introducing SophieLondon Air UI using Elm & Leafletjs"Lessons learnt from writing 10k LOC in Elm" at Lambda Days 2024sophiecollard/jsonpath[00:01:33] Journey to programming[00:10:35] Learning Elm[00:14:30] Questions from Monica McGuigan on learning[00:17:41] Mob programmingMobster by Dillon KearnsZed channels for collaboration[00:23:47] London Air UICustom elements (Elm Guide chapter)[00:27:48] RailpackersRailpackersxkcd: Standards[00:33:51] The Jackson guitar project (Chushin Gakki)Chushin Gakki Jacksons Directory (GitHub)elm-pagesElm Town[00:41:41] sophiecollard/jsonpath[00:44:51] PicksSophie's picksElm in Action by Richard FeldmanProgramming Elm by Jeremy FairbankJared's pickFuture of Coding (a.k.a. Feeling of Comput(er)ing)

Sep 23, 202548 min

Ep 86Elm Town 86 – Wonder: Linking notes for active growth with Joël Quenneville

Joël Quenneville conveys his growth process—taking notes, creating connections between ideas, and sharing those artifacts.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2025.01.30GuestJoël QuennevilleShow notes[00:00:19] Sponsored by Logistically[00:00:39] Introducing JoëlSome blog posts by Joël"Structuring Conditionals in a Wizard""The Mechanics of Maybe""Problem Solving with Maybe"Sample Joël podcast appearancesElm Radio 32 - "Elm's Universal Pattern"Elm Radio 52 - "Category Theory in Elm with Joël Quenneville"SW Unscripted - "Conditional Cardinality with Joël Quenneville"Some of Joël's conference talks"Rolling Random Romans" at elm-conf 2016"A Number by Any Other Name" at Elm in the Spring 2019"Inverting a binary tree with 1 line of Elm" from an Elm Online meetup in 2021[00:01:51] Getting started crafting software[00:09:37] Discovering Elm[00:11:50] JSON Decoders, and then...Reasoning by Analogy by Joël QuennevilleGetting Unstuck with Elm JSON Decoders by Joël QuennevilleElm’s Universal Pattern by Joël Quenneville[00:23:57] Inspiration, artifacts, and note-takingLearning by helping out in the Elm Slack by Joël QuennevilleMy Note Taking System Gives Me Constant Ideas by Joël QuennevilleObsidianThe Notecard System: The Key For Remembering, Organizing And Using Everything You Read by Ryan HolidayGingko Writer [00:39:11] Active versus passive growthTurning experience into growth by Joël Quenneville[00:49:47] Collect mental models and heuristicsTriangle of Separation by Joël QuennevilleElm Town 76 – Between the paving stones with Andrew LenardsAndrew's Arboriculture zine No. 001 – Joël's Triangle[00:54:18] PicksJoël's pickHow To Take Smart Notes by Sönke AhrensJared's pickJesse Welles

Sep 2, 202556 min

Ep 85Elm Town 85 – Wander: Elm Camp 2025

In a short break from the Wonder series, John Pavlick, Wolfgang Schuster, and Tristan Pendergrass join Jared to report on the Elm Camp 2025 unconference experience in Michigan, USA.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2025.07.07GuestsJohn PavlickWolfgang SchusterTristan PendergrassShow notes[00:00:14] Sponsored by Logistically[00:00:35] Elm Camp sponsorsNoRedInkConcentric[00:01:09] IntroductionsTony Bradley @abradley2 (GitHub)Tony Bradley's elm-i18next-gen[00:06:27] Setting the sceneelm.campRonora Lodge & Retreat Center[00:13:15] Unconference formatFeedback.one[00:26:48] SessionsElm Town 81 – Inspired: Bubble Tea with Christian RochaWolfgang's blog series on Elm virtual DOMsBring Your Own DOM – Part 1 – PortalsBring Your Own DOM – Part 2 – TUIsWolfgang's elm-ink (GitHub) repoelm-tooling/elm-language-server initially by Kolja (@razze)Elm - CommunityElmcraft - CommunityElm LandLamderaSimon Lydell's elm-safe-virtual-domReact DOM issue - Dan Abramov's link to Chromium issue & hack[00:52:27] PicksJohn's picksJohn's jmpavlick/qZokkaMichiganWolfgang's picksSummer Games Done QuickThe Last Phi HunterRichard Feldman's course on Frontend Masters Write a Compiler That Understands TypesTristan's pickVantageJared's picksParks (1st edition)Elmcraft.org

Jul 22, 20251h 0m

Ep 84Elm Town 84 – Wonder: Elm all the way down with Justin Lubin

Justin Lubin sketches his journey from undergrad research at UChicago with Ravi Chugh on output-directed and bidirectional programming environments (Sketch-n-Sketch) to graduate work at UC Berkeley with Sarah E. Chasins, focusing on programming language theory, researching how statically-typed functional programmers write code, and beyond, to helping domain experts.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2024.12.09GuestJustin LubinShow notes[00:00:44] Introducing JustinSketch-n-Sketch"How statically-typed functional programmers write code" by Justin Lubin and Sarah E. Chasins[00:07:07] Elm all the way down[00:08:36] What is Sketch-n-Sketch?Hazel[00:11:03] From Parker Ziegler: Getting started in a large Elm codebase[00:13:01] The Sketch-n-Sketch cinematic universeManiposynth[00:22:21] Research on how statically-typed functional programmers write codeElm Town 83 – Wonder: Meeting people where they are with Ryan Haskell[00:35:11] From Parker Ziegler: Ergonomics vs. hindrances[00:40:25] Fork of the Elm compilerravichugh/sketch-n-sketch (GitHub)[00:45:04] Cobbler"Equivalence by Canonicalization for Synthesis-Backed Refactoring" by Justin Lubin, Jeremy Ferguson, Kevin Ye, Jacob Yim, and Sarah E. ChasinsCobbler (GitHub)[00:47:36] Justin's current work[00:51:45] PicksJustin's pickDesign at Work: Cooperative Design of Computer Systems by Joan Greenbaum and Morten KyngJared's pickEntangled Life by Merlin Sheldrake

Jun 3, 202555 min

Ep 83Elm Town 83 – Wonder: Meeting people where they are with Ryan Haskell

Kicking off the Wonder series, Ryan Haskell shares his approach to teaching Elm, his gap year adventures, and his current work at Brilliant. He gives insights into creating accessible learning materials, building games, and finding inspiration outside the Elm ecosystem.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Edited by Toni Cañete.Recording date: 2024.11.27GuestRyan HaskellShow notes[00:00:21] Sponsored by Logistically[00:00:43] Introductionryan.townWelcome to Elm! YouTube seriesElm Town 62 – The Map to Elm LandElm Landryan-haskell/date-format[00:01:34] Gap Year[00:03:31] Building a game in GodotTurbo Champ[00:11:01] Welcome to Elm YouTube SeriesRichard Feldman's "Teaching Elm to Beginners" (elm-conf 2017)[00:17:06] Teaching style"Parentheses are like hugs" - from Section 1.5 Advanced Functions[00:24:52] From Wolfgang: Finding inspirationInspiration for Vendr's elm-gql from watching Ben Awad's videos[00:29:07] Remaking Ryan's website[00:32:41] Working at BrilliantBrilliantElm Town 57 – Brilliant ways to use Elm with Aaron StrickRed Blob Games[00:39:15] PicksRyan's picksDracula by Bram StokerThe Picture of Dorian Gray by Oscar WildeVite 6.0The Legend of Zelda: Ocarina of Time (N64)Horizon Zero DawnSatisfactoryJared's picksSatisfactory Night Fever by Dan BullRichard Feldman's "Teaching Elm to Beginners" (elm-conf 2017)Frontend Masters Elm courses by Richard FeldmanIntroduction to Elm, v2Advanced ElmElm in Action by Richard Feldman (Manning)Welcome to Elm! YouTube series

Apr 15, 202544 min

Ep 82Elm Town 82 – Inspired: Tools with Dillon and Jeroen

In the final episode of the Inspired series, Dillon Kearns and Jeroen Engels wax philosophically with Jared about what it means to be inspired by Elm within the context of tools. We chat about feedback, guarantees, and contracts as lenses for building tools.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Edited by Toni Cañete.Recording date: 2024.08.29GuestsJeroen EngelsDillon KearnsShow notes[00:00:50] Sponsored by Logistically[00:01:14] IntroductionElm RadioElm Town 61 – Turning the pagesElm Town 65 – Let's roll with itElm Town 79 – Inspired: Gleam with HayleighElm Town 80 – Inspired: Roc with Richard FeldmanElm Town 81 – Inspired: Bubble Tea with Christian Rocha[00:02:20] What does it mean to be inspired by Elm?[00:05:53] Elm philosophyEvan's "Elm philosophy" threadelm-reviewelm-pages[00:25:44] Simplicity is not just for beginners[00:32:38] What are tools?[00:33:56] Feedback & guarantees[00:39:26] Tool as contract (not slicing hot dogs nor fingers)[00:45:18] Lobbying for tool as contractHayleigh's elm-web-audio[00:48:09] Tool as an expression of a point of viewDillon's elm-graphql[00:50:37] RocRoc[00:53:04] Contracts & purityLamderaMatthew Griffith's elm-ui[01:08:09] What's next for Elm?[01:13:38] PicksJeroen's picksElm CampSave the Earth 🌍Elm RadioDillon's picksBe kind ❤elm-pages scriptsJared's pickselm-pages scripts spinners Pages.Script.SpinnerAlex Korban's Elm Catalog

Dec 17, 20241h 20m

Ep 81Elm Town 81 – Inspired: Bubble Tea with Christian Rocha

Christian Rocha shares his experience building the TUI framework Bubble Tea based on The Elm Architecture. We talk about Impostor Syndrome, mentors, and how he incorporates his background in design at Charm.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Edited by Toni Cañete.Recording date: 2024.10.10GuestChristian RochaShow notes[00:00:23] Sponsored by Logistically[00:00:41] Introducing ChristianCharmBubble TeaElm Town 79 – Inspired: Gleam with HayleighElm Town 80 – Inspired: Roc with Richard Feldmanlearning elm, so I don't need to use javascript by bashbunni[00:02:12] Origin story[00:08:17] Mentor John Weir[00:10:58] Taking The Elm Architecture to the command line[00:13:51] John Weir's question[00:15:48] Bubble Tea related toolsGlowBubblesLip GlossGumSoft ServeGlamour[00:20:23] Background in design/branding[00:23:35] What is VHS?VHSasciinema[00:26:08] How has the architecture of Bubble Tea held up?[00:27:35] What are you excited about these days?Mitchell Hashimoto's GhosttyRoc[00:32:44] PicksChristian's picksGo Mecha Ball"The Great"TampopoBromptonJared's picksTeardownDan BullGlass AnimalsBicycle Diaries by David Byrne

Oct 31, 202441 min

Ep 80Elm Town 80 – Inspired: Roc with Richard Feldman

Elm pioneer Richard Feldman returns to explain why he made Roc, a direct descendant of Elm. He notes a distinct trade-off of choosing not to have persistent data structures. Later, he shares how his experience teaching Elm informed Roc's design. We even learn about the power of platforms.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2024.05.23GuestRichard FeldmanShow notes[00:00:20] Non-introductionRocSoftware Unscripted"Making Impossible States Impossible""Scaling Elm Apps"Elm in ActionElm courses on Frontend Masters[00:01:47] Motivations to make Roc[00:04:53] Back to the beginnings in 2018[00:15:25] How Roc compares to ElmAaron VonderHaar's elm-formatElm Style Guide"Bret Victor style reactive debugging" by Laszlo Pandy at Elm Workshop 2013 (YouTube)"Functional Semantics in Imperative Clothing"[00:25:18] Minimizing the erosion of simplicity (governance models)"BDFN" on roc-lang.orgEpisode "Programming and Industrial Design with Greg Wilson" of Software Unscripted[00:31:36] How teaching Elm informed Roc's design[00:40:34] Design processEpisode "The Roc Programming Language with Richard Feldman" of Software Unscripted[00:45:04] Working at Zed IndustriesZed[00:50:28] Platforms[00:58:03] PicksRichard's picksPerformance-Aware Programming Series by Casey MuratoriSoftware You Can Love (SYCL) Milan 2024 playlist (YouTube)"Hybrid-Level Programming" by Richard Feldman at SYCL Milan 2024 (YouTube)ReliqaJared's picksUmphrey's McGeeBret Victor

Sep 17, 20241h 3m

Ep 79Elm Town 79 – Inspired: Gleam with Hayleigh

Hayleigh talks about how Elm has inspired her work, from tools built in Elm such as elm-web-audio and the Ren language compiler, to contributing to the Gleam language and making the Lustre web framework.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2024.04.10GuestHayleighShow notes[00:00:50] Sponsored by Logistically[00:01:19] Introducing HayleighRenren/compilerelm-web-audioElm CampGleamLustre[00:06:53] Discovering ElmElm Slack[00:09:17] Limits that led to a unique audio Elm Architecture[00:13:11] Pure interest-fueled motivation to learn functional lingonLab[00:16:45] Renren/compiler[00:21:27] Gleamelm-pages scriptsBEAM Radio - EPISODE 72: GLEAM'S CORE TEAM IN THE HOUSE![00:29:52] LustreGrenLamdera[00:37:47] Developer Relations[00:42:50] PicksHayleigh's pick"Gleam: Past, present, future!" at FOSDEM '24Jared's picksCustom elementsKagiThe Meaning of Culture by John Cowper Powys

Sep 3, 202449 min

Ep 78Elm Town 78 – Elm Camp 2024 with Katja Mordaunt and Wolfgang Schuster

Katja Mordaunt & Wolfgang Schuster return to share their experiences at Elm Camp 2024.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2024.06.26GuestsKatja MordauntWolfgang SchusterShow notes[00:00:34] Setting the sceneElm CampElm Camp 2024: Reflections by Wolfgang Schuster[00:08:03] Sessions[00:13:36] Talking outside the boxNotes from Elm Camp 2024 by Martin Janiczek[00:17:21] Themeselm-pages scriptselm-reviewGrenGleamLamdera[00:22:34] Card decks[00:24:10] Community[00:25:09] EducationElm Land[00:28:01] Closing thoughtsSend venue ideas to [email protected].

Jul 9, 202434 min

Ep 77Elm Town 77 – Breaking your brain with Andrey Kuzmin

From translating imperative physics into Elm and building 3D interactive tools at work to adding Elm support to Zed and animating the Elm Town logo, Andrey Kuzmin never fails to break your brain.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2024.05.16GuestAndrey KuzminShow notes[00:00:19] Sponsored by Logistically[00:00:42] Introducing AndreyMogee"Mogee or how we fit Elm in a 64×64 grid" by Andrey Kuzmin at elm-conf 2017w0rm/elm-poolelm-explorations/webglw0rm/elm-physicsw0rm/elm-obj-fileelm-language-serverZed[00:02:04] Favorite concertDeerhoof - Sit Down, Let Me Tell You a Story. (YouTube)[00:05:41] Getting started in programming[00:08:53] Discovering Elm through Dan AbramovFlatris[00:15:04] Applying knowledge from Elm in React[00:22:03] Elm at work (Arrival)Transparency support in Ian Mackenzie's elm-3d-scene[00:25:31] Consuming-facing work and opening up to other languageselm-tooling/tree-sitter-elm[00:34:09] Interpreting code via the brainAndrey on Twitterw0rm/elm-physicsembedded-mogeefont Rust crateCubikPhysically simulated dice roller![00:39:48] Designing APIsAPI design sessions with Evan on webgl.Start at 1:02:46 for some general docs tips.w0rm/elm-obj-file[00:48:48] Presenting at an Elm Japan meetup in Japanese[00:52:11] Elm Town 3D logo animationhttps://elm.townMatthew Griffith's elm-animatorMatthew Griffith's elm-uiDillon Kearns' elm-pagesIan Mackenzie's elm-3d-scene and related packagesMaggie Appleton[00:56:48] PicksAndrey's picksModel things in ElmMake games in ElmJared's pickZed

Jun 25, 20241h 2m

Ep 76Elm Town 76 – Between the paving stones with Andrew Lenards

Andrew Lenards illuminates the liminal spaces of his mind, from lo-fi, DIY, punk rock, meditation, & coaching to Joël's Triangle & The Mental Side of Programming.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2024.03.05.GuestAndrew LenardsShow notes[00:00:25] Sponsored by Logistically[00:00:58] Introducing Andrew"Is This the Way?" with Aaron Michael Marsh and Andy LenardsThe Do Nothing Projectwith Jeff Warren"The Mental Side of Programming"[00:01:32] Wrestling announcer Elm Town intro[00:04:44] From Julian Pistorius: Side roads with crucial impactElm Town 66 – A gateway to scientific research with Chris Martin[00:11:30] Helping others see between the paving stones"Periodic Face-to-Face" by Martin Fowlerxkcd[00:25:02] Discovering Elm, or "I don't want to know that there's a better way to do what I'm doing right now""Beating the averages" by Paul Graham[00:35:05] Elm & mental health"Make Reliable Web Apps Without JS Fatigue" by Jared M. SmithElm Slack"Idée Fixe" by David Nolen at GOTO 2017Against the Rules Season 2 hosted by Michael Lewis[00:55:17] Joël's TriangleAndrew's elm-arboriculture-zine (print it yourself!)Joël Quenneville on Thoughtbot[00:58:57] PicksAndrew's picksAgainst the Rules Season 2 hosted by Michael LewisCreate Content with ChatGPT and AI 2024 course by Kirby FergusonEmpathy-Driven DevelopmentEmpathy in Tech"Type System Mythbusting with Alexis King" on Software Unscripted with Richard FeldmanJared's picksElm Town 57 – Brilliant ways to use Elm with Aaron StrickJust Let Go (YouTube) by Sturgill SimpsonZen Computer by Philip Toshio SudoPleasures of Small Motions: Mastering the Mental Game of Pocket Billiards by Bob FancherElm 3D Pool Game Collaboration

Jun 11, 20241h 10m

Ep 75Elm Town 75 – The Great Wall of Code with Taylor Troesh

Taylor Troesh recounts his trip across the stack, from the front to the back and back again. Along the way, he divulges his custom operator confession. He currently works at Replenysh using Elm for sustainability.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2024.02.08GuestTaylor TroeshShow notes[00:00:30] Sponsored by Logistically[00:00:58] Introducing Taylortaylor.townsurprisetalk/elm-burma"Why I Use Elm in 2023"Elm Land[00:01:57] The beginning of computing[00:09:18] Discovering ElmDon't make things worse! - Changelog Episode #546 with TaylorElm and Functional Programming - Changelog episode #218 with Evan Czaplicki & Richard Feldman[00:14:31] Opinions on styling optionssurprisetalk/elm-burmaMatthew Griffith's elm-uiRichard Feldman's elm-css"Frugly vs. Freemium"The "cheap" web[00:22:49] Custom operator confessionsurprisetalk/elm-pointlessKagi ❤️[00:26:59] Building a crypto wallet[00:28:14] All the way to the back[00:30:36] The Great Wall of Code[00:36:50] Elm folks on the backend[00:41:13] Pairing learning experiences with deliverables[00:45:39] The new Elm jobReplenyshPostGraphile[00:49:15] Why I didn't play this harpsichord sooner"why I didn’t play this harpsichord sooner"Candid Culturehttps://taylor.town[00:57:41] PicksTaylor's picksCradle to Cradle by William McDonough & Michael BraungartThe Timeless Way of Building by Christopher Alexanderhttps://elm.townJared's picknmesh (Explicit)Official Elm Guide

May 28, 20241h 2m

Ep 74Elm Town 74 – The road to town with Jared M. Smith

Mario Rogic comes back to interview Jared about his road to Elm, from the Tandy to JavaScript fatigue, and the inevitable, relieving discovery of Elm. The love for Elm never stops.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2024.02.05GuestJared M. SmithShow notes[00:00:28] Sponsored by Logistically[00:00:54] The exclusive wrapElm Town 68 – Shared joy with Mario Rogic[00:01:55] Getting started in computing & programmingElm Town 65 – Let's roll with it with Jeroen EnglesElm Town 66 – A gateway to scientific research with Chris Martin[00:08:09] Informing the path to Elm"Solving the Boolean Identity Crisis" by Jeremy Fairbank"Mogee or how we fit Elm in a 64×64 grid" by Andrey KuzminElm Town 61 – Turning the pages with Dillon Kearns [00:15:39] JavaScript fatigue[00:21:24] elm-poolhttps://github.com/w0rm/elm-poolhttps://jaredmsmith.com/dev/elm-pool-collaboration[00:25:34] Why did you choose to introduce Elm at work?[00:30:13] Failing to introduce functional programming at work"How to Use Elm at Work" by Evan Czaplicki[00:34:31] Elm at LogisticallySimon Lydell's elm-watchMatthew Griffith's elm-codegenWolfgang Schuster's elm-open-api[00:37:42] Meta Elm TownElm Town 72 – 435 million reasons to love Elm + Elixir with Erik Person[00:43:26] Hit record vibe shiftElm RadioZed (May 2024 Jared's daily driver)[00:48:01] PicksJared's pickMDNMario's picksNixLamdera

May 14, 202456 min

Ep 73Elm Town 73 – It actually fits in my brain with Nduati Kuria

Nduati Kuria shares his journey from studying AI to why Matthew Griffith's elm-ui makes the web approachable. He explains how an innocuous issue on Tereza Sokol's elm-charts led to a new job.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2023.11.10GuestNduati KuriaShow notes[00:00:20] Sponsored by Logistically[00:00:52] Introducing NduatiQodaElm Town 36 – The Risk of ElmElm Town 55 – From algorithms & animation to building a decentralized finance appArtCultureHaruki Murakami Website UIWebGL Sculpture Animation site about Marcus Aurelius[00:01:42] Getting started"How to teach programming (and other things)?" by Felienne Hermans at Strange Loop 2019[00:05:58] Nduati's College Journey: Swift, Internships, and Elm Discovery[00:08:27] Learning Elm: It actually fits in my brainelm-ui[00:13:03] Uber for school buses[00:16:59] How Elm drives you toward best practicesElm Town 67 – Breaking things down with Gingko Writer[00:23:28] Introducing Elm at work[00:25:36] Master's & self-directed learning[00:28:09] From elm-charts to QodaTereza Sokol's elm-charts[00:34:53] The rigour of programming with Elm at Qoda[00:39:55] Ports"The Importance of Ports" by Murphy Randle at Strange Loop 2017Elm RadioA demo of Qoda and an explanation of how we use ports by Dwayne Crooks[00:47:14] Haruki Murakami site animationHaruki Murakami Website UI[00:50:07] Not having to pay the cost of constant changeTereza Sokol's elm-charts[00:54:33] PicksNduati's picks"Parse, don’t validate" by Alexis King"Drag & Drop without Draggables & Dropzones" by Jasper WoudenbergMatthew Griffith's elm-uiJared's picksElm Radio on opaque typesIntro to Opaque TypesDeliberate Practice...and in most other episodes 😊elm-doc-preview

Mar 19, 20241h 2m

Ep 72Elm Town 72 – 435 million reasons to love Elm + Elixir with Erik Person

Erik Person shares how he joined Corvus Insurance as the first engineer building the system from scratch with Elm and Elixir. We talk about onboarding, culture, and growing the team. He exclaims his excitement for the next phase of acquisition by Travelers.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2023.12.05GuestErik PersonShow notes[00:00:22] Sponsored by Logistically[00:00:52] Introducing ErikElm seedsTravelers to Acquire Corvus Insurance[00:01:20] Getting started[00:07:27] The flight to Elm[00:12:43] Elm seeds[00:17:14] Why Elm at Corvus?"The Python Paradox" by Paul Graham"Make Impossible States Impossible" by Richard Feldman[00:21:57] Hiring & onboarding practices[00:24:09] ScalingAaron VonderHaar's elm-format[00:27:49] Static Elm + dynamic ElixirLuke Westby's elm-http-builder[00:34:32] Programming the plane[00:38:58] Corvus engineering cultureForbes' list of "America’s Best Startup Employers"[00:43:59] AcquisitionTravelers to Acquire Corvus InsuranceTravelers Completes Acquisition of Corvus Insurance[00:48:34] PicksErik's picks"Interesting bugs caught by no-constant-binary-expression" by Jordan Eldredge"Training AI to Play Pokemon with Reinforcement Learning" by Peter WhiddenThe Data Warehouse Toolkit by Ralph Kimball and Margy RossJared's pickJeroen Engels' elm-review

Jan 16, 202453 min

Ep 71Elm Town 71 – Embracing wins with Lindsay Wardell

Lindsay Wardell tells how she persevered to write her own story as a programmer and shares her views on JavaScript frameworks & fatigue.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2023.11.06GuestLindsay WardellShow notes[00:00:20] Sponsored by Logistically[00:00:49] Introducing LindsayHuman Side of DevElm and Vite on Elm Radio, hosted by Dillon Kearns & Jeroen EngelsFunctional programming with Elm on PodRocket, hosted by Paul MikulskisFunctional and Object-Oriented Programming on Software Unscripted, hosted by Richard Feldman"Functional Programming in Vite" at ViteConf 2023elm-vue-bridgevite-elm-template.[00:01:54] Getting started in computing and programming[00:06:06] A break in Brazil"How to teach programming (and other things)?" by Felienne Hermans[00:09:27] Getting back into programmingFunctional and Object-Oriented Programming on Software Unscripted, hosted by Richard Feldman...again[00:18:55] Why Elm?JuralenFunctional and Object-Oriented Programming on Software Unscripted, hosted by Richard Feldman...yet again. Seriously, it's good.[00:28:06] The road to NoRedInkWikifunctionsViews on VueS08E014 Modern Web Podcast - Elm with Richard Feldman[00:33:05] JavaScript fatigue[00:38:04] Standardization around Vite[00:41:13] The challenge of legacy code at NoRedInknoredink-uiElm Landelm-pages[00:46:22] Star CommanderStar Commander (GitHub)Elm Town 63 – Opening the doors of functional programming[00:53:47] What are you excited about?Lamdera"The Economics of Programming Languages" by Evan Czaplicki at Strange Loop 2023[00:55:50] PicksLindsay's picksNuxtNaNoWriMo (National Novel Writing Month)Blood on the ClocktowerBabylon 5Jared's picksBattlestar GalacticaS2E2 - "One Moore", PortlandiaFeel It All Around by Washed Out

Dec 12, 20231h 5m

Ep 70Elm Town 70 – Getting out of the basement with Jim Carlson

Jim Carlson shares his discoveries in software development through the people he's met in the community and the projects he's building. We also discuss how a history in mathematics shapes his work.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2023.10.13GuestJim CarlsonShow notes[00:00:16] Sponsored By Logistically[00:00:45] Introducing Jim"Making a LaTeX-to-Html parser in Elm" at Elm Europe 2018jxxcarlson/meenylatex"Tarring files with Elm" at Oslo Elm Day 2019jxxcarlson/elm-tarjxxcarlson/elm-markdownjxxcarlson/elm-l0-parserRandom Exchange ModelSchelling’s segregation model"Making Elm Talk to Your Personal Supercomputer" at elm-conf 2019Fake Drum Language Apphttps://scripta.ioElm NotebookElm Town 29 - Knode.io with Jim Carlson in 2018 w/Murphy Randle[00:02:10] History in Mathematics[00:04:27] Serious software development[00:06:37] Getting out of the basementMatthew Griffith's elm-uiLamdera[00:09:59] Problem-solving approaches[00:14:43] Scripta.io[00:19:25] Learning Haskell[00:24:40] Elm NotebookBooklib.ioelm-in-elm/compilerMinibill's elm-interpreterElm Land 🌈[00:31:50] SimulationsFutharkDesigning Compilers for Speed with Troels Henriksen on Software Unscripted with Richard Feldman[00:41:05] Fake drum language app[00:45:40] Inspiration for work[00:49:30] PicksJim's picksStructure and Interpretation of Computer Programs (SICP) by Harold Abelson and Gerald Jay Sussman with Julie SussmanThe Mythical Man-Month by Fred BrooksJared's picks"The Economics of Programming Languages" by Evan Czaplicki at Strange Loop 2023In Pursuit of the Unknown by Ian StewartThings to make and do in the 4th dimension by Matt ParkerVsauce on YouTube by Michael Stevens

Nov 28, 202357 min

Ep 69Elm Town 69 – A vision for tooling with Simon Lydell

Simon Lydell tells his origin story from Firefox power user to full-time Elm engineer. Then we talk about his work in the community building tools & contributing to core.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2023.10.09GuestSimon LydellShow notes[00:00:25] Sponsored by Logistically[00:00:56] Introducing SimonElm node-test-runnerlydell/elm-app-urlElm Radio 77 – elm-app-url with Simon Lydellelm-toolingElm Radio 22 – elm-tooling with Simon Lydellelm-watchElm Radio 65 – elm-watch with Simon Lydell[00:01:43] Origins in computing"My Contribution to the Left-Pad Incident with Simon Lydell" on the Software Unscripted podcastElm Town 66 – A gateway to scientific research with Chris Martin[00:09:08] From messing around with open-source to headhunted[00:14:37] Discovering Elm[00:17:24] Elm syntax as a CoffeeScript programmer[00:19:17] Contributing to big open-source projects early in career[00:22:02] From Elm meetup to full-time developer[00:25:08] Natural growth at Insurello[00:26:28] Pranking the designer[00:29:35] Vision document for elm-watchParcel[00:34:16] Different catalystselm-liveelm-go[00:40:53] elm-watch hot reloadingelm-watch issue about generating elm-watch.json instead of supporting glob directly[00:50:43] run-ptyrun-pty[00:55:51] Core contributionFree the npm package from third party dependencies[01:05:32] What's up with Simon these days?[01:07:41] PicksSimon's pickStrange PlanetJared's pickrun-pty

Nov 14, 20231h 9m

Ep 68Elm Town 68 – Shared joy with Mario Rogic

Mario Rogic shares his journeys, both physically around the world and strategically, as he built & rebuilt Lamdera.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2023.09.08GuestMario RogicShow notes[00:00:25] Sponsored by Logistically[00:01:00] Introducing MarioLocomoteLamderaElm OnlineLondon meetupsElmcraftElm CampElm Town 59 – Elm Camp with Katja Mordaunt"The unbearable weight of glue" at Lambda Days 2023 in KrakowElm Town 18 - Spotlight on Mario Rogic[00:02:22] Parallel synchronized travel[00:10:25] Out of the blockchain[00:13:52] How Adventure Presenter led to Lamdera"Elmception: supercharging presentations with Elm" at Elm Europe 2017)[00:18:31] More about the Haskell version with Filip Haglund[00:28:13] Communicating the benefits of LamderaLamdera diagrams clearly explain the benefits[00:42:02] What's up next with Lamdera?Lamdera v1.1.0Lamdera v1.2.0elm-pages lamdera integration[00:54:39] LEGO Loco LamderaElm Town 64 – The network effect with Martin Stewart[00:57:03] Shared joy in things made on Lamdera[00:58:33] Reflections on Elm Camp[01:02:58] Stoked to see all the cool stuff in the communityElmcraft Lore[01:07:34] PicksMario's pickselm-pages scriptsElm Land 🌈Elm Land Lamdera templateJared's pickElm Weekly by Wolfgang Schuster

Oct 31, 20231h 11m

Ep 67Elm Town 67 – Breaking things down with Gingko Writer

Adriano Ferrari talks about how Elm allows him to solely support Gingko Writer and make progress on new projects while also homeschooling.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2023.09.08GuestAdriano FerrariShow notes[00:00:25] Sponsored by Logistically[00:01:00] Introducing AdrianoGingko Writer, open-source on GitHub at gingko/client.[00:01:19] Getting started in computing[00:03:55] Physics in Canada[00:07:03] Discovering Elm[00:11:30] Perfectionism"Tools & Perfectionism" by Adriano Ferrari[00:15:07] Little leak in your mind"Make Reliable Web Apps Without JS Fatigue" by Jared at Detroit Tech Watch 2019[00:17:25] Overcoming creative blocks"Reset Expectations to Overcome Creative Blocks" by Adriano Ferrari[00:21:38] Breaking things down with Gingko WriterElm Town 61 – Turning the pages with Dillon Kearns[00:25:19] Challenges building Gingko WriterElm Town 64 – The network effecthttps://ascii-collab.apphttps://town-collab.app[00:31:43] Homeschooling & solely supporting Gingko Writer[00:37:52] "Frequent changes of treatment""A 'Gradual Commitment' Productivity System""Exploring elm-spa-example" by Richard Feldman at Oslo Elm Day with a section about dependencies[00:42:13] New, 100% Elm project[00:44:22] PicksAdriano's picksSimon Lydell's elm-watchSimon Lydell's elm-app-urlONYX BOOX Note Air 2 PlusJared's picksStretchlyYoga 🧘Gingko Writer

Oct 17, 202351 min

Ep 66Elm Town 66 – A gateway to scientific research

Chris Martin shares how he grew Elm wings while building Exosphere, a user-friendly, open-source tool to help scientists do research.Note: Jared's audio quality isn't great.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2023.08.02GuestChris Martin (https://cmart.blog)Show notes[00:00:56] Introducing Chris Martinhttps://gitlab.com/cmarthttps://exosphere.app/[00:01:43] Getting started[00:07:08] Hiking the Pacific Crest Trail[00:09:39] Getting into ElmMatthew Griffith's elm-ui[00:14:03] Building Exosphere"IU wins $300K NSF award to build an open-source ecosystem around heavily used cloud tool"[00:18:35] Challenges building open-source tools[00:26:19] Fun coming from DevOps to ElmSimon Lydell's elm-watchElm Town 58 – Unblocking users with quality software with Tessa Kelly[00:33:17] Mentorship at scale[00:36:02] Code CommonsVision for Code Commonshttps://codecommons.net/https://gitlab.com/exosphere/exosphere[00:40:52] Climate change"Building Culture Around Climate Emergency Mode"https://github.com/BrianHicks/elm-csv/tree/3.0.3#climate-actionhttps://github.com/ianmackenzie/elm-units/tree/2.10.0#climate-action[00:43:52] Exciting features coming to Exosphere[00:47:28] Insane chat box"Assume ChatGPT is Lying" by Kevin Yank"Elm Town 61 – Turning the pages with Dillon Kearns"[00:50:04] PicksChris' picksJetstream Cloudhttps://defetter.com/Elm Town 55 – From algorithms & animation to building a decentralized finance app with Dwayne CrooksStretchlyJared's "pick"elmtown at jaredmsmith dot com with climate-related Elm work

Oct 3, 20231h 3m

Ep 65Elm Town 65 – Let's roll with it

We review Jeroen Engels' journey with Elm from ESLint to elm-review. Jeroen even gives tips on how to introduce rules to a team.Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2023.08.01GuestJeroen EngelsShow notes[00:00:21] Sponsored by Logistically[00:00:58] Introducing Jeroen Engelselm-reviewElm RadioElm Town 61 – Turning the pages with Dillon Kearnselm-syntaxjfmengels/elm-review-commonjfmengels/elm-review-documentationjfmengels/elm-review-simplifyjfmengels/elm-review-unused[00:02:37] It all started with a book[00:06:09] Getting a job as a backend developer[00:11:33] Senior: Figuring out what you're passionate about[00:15:24] Using ESLint to solve challenges with JavaScript[00:20:25] The refreshing experience of discovering Elm[00:26:13] A greenfield Elm projectCrowdStrike® Falcon LogScale™[00:33:04] Starting elm-reviewelm-analyze[00:42:06] elm-review v2"Implementing multi-file analysis for linters" on Jeroen Engels' blog[00:43:33] Middle names[00:44:40] Humor, coding, & podcastinghttps://postitontheweb.tumblr.com[00:50:19] Challenges with building elm-reviewElm Radio 84 – Writing Great Docs"Pushing unused exports detection one step further" on Jeroen Engels' blog"A tale of failing to design rule boundaries - Data-last functions" on Jeroen Engels' blog 🎉[01:00:47] Disable comments"Why You Don't Trust Your Linter" by Jeroen Engels at GOTO Copenhagen 2022elm-format[01:07:19] Stopping the bleed"Stop the bleed" on Jeroen Engels' blog[01:10:46] Jared's failure when introducing NoUnused rules"Elm Town 60 – Productivity and the culture of moving a little bit slower" with Wolfgang Schuster[01:13:56] Jeroen's tips on introducing rules"Elm Radio 88 – Avoiding Unused Code" on Jeroen Engels' blog[01:23:24] When to run elm-reviewelm-watch[01:29:30] PicksJeroen's Pickssegakcap by John Pavliklue (lue-bird)'s packagesSiriusStarr's packagesAjin: Demi-HumanJared's PickSoftware Unscripted hosted by Richard Feldman

Sep 19, 20231h 33m

Ep 64Elm 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: [email protected] 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

Sep 5, 20231h 22m

Ep 63Elm 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: [email protected] 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@[email protected] - 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 22, 20231h 10m

Ep 62Elm 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: [email protected] 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

Aug 8, 202353 min

Ep 61Elm 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: [email protected] 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 [email protected].

Jul 25, 20231h 29m

Ep 60Elm 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: [email protected] 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

Jul 11, 20231h 14m

Ep 59Elm 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: [email protected] 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 27, 20231h 5m

Ep 58Elm 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: [email protected] 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

Jun 13, 202358 min

Ep 57Elm 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: [email protected] 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 30, 20231h 7m

Ep 56Elm 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: [email protected] 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 ([email protected]) or Théophile ([email protected] 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 16, 202350 min

Ep 55Elm 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: [email protected] 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

May 2, 20231h 8m

Ep 54Elm Town 54 – Aloha with Kevin Yank

Kevin Yank shares the challenges Culture Amp faced when scaling Elm & React with a Design System team in the middle, and how an acquisition tipped the ultimate decision to move Elm from “adopt” to “contain” at the company.Oh yeah, and there’s a new host, Jared M. Smith...stay tuned for more episodes!Thanks to our sponsor, Logistically. Email: [email protected] by Jesse Moore.Recording date: 2023.04.06 (07 on Kevin’s side of the world.)GuestKevin Yank (kevinyank.com)Show Notes00:01:03 Some of Kevin’s contributions to Elm"Developer Happiness on the Front End with Elm""Elm in Production: Surprises & Pain Points""Elm at Scale: More Surprises, More Pain Points"cultureamp/elm-css-modules-loader00:01:45 History of Elm at Culture AmpElm Town 10 – About being "in production"Elm Town 14 – Spotlight on Kevin Yank00:04:49 "Why didn’t you just…"Evan Czaplicki’s talk "The Hard Parts of Open Source"00:05:54 The exciting challenge: styling Elmelm-css-modules-loader00:10:50 Sharing a design system00:13:48 Design System team challenges00:16:30 Acquiring a large React codebase00:17:24 Upgrading to Elm 0.1900:19:24 Momentum before the acquisition00:24:12 Communicating the decision to “contain” Elm00:32:43 An alternative reality with Elm for Culture Amp00:42:26 How Elm changed the way that the teams at Culture Amp work00:44:34 Elm as a secret weapon for recruitment00:48:00 “Why didn’t you just use web components?”00:49:25 Kevin's blog postOn Endings: Why & How We Retired Elm at Culture Amp00:55:56 Success, or how never adopting Elm at Culture Amp would be worse00:59:34 Take responsibility for user experiencesEvan's tweet01:00:23 Reminiscing on past episodesElm Town 48 - Making Little Games Like PresentsElm Town 51 – You went down the well? That’s the cheat way!Elm Town 37 - Upgrading to Elm 0.19 with Luke Westby & Richard FeldmanElm Town 36 - The Risk of Elm with Dhruv Dang…all of them ;)01:06:15 Elm Radio rocks!01:08:10 ThanksKevin YankXavier HoMurphy RandleFergus MeiklejohnFormer sponsorsListeners...and many more

Apr 18, 20231h 9m

Ep 53Elm Town 53 – Something to do on the side while watching TV

Kolja Lampe takes us on a deep dive into the internals of the Elm Language Server that powers a growing number of editors' Elm support, and explains what motivates him to continue to spend more time building tooling for his favourite front end language than he does using the language itself! Thank you to our sponsor, Culture Amp. Special thanks to Xavier Ho (@Xavier_Ho) for editing and production of this episode! Recording date: 4 April 2020 Guest Kolja Lampe (@Razzee) Show Notes 00:00:00 Intro Join Elm on Slack! Elm Language Server Elm Plugin for Visual Studio Code 00:02:11 Kolja introduction 00:03:17 Side projects at work in Elm 00:05:26 Kolja's history with web development .NET C# MS SQL Server AngularJS RabbitMQ TimescaleDB PostgreSQL MongoDB NGXS Google Summer of Code 00:11:13 Elm Language Server origins Elm Language Server Elm Plugin for Visual Studio Code Elm tree sitter 00:15:26 Language servers and Language Server Protocol Language Server Protocol Community list of LSP implementations Ionide elmjutsu for Atom 00:20:56 Elm tree sitter Tree-sitter Elm tree sitter 00:28:09 Elm Language Server internals Semantic 00:30:13 The Elm community in Germany Andrey Kuzmin (@unsoundscapes) Erkal Selman (@AzizErkalSelman) Elm |> Munich Christoph Poelt 00:33:47 Type inference and other future features 00:40:13 Outside contributions Elm Language Server v1.7.0 Jon Bockhorst Andy Fix multiple Elm workspaces 00:45:36 Increasing robustness by removing dependencies elm-analyse elm-format 00:50:41 Depending on feedback from the community 00:53:01 Mutual appreciation society 00:54:06 Sign-off and outro Transcript [00:00:00] Kevin Yank: Hello and welcome back to the Elm Town podcast. It's Kevin coming to you with another episode. I'm joined today by Kolja Lampe. Hi Kolja. [00:00:09] Kolja Lampe: Hi. [00:00:10] Kevin Yank: Kolja goes by @Razzee on the Elm Slack. You may have seen him there especially in the #elm-language-server channel. that is a bit of a spoiler about what we're going to be talking about today. Kolja is the author of the Elm Language Server and the Elm Visual Studio Code Plugin that leverages it to provide a really nice and increasingly nice editor experience for that editor, and we'll be going into all the nitty gritty details there as well as hearing, you know, what brought Kolja to Elm. But before we dive into all of that, as usual, I would just like to shout out to Culture Amp for supporting this podcast. Aside from my time, I often credit them for letting me record these podcasts during working hours, but just so happens it's a Saturday evening, so it's not working hours today, but they pay for the very cool web-based recording studio that we use to make this show. Just in general, they don't mind the slightly excessive amount of time that I put towards this show sometimes. So it is great to have an employer like that, that doesn't mind giving back to the open source community that puts together the language that we love using to build our front ends there. [00:01:26] As I've said before, Culture Amp builds a web application that companies all over the world use to hear from their employees about what they're thinking and feeling about their jobs and their workplace. That's something I really love going to work every day to contribute to. And also a shout out to Xavier Ho. [00:01:45] Xavier, I have been overwhelming you with the number of new episodes I've been recording ever since this, COVID0-19 virus came in and, and made us all stay at home. It suddenly seems like a really good time to stock up on podcast recordings, but as I record this, there are four episodes in Xavier's inbox waiting to be edited. [00:02:03] So, thank you so much, my friend for continuing to help me put these out. Kolja welcome to the show. [00:02:10] Kolja Lampe: Hi, nice to be here. [00:02:12] Kevin Yank: For the benefit of our listeners and for myself, who this is the first time I'm getting to meet you properly, why don't you introduce yourself? [00:02:20] Kolja Lampe: Well hi, I'm Kolja and I'm mostly working on open source stuff right now, well I'm actually going to work normally - as normal as you can go to work right now. Like I'm working from home, obviously. [00:02:33] Kevin Yank: There's not a lot that's very normal at the moment. [00:02:36] Kolja Lampe: Yeah, agreed. I'm actually enjoying working from home very much. Programmers are in a good position to do that. [00:02:44] Kevin Yank: Do you work professionally in Elm or is Elm a pastime for you at this point? [00:02:49] Kolja Lampe: It's a pastime for me. I do have, like, we have something that we call 10% time at work, and I do have a project there that's using Elm. But other than that, it's not used at work. [00:03:05] Kevin Yank: Okay. Yeah, I've seen a lot of that happen, of Elm being used as kind of a tool for building admin UIs and internal tools and things like that. [00:03:16] Kolja Lampe: So if you're interested in what I built, it's actually something

May 26, 202052 min

Ep 52Elm Town 52 – It's not like I have a stoplight on my desk

Aaron VonderHaar returns to the show for a deep dive on automated tests, test-driven development, and elm-program-test, a new high-level test framework for Elm. Thank you to our sponsor, Culture Amp. Special thanks to Xavier Ho (@Xavier_Ho) for editing and production of this episode! Recording date: 2 April 2020 Guest Aaron VonderHaar (@avh4) Show Notes 00:00:00 Intro Elm Town 50 – My favorite thing is when they don't even notice 00:01:42 TDD and automated tests at NoRedInk RSpec 00:02:19 elm-program-test elm-program-test elm-test Capybara Selenium Test.Html.Query (was elm-html-test) Test.Html.Event (was elm-html-test) 00:04:36 Why write automated tests 00:06:44 Test-driven development 00:08:55 Tests vs types 00:11:33 Test-driven development (continued) 00:13:25 Red, green, refactor TDD (Test-Driven Development) Traffic Light 00:16:18 Test-driven development (continued) “Make Data Structures” by Richard Feldman “Making Impossible States Impossible” by Richard Feldman 00:20:23 Testing at the right level 00:24:53 Testing culture in a team 00:26:43 The need for elm-program-test Robolectric 00:30:22 The elm-program-test API elm-program-test API documentation 00:32:12 Standing in for the Elm runtime 00:35:34 Testing Elm commands Elm Town 46 – You Get All Of The Chapters 00:37:49 Standing in for the Elm runtime (continued) elm-testable 00:39:46 Resolving and asserting on HTTP requests 00:43:08 Other supported effects 00:45:12 Modelling the user interface in your test suite 00:47:18 Smart DOM matchers 00:49:05 Keyboard focus tracking 00:49:48 elm-program-test vs non-Elm alternatives 00:51:53 Stability and feature-completeness 00:53:00 elm-program-test at NoRedInk 00:54:42 Testing the interface with the back end Pact 00:55:58 Related talks by NoRedInk colleagues "Writing Testable Elm" by Tessa Kelly "A Month of Accessible Elm" by Brooke Angel 00:56:53 Sign-off and outro Transcript [00:00:00] Kevin Yank: Hello and welcome back to Elm town. It's your old friend Kevin, and I am rejoined by Aaron VonderHaar back for his second episode. Welcome back, Aaron. [00:00:09] Aaron VonderHaar: Hey, Kevin, it's great to be back. [00:00:10] Kevin Yank: Aaron, you were with us a few weeks back now to talk about your work on elm-format, among other things, including a new refactoring tool that, we'll be releasing very soon, I imagine, by the time our listeners hear this. If you haven't caught that episode, [00:00:28] go back two episodes and have a listen to that first chat we had with Aaron, because we will be picking up on the threads of that conversation here today with a focus on elm-program-test, and testing in general for Elm. Richard Feldman is not the only person that, NoRedInk who cares about testing. [00:00:48] Am I to understand that right, Aaron? [00:00:50] Aaron VonderHaar: That's right. Test driven, and having a lot of automated tests has been pretty core and NoRedInk, for everybody there. So, yeah, we all get into it now. [00:00:58] Kevin Yank: I'm actually interested in hearing about the background of that, cause I would say that's maybe not true of every company that's using Elm today. But I'm aware that NoRedInk started as a Ruby on Rails application, where in that ecosystem, in the Ruby ecosystem, test driven development and automated testing in general is very strongly embedded in the culture of that programming community. [00:01:23] Is there a sense that NoRedInk's investment in testing and belief in testing flowed out of that background in Rails or, not? [00:01:30] Aaron VonderHaar: Yeah, I'd say that is definitely fair to say. RSpec is the big testing framework there, and that was definitely encouraged by Rails, the framework as well. [00:01:40] Kevin Yank: And so I guess a lot of developers who are used to having a strong testing framework on the back end, they are invested in the idea of having that on the front end with Elm. And that leads to people like Evan (sic.) working on elm-test and yourself working on this new package, elm-program-test. [00:01:59] Aaron VonderHaar: I mean, web apps in general these days, testing is highly thought of across a lot of JavaScript platforms as well. So it's not unique to Elm, but Elm kind of being a totally separate language, even though it works in the JavaScript ecosystem, kind of needs its own tools and its own way of doing things that supports the language itself. [00:02:19] In a nutshell, elm-program-test is an Elm package that you can use alongside elm-test, and it lets you write tests that are maybe at a higher level of testing than what you can do with elm-test out of the box. So the types of tests you can write in elm-program-test are similar to maybe what you might write in tools like Capybara in Rails or Selenium where you write tests saying, okay, the user is loading this page, [00:02:48] the user is going to click this button, fill in text in the input with this label, navigate to this other page, submit the form, and then check that cer

May 12, 202058 min

Ep 51Elm Town 51 – You went down the well? That’s the cheat way!

Joseph Ni (aka Mordrax) shares the twisting tale of how an obscure 90s video game got him his first job with Elm, and how it brought him face to face with 10,000 lines of legacy code. Thank you to our sponsor, Culture Amp. Special thanks to Xavier Ho (@Xavier_Ho) for editing and production of this episode! Recording date: 1 April 2020 Guest Joseph Ni (aka Mordrax) (GitHub: mordrax) Show Notes 00:00:00 Intro and sponsors 00:01:42 Mordrax's history with programming Castle of the Winds InstallScript Language Reference Honeywell Enterprise Buildings Integrator Hawley Honeywell Mouse 00:05:16 Getting into front end web development TypeScript Angular Meteor Ember React 00:07:45 Getting into Elm Blake eLearning CoffeeScript Ruby Haskell 00:11:40 Castle of the Winds Castle of the Winds Python TypeScript jQuery Meteor React 00:15:10 First impressions of Elm… 00:18:00 Playing Castle of the Winds in Elm Castle of the Winds in Elm source code 00:19:36 Pacific Health Dynamics (PHD) Pacific Health Dynamics 00:22:35 Flattening state in 10,000 lines of Elm Elm at PHD ebook 00:27:17 Growth of Elm at PHD elm-jobs job listing 00:28:41 Sign-off and Outro Transcript [00:00:00] Kevin Yank: Hello again. It's your old friend Kevin, and we're back with another episode of Elm town. This episode. I'm joined by Joseph Ni. You might know him as Mordrax in the various online communities we frequent. Today he's gonna be here to talk about his journey with Elm and, how it's been used at a little company here in Australia called Pacific Health Dynamics. [00:00:22] Before we get into it, just a word of thanks as usual to Culture Amp for paying my salary while I record this. they support the show with my time and, it feels great to be able to do this in the middle of a Workday when I'm wide awake. And thank you to Culture Amp as you have probably heard by now, listener. We build a web app that companies use all over the world to invest in their people and their workplaces – to make the workplaces of the world better places to work is how I like to put it. We build our front end, at least in part, in Elm, in production. [00:00:54] And so if that is the sort of thing you would like to do for a job, you should reach out. My email address is [email protected] and you can visit https://cultureamp.com/jobs to see what open roles we have at any given time. [00:01:09] I'd also like to thank Xavier Ho for editing this podcast every single episode. He makes us sound great. We were just chatting the other day about some new software. He was looking at to do some live transcription of the rough cut so that you could then edit the transcript and that would cause the episode to be edited in a rough form that he could then tidy up. So he is always looking for ways to make this show better. [00:01:35] And I really appreciate that. If we sound at all good, it is mostly thanks to Xavier Ho. Joseph, welcome to the show. [00:01:42] How long have you been writing software for a living? [00:01:46] Joseph Ni (Mordrax): So writing software for living, pretty much ever since uni. And even before that, you know, I fell in love with the 286 with, QBasic and I'd be writing games and, and various calculators and whatnot pretty much my whole life. [00:02:02] Kevin Yank: So that's early. nineties, if not late eighties? [00:02:07] Joseph Ni (Mordrax): That's early to mid nineties. Yeah. Early to mid nineties. Floppy disks, five and a half inch. Those, those were the days. Yeah. [00:02:16] Kevin Yank: So what, what was your first language? [00:02:19] Joseph Ni (Mordrax): QBasic actually. Yeah. [00:02:20] Kevin Yank: Wow. Okay. Yeah, I came up on the Apple Basic. [00:02:24] Joseph Ni (Mordrax): You know, back then it was, it was all brand new. And, I was just amazed that I could actually get the computer to do something. And I was very much into kind of the D&D pen and paper role play, and, you know, and I've kind of tried to make a few games out of that. I was making along the lines of Grand Strategies, kingdom management and kingdom simulations. And then I moved on, to my first Windows machine, and then fell in love with couple of RPGs. Castle of the Winds was one of them. And that will come up again and again. (laugh) [00:02:59] Kevin Yank: My partner Jessica was a big fan of Castle of the Winds. It was her first, addiction as a video game. there are lots of fans out there who still remember that very fondly. So the programming bug, but you early, you were writing it as a hobbyist, as a gamer, as many of us were back in those days. [00:03:17] And then at a certain point, the web took over the world. What form did that take as it entered your life and, and I guess eventually became a career for you? [00:03:26] Joseph Ni (Mordrax): I kind of resisted the web for quite a long time. I was, you know, doing back ends, and I was doing a Windows desktop development for a while. [00:03:35] And before that I was, you know, at a big company, Honeywell doing a very, little kno

May 4, 202029 min

Ep 50Elm Town 50 – My favorite thing is when they don't even notice

Aaron VonderHaar shares the origin, history and plans for the future of elm-format and a new, related tool! Thank you to our sponsor, Culture Amp. Special thanks to Xavier Ho (@Xavier_Ho) for editing and production of this episode! Recording date: 19 Mar 2020 Guest Aaron VonderHaar (@avh4) Show Notes 00:00:00 Intro and sponsors Using Elm in Production at Pivotal Tracker (article) Elm San Francisco (meetup) elm-format 00:04:22 How Aaron got into Elm "Controlling Time and Space: understanding the many formulations of FRP" by Evan Czaplicki (video) 00:06:09 The origins of elm-format “A Farewell to FRP” by Evan Czaplicki (article) go fmt your code (article) Prettier 00:12:15 Avoid configuration options 00:15:53 elm-format's evolution Issue #209: Should single-line if expressions be allowed? 00:17:50 elm-format's parser parsec: Monadic parser combinators 00:20:33 Auto-correct syntax errors 00:21:55 Learn Elm with elm-format 00:23:41 Major “internals” projects 00:25:30 elm-refactor coming soon Migrating to elm/http 2.0 Html.Attributes.style 00:32:03 The Elm version flag 00:35:06 Controversial formatting 00:41:08 Where changes in elm-format come from 5 core principles issues on GitHub 00:47:05 Still beta issues by milestone on GitHub 00:49:00 Inclusion in Elm core elm-test 00:51:12 elm-refactor coming soon (continued) 00:52:50 Teaser: elm-program-test elm-program-test 00:53:54 Sign-off and Outro Transcript [00:00:00] Kevin Yank: hello, and welcome back to Elm town. It's your old friend Kevin, and I'm here today with Aaron VonderHarr. Hi, Aaron. [00:00:07] Aaron VonderHaar: Hi Kevin, how's it going? [00:00:09] Kevin Yank: Very good. Good to have you with us. Aaron is, if you don't know the name, the author of elm-format and, I think, a lot of listeners will be perking up at that because I have yet to meet someone who doesn't love elm-format. After using Elm for a little while. [00:00:27] So I think we'll have a lot to talk about today. Before we get into that though, as usual, I want to acknowledge our sponsors, Culture Amp. They pay my bills and they are letting me record this in the middle of a work day. So thank you, Culture amp. You've probably heard of all of this by now listeners, but as you may already know, we make a web application that businesses all over the world [00:00:50] we're talking 2,500 plus companies now around the world, use our web application to collect feedback from their employees, [00:01:00] to run their performance reviews and to mush the data that comes out of those things together in order to understand their people, their culture, how people are feeling about work and, and how to improve their workplace. [00:01:13] that's a mission I am very excited to be writing software for. And if you would like to write Elm in production on that kind of web app, you should reach out [email protected] is my direct address. Or you can visit cultureamp.com/jobs in order to see what roles we have open at any given time. [00:01:32] And also thank you to Xavier Ho, our producer who makes us sound great by cutting out all of the mistakes and trimming the boring bits from these episodes, so you get the very best Elm Town that we can make, dear listener. [00:01:47] Aaron, welcome to the show! [00:01:49] Aaron VonderHaar: Thanks for having me. [00:01:51] Kevin Yank: for those who might not be familiar with you or might not have heard your story before, tell us about yourself and what led you to Elm. [00:02:00] Aaron VonderHaar: Sure. well, let's see. When I first was getting into programming, I really took an interest and kind of had some mentors that got me interested in user experience and kind of that aspect of development, but web development was kind of the big thing when I was getting out of college. [00:02:17] And, I did a fair amount of that. I did a lot of mobile app development after the iPhone came out and, did some, a lot of big work for some Android projects. [00:02:27] Kevin Yank: Are we talking about native apps for those platforms or still on the web? [00:02:31] Aaron VonderHaar: Yep. Native apps. Actually, I did one project for this Android phone. I was actually in charge of the team that was re-skinning and developing new core apps that were going to be shipped with the phone itself from the manufacturer. I've done a lot of Android and iOS stuff. But yeah, I eventually ended up doing some consulting work at Pivotal Labs and started doing more web development there and I guess got interested in Elm… [00:02:57] …kind of on the side. I started going to the meetups in San Francisco, got to know Evan and Richard Feldman… [00:03:03] and got more and more interested in it. And eventually when I started looking around for a new job, NoRedInk was looking for people to do more Elms. So I ended up working on Elm almost full time, at NoRedInk, after that. [00:03:17] Kevin Yank: Pivotal Labs was one of those names that, when Culture Amp was first looking at Elm and you know, you do the thin

Apr 17, 202054 min

Ep 49Elm Town 49 – Sixteen 3D Spinners Should Be Enough For Most People

Ian Mackenzie shares the history of elm-geometry, elm-units and elm-3d-scene, and how he hopes to one day see them used to design a world-championship-winning robot – or a skyscraper. Thank you to our sponsor, Culture Amp. Special thanks to Xavier Ho (@Xavier_Ho) for editing and production of this episode! Recording date: 18 Mar 2020 Guest Ian Mackenzie (@ianemackenzie) Show Notes 00:00:00 Intro and sponsors 00:01:05 elm-geometry and elm-3d-scene elm-geometry (Elm Packages) elm-3d-scene (GitHub) "A 3D rendering engine for Elm" at elm-conf 2019 (YouTube) 00:02:02 How Ian got into Elm FIRST Robotics Competition “Now you're thinking in functions" at elm-europe 2018 (YouTube) Dart dart-sass V8 JavaScript Engine Flutter Qt 2008 World Championship – 1114 Simbotics Arup (website) MassMotion crowd simulation software elm-units (Elm Packages) 00:19:18 API design lessons from elm-geometry “Now you're thinking in functions" at elm-europe 2018 (YouTube) Matthieu Pizenberg (website) Martin Stewart (Tretton37) Joël Quenneville (Twitter) 00:30:37 elm-3d-scene elm-3d-scene (GitHub) "A 3D rendering engine for Elm" at elm-conf 2019 (YouTube) 00:37:46 Ambient lighting 00:44:50 Transparency and graphics programming hacks 00:46:50 Real-world vs screen units 00:48:23 Creating a generic framework 00:49:55 What's left before 1.0 Contributing to elm-3d-scene (GitHub) 00:53:37 Using elm-3d-scene today 00:55:02 Thankyous & Outro

Apr 2, 202056 min

Ep 48Elm Town 48 – Making Little Games Like Presents

Martin Stewart tells the behind-the-scenes story of how his game Circuit Breaker (built entirely in Elm, of course) came to be, starting with an ambitious plan to surprise his sister on her birthday. Thank you to our sponsor, Culture Amp. Special thanks to Xavier Ho (@Xavier_Ho) for editing and production of this episode! Recording date: 5 Jan 2020 Guest Martin Stewart (https://tretton37.com/meet/martin-stewart) Show Notes 00:00:00 Intro and sponsors 00:02:37 How Martin got into Elm 00:05:14 C#/WPF to Elm tretton37 00:07:05 Getting started in Elm 00:07:44 Remaking Lego Loco / server-side logic Lego Loco remake (GitHub) Lego Loco (Wikipedia) 00:11:29 “I was allergic to using case statements” 00:14:10 The origin of Circuit Breaker 00:17:57 A brief description of Circuit Breaker Circuit Breaker / source code 00:19:45 The original “hackman” prototype 00:21:30 The level editor 00:23:08 SVG to WebGL / presentation framework Elm Town 35 - Herzog Drei with Francesco Orsenigo sthlm.js #53 at tretton37 (meetup event) Stockholm Elm: Catchy Elm meetup title (meetup event) WebGL for Elm Martin's C# game engine / video demo 00:30:27 Hacking around Elm WebGL's limitations 00:38:45 Ready for his sister's birthday 00:40:16 Polishing Circuit Breaker full time between clients Circuit Breaker with Elm logo colour scheme 00:42:13 Deterministic except for floating point precision 00:44:07 The game's tutorial 00:47:49 Hidden features and Easter Eggs 00:49:50 Splitting a project into modules 00:53:22 Music in the game Meganeko Lain Volta 00:54:59 Playing music in Elm Crypt of the Necrodancer 00:58:30 Thankyous & Outro elm-ui elm-geometry

Jan 11, 20201h 4m

Ep 47Elm Town 47 - A Cool, Easy Way To Start Learning Haskell

Stöffel talks about Jetpack, a simplified build tool that NoRedInk built to replace webpack, and how it started his journey to learn Haskell and eventually end up on the team behind NoRedInk's next-generation, Haskell-based server-side architecture. Thank you to our sponsors, Culture Amp and Joel Clermont. Special thanks to Xavier Ho (@Xavier_Ho) for editing and production of this episode! Recording date: 31 Aug 2019 Guests Christoph Hermann (Stöffel) (@schtoeffel) Show Notes 00:00:00 Intro and sponsors 00:01:41 How Stöffel got into Elm NoRedInk 00:07:07 Jetpack Jetpack Haskell webpack elm-live 00:12:22 From Elm to Haskell 00:14:59 Unsupported open source & making the repo public 00:16:30 The features of Jetpack 00:18:42 Smart development rebuilds with Shake 00:21:13 Other Haskell at NoRedInk 00:22:40 Full-stack type safety: Servant and Servant Elm Servant Servant Elm 00:25:31 elm-verify-examples elm-verify-examples 00:30:21 Running Elm as a command line tool 00:31:39 Auto-detecting tests in elm-test elm-test elmi-to-json 00:36:04 Assets in Jetpack 00:37:10 Engineering management separate from team leadership 00:40:09 One-on-one meetings 00:41:01 Success as a manager 00:42:58 Self-improvement as a manager 00:44:37 Puffins: Haskell-based architecture team 00:49:18 Outro

Sep 21, 201949 min

Ep 46Elm Town 46 - You Get All Of The Chapters

Richard Feldman joins us to mark the content completion of his book, Elm in Action. Thank you to our sponsors, Culture Amp and Joel Clermont. Special thanks to Xavier Ho (@Xavier_Ho) for editing and production of this episode! Recording date: 31 Aug 2019 Guests Richard Feldman (@rtfeldman) Show Notes 00:00:00 Introduction 00:01:05 Sponsors Culture Amp Joel Clermont 00:02:06 Richard intro NoRedInk elm-test elm-css elm-decode-pipeline 00:02:46 elm-test and Elm 0.19.1 00:06:33 Draft API: testing commands and tasks with elm-test 00:13:00 Recent Elm community events Oslo Elm Day Elm in the Spring Mario Rogic's keynote at Elm Europe 00:20:50 Elm in Action Elm In Action 40% off discount code: PODELMTOWN19 00:46:23 Outro

Sep 5, 201947 min

Ep 45Elm Town 45 - It Started Off As A Morning Book

Jeremy Fairbank, the author of “Programming Elm” (Pragmatic Programmers), visits Elm Town to talk about his new book and how it teaches Elm, and about writing tech books in general. Thank you to our sponsors, Ellie, Culture Amp and Joel Clermont. Special thanks to Xavier Ho (@Xavier_Ho) for editing and production of this episode! Recording date: 4 May 2019 Guests Jeremy Fairbank (@elpapapollo) Show Notes 00:00:00 Introduction Programming Elm (website) Programming Elm (book) Test Double 00:00:51 Sponsors Ellie Culture Amp Joel Clermont 00:02:16 How Jeremy got started in Elm and writing books Solving the Boolean Identity Crisis (elm-conf 2017) Toward a Better Front End Architecture: Elm (Codemash 2017) 00:05:55 Elm as a hobby, writing things polished enough for yourself 00:07:46 Using Elm in Production and client stories Richard Feldman’s elm-spa-example 00:10:55 Experience as a technical book writer 00:13:16 Teaching patterns progressively 00:16:00 Writing hard chapters as Elm 0.19 comes out 00:17:53 Writing books assuming reader has no Internet 00:20:25 Test driven development and type systems 00:24:40 Writing is lonely / thank you Emily 00:27:27 Editor relationship and learning from them 00:29:18 Deciding where the end goal should be for a beginner's book 00:31:34 Sequel or cookbook for the Elm community elm-css elm-ui 00:34:01 Modelling transition states 00:35:13 Ports and subscriptions / web sockets chapter 00:39:46 Fuzzing and testing 00:42:25 Thank you, good bye and how to get the book

May 22, 201943 min

Ep 44Elm Town 44 - More Of A Statement Than A Question

Members of the organising teams of all four major Elm conferences – elm-conf, Elm In The Spring, Elm Europe, and Oslo Elm Day – come together to discuss what goes into a successful Elm conference, the lessons they've learned along the way, and what we can expect at their next conference! Thank you to our sponsors, Ellie, Culture Amp and Joel Clermont. Special thanks to Xavier Ho (@Xavier_Ho) for editing and production of this episode! Recording date: 14 April 2019 Guests Blake Thomas (@dijjnn) Danielle Pham (@quelledanielle) Erik Wendel (@ewndl) Thibault Assus (@tibastral) Show Notes 00:00:00 Introduction elm-conf Elm In The Spring NoRedInk Elm Europe Not Only Meetings Oslo Elm Day Bekk 00:04:50 Sponsors Ellie Culture Amp Joel Clermont 00:06:53 Blake: How Elm In The Spring got started 00:08:43 Danielle: How they joined NoRedInk and elm-conf 00:10:08 Thibault: How teaching led to Elm Europe 00:11:53 Erik: Oslo Elm Day was “the ambitious approach” 00:14:30 Blind CFPs and curating for diversity Speak at elm-conf ElmBridge Global Diversity CFP Day 00:27:13 Doing it all again next year 00:29:35 The organising teams 00:31:04 Elm In The Spring coming up soon SPRINGTIME10 – 10% off Elm in the Spring 00:32:39 Blind CFPs and curating for diversity (part 2) 00:35:44 The organising teams (part 2) 00:39:06 Lessons: Respect the schedule 00:41:55 Lessons: Audience Q&A is usually a bad idea 00:45:37 Evan and Richard’s involvement 00:48:29 Elm Europe coming up in June ELMTOWN10 – 10% off elm-europe until the end of April 2019 00:49:01 Be there for the hallway track 00:52:35 Speaking at a conferece 00:54:38 Outro

Apr 19, 201956 min

Ep 43Elm Town 43 - It Just Goes On and On

Keith Lazuka and AJ Alt from Microsoft share their experience writing the amazing Elm language support package for the IntelliJ family of integrated development environments. Thank you to our sponsors, Ellie, Culture Amp and Joel Clermont. Special thanks to Xavier Ho (@Xavier_Ho) for editing and production of this episode! Recording date: 23 February 2019 Guests Keith Lazuka (@klazuka) AJ Alt (@ajalt on Medium) Show Notes 00:00:00 Introduction 00:01:37 Guest intro intellij-elm elm-hot 00:02:45 Project beginnings 00:07:10 About IntelliJ 00:08:04 Elm at Microsoft 00:09:20 Writing IntelliJ plugins with Kotlin 00:13:34 Parsing Elm to produce an Abstract Syntax Tree (AST) 00:16:22 So many features! 00:18:56 Type inference 00:19:55 How do you decide what features to build? 00:20:44 Tidying up dead code and imports since Elm 0.19 00:23:03 Supporting both Elm 0.18 and Elm 0.19 00:27:25 Parsing partial Elm programs with errors 00:30:38 Language servers and multi-editor support 00:32:57 Saving on scrolling 00:34:28 Effortless refactoring 00:36:19 Extensible records 00:37:43 Test-driven development & BNF grammar 00:38:39 How do you split work? 00:40:42 Outro

Feb 28, 201941 min

Ep 42Elm Town 42 – It's Just Darth Vader

Erkal Selman shares the story behind Kite, a web application for drawing and exploring directed graphs written entirely in Elm. Thank you to our sponsors, Ellie, Culture Amp and Joel Clermont. Special thanks to Xavier Ho (@Xavier_Ho) for editing and production of this episode! Recording date: 25 January 2019 Guests Erkal Selman (@AzizErkalSelman) Show Notes 00:00:00 Introduction 00:01:34 Guest intro Kite Thread: An Interactive Visualization Tool for Graph Theory 00:04:59 Graph theory 00:07:08 Origins of Kite 00:10:13 Elm benefits 00:12:15 Inspirations Talk: The Life of a File, Evan Czaplicki Talk: Make Data Structures, Richard Feldman 00:13:24 D3.js via JavaScript interop 00:18:42 Replacing D3.js with elm-visualisation 00:20:37 It's Darth Vader!!! 00:21:05 Ian MacKenzie's elm-geometry Talk: Now You're Thinking in Functions, Ian Mackenzie 00:23:17 Matthew Griffith's elm-ui 00:25:41 Performance bottlenecks 00:27:09 Importing Elm dependency graphs Code: Support for private repos 00:29:44 Multiple centers of gravity 00:30:54 Planned features, welcomed contributions 00:34:20 Erkal wants a job! 00:35:03 Outro and the Sublime Text Editor Integration Package: Elm Language Support for Sublime Text

Feb 7, 201936 min

Ep 41Elm Town 41 – Confetti and Waterfalls

Brian Hicks stops by to talk about elm-particle, a handy particle physics simulation you can use to throw confetti across your users' screens! Thank you to our sponsors, Ellie, Culture Amp and Joel Clermont. Special thanks to Xavier Ho (@Xavier_Ho) for editing and production of this episode! Recording date: 2019-01-19 Guests Brian Hicks (@brianhicks) Show Notes 00:00:00 Introduction 00:01:32 Guest intro 00:02:12 Project origin Elm-particle 1.0.1: create visual flourishes in SVG 00:06:13 Particle Physics 00:08:20 Library Overview 00:11:21 Getting started with the API 00:12:36 Normal distribution of random numbers Random.Float.normal in Random.Extra 00:14:37 Opaque types and 'with' functions 00:17:21 SVG vs WebGL 00:21:39 Weighted randomness and Markov chains 00:24:25 Dynamic generators via subscription function 00:28:42 Generating GitHub site with make 00:30:56 Future work 00:33:17 Oslo Elm Day 00:33:51 Thank You

Jan 30, 201934 min