Episode 33

EMx 033: Databases and Elixir with Kamil Lelonek


December 25th, 2018

51 mins

Your Hosts
Special Guest

About this Episode


  • 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!





  • Being professionally proactive!