Elixir Talk
Summary: Desmond Bowe and Chris Bell present a titillating discussion about Elixir application design and the state of the ecosystem. Ask us a question at https://github.com/elixirtalk/elixirtalk and follow us on Twitter @elixirtalk
- Visit Website
- RSS
- Artist: Elixir Talk
- Copyright: All rights reserved
Podcasts:
# Episode 151 – Dave Thomas & Brian Mitchell In this special episode of ElixirTalk we are joined by Dave Thomas and Brian Mitchell where we continue a discussion that we had at EMPEX NYC this year as a fishbowl style format. If you haven’t yet seen the talk, you can do so here: https://youtu.be/pcbNT1iKebc –– probably best if you watch before listening, but you can also listen to this as a standalone episode. This episode is long, but is packed with some great tidbits about Elixir and Erlang and we go into considerable depth about how applications work today as well as outlining a vision for the future. ## Key moments in the episode - Dave lays out some of the key tenants of his argument about augmenting OTP to work better for a world that we’re in today - Brian describes what OTP is and gives his thoughts on Dave’s initial thesis, questioning some of the static nature that Dave argues about OTP - Dave lays out that what we’re doing in Elixir and Phoenix land is the OTP way (for better or for worse) and questions whether this is the best way to do things? - We talk at length about configuration and how things work today in Elixir / Erlang. Brian does a great job of explaining the different tenants of configuration in OTP that exist and we dig into what a dynamic model might look like. - We then talk about supervisors as they work in OTP and describe the concept of dynamic lifecycle management and a future vision of supervision that goes beyond just processes and extends into system observability. - We discuss challenging conceived wisdom and why that helps move communities forward, looking at the interesting case of how Elixir inherits decisions from the Erlang community and how we might revisit some of those assumptions. ## Links for this show - Dave and Brian’s discussion at EMPEX NYC: https://youtu.be/pcbNT1iKebc - Dave Thomas on Twitter: https://twitter.com/pragdave - Brian Mitchell on Twitter: https://twitter.com/strmpnk - Partisan: https://github.com/lasp-lang/partisan - Chris Meiklejohn’s talk on Partisan: https://www.youtube.com/watch?v=KrwhOkiifQ8 - ERLEF: https://erlef.org
Episode 150 - Clojerl with Juan Facorro This week on the show we’re joined by Juan Facorro, an avid Erlang-er and creator of Clojerl, a Clojure port written in Erlang. We give you an update about Elixir Training, and tell you a bit more about a potential bar / meetup we at EMPEX will be hosting during ElixirConf this year in Denver (if we can find a bar). We then get Juan to give us a run through of Clojerl, diving into the project, his motivations for creating it and going in-depth to some of the challenges Juan had along the way. We understand why you’d even want Clojure on the BEAM in the first place and where the Erlang concurrency model is advantageous here. Links: - https://twitter.com/jfacorro - https://www.klarna.com/us/ - https://clojure.org/ - http://clojerl.online/ - Implementing Clojure on a new VM, clojureD: https://www.youtube.com/watch?v=NkHdMbI_08I - Clojure on the BEAM: https://www.youtube.com/watch?v=Ow8o9Mm_N7M - https://github.com/clojerl/ - https://erlang-slack.herokuapp.com/ - https://www.elixirtraining.io/blog/why-elixir-training
This week we don’t have a guest, so it’s just Chris & Desmond. We kick things off discussing our opening music and how weird it is listening to yourself on a podcast. Desmond tells us about his exploration into webflow and his love (hate) for CSS. We dig into bits in the language that still trip us up, even now with our experience in the language. We dig into some Ecto: query syntax that trips us up, materialized views, application logic vs database logic and lots of other database goodies. Desmond tells us how Phoenix contexts trip him up and we go into some depth about how both of us structure contexts and code in our Phoenix applications. We tell you about ElixirTraining, which is our new venture to help teach more engineers the beauty of Elixir, as well as engineering leaders about why Elixir is a great fit for your organization. Oh, and sorry we said we’d answer some community questions and then never did. Links: - Webflow: https://webflow.io - Database tables explained: https://twitter.com/joygao/status/1141125981748383745?s=20 - Materialized views in Ecto: https://medium.com/@kaisersly/materialized-views-in-ecto-8887bc89efa5 - Ecto Postgres: https://github.com/bryanjos/geo_postgis - Rules for Phoenix contexts: http://devonestes.herokuapp.com/a-proposal-for-context-rules - Phoenix contexts in context: https://michal.muskala.eu/2017/05/16/putting-contexts-in-context.html - Andrew Hao’s talk on contexts: https://www.youtube.com/watch?v=l3VgbSgo71E - https://elixirtraining.io - https://elixirconf.com
Elixir Talk 148 - Feat Maxim Federov Desmond gives us an update on his truck and the work he’s been doing there. Chris tells us about how he’s been getting back into coding and how he’s been writing Absinthe and GraphQL. We announce a special new announcement: the launch of Elixir Training, our new business where we’re going out and looking to train more folks on Elixir across the US. We also have a special guest on the show this week: Maxim Federov a Software Engineer at WhatsApp. We dive into some of the joys of using Erlang at bonkers scale (~1.5 billion+ users), using 10k servers and attempt to ask some moderately interesting questions, that Maxim answers like a champ. Interesting links: - https://elixirtraining.io - Maxim’s talk about the architecture of WhatsApp: https://codesync.global/media/maxim-fedorov-scaling-erlang-cluster-to-10-000-nodes/ - https://www.infoq.com/presentations/whatsapp-scalability/ - https://erlef.org - https://www.facebook.com/careers/areas-of-work/whatsapp/?teams%5B0%5D=WhatsApp - https://codesync.global/media/mid-air-airplane-repair-troubleshooting-at-whatsapp/ - Live upgrade talk: https://codesync.global/media/the-art-live-upgrade-richard-carlsson/ - Hot upgrades in Elixir: https://medium.com/blackode/how-to-perform-hot-code-swapping-in-elixir-afc824860012\ - Mnesia at WhatsApp: http://highscalability.com/blog/2014/3/31/how-whatsapp-grew-to-nearly-500-million-users-11000-cores-an.html - erlperf: https://github.com/max-au/erlperf
*SHOW NOTES* - https://murumed.com - https://github.com/absinthe-graphql/absinthe - https://www.amazon.com/Craft-GraphQL-APIs-Elixir-Absinthe-ebook/dp/B07CSMHPKY/ - https://www.dropbox.com/s/6nn78jtf8ighry0/desmond-truck.jpg?dl=0 - https://crevalle.io - https://www.youtube.com/watch?v=JvBT4XBdoUE - https://www.instagram.com/thecolossusofroads/
** SHOW NOTES ** - https://twitter.com/bgmarx - https://bgmarx.com/ - https://www.amazon.com/Adopting-Elixir-Production-Ben-Marx/dp/1680502522 - https://dev.bleacherreport.com/diving-into-distributed-tracing-ce9638025576?gi=9f12645e5745 - https://elixirconf.com/2019/training-classes/1 - https://eventvivo.com/event/elixirconf-2019
* Fred Hebert: https://twitter.com/mononcqc * The Zen of Erlang: https://ferd.ca/the-zen-of-erlang.html * Erlang Ecosystem Foundation: https://erlef.org * Property-Based Testing Blog Post: https://ferd.ca/property-based-testing-with-proper-erlang-and-elixir.html * Property-Based Testing Book: https://pragprog.com/book/fhproper/property-based-testing-with-proper-erlang-and-elixir * Operable Software: https://ferd.ca/operable-software.html * EMPEX NYC: https://empex.co/nyc
** SHOW NOTES** - Martin Sumner: https://twitter.com/masleeds - Riak: https://github.com/basho/riak - Spine: https://digital.nhs.uk/services/spine - Bet365 buys Basho assets: https://www.theregister.co.uk/2017/08/25/bet365_to_buy_basho_release_code/ - Martin's talk on Anti-Entropy: https://www.youtube.com/watch?v=TCiHqF_XTmE
**SHOW NOTES** * Joe Armstrong: https://twitter.com/FrancescoC/status/1119596234166218754 * Joe's Thesis: http://erlang.org/download/armstrong_thesis_2003.pdf * Erlang the Movie (OMG!): https://www.youtube.com/watch?v=uKfKtXYLG78 * Erlang the Musical (really?): https://www.youtube.com/watch?v=upiNIQOS4WE * EMPEX: https://empex.co/nyc * Contexts, pt 1: https://michal.muskala.eu/2017/05/16/putting-contexts-in-context.html * Our episode about app design: https://soundcloud.com/elixirtalk/episode-122-event-driven-architecture-microservices-and-evolving-application-architecture * Eli's Talk on Building Event Buses: https://www.youtube.com/watch?v=ffhCUKI2_ho * Off the Shelf Event Bus: https://github.com/otobus/event_bus * Example GenEvent: https://github.com/elixir-lang/gen_stage/blob/master/examples/gen_event.exs * Absinthe: https://github.com/absinthe-graphql/absinthe * Apollo: https://www.apollographql.com/docs/react/ * A deep dive into GraphQL: https://schneider.dev/blog/elixir-phoenix-absinthe-graphql-react-apollo-absurdly-deep-dive/
**SHOW NOTES** - Sophie DeBenedetto: @sm_debenedetto - ElixirSchool: https://elixirschool.com/en/ - The Flatiron School: https://flatironschool.com/ - Great Code Adventure: http://thegreatcodeadventure.com/ - Troy's Cocktails Podcast: https://www.briefs.fm/cocktailing - Erlang Ecosystem Foundation: https://erlef.org/ - EMPEX NYC: https://empex.co/nyc
** SHOW NOTES ** * http://crevalle.io * https://empex.co/nyc * https://twitter.com/sasajuric/status/1111987993529729025 * https://twitter.com/moomerman/status/1111711999963086849 * https://twitter.com/_zorbash/status/1112859727845904385 * https://dockyard.com/blog/2018/12/12/phoenix-liveview-interactive-real-time-apps-no-need-to-write-javascript
** SHOW NOTES ** - LiveView Repo: https://github.com/phoenixframework/phoenix_live_view - LiveView Examples: https://github.com/chrismccord/phoenix_live_view_example
** SHOW NOTES ** - Zach Smith (https://blog.zdsmith.com/index.html) - Erlang Ecosystem Foundation (https://erlef.org) - EMPEX YouTube Channel (https://youtube.com/empexconference) - Brooklyn Zelenka's EMPEX talk (https://www.youtube.com/watch?v=DZEs8_QiC8Q&list=PLyO-58-sOapw81dCfjDrX5TuYxS5S8qMq) - Witchcraft (https://github.com/expede/witchcraft) - Bryan Weber/Code Generation in Elixir (https://www.youtube.com/watch?v=-mgwW3RVI50&index=2&list=PLyO-58-sOapw984fSPNyzCyX7SADFn0w0) - EMPEX NYC (http://empex.co/nyc) - Zach's blog post (https://blog.zdsmith.com/posts/sketches-of-elixir.html) - Cameron Price discussing Leex and Yecc (https://cameronp.svbtle.com/how-to-use-leex-and-yecc)
** SHOW NOTES ** * https://www.youtube.com/watch?v=b3JQgyj17hk&index=2&t=2s&list=PLyO-58-sOapyHWNFBapGOz40efbJuwmx2 * https://www.youtube.com/watch?v=5LlpbWuB9Hc&index=3&t=1s&list=PLyO-58-sOapyHWNFBapGOz40efbJuwmx2 * https://www.youtube.com/watch?v=9216dUNgKCU&index=11&t=4s&list=PLyO-58-sOapyHWNFBapGOz40efbJuwmx2 * http://empex.co/nyc.html * http://elixirschool.com
==SHOW NOTES== • https://empex.co/la • https://devonestes.com • https://github.com/PragTob/benchee • https://github.com/devonestes/assertions • https://testmetrics.app/