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)

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

Elixir Community News

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 – Teex - Use Elixir like a system scripting language
https://github.com/ityonemo/zigler/ – Zigler library highlight
https://ziglang.org/
https://www.youtube.com/watch?v=IM_tO8hQgKA – Zigler video showing catching memory leaks
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 – 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/ – Discord closing a funding round
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 – Dashbit blog post detailing making warnings in tests fail a CI build

Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected]

Discussion Resources

https://github.com/dashbitco/broadway
https://www.youtube.com/watch?v=tPu-P97-cbE – ElixirConf 2019 presentation
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/elixir-lsp/elixir-ls
https://github.com/elixir-lsp/elixir-ls/blob/master/CHANGELOG.md
https://github.com/elixir-lsp/elixir_sense
https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/103
https://github.com/beam-telemetry/telemetry
https://github.com/dashbitco/broadway
https://www.youtube.com/watch?v=tPu-P97-cbE
http://surface-demo.msaraiva.io/
https://storybook.js.org/
https://github.com/lukaszsamson
https://github.com/axelson
https://github.com/elixir-lsp – The Elixir Language Server Protocol Github organization
https://elixirforum.com/

Guest Information

https://twitter.com/MarlusSaraiva – on Twitter
https://github.com/msaraiva – on Github

Find us online

Message the show - @ThinkingElixir
Email the show - [email protected]
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Twitter Mentions