EMx 017: Daniel Spofford: "Thoughtful Logging in Elixir: A Phoenix Story"
- Charles Max Wood
- Mark Ericksen
- Josh Adams
- Eric Berry
Special Guest: Daniel Spofford
In this episode of Elixir Mix, the panel talks to Daniel Spofford who is a Senior Software Engineer through Very where he uses Elixir constantly. Daniel and the panel discuss the benefits of working from home, and they talk about different programs, such as Heroku. Check out today’s episode to get more information about Daniel, Very’s team, Elixir, Phoenix, and many other topics!
1:45 – Depending on the needs of Daniel’s client and/or project it depends on what program he uses.
2:34 – Daniel works from home and lives in North Dakota.
3:35 – There are benefits to working at home. It seems that if you have a healthy living environment, and a supportive family, it can work out very well and could be quite effective. People are naturally more social and when you reach out to someone it seems to be more intentional rather than small social talking in the office.
6:45 – One drawback from working at home, you have to make a point to go out and be social.
8:12 – Log Post. This was interesting to the panel for two different reasons: 1.) Narrative Process and 2.) Logging a lot of people take for granted. When they need information, and cannot find it, then they could get frustrated.
13:25 – Question to consider: “How will these logs be used?”
16:05 – There are different levels of experience among many different people.
16:17 – Daniel goes through the different types of logs, and when and where you would use a certain log.
18:36 – Question for Daniel: “Can you get stuff out of order from your log?”
19:19 – There is a feature written into Phoenix that is quite helpful. Check-out their different plugins.
22:09 – When various processes are trying to log, they call that the log line.
23:35 – Digital Ocean’s Mid-Roll Advertisement
24:17 – One issue that the panelist has had in the past, is that they have that tagging mechanism – is there a way to do that in Phoenix?
24:39 – There is metadata.
26:01 – We are talking about tagging and getting specific information there. Is there a way to override in one function how that logging happens?
26:40 – That question makes me thing of – Let it Crash – mentality that people have with Elixir. This is common. You want to let it crash until you care. If you let it crash too far you loose information as you go up. Rather than pattern matching, and hoping that it works, maybe you do you have a case where “x, y, z...,” etc.
30:19 – Daniel’s new log post submitted in June. What are the three things that we should be paying attention to?
30:31 – Daniel talks about what the company, Very, does to accomplish different projects and such. Very is always on the lookout to resolve issues right away, because not every situation works for every client/situation. Three things to Elixir: State in Memory, Scalability, and Hot Code Reloading. These are the buzzwords to Elixir.
35:37 – One of the panelists does likeDocker now.
36:56 – If you are building a web app, it does not makes sense to do hot code reloading.
40:11 – Daniel has been playing with additional features, too, such as ECS.
41:08 – Other programs are mentioned by Chuck.
43:19 – Chuck asks Erick and Mark: “What infrastructure do you guys use for your Elixir stuff?”
48:10 – A deal from a non-sponsor? Check it out.
52:22 – There are benefits of using Heroku, but there are some disadvantages.
53:27 – One panelist mentions that it is nice to just copy and paste.
53:34 – Anyone heard of Stacker? It’s worth checking it out!
55:16 – Comments and questions about Stacker.
58:05 – Let’s go to picks!
- Coder Job eBook by Charles Max Wood
- Daniel Spofford’s Website
- Daniel Spofford’s GitHub
- Daniel Spofford’s LinkedIn
- Daniel Spofford’s Twitter
- Very Possible’s Team
- Code Badger with Charles Max Wood on Kickstarter!
- Notion.so – Between a Wiki and a Google Docs
- Smooth Terminal – go signup to their newsletter!
- Version 3 – Meta Base - a must use in your developer career!
- App Signal – an online monitoring tool