Informações:
Sinopse
Elixir Mix is a weekly show focused on the Elixir programming community. Our panel discusses topics around functional programming, the Elixir ecosystem, and building real world apps with Elixir based tools and frameworks.
Episódios
-
EMx 069: Distributed Databases with Wiebe-Marten ("Marten") Wijnja
17/09/2019 Duração: 01h14minEpisode Summary In this week’s episode of Elixir Mix the panel follows up with Wiebe-Marten ("Marten") Wijnja about his talk at Elixir Conf EU, where he spoke about the distributed system his team was working on. They start by discussing the eight fallacies of distributed computing that Marten talked about in talk. He lays out a couple of the fallacies and invites listeners to watch his talk for all eight. Marten explains that these fallacies most commonly happen to developers who are used to working with a single system. The panel discusses how to be mindful of these mistakes and how developers take for granted of how easy one system is to use. Marten gives some tool recommendations to help with these fallacies. TLA+ is a small programming language that lets the developer describe their system and it will point out when something is wrong but it works purely on concepts. Erlang quick check implementation is also a tool that will help combat these problems. The last suggestion which was given by
-
EMx 068: Contributing to the Elixir Community with David Bernheisel & Cory Schmitt
10/09/2019 Duração: 01h11minEpisode Summary In this week’s episode of Elixir Mix the panel is joined by David Bernheisel and Cory Schmitt, from Taxjar, to discuss the different ways developers can contribute to the community. The first way to contribute to the Elixir community is contributing to the Elixir core code. While David shares a little of his background, he shares his first experience contributing to the elixir code by submitting a pull request about asdf. The panel all thanking him for his contribution. The next form of contributing the panel discusses is open-sourcing projects. Cory and David share their experience getting their date-time parser open-sourced. They express gratitude at the support they received from Taxjar at open-sourcing the project. Before moving on to the next way to contribute the panel stops for a moment to ask Cory and David about their date-time parser. David and Cory explain why they decided to build a date-time parser after finding a problem in Timex and other time libraries. They talk ab
-
EMx 067: What's New with Nerves with Frank Hunleth
03/09/2019 Duração: 01h17minSponsors Sentry– use the code “devchat” for two months free on Sentry’s small plan GitLab | Get 30% off tickets with the promo code: DEVCHATCOMMIT My Ruby StoryCacheFly Panel Mark Ericksen Michael Ries Josh Adams Eric Oestrich Joined by Special Guest: Frank Hunleth Summary Frank Hunleth, co-author of Nerves, shares where Nerves came from and how it got started. The panel discusses the Nerves 1.5 release and the improvements in it. Frank introduces Nerves Hub and Michael Ries gives a little marketing spin to it, explaining what you can do with Nerves Hub and why you would want to use it. The panel discusses the funding model for Nerves. Frank introduces Elixir Circuit, which helps you find libraries for your devices. He introduces Mountrap, a library that helps to switch between ports and NIFs. Frank introduces Grisp, what it is and how it compares to Nerves. Frank introduces Vintage Net and how it will help your devices stay online. Michael shares his experie
-
EMx 066: Going with the Flow with John Mertens
27/08/2019 Duração: 01h08minSponsors Sentry– use the code “devchat” for two months free on Sentry’s small plan GitLab | Get 30% off tickets with the promo code: DEVCHATCOMMIT My Ruby StoryCacheFly Panel Mark Ericksen Michael Ries Joined by Special Guest: John Mertens Summary John Mertens, from change.org, joins the panel to discuss a recent talk he gave at ElixirConf EU. The panel starts off by discussing change.org’s adoption of Elixir and how John helped to bring that about. John discusses the value of Flow even though it is not part of the standard library. The panel discusses what the pieces of data look in John’s pipeline. After giving some context for his project, John gives details about his work in Flow and why they chose Flow for that project. The panel discusses tuning the numbers in Flow to make it faster. John shares his experience using Broadway and shares his favorite features. The panel asks him to compare Flow and Broadway in terms of configuration and understanding what is going on.
-
EMx 065: The Life Cycle of Elixir
20/08/2019 Duração: 54minSponsors Sentry– use the code “devchat” for two months free on Sentry’s small plan React Native RadioiPhreaksCacheFly Panel Mark Ericksen Josh Adams Michael Ries Summary Mark Ericksen introduces the topic of framework life cycles hoping to address the concerns of new Elixir developers from other frameworks. The panel explains the various phases in a frameworks life and hype cycles using other frameworks as reference. COBOL, an older language, is on the tail end of its life but still kicking and it probably won’t ever fade out completely. Ruby on Rails is considered mainstream or widely adopted. The panel considers where Elixir is in its cycle. They all agree that Elixir is in the late stages of “early adoption”. The panel explains what this means for Elixir developers and why Elixir will become a widely adopted framework. They site the stability that Erlang provides to Elixir despite its young age and the solutions that Elixir provides the developing community. Mark Ericks
-
EMx 064: Refactoring Elixir with Hubert Lepicki
13/08/2019 Duração: 01h01minSponsors Sentry– use the code “devchat” for two months free on Sentry’s small plan CacheFly Panel Mark Ericksen Josh Adams Joined by Special Guests: Hubert Łępicki Summary Hubert Łępicki joins the panel to discuss his blog post, “Refactoring Phoenix controllers”; he starts by sharing what made him decide to write this article. In the blog post, he outlines strategies and patterns to better organize your code. The first strategy discussed, which was not mentioned in the blog post is: Breaking down one controller into multiple controllers. Intrigued, the panel asks Hubert to explain exactly what he means by this. The second pattern is: extracting logic from a controller and using it in a plug instead. The panel discusses what the right code to put in a plug. The third pattern Hubert explains is: using business logic and workflow modules. The panel asks Hubert about his dislike for phoenix context. Hubert and the panel give better alternatives to phoenix controller and explains
-
EMx 063: Designing Elixir Systems With OTP with Bruce Tate and James Gray
06/08/2019 Duração: 01h23minSponsors Sentry– use the code “devchat” for two months free on Sentry’s small plan CacheFly Panel Mark Ericksen Michael Ries Eric Oestrich Josh Adams Charles Max Wood Joined by Special Guests: Bruce Tate and James Gray Summary Bruce Tate and James Gray join the panel to discuss their new book, “Designing Elixir Systems With OTP”. Bruce and James share the story of how they decided to write this book together. The panel discusses the books target audience, Bruce and James explain that this is not for programmers who know nothing about Elixir. Resources and books for beginners to read are recommended. Bruce and James share many key points of the book and the main lesson they hope the reads come away with. The interesting mnemonic “Do Fun Things With Big Loud Wildebeests” is explained. Bruce and James share what this book will do for your applications. They address common misunderstandings for people moving from object-oriented programming into function
-
EMx 062: Elixir v1.9 and Hex.pm with Wojtek Mach
30/07/2019 Duração: 01h04minSponsors Sentry– use the code “devchat” for two months free on Sentry’s small plan CacheFly Panel Mark Ericksen Michael Ries Eric Oestrich Josh Adams Joined by Special Guest: Wojtek Mach Summary Wojtek Mach shares his experiences at Plataformatec; what his team is like and what types of projects they work on. The panel asks Wojtek about the announcement for hex.pm and how it works. Wojtek shares his language background and how he got into Elixir. The panel discusses Wojtek’s experience moving from a distillery release to a mixed based release. My SQL library for Ecto is considered and the panel discusses Wojtek past libraries. Links https://github.com/elixir-ecto/myxql https://github.com/plataformatec/broadway https://github.com/hexpm/hexpm https://github.com/hexpm/bob https://repo.hex.pm/builds/elixir/builds.txt https://github.com/asdf-vm/asdf https://github.com/asdf-vm/asdf-elixir https://bobs-list.kobrakai.de/ https:/
-
EMx 061: Mutation Testing in Elixir with Daniel Serrano
23/07/2019 Duração: 54minSponsors Sentry– use the code “devchat” for two months free on Sentry’s small plan CacheFly Panel Mark Ericksen Eric Oestrich Joined by Special Guest: Daniel Serrano Summary Daniel Serrano explains what mutation testing is and how it works. The panel discusses the purpose and benefits of mutation testing. Daniel shares how mutation testing can fit into your process. The panel considers Daniel’s exunit deep dive and how this helped building exavier, his library. Daniel shares how he came up with the name exavier. The panel asks Daniel about his experience load testing broadway. Daniel explains what broadway is and the benefits seen load testing it. Daniel shares how he got into distributed tracing and how it differs from tracing. Daniel tells the panel about his experience learning elixir and joining the community. Links https://en.wikipedia.org/wiki/Mutation_testing https://github.com/mbj/mutant http://pitest.org/ https://github.com/dnlserrano/exavier h
-
EMx 060: Property-Based Testing, Dialyzer, & Inaka with Brujo Benavides
16/07/2019 Duração: 01h08minSponsors Sentry– use the code “devchat” for two months free on Sentry’s small plan CacheFly Panel Mark Ericksen Eric Oestrich Michael Ries Joined by Special Guest: Brujo Benavides Summary Brujo Benavides shares what he is working on right now and how his team feels about working in both Elixir and Erlang. He shares what his team has gotten out of using Elixir and what he thinks his team will get out of Elixir in the future. The panel discusses property-based testing and Fred Hebert’s book on property-based testing. Brujo shares use cases that would benefit from property-based testing and those that would benefit from unit testing. The panel considers dialyzer and shares their experiences using it in their code. Brujo explains how he chooses which tools to use for a project. Inaka is discussed; Brujo explains what they are all about and how to join. Upcoming conferences that Inaka is organizing is outlined and details on how to buy tickets are given. Links EMx 031: Le
-
EMx 059: Using Rust to Scale Elixir for 11 Million Concurrent Users with Matt Nowack
09/07/2019 Duração: 54minSponsors Sentry use the code “devchat” for 2 months free on Sentry small plan CacheFly Panel Mark Ericksen Josh Adams Michael Ries Eric Oestrich Joined by Special Guests: Matt Nowack Summary Matt Nowack, a developer at Discord, gives an intro to Discord and shares its origin story. The panel discusses the problems that Discord was having because of its 11 million concurrent users. Matt talks about when they knew there was a problem, how they used a runtime VM to find the problem, the tools they tried to fix the problem and how they landed on NIFs to fix the problem. The panel discusses the risks of using NIFs and how using Rust helps negate that risk. Matt discusses the reference counter in the rustler package and answers questions about using dirty schedulers. Discord developers publish many blogs and publish many open source projects; Matt shares the Discord philosophy on open sourcing and contributing to the Elixir community. Links https://github.com/discor
-
EMx 058: Mint library with Eric Meadows-Jönsson & Andrea Leopardi
02/07/2019 Duração: 01h01minSponsors Sentry use the code “devchat” for 2 months free on Sentry small plan CacheFly Panel Mark Ericksen Josh Adams Michael Ries Joined by Special Guests: Eric Meadows-Jönsson & Andrea Leopardi Summary Eric Meadows-Jönsson and Andrea Leopardi, members of the Elixir core team discuss the upcoming Mint library. They tell the panel their experience working on the core team and on the Mint library. They explain what Mint is and why people should know about it. Mint doesn’t use processes; Eric and Andrea explain why and what that means for the library. The panel discusses the benefits of using Mint and the use cases it can be applied to. Eric and Andrea give an update on how Mint is coming and explains why mint is not part of Elixir core. The panel considers building an HTTP library; Eric and Andrea share their experience. Links http://erlang.org/doc/man/httpc.html https://github.com/ericmj/castore https://elixir-lang.org/blog/2019/02/25/mint-a-new-http-libra
-
EMx 057: The Elixir Community with Adolfo Neto
25/06/2019 Duração: 01h05sSponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Triplebyte offers a $1000 signing bonus CacheFly Panel Mark Ericksen Josh Adams Michael Ries Eric Oestrich Joined by Special Guest: Adolfo Neto Summary Adolfo Neto shares the background behind his Elixir Brazil 2019 talk. The panel discusses other talks of Elixir Brazil 2019, the organizing of the conference, and the diversity initiative. Adolfo shares his experience in the U.S., attending meetups for other programming languages, comparing them to Elixir. The panel considers the Elixir code formatter and gives protips for using it. The best way to teach Elixir and functional programming is considered; the panel shares experiences and resources for learning functional programming. Links A Comunidade de Elixir, Adolfo Neto, Elixir Brasil 2019https://medium.com/@adolfont/elixir-brazil-2019-4de3fc06b18fhttps://twitter.com/clojure_conj?lang=enhttps://collaboration.csc.ncsu.edu/laurie
-
EMx 056: Sobelow and Security with Griffin Byatt
18/06/2019 Duração: 46minSponsors Sentry use the code “devchat” for 2 months free on Sentry small planTriplebyte offers a $1000 signing bonusCacheFly Panel Mark EricksenJosh Adams Joined by Special Guest: Griffin Byatt Summary Griffin Byatt shares his background and what he is doing now as a security consultant for NCC Group. The panel discusses his security library, Sobelow, and their experiences using it. Griffin explains how it works, how it came into being and the goal of Sobelow. The panel wonders who contributes to Sobelow and Griffin invites anyone to contribute. Vulnerabilities that are commonly seen across all frameworks and those specific to Elixir are discussed. Elixir’s security features are considered and Griffin shares his experiences working to improve the ecosystem. Griffin gives advice and recommends resources to developers. Links Substitute Teacher - Key & Peelehttps://www.nccgroup.trust/us/https://brakemanscanner.org/https://github.com/nccgroup/sobelowhttps://github.com/nccgroup/sobelow/blob/master/lib/
-
EMx 055: Params Modules for Phoenix with Kuba Subczynski
11/06/2019 Duração: 56minSponsors Sentry use the code “devchat” for 2 months free on Sentry small planTriplebyte offers a $1000 signing bonusCacheFly Panel Mark EricksenMichael Ries Joined by Special Guest: Kuba Subczynski Summary Kuba Subczynski starts by introducing params modules and the story behind the pattern. The panel discusses their heuristics for deciding when to bring on a dependency and when to build something yourself. Kuba defines an embedded schema and walks through the login controller use case for the params modules. The panel discusses the highlights from the article and the benefits of using params modules. Kuba warns that this pattern isn’t for everything and discusses with the panel when to use params modules. Kuba discusses his team and what it was like adopting Phoenix and Elixir. Links https://www.sandimetz.com/https://kubasub.proseful.com/params-modules-for-phoenixhttps://github.com/vic/paramshttps://github.com/vichttps://medium.com/@alves.lcs/phoenix-strong-params-9db4bd9f56d8https://www.sandimetz.co
-
EMx 054: Phoenix LiveView with Leandro Pereira
04/06/2019 Duração: 01h02minSponsors Sentry use the code “devchat” for 2 months free on Sentry small planTriplebyte offers a $1000 signing bonusCacheFly Panel Michael RiesJosh AdamsMark Ericksen Joined by Special Guest: Leandro Pereira Summary Leandro Pereira starts by sharing what the Elixir community is like in Brazil. He explains what applications Phoenix LiveView works well for and those that it does not. The panel discusses why people are so excited for LiveView. JavaScript in LiveView is discussed, including where it is, what it does and Javascript fatigue in the community. Leandro shares where people can find demo projects. The panel discusses drab and why it didn’t catch on. The benefits of LiveView are discussed including, pain problems it will solve, avoiding the duplication of code, and the magic that happens in web end development. The panel shares projects they are working on or thinking of. Links https://lnasystems.com.br/https://medium.com/@ericclemmons/javascript-fatigue-48d4011b6fc4Swapping React for Phoenix Liv
-
EMx 053: Building beautiful systems with Phoenix Contexts and DDD with Andrew Hao
28/05/2019 Duração: 50minSponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Triplebyte offers a $1000 signing bonus CacheFly Panel Mark Ericksen Josh Adams Joined by Special Guest: Andrew Hao Summary Andrew Hao joins the panel to discuss a recent talk he gave; he shares his background and his origin story with domain driven design. Andrew introduces an exercise that helped him called “Context Mapping”. The panel discusses how to context map and the benefits of doing this exercise with your team. Andrew explains what to model as methods and functions in context style mapping. Andrew explains aggregate roots. The panel discusses using these design tools in GraphQL and Phoenix Live View. Andrew warns against overusing these tools, leading to a discussion about how much is too much. Links ElixirDaze 2018 - Building beautiful systems with Phoenix contexts... by Andrew HaoDomain-Driven Design: Tackling Complexity in the Heart of Software Domain-Driven Design: Tackling Complexity
-
EMx 052: Production Pitfall Pontification
21/05/2019 Duração: 52minSponsors Sentry use the code “devchat” for 2 months free on Sentry small planTriplebyte offers a $1000 signing bonusCacheFly Panel Michael RiesJosh Adams Summary Michael Ries and Josh Adams share mistakes they have made and common pitfalls developers fall into during production. They start by discussing Heroku and Josh explains what pushed him away from Heroku. They discuss alternatives to Heroku and give tips on finding that “deployment sweet spot”. Moving on to configuration, they discuss the most common configuration error and their favorite configuration tools. Michael and Josh share the ways they use clustering. Using their own experiences they explain how they fell into these pitfalls warning new elixir developers, giving advice and sharing career hacks. Links https://nanobox.io/https://gigalixir.com/https://hex.pm/packages/conformhttps://github.com/bitwalker/toml-elixirhttps://github.com/keathley/vaporhttps://github.com/coryodaniel/bonnyhttps://hex.pm/packages/libclusterhttp://blog.plataformatec
-
EMx 051: Nerves and Farmbot with Connor Rigby
14/05/2019 Duração: 01h01minSponsors Sentry use the code “devchat” for 2 months free on Sentry small planTriplebyte offers a $1000 signing bonusCacheFly Panel Mark EricksenMichael RiesCharles Max Wood Joined by Special Guest: Connor Rigby Summary Connor Rigby, a core member of the Nerves team, answers the panel's questions about Farmbot and his experience working with Nerves. The panel discusses the great things about nerves. Connor shares his favorite tools for productions and testing practices. The panel discusses NervesKeys and NervesHub. Connor tells the panel what it was like working with NASA. Known for experimenting with Nerves, Connor talks about some of his projects. Links https://farm.bot/https://github.com/nerves-projecthttp://wiki.ros.org/sig/Embeddedhttps://elixirforum.com/t/sqlite-ecto2-new-maintainer/15611https://github.com/elixir-sqlite/sqlite_ecto2https://www.rosepoint.com/https://github.com/RosePointNavElixirConf 2015 - Embedded Elixir in Action by Garth HitchensMocks and explicit contractshttps://www.nerves-hu
-
EMx 050: Elixir Origin Story with José Valim
07/05/2019 Duração: 01h21minSponsors Sentry use the code “devchat” for 2 months free on Sentry small planTriplebyte offers a $1000 signing bonusCacheFly Panel Mark EricksenMichael RiesCharles Max WoodJosh Adams Joined by Special Guest: José Valim Summary José Valim, the creator of Elixir, shares his story with the panel starting with why he built Elixir. The panel wonders why José did not just use Erlang. José discusses what he wanted from Elixir and what problems he wanted to solve. The panel discusses concurrency, Metaprogramming, ad hoc polymorphism, and run times. José talks about what it was like as elixir grew in popularity and maintaining Elixir. José shares his goals for Elixir for 2019 and discusses his role in different projects. The panel shares their love for the friendliness and openness of the Elixir community and asks José how it became that way. The history of the signature heart emojis is shared. José shares a little about his everyday life and the things he enjoys to do. The episode ends with an update on the Er