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 33: EMx 033: Databases and Elixir with Kamil Lelonek

December 25, 2018 51:00 76.72 MB Downloads: 0

Panel:

  • Mark Ericksen
  • Charles 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:

Sponsors:

Picks:

Mark

  • Being professionally proactive!

Chuck

Kamil