Writing practical and testable code, with Luke Westby
Luke, a serial open-source contributor has a burning passion for Elm. Luke is also the creator of Ellie - The In-Browser Live Editor for Elm! When not speaking at conferences around the world, and producing audio and video, Luke can be found discussing Elm with the ever-expanding community. Luke is an Elm addict.
Time Stamped Show Notes
2:19 – Luke is most passionate how he can best represent side-effects in applications to make applications less confusing. The aim is to write code that is practical and testable, instead of trying to make all your functions pure at the expense of readability. Elm is meticulous in the way it handles this, and is what got Luke interested in Elm.
6:34 – Elm has allowed Luke to focus on solving problems that he’s interested in, rather than having to work with all the minutiae that open source projects introduce.
7:40 – Elm is user-centered by design. Everything you need is downloaded with Elm, and only when it comes to advanced configurations do you need to adjust settings, and even then after a few hours you’ll have your configurations as you need them.
9:10 – Luke’s excited about a project he’s been working on for a few months called Ellie. Ellie is similar to JSBin and JSFiddle, but with the addition of providing access to the public Elm repository. Ellie lowers Elm’s barrier to entry by eliminating the need to create and share a repository, making testing and getting feedback on Elm code much faster and easier.
10:20 – Luke has had positive community feedback. He recently added VIM mode for the editors due to popular demand. Adding vim=true to the query string enables vim mode.
11:00 – Luke used to learn new things by reading blog posts and news sites like EchoJS, React’s subreddit, and Hacker News. Lately he rather relies on people to tell him about what excites them. He then spends some time looking these things up.
12:40 – Luke used to believe that dynamically typed languages were more efficient, but since working with types forces you to understand your domain before you create it has changed his mind. Although this front-loads some of the work, it makes writing code more efficient because you know where information is supposed to be. On top of that it also allows the next person to come along and be able to read your code.
14:09 – Best advice about programming
Don’t abstract prematurely. It’s better to try to solve a problem, come up with a good solution, and then clean it up later for public consumption.
14:48 – Habits for writing better code
Luke became aware of property-based testing and fuzz testing when he made the switch to Elm. It changed the way he thinks about writing code.
15:56 – Inspiring devs
Jenn Schiffer is a programmer, a speaker, and an artist. She created the website make8bitart.com. She’s the first person Luke followed on Twitter and the first speaker he ever saw give a programming talk.
16:32 – How to learn code from scratch
Luke would relearn programming just as he did in the past. He switched to programming from biochemistry mid-semester in college. He had to begin his studies by learning more advanced C++ course. He struggled, but he learnt more that way rather than being eased into the course.
17:02 – Luke would also start by building useful things sooner, rather than focusing too much on theory. He finds trying to solve real problems better than trying to understand abstract problems.
17:43 – How to work smart
Don’t overthink stuff. Solve the thing trying to solved and don’t get sidetracked.
Tools, Tips, and Books Mentioned
Note: At the time of recording Luke was a partner at HumbleSpark in Chicago. Luke now works with the awesome folks at NoRedInk.