Elixir Wizards is an interview-format podcast, focused on engineers who use the Elixir programming language. Initially launched in early 2019, each season focuses on a specific topic or topics, with each interview focusing on the guest's experience and opinions on the topic. Elixir Wizards is hosted by Eric Oestrich and Sundi Myint of SmartLogic, a dev shop that’s been building custom software since 2005 and running Elixir applications in production since 2015. Learn more about how SmartLogic uses Phoenix and Elixir. (https://smartlogic.io/phoenix-and-elixir?utm_source=podcast)

Greg Mefford on Nerves, Poncho vs Umbrella Apps, and Pre-Code Planning

August 06, 2020 41:43 60.61 MB Downloads: 0

In today’s episode, we chat about system architecture, Ruby, Elixir, and everything in between with Greg Mefford, the senior back-end engineer for the Bleacher Report. We open the conversation by asking Greg about his start in coding, leading to a story about how Greg was that bored kid pressuring a math teacher to teach him QBasic. He shares how he fell in love with Ruby before discovering Elixir and Nerves. Having faced some challenges when learning Nerves, Greg talks about how he began documenting his pain points and writing documents to help onboard newcomers. We discuss Greg’s work with Nerves, his project aspirations, and his recommended resources for anyone looking to get into Nerves or Elixir. After providing his hot take on the latest Code BEAM V conference, we ask Greg what system architecture means to him. From there we get super meta about the meaning of architecture and what it means to translate design into practice. We touch on the struggle of understanding domain-driven design and Greg’s approach to pre-code planning before delving into how the Bleacher Report is set up. As Greg goes into details, you’ll hear why their servers now run on Elixir and not Ruby. Near the end of the episode, we talk about Poncho versus Umbrella apps, and Greg shares his passion for multi-user dungeons (MUDs). Tune in to learn more about Greg and his role in the Elixir and Nerves landscape.

Key Points From This Episode:

  • Greg’s start in coding and his transition from electronics design into IT.
  • Why Greg loves Ruby and how he discovered the magic of Elixir.
  • Greg’s contribution to the Elixir and Nerves community by helping onboard newcomers.
  • What Greg’s job as a senior engineer for Bleacher Report looks like.
  • Greg recommends resources for beginners getting into Nerves and Elixir.
  • Creating a kid’s game using Nerves and Greg’s Blinkchain library.
  • Greg’s take on the Code BEAM V conference and hating on the Whova app.
  • What architecture means to Greg. This one gets deep.
  • How translating designs into software has changed over the years.
  • Why Greg struggles with the idea of domain-driven design.
  • The state of Extreme Programming practices and how they synergize together.
  • How Greg views pre-code planning; something that’s become his specialty within his latest job.
  • The many elements that contribute to how the Bleacher Report’s IT is set up.
  • Ruby servers versus Elixir servers and why the Bleacher Report uses Elixir.
  • Why the Poncho system was designed to fix Nerves issues not covered by Umbrella apps.
  • Greg’s history creating multi-user dungeons (MUDs) and playing DragonRealm.

Links Mentioned in Today’s Episode:

Greg Mefford LinkedIn — https://www.linkedin.com/in/ferggo/
SmartLogic — https://smartlogic.io/
SmartLogic Jobs — https://apply.workable.com/smartlogic/
ElixirConf — https://elixirconf.com/2020
Blinkchain GitHub — https://github.com/GregMefford/blinkchain
Justin Schneck GitHub — https://github.com/mobileoverlord
Le Tote — https://www.letote.com/
James Smith — https://twitter.com/st23am
Garth Hitchens, ElixirCof 2015 — https://www.youtube.com/watch?v=kpzQrFC55q4
Nerves Project — https://www.nerves-project.org/documentation
Bleacher Report — https://bleacherreport.com/
Programming Elixir — https://www.amazon.com/Programming-Elixir-1-6-Functional-Concurrent/dp/1680502999
Elixir in Action — https://www.amazon.com/Elixir-Action-Sa%C5%A1a-Juri-cacute/dp/1617295027
Chris Keathley — https://codesync.global/speaker/chris-keathley/
Code BEAM V Conference — https://codesync.global/conferences/code-beam-sto/
Whova App — https://whova.com/
Amos King — https://twitter.com/adkron?lang=en
Christopher Keele — https://github.com/christhekeele
Steve Bussey Episode — https://smartlogic.io/podcast/elixir-wizards/s4e3-bussey/
Mark Windholtz — https://github.com/mwindholtz
Extreme Programming — http://www.extremeprogramming.org/
Adopting Elixir: From Concept to Production — https://www.amazon.com/Adopting-Elixir-Production-Ben-Marx/dp/1680502522
Live Elixir Wizards - Betweenisode — https://www.youtube.com/watch?v=kEwxhGYEGts
Twirp GitHub — https://github.com/twitchtv/twirp
Frank Hunleth — https://github.com/fhunleth
Elixir Supervisor Behavior — https://hexdocs.pm/elixir/Supervisor.html
Elixir Poncho Projects — https://embedded-elixir.com/post/2017-05-19-poncho-projects/
Titans of Text — https://www.titansoftext.com/
Miriani — https://www.toastsoft.net/
DragonRealms — https://www.play.net/dr/
Justus Eapen Twitter — https://twitter.com/justuseapen
Eric Oestrich — https://twitter.com/EricOestrich

Special Guest: Greg Mefford.