Listen "25: Improving developer experience with Marlus Saraiva"
Episode Synopsis
We talk with Marlus Saraiva about three big projects he is a part of. All of which are around improving the developer experience in Elixir! We start with Broadway, a library that makes working with GenStage even easier. We learn about his project Surface that brings a more react-like component model to LiveView. We then talk about his work on ElixirSense and ElixirLS which are used by editors to give code completion and documentation help. He covers where he thinks web development went wrong and what he thinks Elixir can do to improve it. We also cover where things may go with Surface and ElixirLS in the future, and much more!
Please note that this interview with Marlus was recorded before our interview with Chris McCord. When Marlus mentions that they were waiting for a soon-to-come LiveView release, that is the 0.15.0 release. The Surface 0.1.0 is the release he was talking about.
Show Notes online - http://podcast.thinkingelixir.com/25 (http://podcast.thinkingelixir.com/25)
Elixir Community News
- https://claudio-ortolina.org/posts/tips-for-finch-and-telemetry/ (https://claudio-ortolina.org/posts/tips-for-finch-and-telemetry/) – More of Claudio's work around creating custom LiveDashboard pages
- https://github.com/doawoo/teex (https://github.com/doawoo/teex) – Teex - Use Elixir like a system scripting language
- https://github.com/ityonemo/zigler/ (https://github.com/ityonemo/zigler/) – Zigler library highlight
- https://ziglang.org/ (https://ziglang.org/)
- https://www.youtube.com/watch?v=IM_tO8hQgKA (https://www.youtube.com/watch?v=IM_tO8hQgKA) – Zigler video showing catching memory leaks
- http://blog.erlang.org/the-road-to-the-jit/ (http://blog.erlang.org/the-road-to-the-jit/) – Erlang Blog post on the history and future of Erlang and performance.
- https://github.com/msaraiva/surface/blob/v0.1.1/CHANGELOG.md (https://github.com/msaraiva/surface/blob/v0.1.1/CHANGELOG.md) – Discussed Surface with Chris McCord in last week’s episode. They had a new 0.1.0 release
- https://techcrunch.com/2020/11/24/discord-is-close-to-closing-a-round-that-would-value-the-company-at-up-to-7b/ (https://techcrunch.com/2020/11/24/discord-is-close-to-closing-a-round-that-would-value-the-company-at-up-to-7b/) – Discord closing a funding round
- https://elixir-lang.org/blog/2020/10/08/real-time-communication-at-scale-with-elixir-at-discord/ (https://elixir-lang.org/blog/2020/10/08/real-time-communication-at-scale-with-elixir-at-discord/) – Discord Elixir case study
- https://dashbit.co/blog/tests-with-warnings-as-errors (https://dashbit.co/blog/tests-with-warnings-as-errors) – Dashbit blog post detailing making warnings in tests fail a CI build
Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at [email protected] (mailto:[email protected])
Discussion Resources
- https://github.com/dashbitco/broadway (https://github.com/dashbitco/broadway)
- https://www.youtube.com/watch?v=tPu-P97-cbE (https://www.youtube.com/watch?v=tPu-P97-cbE) – ElixirConf 2019 presentation
- https://youtu.be/tPu-P97-cbE?t=1935 (https://youtu.be/tPu-P97-cbE?t=1935) – Portion of Broadway showing live updating of worker tree
- https://github.com/msaraiva/surface (https://github.com/msaraiva/surface)
- https://github.com/elixir-lsp/elixir-ls (https://github.com/elixir-lsp/elixir-ls)
- https://github.com/elixir-lsp/elixir-ls/blob/master/CHANGELOG.md (https://github.com/elixir-lsp/elixir-ls/blob/master/CHANGELOG.md)
- https://github.com/elixir-lsp/elixir_sense (https://github.com/elixir-lsp/elixir_sense)
- https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/103 (https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/103)
- https://github.com/beam-telemetry/telemetry (https://github.com/beam-telemetry/telemetry)
- https://github.com/dashbitco/broadway (https://github.com/dashbitco/broadway)
- https://www.youtube.com/watch?v=tPu-P97-cbE (https://www.youtube.com/watch?v=tPu-P97-cbE)
- http://surface-demo.msaraiva.io/ (http://surface-demo.msaraiva.io/)
- https://storybook.js.org/ (https://storybook.js.org/)
- https://github.com/lukaszsamson (https://github.com/lukaszsamson)
- https://github.com/axelson (https://github.com/axelson)
- https://github.com/elixir-lsp (https://github.com/elixir-lsp) – The Elixir Language Server Protocol Github organization
- https://elixirforum.com/ (https://elixirforum.com/)
Guest Information
- https://twitter.com/MarlusSaraiva (https://twitter.com/MarlusSaraiva) – on Twitter
- https://github.com/msaraiva (https://github.com/msaraiva) – on Github
Find us online
- Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir)
- Email the show - [email protected] (mailto:[email protected])
- Mark Ericksen - @brainlid (https://twitter.com/brainlid)
- David Bernheisel - @bernheisel (https://twitter.com/bernheisel)
- Cade Ward - @cadebward (https://twitter.com/cadebward)
Please note that this interview with Marlus was recorded before our interview with Chris McCord. When Marlus mentions that they were waiting for a soon-to-come LiveView release, that is the 0.15.0 release. The Surface 0.1.0 is the release he was talking about.
Show Notes online - http://podcast.thinkingelixir.com/25 (http://podcast.thinkingelixir.com/25)
Elixir Community News
- https://claudio-ortolina.org/posts/tips-for-finch-and-telemetry/ (https://claudio-ortolina.org/posts/tips-for-finch-and-telemetry/) – More of Claudio's work around creating custom LiveDashboard pages
- https://github.com/doawoo/teex (https://github.com/doawoo/teex) – Teex - Use Elixir like a system scripting language
- https://github.com/ityonemo/zigler/ (https://github.com/ityonemo/zigler/) – Zigler library highlight
- https://ziglang.org/ (https://ziglang.org/)
- https://www.youtube.com/watch?v=IM_tO8hQgKA (https://www.youtube.com/watch?v=IM_tO8hQgKA) – Zigler video showing catching memory leaks
- http://blog.erlang.org/the-road-to-the-jit/ (http://blog.erlang.org/the-road-to-the-jit/) – Erlang Blog post on the history and future of Erlang and performance.
- https://github.com/msaraiva/surface/blob/v0.1.1/CHANGELOG.md (https://github.com/msaraiva/surface/blob/v0.1.1/CHANGELOG.md) – Discussed Surface with Chris McCord in last week’s episode. They had a new 0.1.0 release
- https://techcrunch.com/2020/11/24/discord-is-close-to-closing-a-round-that-would-value-the-company-at-up-to-7b/ (https://techcrunch.com/2020/11/24/discord-is-close-to-closing-a-round-that-would-value-the-company-at-up-to-7b/) – Discord closing a funding round
- https://elixir-lang.org/blog/2020/10/08/real-time-communication-at-scale-with-elixir-at-discord/ (https://elixir-lang.org/blog/2020/10/08/real-time-communication-at-scale-with-elixir-at-discord/) – Discord Elixir case study
- https://dashbit.co/blog/tests-with-warnings-as-errors (https://dashbit.co/blog/tests-with-warnings-as-errors) – Dashbit blog post detailing making warnings in tests fail a CI build
Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at [email protected] (mailto:[email protected])
Discussion Resources
- https://github.com/dashbitco/broadway (https://github.com/dashbitco/broadway)
- https://www.youtube.com/watch?v=tPu-P97-cbE (https://www.youtube.com/watch?v=tPu-P97-cbE) – ElixirConf 2019 presentation
- https://youtu.be/tPu-P97-cbE?t=1935 (https://youtu.be/tPu-P97-cbE?t=1935) – Portion of Broadway showing live updating of worker tree
- https://github.com/msaraiva/surface (https://github.com/msaraiva/surface)
- https://github.com/elixir-lsp/elixir-ls (https://github.com/elixir-lsp/elixir-ls)
- https://github.com/elixir-lsp/elixir-ls/blob/master/CHANGELOG.md (https://github.com/elixir-lsp/elixir-ls/blob/master/CHANGELOG.md)
- https://github.com/elixir-lsp/elixir_sense (https://github.com/elixir-lsp/elixir_sense)
- https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/103 (https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/103)
- https://github.com/beam-telemetry/telemetry (https://github.com/beam-telemetry/telemetry)
- https://github.com/dashbitco/broadway (https://github.com/dashbitco/broadway)
- https://www.youtube.com/watch?v=tPu-P97-cbE (https://www.youtube.com/watch?v=tPu-P97-cbE)
- http://surface-demo.msaraiva.io/ (http://surface-demo.msaraiva.io/)
- https://storybook.js.org/ (https://storybook.js.org/)
- https://github.com/lukaszsamson (https://github.com/lukaszsamson)
- https://github.com/axelson (https://github.com/axelson)
- https://github.com/elixir-lsp (https://github.com/elixir-lsp) – The Elixir Language Server Protocol Github organization
- https://elixirforum.com/ (https://elixirforum.com/)
Guest Information
- https://twitter.com/MarlusSaraiva (https://twitter.com/MarlusSaraiva) – on Twitter
- https://github.com/msaraiva (https://github.com/msaraiva) – on Github
Find us online
- Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir)
- Email the show - [email protected] (mailto:[email protected])
- Mark Ericksen - @brainlid (https://twitter.com/brainlid)
- David Bernheisel - @bernheisel (https://twitter.com/bernheisel)
- Cade Ward - @cadebward (https://twitter.com/cadebward)
More episodes of the podcast Thinking Elixir Podcast
283: Erlang Turns 27 and React at Risk
16/12/2025
282: Type Systems and View Transitions
09/12/2025
281: Planning for the Unexpected
02/12/2025
280: Dark Matter Developers
25/11/2025
279: Hot Code Upgrades and Hotter AI Takes
18/11/2025
278: WAL-ing Through Database Changes
11/11/2025
277: Searching Across the Hexiverse
04/11/2025
276: Elixir v1.19 Types and Speed
28/10/2025
275: From Slop to Success?
21/10/2025
274: Protocols, Permissions, and Performance
14/10/2025
ZARZA We are Zarza, the prestigious firm behind major projects in information technology.