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

Apr 19, 2019 • 56min
Elm 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

Feb 28, 2019 • 41min
Elm 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 7, 2019 • 36min
Elm 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

Jan 30, 2019 • 34min
Elm 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

Nov 21, 2018 • 43min
Elm Town 40 – A Game Boy Emulator in Elm
Manuel Fuchs shares what he learned by taking on a very unusual Elm project: a Nintendo Game Boy emulator!
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: 2018-11-10
Guests
Manuel Fuchs (@malax)
Show Notes
00:00 Show opening
01:58 Manuel's journey to Elm
07:09 Why a Game Boy emulator
Tetris Effect
video: Writing a Game Boy Emulator in Ruby
12:19 False assumptions and unexpected difficulties
18:37 Loading Game Boy ROM images as binary data
19:59 Breaking out of the Elm Architecture
22:30 Implementing a CPU instruction set in Elm
Elmboy source code
25:46 Debugging and profiling
27:03 Throwing out types
31:49 Adding Pokemon compatibility
33:30 Readability, teaching and welcoming contributors
34:57 More performance optimisations
41:05 Elm + Game Boy = fun
Try Elmboy

Nov 1, 2018 • 46min
Elm Town 39 - I Used Elm And It Cost Me My Job
Annaia Berry and Ossi Hanhinen share previously unreleased details of an important client project, and why their choice of Elm cost Annaia her job.
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: 2018-09-30
Guests
Annaia Berry (@ann_arcana)
Ossi Hanhinen (@ohanhi)
Show Notes
00:00 Show opening
article: Prevent Impossible States with JSON Decoders in Elm, Julio Feijo
1:58 Guest Intros
video: I Used Elm In Production and It Cost Me My Job
02:50 Annaia Berry
The Heresy programming language
03:24 Ossi Hanhinen
video: Beyond Hello World & Todo Lists
04:14 Futurice
5:03 The Project: Ferrari
Sanoma Group
Helsingin Sanomat (English)
Ilta-Sanomat (English)
14:00 Ossi’s “Space Invaders” prototype
article: Base for a game in Elm 0.17
14:36 Choosing and Learning Elm
32:02 Porting Ferrari to Elm 0.19
Elm Analyse
Glitch
slides: I used Elm in production and it cost me my job (source code)
video: When and how to use Web Components with elm
44:26 Elm cost Anna her job

Oct 10, 2018 • 44min
Elm Town 38 - Elm 0.19's Improved Collections with Robin Heggelund Hansen
Robin Heggelund Hansen (Bekk Consulting) shares the very personal story that led to him contributing improvements to List, Dict and Array in Elm 0.19.
Thank you to our sponsors, Culture Amp and Ellie!
Recording date: 2018-09-30
Guests: Robin Heggelund Hansen (@robheghan)
1:55 article: Elm 0.19 Brings Better Collections
28:15 package: Elm Benchmark by Brian Hicks
32:08 package: AnyDict

Aug 25, 2018 • 48min
Elm Town 37 - Upgrading to Elm 0.19 with Luke Westby & Richard Feldman
Richard Feldman (No Red Ink) and Luke Westby (Ellie, No Red Ink) visit Elm Town to celebrate the just-released Elm 0.19, talk through No Red Ink's plan to upgrade its 250K lines of Elm to the new release, and revisit Luke and Richard's talks from Elm Europe on web components and data structures, respectively.
Thank you to our sponsors, Culture Amp and elm-conf 2018!
Recording date: 2018-08-25
Guests: Luke Westby (@blurrythoughts@mastodon.technology), Richard Feldman (@rtfeldman@mastodon.technology)
01:37 Elm 0.19 is out!
03:59 Guest introductions
05:24 Elm Europe talks
05:27 video: Make Data Structures, Richard Feldman @ Elm Europe 2018
07:49 video: When and how to use Web Components with elm, Luke Westby @ Elm Europe 2018
15:43 Ellie and Elm 0.19
16:54 audio: Elm Town 21 - Ellie!
17:32 Porting No Red Ink to Elm 0.19
40:57 Picks
41:31 article: Elm 0.19 brings better collections, Robin Heggelund Hansen
42:09 Mastodon
43:01 book: Capital in the 21st Century
43:30 Elm Language Support for Sublime Text
44:15 Frontend Masters
45:13 Dhall

Aug 21, 2018 • 42min
Elm Town 36 - The Risk of Elm with Dhruv Dang
Dhruv Dang visits Elm Town to share his experience learning from and ultimately adoption Elm at Project6. We discuss issues of team leadership, risk management, and hiring, and Dhruv explains Project6’s elegant solution to SEO with Elm.
Recording date: 2018-08-16
Guests: Dhruv Dang (hi@dhruv.io)
02:05 About Project6
02:05 Project6 website
04:47 Doing your best work with Elm
04:47 Elm Blog: A Farewell to FRP
09:53 Elm Architecture in JavaScript
11:48 Adopting Elm (the Tech)
17:01 Adopting Elm (the Team)
22:09 Convincing Your Company
33:07 Elm and SEO
38:24 Blog post: SEO for Single-Page Apps
39:32 Elm and Hiring

Aug 6, 2018 • 25min
Elm Town 35 - Herzog Drei with Francesco Orsenigo
Show Notes – Elm Town Episode 35 - Herzog Drei with Francesco Orsenigo
Francesco Orsenigo visits Elm Town to share a behind-the-scenes look at his game Herzog Drei. It’s written entirely in Elm with 60fps SVG graphics and gamepad support.
Recording date: 2018-07-22
Guests: Francesco Orsenigo (@xarvh)
Stax.io
Sebastian Porto
Haifisch
elm-gamepad
Herzog Drei
Dijkstra's algorithm
John Carmack Quakecon 2013 talk
Herzog Drei game state guide
Elm Discourse thread
#gamedev on Elm Slack