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)
Viktória Fördős on Erlang
Today we sit down with Erlanger Viktória Fördős, who talks with us about Erlang and how it is used at Cisco. We open the show by finding out about Viki’s background in coding and her unorthodox entry into the field. After hearing about her experiences in her school choir and her transition into the informatics faculty, Viki talks to us about her first experiences in coding and the thrills she found in it. She then expands on the topic, revealing how she approached people to build their websites using her newfound skills in HTML and PHP. A flash-forward later, and Viki shares details about her role as an NSO Core Engineer for Cisco. After hearing how NSO serves as a network operating system, device automation platform, and orchestration engine, Viki explains why NSO is so special. She touches on fast map-based service and some of the ways she and her team implement network-wide transactions using — you guessed it — Erlang. Viki then explains Erlang, how you should approach it if you’re a newbie, and what to expect from its biggest challenges. She elaborates on tail-recursive functions and high-level vulnerabilities concerned with SSL crypto libraries, system integrity, and atom tables. Toward the end of the show, we ask Viki to tell us about her Code BEAM presentation and about her thoughts on why academia and industry should collaborate on a more regular basis. Join us today and be treated to an enriching conversation about Erlang, as well as our secret mini-feature segment!
Key Points From This Episode:
- Introducing today’s guest, Viki Fördős from Cisco.
- A snapshot of Viki’s unorthodox background in coding.
- Viki shares details about early experiences learning Basic.
- Hear about Viki’s first programming job out of college.
- Viki’s position as a core engineer for the NSO team at Cisco.
- Find out what the NSO team at Cisco does.
- Insights into the patented algorithm, “fast map.”
- How Viki started to use Erlang on a day-to-day basis.
- Ways you can start thinking in Erlang from an Elixir background.
- The kinds of issues Viki runs into when spawning too many processes.
- What Erlang has to offer that other languages cannot.
- Viki’s biggest challenges when she first started learning Erlang.
- The elevator pitch Viki uses when she encourages friends and colleagues to use Erlang.
- Distribution protocols and what they mean to Erlang newbies.
- Hear about the high-level vulnerabilities you ought to pay attention to when coding in Erlang.
- Introducing Christian Koch, today’s mini-feature segment guest.
- How Chris first got into Elixir.
- How Elixir is being used by platform engineers at Cars.com.
- Why Elixir was chosen as the end-game language to be used at Cars.com
- The process behind onboarding coders onto Chris’s Elixir team.
- Viki’s best advice to those wanting to give a Code BEAM talk.
- Hear about refactoring and how it works.
- What Viki means by, “research being consumed by industry.”
Links Mentioned in Today’s Episode:
Viktória Fördős - https://github.com/viktoriafordos
Cisco — https://www.cisco.com/
EW20 — https://github.com/viktoriafordos/ew20 Prototype implementation of the security analysis introduced in V. Fördős: Secure Design and Verification of Erlang Systems paper
Christian Koch — https://www.linkedin.com/in/ckochx/
Cars.com — https://www.cars.com/
BASIC — https://en.wikipedia.org/wiki/BASIC
Cisco NSO — https://www.cisco.com/c/en/us/products/cloud-systems-management/network-services-orchestrator/index.html
Think in Erlang! - Viktória Fördős — https://www.youtube.com/watch?v=bYkOsQU2ywM
Erlang general server — https://erlang.org/doc/man/gen_server.html
Erland Reference Manual — https://erlang.org/doc/reference_manual/distributed.html
4 Using TLS — https://erlang.org/doc/apps/ssl/ssl_distribution.html
Erland System Limits — http://erlang.org/doc/efficiency_guide/advanced.html#system-limits
Hexdocs — https://hexdocs.pm/elixir/String.html#to_existing_atom/1
RefactorErl — https://plc.inf.elte.hu/erlang/
Pipedream on GitHub — https://github.com/PipedreamHQ/pipedream/blob/master/components/github/readme.md
Special Guest: Viktória Fördős.