
About this episode
We talk with Ilya Averyanov about how the SOLID principles, typically associated with OOP, can apply to Elixir. We talk about Ilya's blog post where he applied these principles to his Github project and how that helped in PR discussions. We also talk about testing, architecture, and more.
Show Notes online - http://podcast.thinkingelixir.com/53
Elixir Community News
- https://github.com/phoenixframework/phoenix_live_view/pull/1490 – Phoenix LiveView live_session PR coming up
- https://github.com/phoenixframework/phoenix_live_view/pull/1474 – Phoenix LiveView internal rewrite of JS
- https://github.com/phoenixframework/phoenix/pull/4337 (related, where explanation lives) – PR for "comprehensive rewrite of the Phoenix asset pipeline"
- https://www.youtube.com/watch?v=vdhK0QPN61E – Elixir Roundtable 3 - discussion with Chris McCord about the pipeline changes
- https://elixirforum.com/t/elixir-gotchas-and-common-issues-wiki/40261 – Elixir Gotchas and Common Issues Wiki
- https://twitter.com/FrancisChabouis/status/1404342105053466627 – French Government is using Elixir and Phoenix
- https://github.com/etalab/transport-site – French government project
- https://twitter.com/hmans/status/1402723032850997257 – WebComponents and LiveView example as 3D WebGL
- https://twitter.com/PeterLodewijk/status/1404462934030487553 – Hera Platform announced, sensor network running Erlang on GRiSP boards
- https://www.info.ucl.ac.be/~pvr/Kalbusch_22701600_Verpoten_61101500_2021.pdf – Details in the paper on how it works
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected]
Discussion Resources
- https://dev.to/savonarola/why-solid-may-be-useful-for-you-in-elixir-58me
- https://en.wikipedia.org/wiki/SOLID
- https://hexdocs.pm/gen_stage/GenStage.html#module-usage-guidelines
- https://www.theerlangelist.com/article/spawn_or_not
- http://erlang.org/doc/man/xref.html
- https://github.com/sasa1977/boundary
- https://github.com/funbox/clean_mixer
- https://github.com/funbox/smppex
- https://github.com/savonarola/smppex_telemetry
- https://github.com/beam-telemetry/telemetry
- https://en.wikipedia.org/wiki/Chain-of-responsibility_pattern
- https://docs.oracle.com/en/java/javase/15/language/sealed-classes-and-interfaces.html
- http://blog.plataformatec.com.br/2015/10/mocks-and-explicit-contracts/
- https://gameprogrammingpatterns.com/
- http://blog.plataformatec.com.br/2015/10/mocks-and-explicit-contracts/
- https://www.amazon.com/Clean-Architecture-Craftsmans-Software-Structure/dp/0134494164 – Clean Architecture
- https://www.archunit.org/ – Testing architecture
Guest Information
- https://twitter.com/motonarola – on Twitter
- https://github.com/savonarola/ – on Github
Find us online
- Message the show - @ThinkingElixir
- Email the show - [email protected]
- Mark Ericksen - @brainlid
- David Bernheisel - @bernheisel
- Cade Ward - @cadebward
Get every episode summarized
Each time Thinking Elixir Podcast publishes, we email you a written briefing from the transcript — the topics, who appeared, and any specific claims, with the ad reads skipped.
Email me new episodesFree for 3 shows. No card needed.
No transcript yet
This episode has not been transcribed. Request it and it moves to the front of the queue.
More episodes
More from Thinking Elixir Podcast

299: Don't Paste That Into Your Terminal
Thinking Elixir Podcast

298: Hex Gets a Glow Up
Thinking Elixir Podcast

297: JavaScript Joins the BEAM?
Thinking Elixir Podcast

296: OpenAI Chose Elixir and A VM Inside a VMV
Thinking Elixir Podcast