
Elixir Mix
Join our weekly discussion of the popular functional language built on top of the Erlang virtual machine. Each week, we discuss the world of Elxiir, Phoenix, OTP, and then BEAM.Become a supporter of this podcast: https://www.spreaker.com/podcast/elixir-mix--6102049/support.
Latest episodes

Feb 27, 2019 • 1h 10min
EMx 040: Elixir Outlaws and Adopting Elixir with Chris Keathley
Sponsors Sentry use the code “devchat” for $100 creditTriplebyteCacheFly Panel Josh AdamsMark EricksenCharles Max Wood Joined by special guest: Chris Keathley Episode Summary In this episode of Elixir Mix, Chris Keathley introduces himself briefly and starts with talking about his work at Bleacher Report - a company specializing in sports culture - with respect to handling web traffic during major sports events and the implications of moving from Rails to Elixir as a backend system. He briefly touches on scaling issues, performance and the services they are running on their website. He then describes his Elixir journey until now and certain new areas he is working with, such as property based testing and distributed systems. He talks about maintaining the Wallaby library which is developed by him, mentions existing and upcoming exciting things in Elixir, and explains a few features of the Distillery and Vapor libraries. He also gives advice to people that are starting to work with Elixir on what must be learnt and more, and discusses certain projects and topics he wants to pursue and build knowledge in, in the near future. Links Functional Web Development with Elixir, OTP, and Phoenix: Rethink the Modern Web AppLance HalvorsenBleacher ReportWallabyDistilleryVaporElixir OutlawsLonestar ElixirConf – Chris KeathleyElixirConf EUBenefits of Elixir: How Elixir helped Bleacher Report handle 8x more traffic Picks Josh Adams: Axe - toolGraphQL – Zero to Awesome Mark Ericksen: Bash command “cd -” to go back to the last working directory Charles Max Wood: ZapierCanon EOS M6 CameraRode Microphone Chris Keathley: Moka Express Coffee MakerPicross S2Stamping on Event-StreamSpecial Guest: Chris Keathley. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/elixir-mix--6102049/support.

Feb 19, 2019 • 48min
EMx 039: Types in Erlang / Elixir with Zachary Kessin
Sponsors Sentry use the code "devchat" for $100 credit Episode Summary In this episode, the panelists, Josh Adams, Mark Erickson and guest Zachary Kessin, author of the book "Building Web Applications with Erlang", discuss types in Erlang and Elixir. Expert inputs with examples of implemented projects that use the Erlang and Elixir data types, were discussed. Here are the highlights of the discussion: Different data types in Erlang and Elixir such as structs, tuples.Differences in the Erlang/Elixir data types to other languages.Using data types to generate error messagesDecoding and validating input data into functions.Getting type information from a running application.Coding patterns and rules engine in Erlang/Elixir.Dialyzer testing tool that validates code and catches any bugs.Changes in Erlang and Elixir code over the yearsElixir ecosystem and the Beam Community Links DialyzerPropErSheriffDialyxirTyped_StructBeam_TypesGB_TreesProgramming Languages on the BEAMA reactive game stack: Using Erlang, Lua and VoltdbRobert VirdingZachary KessinBEAM Channel - Erlang & Elixirhttps://github.com/ejpcmac/typed_struct Picks Josh Adams Elixir Components: A 12 minute introductionaws-lambda-elixir-runtime Mark Ericksen BalenaEtcher Zach Kessin Elixir Release Ecourse Shalva BandSpecial Guest: Zachary Kessin. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/elixir-mix--6102049/support.

Feb 12, 2019 • 47min
EMx 038: Slax and SAX Parsers with Ben Schmeckpeper
Sponsors Sentry use the code "devchat" for $100 credit Panel Charles Max WoodJosh AdamsMark Ericksen Joined by special guest Ben Schmeckpeper Episode Summary Charles would expressed how in this episode they had a good time learning about “SAX parsers and about some of the issues with migrating and sharing space between systems.” They discussed the benefits of using SAX (Simple API for XML). One of these benefits is that of being event based. Elixir and Ruby are also discussed, with a greater focus on Elixir. One benefits of using Elixir is that of pattern matching. Lots is also shared on “containers” and the pros and cons of these. Links Ben Schmeckpeper TwitterBen Schmeckpeper bloghttps://photos.app.goo.gl/17v3dnxGoYsgkTvn6https://photos.app.goo.gl/zH17oda67NKPr1rL9 xmerl XML parser Erlsom - Erlang library to parse XML documents BERT - Binary ERlang Term BERT and BERT-RPC 1.0 Specification Saxy - an XML SAX parser and encoder in Elixir Genstage SlaxSAX - Wikipedia Picks Josh: Who gives an F*** about rails in 2019 Mark: Mental model for understanding Elixir GenServers Charles: Episode 400 of Ruby Rogues Villinous Disney Game Ben: The Soul of a New MachineReflections on Trusting TrustThe Rise of Worse is Better Flameshot Special Guest: Ben Schmeckpeper. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/elixir-mix--6102049/support.

Feb 5, 2019 • 38min
EMx 037: The Elixir Language Service with Mitchell Hanberg
Sponsors Sentry use the code "devchat" for $100 creditTripleByte offers $1000 signing bonusCachefly Panel: Mark EricksenJosh Adams Special Guest: Mitchell Hanberg Notes: This episode welcomes guest Mitchell Hanberg, software developer for SEP in Carmel, IN. Currently, he is working with Rails at his job and writes Elixir at home. Mitchell wrote a blog post about how to use Elixir LS with Vim. He is working on integrating ALE and Elixir LS for Vim. The panelists discuss some problems they are having with Elixir LS crashing. The panelists conclude by discussing their favorite features of the Elixir/ALE integration and their favorite features of VIM. Terms: ErlangVS CODE GithubVimALE (asynchronos linting engine)Visual Studio CodeVim LSPNeoVimOniVimintelliJASDFEmacs Picks: Mark https://rg3.github.io/youtube-dl/ Josh https://urbit.org/primer/https://xi-editor.io/xi-editor/ Mitchell Hanberg http://calnewport.com/books/deep-work/https://www.amazon.com/All-new-Kindle-Paperwhite-Waterproof-Storage/Special Guest: Mitchell Hanberg. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/elixir-mix--6102049/support.

Jan 30, 2019 • 52min
EMx 036: Gremlex and Graph Databases with Kevin Moore & Barak Karavani
Sponsors Sentry use the code "devchat" for $100 credit TripleByte Panel Mark Ericksen Josh Adams Joined by Special Guests: Kevin Moore and Barak Karavani Summary Kevin Moore and Barak Karavani start by introducing Gremlex; they also define graph databases and explain what graph databases are used for. The panel asks Kevin and Barak about their work with chatbots and why they chose to use a graph database for this project. Amazon Neptune is introduced, Kevin and Barak explain why they chose to use Neptune and its role in them using Gremlin. The panel discusses open sourcing. Kevin and Barak share what it was like to open source Gremlex and the benefits they have seen in their company because of it. They discuss licensing and give advice for developers who would like to convince their company to open source. The features of Gremlex are discussed and Kevin and Barak share sources for getting started with Gremlex, including recommendations for running Gremlex and test support recommendations. The episode ends as Kevin and Barak explain why they chose elixir and how they teach elixir. Links Gremlex Home PageGremlex Github RepoGremlex Medium Posthttps://aws.amazon.com/neptune/https://gremlex.carlabs.ai/https://www.carlabs.ai/https://neo4j.com/https://dgraph.io/https://orientdb.com/https://medium.com/carlabs/introducing-gremlex-6f685adf73bdhttp://tinkerpop.apache.org/https://pragprog.com/book/elixir/programming-elixirhttp://plataformatec.com.br/https://www.manning.com/books/the-little-elixir-and-otp-guidebookhttps://github.com/rrrene/credohttp://erlang.org/doc/man/dialyzer.htmlhttps://github.com/nccgroup/sobelowhttps://github.com/hmemcpy/milewski-ctfp-pdfhttps://github.com/kevmojayhttps://github.com/barakyohttps://twitter.com/kevmojayhttps://www.facebook.com/Elixir-Mixhttps://twitter.com/elixir_mix Picks Mark Ericksen https://www.makemkv.com/ Josh Adams https://github.com/infinitered/torchhttps://blog.ispirata.com/get-started-with-elm-0-19-and-phoenix-1-4-291beebb350b Kevin Moore https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/Nudge: Improving Decisions About Health, Wealth, and Happiness Barak Karavani http://haskellbook.com/Special Guests: Barak Karavani and Kevin Moore. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/elixir-mix--6102049/support.

Jan 24, 2019 • 59min
EMx 035: Adopting Elixir with Tiago Duarte
Sponsors Sentry use the code "devchat" for $100 creditTripleByteSpecial Guest: Tiago Duarte. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/elixir-mix--6102049/support.

Jan 15, 2019 • 58min
EMx 034: My First Nerves Project with Anders Smedegaard Pedersen
Sponsors 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: Anders Smedegaard Pedersen Summary Anders Smedegaard Pedersen shares how he got into Elixir and his experience joining the elixir community. He shares with the panel his initial frustration with the community and his confusion on the “correct” way to do things. He tells the panel of his experience at elixir conf meeting Claudio Ortolina, the advice he got, and how this led him to his first nerves project. Mark Ericksen and Josh Adams give advice to new elixir developers. The three of them compare umbrella structure and poncho structure. Links http://erlang.org/doc/apps/jinterface/jinterface_users_guide.htmlhttps://elixirforum.com/t/do-you-really-need-a-database/4567/15https://smedegaard.io/my-first-nerves-project-pt-2/ElixirConf 2018- My first Nerves Project Bioreactor - David Schainkerhttps://farm.bot/https://hexdocs.pm/nerves/user-interfaces.htmlhttps://embedded-elixir.com/post/2017-05-19-poncho-projects/https://smedegaard.io/anders-smedegaard-pedersen/https://www.facebook.com/Elixir-Mixhttps://twitter.com/elixir_mix Picks Mark Ericksen Set a larger goal (like 30-day goal) and do something every day to move you toward that goal. Even if only 10 minutes. Keep your momentum. Josh Adams https://levelup.gitconnected.com/a-recap-of-frontend-development-in-2018-715724c9441dhttps://elm-lang.org/ Anders Smedegaard Pedersen Search Inside Yourself: The Unexpected Path to Achieving Success, Happiness (and World Peace)Property-Based Testing with PropEr, Erlang, and Elixir Special Guest: Anders Smedegaard Pedersen. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/elixir-mix--6102049/support.

Dec 25, 2018 • 51min
EMx 033: Databases and Elixir with Kamil Lelonek
Panel: Mark EricksenCharles Max Wood Special Guest: Kamil Lelonek In this episode of Elixir Mix, the panel talks with Kamil Lelonek who is a full-stack developer and programmer. Chuck, Mark, and Kamil talk about Elixir, Postgrex, databases, and so much more! Check it out! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:48 – Chuck: Hello! Our panel today is Mark and myself. Friendly reminder to listeners: check out my show the DevRev. Our guest today is Kamil Lelonek! 1:23 – Guest. 1:43 – Chuck: Today, we are talking about databases. 1:55 – Guest. 3:10 – Mark: We have your blog that you wrote in our show notes. Talk about your experience with exploring these features? 3:39 – Chuck. 3:46 – Mark: I didn’t know those features are in Postgrex. Can you talk about your experience and your journey? 4:10 – Guest. 6:17 – Mark: I am curious, what problem were you trying to solve? 6:31 – Guest. 8:12 – Mark: I like you saying: rather than modifying the application code itself, you created a separate application. I think Elixir is a good fit for that – what’s your experience with this? 8:40 – Guest: I agree with this, but let’s think about it in the other way. 9:48 – Mark: Yeah I can see that. It’s good to be aware of the upsides and downsides. It’s an interesting idea. 10:40 – Guest. 11:38 – Chuck: My experience is mostly in Rails. The other way I have solved this problem is “pulling” but this way is more elegant. Before we have talked with Chris McCord about LiveVue. Is there a way to hook this handler up to LiveVue to stream the changes all the way up to the frontend of web application with Phoenix? 12:20 – Guest. 12:55 – Mark talks about Elixir and GenServer. 13:29 – Guest. 13:49 – Mark: Please go and read Kamil’s blog post because it’s simple and it’s written well! Mark: I think Elixir is a great usage for GenServers. 14:28 – Guest. 14:35 – Chuck: You setup a store procedure, which I don’t see a lot of people doing within the communities. How necessary is that store procedure that you’ve created there? 15:00 – Guest. 16:16 – Chuck: What if you want to do targeted notifications? 16:28 – Guest. 17:33 – Mark: I am curious if you have experimented with the practical limitations of this? Like at one point does it start to break down? 18:00 – Guest. 20:00 – Chuck: I will be honest I am kind of lazy. Outside of the general use I don’t go looking for these, but when I hear about them I say: wow! 20:09 – Guest. 20:57 – Chuck. 21:15 – Guest talks about solutions that he’s found. 22:08 – FreshBooks! 23:17 – Mark: What other kind of databases have you had experience with for comparison reasons? 23:40 – Guest. 24:56 – Mark: You talked about defaults and I want to come back to this topic. 25:08 – Mark asks Chuck a question. 25:12 – Chuck: I don’t know. 25:23 – Mark talks about the databases that his work utilizes. 26:45 – Mark and Chuck go back-and-forth. 27:49 – Guest mentions a solution to the before-mentioned problem that Mark gave. 28:47 – Mark: It can get messy. I don’t repose this as a permanent solution, but it allows you do a staged-migration. 29:15 – Chuck: Do you run into problems with Postgrex? Most technologies if you don’t run into problems you aren’t pushing it enough (at least that’s my experience). 29:29 – Guest answers the question. 30:26 – Mark talks about active, active, active. 31:14 – Guest. 33:25 – Mark: In Elixir, we talk about the things that are in the box and one thing that comes up is “mnesia.” Can you talk about this please? 33:47 – Guest talks about mnesia. 35:17 – Mark talks about mnesia some more. Mark: It is an available option (mnesia), but I don’t know if it’s something that people want when they are looking for something more traditional. 37:04 – Guest. 37:30 – Mark: Yeah something people should be aware of. If you are encountering problems it’s good to know the different tools that are out there and available. 38:42 – Mark: One question: What are some of your favorite features of Postgrex? 38:57 – Guest. 41:08 – Mark talks about Postgrex’s features. 42:14 – Guest. 43:10 – Mark: I had a case where Elixir and Erlang and you can convert term to binary and binary to term. I took some data structure and converted it to a binary and using Ecto and tell it: serialize this and when it loads back out it is a native Elixir type. It’s not always the right solution, but in my cases it actually worked. 43:59 – Guest talks about a library that he wrote back-in-the-day. 44:40 – Chuck: Anything else? Nope? Okay – Picks! 44:52 – Ad: Lootcrate.com END – CacheFly! Links: RubyElixirElixir: GenServerGenServersElmJavaScriptVisual Studio CodeReact“How to use LISTEN and NOTIFY PostgreSQL commands in Elixir?" By Kamil LelonekGuest’s Medium BlogPostgrex.NotificationsRedis.ioEvent StorePostgreSQLMongoDBErlang: mnesiaGitHub: cachexGitHub: meh / amnesiaPostGISWhen to use Ecto, when to use MnesiaPostgreSQLEcto.TypeGitHub: ExnumeratorYouTube: EntreprogrammersKamil’s Twitter Sponsors: Loot CrateGet a Coder Job!Fresh BooksCacheFly Picks: Mark Being professionally proactive! Chuck Get A Coder Job eBookChallenge: Pomodoro Technique Kamil Book: Thinking, Fast and Slow by Daniel KahnemanMy BlogMy SiteSpecial Guest: Kamil Lelonek. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/elixir-mix--6102049/support.

Dec 18, 2018 • 46min
EMx 032: Using Ecto with Edgar Pino
Panel: - Mark Ericksen- Josh Adams Special Guest: Edgar Pino In this episode of Elixir Mix, the panel talks with https://github.com/edgar971?tab=followers who talks with the panel about the latest version of Ecto! They discuss Ecto’s new features and how easy of a transition it was to go from the previous to the newest version. https://github.com/edgar971?tab=followers is a software engineer who currently resides in Utah! Check out today’s episode! Show Topics: 0:00 – https://devchat.tv/get-a-coder-job/ 1:04 – Mark: Hello! Please give us your background? 1:16 – Guest: I have been in https://elixir-lang.org for the past year or two and I have been living in Utah. 1:48 – Mark: I love the nature and state parks. Winter is coming, so I hope you are ready! 1:58 – Guest: Winter...hopefully it will be great! 2:20 – Panelists and guest go back-and-forth. 2:30 – Mark: Let’s talk about your blog posts about Ecto. What are your new announcements? 2:52 – Guest: Our new version was released a few weeks ago. 3:32 – Panel. 3:38 – The guest talks about the old and new versions of Ecto. 4:03 – Panel: What is new and how is this going to affect me (the new version)? 4:11 – Panel: The transition was pretty painless for me. The only change was the breaking-up of the adapter ad also the timestamp bit. That was it. 4:34 – Panel: Yeah that micro-timestamp surprised me for a second, but it wasn’t that bad after all. 4:52 – Guest: Yeah it was painless for me, too. 5:19 – Panel: Edgar can you talk about the change and what they did with the timestamps? 5:32 – The guest answers the question. 5:54 – Panel: Elm opted to use the micro-millisecond, too. Time zones aren’t a thing. 6:24 – Mark. 7:08 – Panel: My tests are the only reason why I care about the millisecond. 7:21 – Mark: With the upgrade don’t do what I did. Mark talks about how he updated and the issues he had. 8:47 – Guest: Pattern matching? 8:53 – Mark: Yep that sort of stuff. I didn’t need to do it and it was a learning experience. Edgar, please give us an introduction to the blog posts? Why did you want to document it? 9:18 – Guest: I always used Ecto with Phoenix but started learning Ecto by itself. I jotted down notes that I thought was interesting. That’s how it started. 10:17 – Mark: See links in the show notes. Using a gen to use the repo – this is one thing that I didn’t know was an option. 10:46 – Guest. 11:01 – Mark asks a question. 11:10 – Guest: Not really PHP applications but listening to web messages and hot topics but you are doing the database and serving data... 11:40 – Guest talks about Ecto and the different versions and features. 12:09 – Mark chimes-in. 12:23 – Panel: Yep – it’s under the hood and it’s for business logic and doesn’t have a web piece. Stop writing tings for the web – it’s a fad. 12:50 – Mark: It’s an umbrella and saw this through the Phoenix generators. 13:54 – Guest talks about web applications. 14:06 – Mark: Let’s talk about schema and databases? 14:23 – Panelist chimes-in. 14:51 – Panelists and guest talk about schemas, apps, and more. Check it out here. 16:13 – Guest: You will get the data and pass it in as a structure and... 16:23 – Mark: Here is a map of what I’d like you to do on my behalf. It goes to a chain set and I will turn it into a string and this is why it’s failed. 17:25 – Panel. 17:31 – Mark: It’s not hard and it’s pretty easy. Let’s talk about blog posts. 18:10 – Panel. 18:22 – Mark: I use https://github.com/absinthe-graphql/absinthe in the library in Elixir to support https://graphql.org 18:50 – Panel. 19:06 – Guest: The total number of results and only once did I need a more complicated thing. 19:34 – Mark: I haven’t had a need for those. 20:01 – Panelists and guests talk about the hypothetical situations where and how they would use certain features for said situations. 20:23 – Guest: You don’t have to understand right out-of-the-box. 20:40 – Panel: Have you used stored functions as meta-columns in an https://hexdocs.pm/ecto/Ecto.html schema? 20:48 – Panelist explains. 21:24 – Guest: I have used them in the past and now I don’t. For me it was hard to debug – maybe it’s just me. 21:43 – Panel: I was introduced to them through a colleague of mine. 21:53 – Mark chimes-in and talks about him being a DOT NET developer. 22:18 – Panelist chime-in, too! 22:50 – Mark. 23:16 – Panel: It was an awful time and not a good idea. 70 pages! Debugging it was hard. 23:35 – Mark: That experience was apart of that burn that I had before. I wanted to stay far away from it as far as I could. 24:00 – Panel: When I was doing it in DOT NET we didn’t have migrations. 24:12 – Panelist continues. 24:32 – Guest: I wonder if... 24:37 – Panel: It’s just a sequel – it’s not just an https://hexdocs.pm/ecto/Ecto.html specific feature. 24:48 – Guest. 24:53 – https://www.freshbooks.com 26:01 – Mark: Edgar you were interested also in HOW Ecto was built. What experience did you have? 26:21 – Guest answers the question. 28:22 – Panel: No you typed REPO there. 28:30 – Guest: Whenever you save or make an update it’s a method. Unlike Ecto you have to all it something else. 28:47 – Panel: Hey let me get those article posted and someone did it in Loop and that is a lot of queries. 29:03 – Guest: Yeah that’s a good point. 29:45 – Mark: Something I’ve noticed is that they talk about performance improvements and better memory usage. Go read about it- it’s great. They talk about HOW Ecto is working and what is behind the scenes. 31:15 – Mark: Another feature that I have seen is UPSERTS. 31:50 – Guest talks about UPSERTS, too. 32:34 – Mark: Say I have a system that has 3 servers and it’s rolling updates (it will take down one and put up the new code, etc. and it will cycle) one thing they added was a lock on the migration table. I don’t know if you’ve had this – once it hits production data it is slow. Mark continues. 33:20 – Panel: I think it was just luck of the draw. 33:30 – Mark continues. 33:57 – The guest talks about his experience with the above-mentioned scenario. 34:20 – Mark: I like that you both have had goo experiences with your upgrades. I want people to be excited and know that there are great features out there. 34:49 – Guest: Yes, I have found that the blog post is helpful. It’s good to get adapted to the new changes. 35:17 – Panel: Yeah I normally don’t have teasers up to the actual upgrade. 35:28 – Panel: The community is nice and people made a good effort to communicate and help people. They did a GOOD job of helping people to feel comfortable within the transition from one version to the next! 41:37 – https://www.lootcrate.com END – https://www.cachefly.com Links: - https://www.ruby-lang.org/en/- https://elixir-lang.org- https://elixir-lang.org/getting-started/mix-otp/genserver.html- https://elixir-lang.org/getting-started/mix-otp/genserver.html- https://elm-lang.org- https://www.javascript.com- https://code.visualstudio.com- https://reactjs.org- https://edgardev.com/getting-started-with-ecto-part-1/- http://blog.plataformatec.com.br/2018/10/a-sneak-peek-at-ecto-3-0-breaking-changes/- https://hexdocs.pm/ecto/Ecto.html- https://en.wikipedia.org/wiki/Active_record_pattern- https://martinfowler.com/eaaCatalog/repository.html Sponsors: - https://www.lootcrate.com- https://devchat.tv/get-a-coder-job/- https://www.freshbooks.com- https://www.cachefly.com Picks: Mark - https://www.plex.tv/#modal-tidal Josh - https://erlang-life.tumblr.com Guest - https://hexdocs.pm/ecto/Ecto.html Documentation!- https://edgardev.com – My blog!Become a supporter of this podcast: https://www.spreaker.com/podcast/elixir-mix--6102049/support.

Dec 11, 2018 • 57min
EMx 031: Lessons from a Decade of Erlang with Brujo Benavides
Panel: - Charles Max Wood- Mark Ericksen Special Guest: Brujo Benavides In this episode of Elixir Mix, the panel talks with https://twitter.com/elbrujohalcon?lang=en (Argentina) who is a software engineer and uses a mix of Elixir, Erlang, and GO. They talk about the similarities and differences between Erlang and Elixir. Brujo talks about conferences that he organizes. You can find the guest through https://github.com/elbrujohalcon https://twitter.com/elbrujohalcon?lang=en and https://about.me/elbrujohalcon. Check it out! Show Topics: 0:00 – https://devchat.tv/get-a-coder-job/ 0:58 – Chuck: Our special guest is Brujo B.! Let’s talk about the topic today, which is: Lessons from a decade of Erlang! We really haven’t talked about https://www.erlang-solutions.com in the past. 1:47 – Mark: Can you give us your introduction, please? 1:55 – Guest: I started programming at 10 years old. I translated a guest to Spanish. Then after school I started working with other languages, until I did my thesis at the university. I got hired and then while there they taught me https://www.erlang-solutions.com After 2 years the company went away and died. When that happened I had my honeymoon plan to go to Europe. I went to Poland and found a company that interviewed me, I passed the test, and got hired. The best solution I could ever make. I moved from developer to another position, to director and then to CEO. 6:16 – Chuck: You have been doing https://www.erlang-solutions.com for a while. My brain said 10 years of Elixir and that’s not possible – my bad. When Erlang came onto the scene how did that affect you? 6:40 – Guest answers Chuck’s question. 9:06 – Chuck: See show note links, please. It’s cool to see that you took cautious approaches to the language. What’s the balance between Erlang and Elixir? 9:33 – Guest: It’s about 45/45, because I also do GO. I don’t really like GO, but it’s whatever. 9:59 – Chuck: What has changed in the last 10 years? 10:09 – Guest: It’s my personal view on this and what I see at conferences. I saw a change from beginning Elixir as much acceptance and the community is more open. The people are already so developed already. 11:53 – Mark: I know there is an effort to make the beam languages more compatible. I know using a colon in the name and there’s a lot of communication there. At the last conference, they were talking about this. I think it’s neat that the community is not fighting this. In the early days it seems that the Erlang community were fighting it – what’s that transfer been like? 13:00 – Guest: There were other languages outside of Elixir with the beam. They failed and didn’t catch-on. 15:00 – Panel: How have you liked/disliked coding in Elixir vs. Erlang? 15:14 – Guest: I like many things that Elixir and Erlang can offer. Elixir is a mature and young language. There are many things that they corrected from day one. One thing I don’t like about https://amberframework.org is that... 17:36 – Mark: I also use it b/c it does give that consistency. It normalizes all the different ways you can code. When I review people’s code I will take the code formatter and get it to be normalized. I am happy with it and I will take it. 18:17 – Guest: Everybody understands everybody’s code. 18:48 – Guest mentions Elvis. See links below. 19:00 – Chuck: It’s interesting. It comes down to community and in some ways it’s not that Erlang community isn’t a good one, but sounds like... 19:17 – Guest: The other thing that happened with the Erlang community is the topic of building websites. In 2015 it was in the Elixir Conference in San Francisco – I think – this is what happened... 20:47 – Mark: I think it’s a credit to both communities. I’ve watched those talks before. I was watching these Erlang Conferences and there have been Elixir speakers there. Good collaboration and I’m happy for that. 21:19 – Chuck: Will these 2 technologies grow together? 21:30 – Guest: Great mix of talks from Erlang and Elixir and talking about how to build systems. 22:49 – Mark: This blog post that you wrote – see show note links before. Can you mention the main topics that you wrote within this blog post? General lessons you’ve learned? 23:23 – Guest: The most important is how we start building stuff over common abstractions. 26:07 – https://www.freshbooks.com 27:11 – Mark: You mentioned the behaviors and the abstraction that is available through OTP is through thehttps://elixir-lang.org/getting-started/mix-otp/genserver.html Those are and yes it’s true to educate people you will start with a spawn to see how simple things are. Yes, you don’t build a system on that. 27:55 – Guest: I recommend the talk to Spanish speakers. See links below. I asked for a translation but he said no. 29:10 – Mark: You talked also about test-driven development. How has testing in the Erlang community from the past and how has it been influenced by Elixir if at all? 29:53 – Guest: I am not sure. 32:34 – Mark: I don’t know how to spawn another node and have a disconnect in a testing framework? There might be other ways to do it? I would like to borrow that between the two. I’ve built some code that is cluster aware. Yeah I would love to have integration tests. Maybe that is available through Elixir- thanks for talking about that! 33:27 – Chuck: Anything else? Let’s talk about the Sawn Fest! 33:40 – Guest: It started in 2011 and started with a contest that anybody could participate. Judicators judged it and then awards were given. 34:38 – Chuck. 34:44 – Guest: The next year in 2012 the sponsors gave prizes. We were eagerly waiting but there was no contest that year. 37:47 – Chuck and guest go back-and-forth. 37:57 – Guest: There is a team of four now. If you go to the website it actually looks amazing unlike last year!! 39:19 – Mark: People will not hear about this, though, at the time it broadcasts b/c your episode is coming out after Nov. 24th - 25th. Can you do the game/contest remotely? 39:54 – Guest: Yes, people are playing from around the world from India, Denmark, Romania, Africa, and China! So yes you can do it from your house. 40:18 – Mark: What can people do or see or read about the winners? And after-the-fact? 40:32 – Guest: Yes when judges are judging we make the depositories public!! 42:05 – Chuck: My Sunday’s are usually pretty full. 42:19 – Guest: Yes that happened to me. As an organizer I cannot quit b/c I still have to be there. Time with my wife and kid is important, but yes it’s fun! 42:43 – Mark: Yes that shows how passionate they are about the community and the language. 42:56 – Chuck: Mind-blown! 43:10 – Chuck: You organize some conferences right? 43:17 – Guest: Yes. 44:25 – Chuck: Anything else? 44:30 – Mark: Dialyzer and curious about you organizing a Meetup? I have organized an Elixir Meetup. With Meetups how can you tell us how to make it successful? Are you doing both Erlang and Elixir? How are you running it? 45:10 – Guest answers the question. 51:53 – Chuck: How can people find you? 52:00 – Guest: GitHub! Twitter! About Me! (See links below.) 52:19 – Chuck: Picks! 52:20 – https://www.lootcrate.com END – https://www.cachefly.com Links: - https://www.ruby-lang.org/en/- https://elixir-lang.org- https://elixir-lang.org/getting-started/mix-otp/genserver.html- https://elixir-lang.org/getting-started/mix-otp/genserver.html- https://elm-lang.org- https://www.javascript.com- https://code.visualstudio.com- https://reactjs.org- https://www.erlang-solutions.com- https://github.com/inaka- https://inaka.github.io- https://github.com/inaka/credo_server- https://www.erlang-solutions.com- https://github.com/inaka/elvis- https://devchat.tv/ruby-rogues/114-rr-elixir-with-jose-valim/- https://devchat.tv/ruby-rogues/048-rr-crafting-rails-applications-with-jose-valim/-Become a supporter of this podcast: https://www.spreaker.com/podcast/elixir-mix--6102049/support.