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)
Speedcubing and Building Livebook with Jonatan Kłosko
It is important to us that the Elixir community keeps thriving, and one of the best ways to ensure this is by lowering the barrier to entry as much as possible. Livebook is helping to achieve this aim, and today we are lucky enough to be joined by its developer, Jonatan Kłosko. Jonatan is a young prodigy because while he is still at college, he is working closely with José Valim at Dashbit, and he can solve a Rubik’s cube in under five seconds! After hearing about his college thesis on evolutionary algorithms using Numerical Elixir, we jump into the story of how he met José and started building Livebook. He explains that Livebook is a web application for writing interactive and collaborative code notebooks for Elixir and we hear about the many features he is building into it. From there, Jonatan describes what he loves about Elixir, and we discuss how learning functional programming changes the way we code. Tuning in, you’ll also hear about a bunch of features that make Elixir so great, how its downsides are mostly solved by its extensibility, and some of Jonatan’s other hobbies that help him keep balance in his life. Be sure to sip on some Elixir with us today!
Key Points From This Episode:
- Jonatan speaks about “speedcubing”: his hobby of quickly solving Rubik’s cubes.
- How Jonatan got into programming and where he is at in his CS degree.
- Discussing Jonatan’s Bachelor’s thesis project on evolutionary algorithms in Elixir.
- How evolutionary algorithms are a style of solving optimization problems biologically.
- Building the project using the Erlang distribution and the Numerical Elixir library.
- How Jonatan started working on the Livebook project with Dashbit.
- Thoughts on how Jonatan broke into the Elixir community and how others can do the same.
- Livebook: a code notebook application with collaborative and sequential evaluation features.
- The IEx session abilities of Livebook and how impressed Sundi was when she discovered them.
- The different use cases for Livebook and the direction Jonatan wants to take the app in.
- Jonatan’s process of learning Elixir at college and the application he built for a project.
- The pair programming features of Livebook and how to use them.
- How well-positioned Jonatan is to learn Elixir and what he loves about the language.
- The functional programming style and how it affects how people write code after learning it.
- Downsides of Elixir around immutability and typing and Jonatan’s feelings toward this.
- How Elixir is making an impact on the programming community through being user-friendly.
- Jonatan talks about his other hobbies and how he finds balance in his life.
- Hopes for the future of Elixir, resources for learning, and how to get involved in the community.
- How amazing the pipe operator is and the huge advantage it gives Elixir over JavaScript.
- Final plugs from Jonatan and how best to reach out to him online.
Links Mentioned in Today’s Episode:
Jonatan Kłosko — https://jonatanklosko.com/
Jonatan Kłosko on GitHub — https://github.com/jonatanklosko
Speedcubing — https://www.rubiks.com/en-us/speed-cubing
Erlang Ecosystem Foundation Slack — https://erlef.org/slack-invite/erlef
Numerical Elixir — https://github.com/elixir-nx
LiveView — https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.html
Phoenix LiveView — https://github.com/phoenixframework/phoenix_live_view
Dashbit — https://dashbit.co/
Haskell — https://www.haskell.org/
React — https://reactjs.org/
Elixir — https://elixir-lang.org/
José Valim — https://twitter.com/josevalim
Livebook — https://dashbit.co/blog/announcing-livebook
SmartLogic — https://smartlogic.io/
Special Guest: Jonatan Kłosko.