Tune in to the tools and techniques in the Elm ecosystem.
Similar Podcasts
The Cynical Developer
A UK based Technology and Software Developer Podcast that helps you to improve your development knowledge and career,
through explaining the latest and greatest in development technology and providing you with what you need to succeed as a developer.
New Rustacean
A show about the Rust programming language and the people who use it.
The Rabbit Hole: The Definitive Developer's Podcast
Welcome to The Rabbit Hole, the definitive developers podcast. If you are a software developer or technology leader looking to stay on top of the latest news in the software development world, or just want to learn actionable tactics to improve your day-to-day job performance, this podcast is for you.
066: elm-codegen with Matthew Griffith
Matthew Griffith (twitter) (github)elm-codegenelm-syntaxelm-syntax-dslelm-uiElm.Type.Type from elm/project-metadata-utils represents all possible Elm typeselm-codegen announcement post on DiscourseGuides from the elm-codegen repo
065: elm-watch with Simon Lydell
Simon Lydell (twitter) (github)elm-watchParcel build toolBuilding Trustworthy Tools Elm Radio episodeViteklazuka/elm-hotelm-tooling episodeelm-watch run-pty example folderSimon's run-pty tool for running commands in parallel
064: Projects We Wish We Had Time For
Sponsor: CareRevCareRev is looking for Senior Frontend Elm engineers (job listing).elm-review-simplifyElm Radio Root Cause of False Positives episodeDillon's pairing session using snapshot testing prototype with Corey Haineselm-snapshot-test prototype repoApproval testingelm-coverageelm-instrumentLlewellyn Falco Gilded Rose kata videoIdea: intellij integration for elm-coverageIdea: code actions for safe refactoringsIdea: elm-review integration in intellijIdea: sparksp/elm-review-imports either new feature, or separate project to give suggestions to make all inconsistent imports in a project consistentIdea: elm-review code actionsIdea: elm-review collection mechanism to gather data from an ASTPairwise testing (or all pairs)Idea: pairwise permutation API that minimizes the number of permutations to go through to get complete coverageIdea: mutation testing tool for Elm (is Phillip's tool relevant here?)Idea: generated API for elm-graphql but with factory-style API for mocking out data that is compliant to the graph schema, for use with things like elm-program-testIdea: Browser.application wrapper that provides some common initial flags like start time, initial window dimensions etcIdea: HTTP Error type to get bad status payload that can be shared between libraries to reuse the same type (similar to the HttpError type defined in elm-graphql)Aaron's community-standard elm-color packageIdea: tool to automatically vendor or un-vendor Elm packagesIdea: elm-format in ElmIdea: elm diff, but it gives you more detailed information about code changes even if they don't change the APIIdea: Phantom Builder analyzer that generates a state diagram from Elm codeIdea: suggest types based on what's possible in your current editor contextIdea: type inference and value inference in elm-reviewelm-http-fusionIdea: use a collection of HTTP requests to an endpoint in elm-http-fusion to gather better type incormation about an APIIdea: make tools like elm-http-fusion embeddable in the elm-pages dev server so you can interactively fix decoder errors, etc.Idea: elm-pages dev server code actions from the UI, like scaffolding new routeselm-codegenIdea: use elm-codegen for elm-pages scaffolding for user-customizable templatesOfficial Elm blog post The Syntax CliffIdea: show ANSI color code error messages embedded in blog postsTalk about the Hedy language: What every programmer should know about cognition by Felienne HermansElm Guide translated into FrenchIdea: translatable error messages and language keywords for ElmIdea: elm-css tool to make inline styles into static CSS files and replace the styles with a reference to the generated class. Goal: reduce bundle size and performance overheadIdea: codemod tool to post-process Elm code using elm-review fixes in a hidden temp directoryIdea: Elm step debuggerIdea: elm/parser debugger to see the state machine of what has been consumedIdea: Elm debugger improvements like filtering Msg types, customizable inspecting for certain typesIdea: inspectable Cmds in the debugger, or similar idea for debugging elm-pages DataSources to see why a failure happened and what the breadcrumbs areIdea: React ink, but for Elmawesome-elm-sponsorship repo
063: The Root Cause of False Positives
Jeroen's tweet on the root cause of false positivesEpistemologyIsabellehttps://en.wikipedia.org/wiki/Isabelle_(proof_assistant) and TLA+ (proof systems)Precautionary principlearray-callback-return ESLint ruleelm-review's ModuleNameLookupTableJeroen's Safe unsafe operations in Elm blog postJeroen's Lambda Days 2022 talk (video not yet published)
062: elm-test v2 with Martin Janiczek
Martin Janiczek (github) (twitter) (youtube)elm-test episodeFuzzing is also known as Property-Based TestingParameterized testsMartin's pure Elm text editor includes some fuzz testsMartin's pull request for the elm-test v2 changesIntegrated shrinking vs the value-based (AKA type-based) approachFuzz.andThen and Fuzz.filter (existed in 0.18 but were removed because they didn't shrink well)elm-test v2 upgrade guide and change notesPassing in random generators in elm-test v2 doesn't do shrinking so best to avoid that escape hatch and instead implement an equivalent fuzzerScott Wlaschin's post Choosing properties for property-based testingDiscourse post on call for testing help and how to install the beta releaseMartin's video series on designing the new fuzz testing API#testing channel on the Elm SlackHypothesis libraryHypothesis project's blogA paper about the Hypothesis reduction approach: Test-Case Reduction via Test-Case Generation: Insights From the Hypothesis Reducer
061: Exploring a New Form API Design
Parse, Don't Validateetaque/elm-formCodecs episodeSome similarities in the design for how you build up Custom Type codecs with elm-codec
060: Building Trustworthy Tools
Error messages should give three pieces of infoThe problemWhy it's a problemHow to go forwardNeeding to do magic incantations to get things into a good state adds cognitive load and makes debugging harderMake tools more predictableClear mental model (avoid inconsistencies and leaky abstractions)Doing an operation through different means should consistently arrive at the same resultGive contextAvoid caveatsTweet about layering platforms properlyExtensible web manifestoAvoid boy who cried wolf (becoming blind to noise from errors or warnings or other feedback)Halo Effect
059: Wrap Early, Unwrap Late
Primitive Obsession episodeParse, Don't Validate episodeDillon's Entry Gatekeepers and Exit Gatekeepers blog postsDillon's talk on semantic types
058: Elm Store Pattern
Martin Janiczek (github) (twitter) (youtube)Martin's Store Pattern talkStore Pattern example GitHub repoGizra fetch pattern blog postsGizra elm-fetch packageRemoteData packageRemoteData blog post How Elm Slays a UI Antipatternelm-program-test is useful for integration testing data loadingelm-suspense proof-of-concept repoOkay to use Store pattern for mutations, just kick them off outside of dataRequestsDefunctionalizationWrap early, unwrap lateDerive from source of truth instead of storing derived data
057: State of Elm 2022
Martin Stewart (github)State of Elm 2022 GitHub RepoBrian Hicks' State of Elm talk from Elm EuropeBrian's State of Elm 2022 blog postGitHub issues for state of Elm repoelm-pages showcase pageMartin's upcoming Goto conference talk - Hobby Scale: Making Web Apps with Minimal FussEvan's talk What is SuccessWhat's Working for Elm episodeMartin's Elm Online talk (including a preview of lamdera-test framework)
056: elm-book with Georges Boris
Georges Boris (twitter) (github)elm-bookElixir's Hex docsLeaf lang docs site (built with elm-book)elm-verify-exampleselm-book in elm-book guideelm-visualization examples siteelm-charts siteelm-widgets (alpha package docs)elm-admin (alpha package docs)elm-ui-explorer (alternative Elm storybook style framework - comes with knobs)dmy's Elm package repo sitedmy's githubelm-graphql selection set docs page (reads like a tutorial top to bottom)uncover.co
055: Use the Platform
Alex Russell's post Platform Adjacency TheoryVoiceOver rotor utilityUse semantic HTML to improve screen reader experiencesForms - use onsubmit with a form to get nice keyboard handling and screen reader accessibilitydatetime-local <input> tagsMDN docs for sending form dataHTMHell (examples of non-standard HTML from the wild and why it matters)Dillon's Use the Platform blog post
054: Developer Productivity
Incremental Steps episodeBuilt-in quality (from Lean principles)Tiny commitsKent Beck's book TDD by exampleDead Code episodeClose open loopsGetting Things Done (GTD) methodologyCapturingProcessingPomodoro Methodrainymood.comCentered AppTrunk-based developmentelm-review template flag (preview folder)sparksp/elm-review-no-forbidden-wordsSelf-documenting codeSelf-documenting code tweet and blog postelm-verify-examplesAPI Design Lessons episodeHammock-Driven DevelopmentReleasing vs. shippingContinuous DeliveryNaming as a Process article by Arlo Belshee
053: Dead Code
Oxbow code (code that was once used but is no longer in use)Jeroen's elm-review-unused elm-review ruleJeroen's blog post [Dead code in a pure language blog post](Safe dead code removal in a pure functional language)elm-review-simplifyGetting Things Done (GTD) methodologyInbox ZeroJeroen's no-extraneous-dependencies ruleTry out elm-review-unused with elm-review --template jfmengels/elm-review-unused/exampleJeroen's You thought you had no dead code post
052: Category Theory in Elm with Joël Quenneville
Joël Quenneville (Twitter)Elm's Universal Pattern episodeList.concatMap is the same pattern as andThen under a different nameandThen identity can be used to flatten somethingDillon's Combinators articleMartin Janiczek's elm-list-cartesian package gives two valid map2 implementions for ListMonoid - need a way of having something empty, and way to combine two things - for example addition for numbers starting with 0Jeroen's elm-review-simplify packageMore of Joël's distillation of category theory ideas:Running out of maps (applicatives)The Mechanics of Maybe (taking maybe apart and putting it back together)Two ways of looking at map functions (functors)Elm's universal pattern (applicatives)Inverting a binary tree (folding, catamorphisms)Joël's directory of blog posts on the ThoughtBot blog