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.
Episode 31: 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 Brujo Benavides (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 GitHub, Twitter, and About Me. Check it out!
Show Topics:
0:00 – Advertisement: 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 Erlang 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 Erlang. 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 Erlang 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 Amber 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 – FreshBooks!
27:11 – Mark: You mentioned the behaviors and the abstraction that is available through OTP is through the genserver. 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 – Ad: Lootcrate.com
END – CacheFly!
Links:
- Ruby
- Elixir
- Elixir: GenServer
- GenServers
- Elm
- JavaScript
- Visual Studio Code
- React
- Erlang Solutions
- Inaka
- Inaka
- Credo_Server
- Erlang Solutions
- Elvis
- 114 RR Elixir Show
- 048 RR Show
- 10 Lessons from Decade with Erlang
- YouTube Video in Spanish
- Erlang: Common_Test
- ExUnit
- Smalltalk
- SpawnFest 2018
- SpawnFest
- Zoom
- Brujo’s Twitter
- Brujo’s Website
- Credo
Sponsors:
Picks:
Mark
Charles
Brujo