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)
Shanti Chellaram on Pri-Queue and raft_erl – Elixir Internals
Today on the show we welcome Shanti Chellaram to talk about a couple of Erlang libraries she has created! We hear from her about Pri-Queue and raft_erl, and her motivation behind making them and some of the things we wishes she did differently! Shanti shares some of her background, early coding experiences, affinity for open source and her current work situation. From there we look at Pri-Queue, the problem it addresses and what a priority queue is. A highlight of the show is Shanti giving the best explanation of a bootstrapped skew binomial heap we have heard before explaining some of the main issues she faced in creating Pri-Queue. We then turn to raft_erl, how she got started with it and her hopes for its future. Throughout the conversation Shanti shares her philosophy towards open source and coding going forward as well as offering advice for newcomers to Erlang. Make you you join us for this fantastic episode!
Key Points From This Episode:
- A little bit about Shanti's background and current employment.
- Shanti's early experiences and what got her into open source software.
- Some coding decisions that Shanti would make differently in retrospect.
- The problem that Pri-Queue solves; the dearth of data efficient libraries.
- What is a priority queue? Ordering your data with scores.
- Shanti explains a bootstrapped skew binomial heap!
- Some of the hurdles that Shanti faced in writing Pri-Queue.
- How Shanti got started on her other library, raft_erl.
- The three Raft protocols and how much of it is implemented in the library.
- Shanti's next goals for raft_erl; bug free and widely used.
- The importance of distributed systems and Shanti's philosophy looking to the future.
- Advice for someone just starting out in Elixir!
- And much more!
Links Mentioned in Today’s Episode:
SmartLogic — https://www.smartlogic.io/
Shanti Chellaram Linkedin— https://www.linkedin.com/in/shanti-chellaram-495444187
Shanti Chellaram on Twitter — https://twitter.com/theccoder
Shanti Chellaram on github — https://github.com/shantiii
Erlang — https://www.erlang.org/
Elixir — https://elixir-lang.org/
Pri-Queue — https://github.com/okeuday/pqueue
raft_erl — https://github.com/shantiii/raft_erl
MailChimp — https://mailchimp.com
Teachers Pay Teachers — https://www.teacherspayteachers.com/
Purely Functional Data Structures — https://www.amazon.com/Purely-Functional-Structures-Chris-Okasaki-ebook/dp/B00AKE1V04
Rust — https://www.rust-lang.org/
Raft — https://raft.github.io/
Raspberry Pi — https://www.raspberrypi.org/
ElixirConf — https://elixirconf.com/2019
Partisan — https://partisan.cloud/
Special Guests: Dan Ivovich and Shanti Chellaram.