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.

Similar Podcasts

The Rabbit Hole: The Definitive Developer's Podcast

The Rabbit Hole: The Definitive Developer's Podcast
Welcome to The Rabbit Hole, the definitive developers podcast. If you are a software developer or technology leader looking to stay on top of the latest news in the software development world, or just want to learn actionable tactics to improve your day-to-day job performance, this podcast is for you.

The Cynical Developer

The Cynical Developer
A UK based Technology and Software Developer Podcast that helps you to improve your development knowledge and career, through explaining the latest and greatest in development technology and providing you with what you need to succeed as a developer.

Flutter 101 Podcast

Flutter 101 Podcast
Weekly podcast focusing on software development with Flutter and Dart. Hosted by Vince Varga.

Episode 25: EMx 025: Rethinking App Env and more with Saša Jurić

October 29, 2018 1:04:39 65.36 MB Downloads: 0

Panel: Mark Ericksen Josh Adams Charles Max Wood Special Guest: Sasa Juric In this episode of Elixir Mix, the panel talks with Sasa Juric who is the author of Elixir in Action (2nd edition) and uses Elixir, Erlang, and OTP. He is from Zagreb, Croatia and you can check out his blog here! The panel talks about his book, past and current projects, in addition to configurations, and Elixir. Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Chuck: Panel. Our guest is Sasa Juric. Introduce yourself to us please. 1:12 – Guest: I am known for writing my book and my blogs. I am president to the Elixir forum and helping people out. I have been using Elixir for 5 years; in the past I have used C++ and others. 1:46 – Chuck: App env and configuration and sounds like we could talk about more. Let’s start there, though. 1:59 – Guest. 2:03 – Panel: A little background with configuration b/c it’s been a topic in the community. There is a lot of discussion around it. What is the right way? And there is a change in how we deploy software. We have more docker containers and multiple stages of deployment and tons of configurations through environment settings. Anything you can talk about that? 2:51 – (Guest answers those questions. He discusses in detail about docker configurations. Also, the guest talks about the various settings per the different environments.) 7:25 – Panel: That was a thorough summary. 7:29 – Guest: I can talk more. 7:35 – Panel: So we have background on configuration is setup and the goals we have. What are some of the ways that a person with Elixir – how do they start? Tips / advice? They have their app and trying to go to production? 8:22 – (Guest answers the question.) Guest: 90% of the time, this is what you want to do. This is what you do...build it and put it in the folder structure, and you are good to go. Why is this good? You don’t have to have a bunch of... If you are using Phoenix than you need Node.js and you don’t want to have that on your production. You can easily run side-by-side different versions of Erlang and Phoenix. 11:40 – Panel: You can do that in a single docker file? 11:47 – Guest. 11:51 – Panel: You just copy the files... 11:56 – Panel: I learned I could do that by the distiller 2.0...I hadn’t encountered that before. 12:11 – Guest: Look into the distillery. I want to give compliments to Paul and the team is great. Go to Distillery and see the tutorials. 12:37 – Panel: People think I don’t want to use docker there is an option.... 13:01 – Guest. 13:04 – Chuck: Different types of configuration? 13:13 – Guest: Right this discussion too which is probably talking about my blog post, and I have this wild thought about configurations. We can discuss the issues and different solutions. We have these configurations files and they contain these time various configurations and... There is usually more than 1 configuration file. 17:53 – Panel: You only get agreement. I have had that problem, too, saying what is this configuration? What are THE Settings that are present and yeah that is a problem? You identify these problems in your blog, where it’s not checked in and the code will not... I have had to work around that in my projects. We are going to create a sample project and it will have defaults. So we can improve the situation. 18:45 – Panel: Class based configurations – I get angry. 19:05 – Guest: I try to challenge this status quo. Some people agree and others disagree. Some say this blanket statement. 19:54 – Loot Crate! 20:47 – Guest: Another thing to note is that configurations are free form key values. Remember, my point is that it boils down to some function being involved with these values. (Guest continues...) 23:36 – What is your direction that you are proposing? 23:40 – Guest: We are going to discuss other issues. 23:49 – Panel: As background, as apart of that whole configuration in those distillery docs... 24:41 – What is the next step in the discussion? 24:48 – Guest: Let’s take a step back. (Guest talks about Distillery 2.0.) 27:09 – Guest continues... 29:50 – Panel: That makes sense and flexible. 29:58 – Guest: The other complaint is that the Phoenix generator is pushing the community in the wrong direction by forcing a lot of things by default. When you generate your project with... My team we have used the configuration b/c it seems the right way to do, but what constitutes this? Should this go here and what is a configuration? 30:52 – Panel: I don’t have a synced answer – I don’t have a boundary to say what does or doesn’t’ go in there. 31:13 – Guest: Like the operator might decide to change the HPP port or maybe you want to...? You have to make the decision – what will those things be? 31:32 – Panel: React to a configuration change, it’s very clear to... 31:57 – Guest: It is very arbitrary by its nature. One of the main things (in the blog post) my coworker said it felt like a configuration. What does that mean? Should we have some sort of rules? What is a configuration and what isn’t? 32:33 – Panel comments. 32:55 – Guest: Now I am swinging in a new extreme. You started with parameters nothing more and there is nothing more than functions and parameters. 34:41 – Chuck: You keep bringing up JSON is there a reason why? 34:55 – Guest: I am not a super fan of JSON for various reasons but we decided on JSON b/c it’s fairly easy. Most of our clients and admin can add it. 35:18 – Chuck: Asks a question. 35:30 – Guest: Getting a configuration... 36:35 – Panel. 36:39 – Guest: With Distillery 2.0... 36:47 – Chuck: What formats do you like if you don’t like JSON? 36:58 – Guest: I am not sure. I would like to run everything in Elixir directly. 37:47 – Panel: I have been using Kubernetes. I like that I can have comments. 38:00 – Panel. 38:10 – Panel. 38:17 – JSON is terrible but you can use it and everyone can, too. 38:27 – Guest: I would probably pick JSON between those two. It’s the lesser of 2 evils. 38:40 – Panel. 39:03 – Guest: The key is to clean up this configuration in the first place. My impression is... 39:30 – Panel: I wrote a library, and there was configuration but it doesn’t belong – it’s not a configuration setting nor...so where should those kinds of settings be? I know they are just parameters, but...so we can pull out our configuration files? 40:11 – Guest: It should be grouped by scope. Take Phoenix application... 41:54 – Panel: That’s your exposed configuration – conceivably – but it should be hard coded. 42:04 – Guest: It won’t be hard coded, and the server will be different in production than your machine. 42:17 – Panel. 42:30 – Guest: Precisely. You have to ask: is this a configured parameter or not? 42:43 – Chuck: Can you talk about how to encrypt and/or protect these secrets? 42:56 – Guest: There are these secrets that are broad secrets via...and it depends on you how you’re going to protect them. Use some encryption scheme. 43:20 – Panel. 43:28 – Guest: Right. 43:31 – Chuck: In Rails it has a secret file, too and you have to provide the key to the app. Then your KEY is a secret. It feels like this circular problem. 43:53 – Guest. 44:54 – Panel: When you are dealing with that sort of thing...library will absolutely assume...and it limits flexibility. 45:17 – Guest: It’s not just an Elixir thing I have seen it in Erlang, too. 47:32 – Chuck: Any stories of people getting this wrong or right? I guess people don’t talk about that; any good stories? 47:54 – Guest: A lot of stories, actually!  49:52 – Panel: Being that Elixir is a more functional language, how do I put in a configuration that will be available at runtime and available very early. I think that is why we stick things up there by putting it in there. 50:35 – Panel. 50:43 – Panel: If it is a library and passes it to a configuration - where does it put it? 50:53 – Panel: A library and not an application... 51:05 – Guest. 51:45 – Panel: Where do I put it? 52:03 – Guest: There are some libraries that have to be configured before we start. The only case that needs some setting before we start is LOGGER. 53:00 – Panel. 53:15 – Guest. 54:00 – (Guest mentions à la Carte – check it out here! It’s just a factory.) 55:38 – Chuck: Let’s do picks! 55:46 – Fresh Books! Links: Ruby Elixir JavaScript React Erlang Kubernetes JSON Logger Docker Config Rethinking App Env Distillery Documentation Elixir in Action Elixir in Action – Book – 2nd edition Elixir – Library Guidelines Elixir Forum The 12-Factor App Distillery’s Documentation GitHub: Toml-Elixir GitHub: Riak_Ensemble GitHub: Elm – Beam GitHub: CodeC-Beam Library Guidelines – Elixir Configuring Elixir Libraries Handling Configurations Etcher Tweet Mashup Sasa’s YouTube Video Sasa’s Twitter Sasa’s GitHub Sasa’s Information at Elixir Conf Sasa’s LinkedIn Josh Adams’ Email: josh@smoothterminal.com Sponsors: Loot Crate Fresh Books Cache Fly Get a Coder Job! Picks: Sasa Run-time Library Guidelines Elixir in Action – Book – 2nd edition The Erlangelist Solid Ground Chuck Tweet Mashup My JavaScript Story Channel Shush App Mark Etcher.io Josh Elm Beam

Episode 24: EMx 024: “Sagas” with Andrew Dryga from Hammer Corporation

October 23, 2018 54:00 55.13 MB Downloads: 0

Panel: Mark Ericksen Eric Berry Josh Adams Nathan Hopkins Special Guest: Andrew Dryga In this episode of Elixir Mix, the panel talks with Andrew Dryga who is a software engineer (full-stack), entrepreneur, blockchain architect, and consultant. He currently works for Hammer and previous employers include Contractbook, Nebo #15, BEST Money Transfers among others. He studied at the National Technical University of Ukraine. Check out today’s episode where the panel and guest talk about Sagas and Sage. Show Topics: 1:52 – Our guest today is Andrew Dryga. Why are you into Elixir? 2:04 – Andrew: I have worked in Elixir for a few years. I worked on one of the biggest opensource projects for a while now. 2:42 – Let’s talk about Sage! 2:49 – Andrew: I felt like I was doing the same thing over, and over again. Andrew talks about how he was on a mission to solve a problem that he was having. 3:48 – Panelist: I have run into this problem before, and I am looking forward We have distribution systems and anything that is external for us (Stripe), and one of the solutions was to create a multi. Let’s create a user, register theses different pieces, and then... Then we realized that this request was taking too long. Our transaction is timing out. The other connection went to the other server. We had database records removed from the other side. People aren’t aware that they have these distribution problems. I think Stripe is a good example of that. I started with my multi... 5:24 – Andrew: I am trying to be very programmatic. I don’t want to do that, so write now the project is multi. It’s doable if you know what you are doing. If you are dealing with just one it’s simple. But if you can monitor them (Sage Read Me)... 56:16 – Let’s talk about Sagas! 6:19 – Andrew talks about what Sagas are. 8:20 – You are right it is a new mental model. That’s why I love the Sage library because it is simple. It gives structure to that mental model. The idea that I will take step one and create a user, step two another entry, step three now an external entry. It can fail for any reason. Then these compensating functions are saying: what is the undo for this? It could be just delete this specific entry. But do I have that right? 9:53 – Andrew gives his comments on those comments. 10:26 – Andrew continues his ideas. 11:09 – When you start with a new team, you don’t bring Sage right off the back? What is your strategy to figure out that pain? 11:32 – Andrew: I don’t have a plan – how do I feel about THAT coder. After about 2 services and 1 call it’s time to use Sage or it will be too complex. Integration is the case. So if you try to integrate substitution then... 12:29 – Question to Andrew. 12:35 – Andrew: Figure it out by judgment and it varies by situation. I enjoy working with them but I’m not like them. I use my best judgment. 12:59 – You talked at Code Beam and talked about Sagas and Sage. I think that’s a good resource to defend you case. To talk about the sequence of events, something goes wrong, and then rollback the changes. What feedback have you received? 13:46 – Andrew: Yes, good feedback. There some people will say that there are problems, but I know there are companies that are actively using it. People say that it simplifies their projects. I think the presentation slides can definitely help. 14:39 – Yes, check out the show notes links. 14:45 – Are you a consultant or are you fulltime? 14:53 – Andrew: I used to be fulltime and do large projects for companies. Andrew talks about those projects in detail. Andrew: Those projects we used Elixir (see above). I do a lot of opensource, too. Last time I check it was... 16:04 – That’s a good number. 16:08 – Andrew: I am trying to participate in conversations, but if I had more times I would work more in Sage and opensource; to have a persistent nature behind Sage. I think it can be done a much better way. 16:55 – How do you envision doing that? Configuring it to a repo or something else? 17:07 – Andrew: I want to solve the problem of... 17:56 – That’s cool. 18:03 – Andrew: Yeah, everything I find a new application built in. 18:17 – Andrew and panelist go back-and-forth. 18:32 – Andrew continues talking about Sage and models. 18:43 – Proxy channel – I think I want to do a Mud. Anyway... 18:59 – Question. 19:11 – There is a WX library that is built into Erlang which was talked about at the conference. That one looked interesting. How they built the debugger and the widgets. It looked that there was more there than I thought. 19:47 – Great to have out of the box. 19:56 – Andrew comments. Andrew: I saw the talk from Canada and... 20:08 – It’s early to work with. Someone tweeted about it and now I’m rambling.    20:08 – Andrew: Someone made the keyboard while on the plane. 21:04 – I hope we are going that route eventually. 21:12 – Panel and Andrew go back-and-forth. 21:39 – What other applications have you found that Saga would work for? 21:50 – Stripe. 21:56 – Panelist: When I make an authorization request, capture the funds. Even when I am dealing with one of their services there are multi-interactions. 22:03 – Andrew comments. 23:32 – I have an app that I would prefer using Saga because of the... 23:44 – Loot Crate! Check out their deal! 24:37 – Andrew talks about the core team, Elixir and Sage. 26:03 – Panelist: To solve a problem with SAGA let’s talk about the pros and cons. I had an umbrella application and one of the applications was supposed to be the interface to that service. It could be like a payment service and other payment gateways. I am going to make my request to this app, and it’s going to track the app. The main thing continues and talks to the bank and/or Stripe. Depending on the problems but you still have THAT problem because maybe the account wasn’t set up properly. Now we’ve talked to the bank, medium intervention, and let’s run this. I like SAGE and SAGAS because I don’t’ have to go to that level to break out the proxies. I just need to talk with the sales force or something. I need a reliable system when it can recover when something goes wrong. It might be over engineered but I don’t know. 28:17 – Andrew comments about that particular example (see above). 29:03 – With Sagas you can loose them... 29:09 – I haven’t played with Rabbit, yet. The one that is built into AWS? There’s Simple Q and there is something else. Rabbit is built with Erlang. What’s that like for you? 29:40 – Andrew: It’s pretty painful. Andrew mentions MPP. 30:37 – Interesting; I haven’t gotten that far, yet. 30:45 – My first Elixir application had...behind it. That was the worst part. I feel those pains. 31:00 – Andrew: That’s the case. 31:51 – The other service I was thinking of was... 31:56 – Question for Andrew. 31:59 – Andrew answers. 32:39 – That is the problem we are having at work because of older code. How can we resend them out? That probably will be a good fit for us. 33:18 – Andrew.  34:31 – Andrew: Once you’ve found the bug... 35:16 – When you are coming to a new language, it could be React or...the first few things will be pretty awful. What has this path been like for you, Nathan? 35:40 – Nathan: Yeah I am very early days. Yesterday, I had a set of code that I was creating to try just to function and it was really ugly. But I was okay with that because I was just trying to solve the issue. 36:05 – You have to be okay with that. The idea that: You are trying to just make it work. When you come to Elixir and being fresh and thinking I don’t even know what to do. 36:32 – I have a buddy with that now saying: How do I even start with this?! 36:40 – Andrew: It takes time to break your head and a different way to rethink the code. Once I have the basic concepts then it makes me feel super efficient. 37:24 – I am curious what languages have you had experience with? 37:38 – Andrew: I started commercial projects in my teenage years. I built websites for them. I have some JavaScript knowledge and that was good going to Elixir. 39:04 – I favor that side, too. It’s not hard to build solutions with the things that are in the box (Erlang). I don’t like to bring in all of these libraries that people are creating. It’s great but, at the same time, I have been burned by Rails and JavaScript where you bring in all of these different libraries, and it becomes really nasty. I could have solved it more natively. 39:55 – Andrew: In Elixir you can... 40:28 – Oh, that’s all I needed – those 2 lines. 40:40 – Andrew. 40:46 – That’s an interesting dynamic. 41:09 – Andrew comments talks about Elixir and Hex. 41:23 – Andrew: I think it’s a good thing. I think there needs to be work in Hex because it’s underdeveloped. To name a few... 43:08 – Part of the keynote this year that it won’t be merged, or they aren’t promising to merge it. 43:29 – Andrew. 44:08 – I haven’t used 3, yet. 44:10 – Andrew. 44:55 – They are talking about the Read Me. I didn’t know there was an Ecto Mnesia? 45:20 – Andrew: Yeah I helped build it and the plan was... 45:50 – Yeah I can see the issue there, do I maintain it or...? 46:02 – Andrew comments and talks about the community and different codes. 46:36 – Andrew, anything else that you want to talk about? 46:48 – There are tons of notes in our chat, which the listeners can’t see. 46:58 – Advertisement – Fresh Books’ Advertisement! 30-Day Trial! Links: Ruby Elixir JavaScript React Erlang – Disk Log Erlang WX Railway Oriented Programming Nebo 15 GitHub – Scenic Kafka Rabbit MQ AWS AWS – Kinesis GitHub – Firenest XHTTP GitHub – Ecto GitHub – Ecto Mnesia Saga and Medium Introducing Sage Andrew Dryga’s Website Andrew Dryga’s Medium Andrew Dryga’s GitHub Andrew Dryga’s LinkedIn Andrew Dryga’s Twitter Andrew Dryga’s FB Andrew’s YouTube Channel Andrew’s Sagas of Elixir Video Sponsors: Loot Crate Fresh Books Cache Fly Picks: Mark Mark of the Ninja Josh A Sneak Peek at Ecto 3.0: Breaking Changes Nate Pragmatic Studio Eric Looking of Elixir Developers Metabase.com Polymail Andrew Tide of History

Episode 23: EMx 023: “Bubblescript – Beyond the DSL” with Arjan Scherpenisse

October 16, 2018 47:34 48.95 MB Downloads: 0

Panel: Mark Ericksen Eric Berry Special Guest: Arjan Scherpenisse In this episode of Elixir Mix, the panel talks with Arjan Scherpenisse who is the technical co-founder at BotSquad. Arjan lives in the Amsterdam area of the Netherlands. Also, he is currently working with Miracle Things. Check out today’s episode where the panel and Arjan talk about his article and his latest projects. Show Topics: 0:50 – Hello! 1:23 – Is that right – got to drink Heineken in Amsterdam? 1:30 – Arjan: It’s the Bud Light version here in Amsterdam. 1:47 – Panelist: I feel pretty stupid now. 1:58 – Eric: I actually just visited Amsterdam to visit a good friend. The canals were gorgeous! 2:25 – Arjan: I actually worked 7 years in the city center and I cycled to work over the tiny bridges. Now I live outside of Amsterdam. 2:47 – Panelist: You have this article on Bubblescript, which is a creation of yours. Can you tell what it is? 3:08 – Arjan: I have been a software developer for 8 years. I have been using Elixir more in the past 2 years. So at some point an agency asked if I could build something for their museum. I thought let’s do it, because that’s a nice project! I got to work with three historical figures, which has their own stories. 4:45 – Is it spoken? 4:51 – Arjan: Just text. It was really meant for a young audience. The creators wrote stories about these figures. Get the younger generation engaged. I thought, well, how could I build something like this? I don’t want to hardcode it because I am the one maintaining it and I don’t want to be a SMS person. I thought, I wanted them to maintain it, but CMS is limited. Then I thought, I will give them a Jason file – each instruction on one line. Those file formats are for... Then I thought why couldn’t I use Elixir...? I just wrote something that looped out and spit-out all of these messages through messenger with a timer. Then I made it very simple through UI. Then it would tell you that line the error is. Then in the background you are checking to see if your syntax is correct or broken. Then there is a run button on the side. That’s how it started. It was a lot of work for one project. I found the idea really fascinating, and then last year I showed them this to my friend. He, too, was in Elixir and loved the idea and so we started a company. 8:47 – Panelist: That’s where BotSquad came from? One of the questions I had been: Is it done through macros? 9:01 – Arjan: Yes, but there is... I don’t compile it to an Elixir code; I use it as a functional thing. “Hey! Give me the next message...” If that makes sense? 9:59 – Panelist: I see that you have an example through the article. If something is invalid then you can see that it’s on “line 2.” Never used string to coder – I think that’s a great application to that. 10:26 – Arjan: Yep! String to coder. 11:09 – Your path to Elixir went through Erlang first right (2009)? 11:22 – Arjan: Maybe earlier? I was working through an agency back then, and they were building a platform for projects. One of the co-founders left and he started to work (for a year) and worked on this language called Erlang. That was back in 2008/2009. He later went onto create... He was working on that and he convinced me to use Erlang. I like Erlang because it’s a logical language. 13:06 – What was the path to Elixir? Why would you use Erlang? 13:21 – Arjan: Good question. I haven’t left Erlang totally, yet. It was due to the community. I wasn’t interested the first few years into Elixir, because all of the concepts are the same just different skin. For me, the community was completely different! I think it’s the truth. There is no Erlang Meetup in Amsterdam! For me it was the difference in the communities. 15:22 – We are glad you are here! 15:28 – Arjan: We are trying to make it Open Source. People ask me this all the time. For us we still have to find the right form for it, and it will be a lot of work to maintain it and support it. 16:10 – Panelist: Your chat app – let’s talk about that. It’s a very staple process. You don’t want to keep repeating the story for the characters. Along the lines of... I am wondering how well they are being a solution for... GenServers are mentioned. 17:15 – Arjan: That’s exactly how it works. You could do it differently if you wanted to. The interpreter itself is purely functional – you put a message in and you get a message out. What I wrote around that... 19:20 – Panelist: What process registry are you using for that? 19:24 – Arjan answers the question. 20:18 – Panelist comments. 20:53 – Arjan: It is a nice piece of software. And while most of the things are done now it’s making sure that everything is ready for everybody. If you use Swarm then... 21:57 – Panelist: I think it’s fun that you have this GenServer intentionally built in delays? 22:18 – Arjan: Yes, exactly. 22:46 – Yeah it has to feel real – that’s fun. 22:53 – Arjan: Yes. It can actually help with a... 23:12 – Advertisement – Loot Crate – check out the code! 24:09 – DeState Struct – I love that pattern – Plus 1 to that and let listeners know. It’s a great way to test how a... 24:48 – It’s a great way to test because you don’t have to wait for anything! Arjan continues this conversation. 26:03 – Arjan: It’s fun to test one bot with another bot. 26:14 – Panelist: The bots don’t have to go through the messaging protocol. 26:33 – Arjan: Yep! 26:42 – Anything you want to talk about Bubblescript or BotSquad before another topic? 26:55 – Arjan: It’s not Elixir it looks like Elixir – but check it out! Trial account at BotSquad.com! 27:17 – You are also talking with Code Elixir in London and you are doing a boot camp series. You are running an actual boot camp – I would love to hear what you are doing there! 27:42 – Arjan: the form is 2 days – it’s meant for programmers who are already well knowledgeable. We have done it 2 years in a row. I teach it with a partner who is from Amsterdam. Two years ago we got together and there were always questions on whether a boot camp was available. So we thought we needed to put something together. There are about 20 students in each boot camp. 29:34 – What are some of the challenges? Where these people are coming from pure functional stuff? 29:51 – Arjan comments. We start teaching them at the beginning of the boot camp: recursion and better matching. Better matching, in other languages, isn’t there. Recursion can be hard to grasp. Those are the building blocks. Going from there: how can you expand... 31:39 – Panelist: I saw from your video how you showed the elevator experience? 31:56 – Arjan: I didn’t know that was HIS analogy. 32:10 – Panelist talks about the creator of Erlang. 33:01 – Arjan: Yes the elevator example is for... Arjan continues talking about the elevator example and how students need to implement to be successful with tests and more. 34:48 – Arjan: It’s good to see how people reason with state and to see your thought process. 35:49 – Arjan: The second morning we actually give them the solution. Second day is getting practical – how can you build something and deploy something with Elixir. 36:32 – Panelist: I think it’s great that you are introducing Elixir to more people. I would like to see more people doing that. I love teaching people and Elixir concepts and other things. I had a Ruby background. It was a head-trip to get that difference – and once you do then you feel powerful: Oh I get it! I get these beneficial properties... All of these problems I had before don’t exist over here. When I get to see the 37:48 – Arjan: Yes at those Meetups and those boot camps – you see those light bulb moments. Yes, that’s why I do the teaching because it’s very rewarding. 38:43 – Panelist: Anything else? 38:50 – Arjan: Yes, my company BotSquad is working on a one-day conference – check it out here! 39:46 – Picks! 39:50 – Fresh Books’ Advertisement! 30-Day Trial! Links: Ruby Elixir JavaScript Vue React GenServers Meetup Jekyll StaticGen BotSquad BotSquad: Bubblescript – Beyond the DSL Miracle Things Arjan through Code Sync Arjan’s LinkedIn Arjan’s Twitter Arjan’s GitHub Arjan’s Video: Bootcamp Stories Code Beam Lite Amsterdam 2018 Sponsors: Get a Coder Job Loot Crate Fresh Books Cache Fly Picks: Eric Jackal Mark To Be List Arjan Experimenting Elixir Parser

Episode 22: EMx 022: “Adopting Elixir at Flatiron School and Pattern Matching” with Kate Travers

October 09, 2018 51:15 52.48 MB Downloads: 0

Panel: Charles Max Wood Mark Ericksen Josh Adams Special Guest: Kate Travers In this episode of Elixir Mix, the panel talks to Kate Travers who was a student/apprentice with the Flatiron School and now is on staff as a software engineer. The panel and Kate talk about adopting Elixir at the Flatiron School and Pattern Matching. Watch Kate’s talks about the topic; links to these talks can be found below. Show Topics: 1:08– Hi from Kate Travers. 1:16 – Chuck: Background? 2:20 – Kate gives her background. 2:30 – Chuck: We had another Flatiron alum from an extra show. 2:44 – Kate: Yeah – she’s great! 2:48 – Chuck: Flatiron mostly focused on Ruby and JavaScript. Has that changed or? 3:02 – Kate: For the students we are teaching the Rails focus on the backend and React on the frontend. Times might be changing. What else is out there for functional curriculum? Our lead engineer is super motivated introducing some Elixir. Our engineering team might be the first to go in that arena. It would be absolutely fantastic to 4:02 – Chuck: Awesome! I would like to see the boot camps take on Elixir. 4:15 – Kate: Yeah, there are many benefits of doing that. 4:57 – Chuck: You see some Reactive, some... It is interesting to see how it comes together and 5:16 – Kate: Yeah we see this as a support – delivery of curriculum. When you start out you are writing in a functional style. You are essentially writing TLI scripts – functional manner. Now in the curriculum we are training people to think, and to get away from that script-way, and think in terms of objects. 6:11 – Panelist: I think that is interesting. Some of the difficulty of teaching Elixir is to UNLEARN some of their past education. Start teaching people FUNCTIONAL, might help. 7:04 – Chuck: I have been starting a new project... What is going on here? Oh yeah I have to think about it. 7:20 – Kate: Yes. We have spun up – we have one core Elixir project. We have been on that for a year. We have spun up some smaller projects. On these projects this is the first time these people have used Elixir. It is interesting to see the difficulties that they are seeing for the first time. 8:09 – Chuck: I want to talk to adoption for a bit. So as your school has made this transition, where are you seeing the (first of all) where is it easy to get buy in. How did Elixir get into Flatiron? 9:06 – Kate: It is not apart of the school’s curriculum. How we started using Elixir was because our technical lead he is super loud / elegant voice for this language. Elixir might solve some of the problems that we were facing. When we adopt new tech it’s because we have thought about it heavily. We don’t adopt new technologies “just because”. The perfect opportunity came up, so this lead into why and how Flatiron started using Elixir. Kate goes into more detail. 15:24 – Chuck: Learn.io – check out outside of the school? 15:35 – Kate: Yep! There is even some interview prep; also, intro to Ruby, intro to JavaScript, and someday intro to Elixir? 16:06 – Chuck: As you brining people into this how do you transfer them to Ruby to Elixir? Do you throw them into the deep end? 16:26 – Kate: Sure! If someone is interested we will. It is something our team tries to prioritize. Kate goes into more detail. 18:43 – Kate: We didn’t expect for these book clubs to keep going. We will do a little workshop as part of book club. 19:18 – Panelist: Question to Kate. 19:25 – Kate: Yes, so everyone has a NEW lead each week. Folks of ALL different experience levels. What is different about our team is that we have tons of people who LOVE to blog. If you check-it out as they are learning Elixir they are writing posts. 20:21 – Question. 20:29 – Kate answers the question. 20:49 – Chuck. 20:55 – Kate: Steven suggested a new way to cement the things you are learning. 21:28 – Chuck: Yeah – Flatiron labs. Now that I have been playing with Elixir with pattern matching. At first it’s scary stuff. 21:49 – Kate: It is a head-trip. 22:00 – Chuck: ...wait...wait... 22:10 – Kate: Multiple binding? 22:16 – Panelist: My first introduction to outer matching was seeing a... 22:39 – Kate: Great first introduction. Not the textbook example, you will get to see the real-world situation. Yeah that is a really, really good example. 23:05 – Panelist: Pattern matching for me became a superpower! It was my first real love of the language; before concurrency, and others. Pattern matching helped with a lot of the pains that I wouldn’t have to encounter. You are poking this big object to figure it out. Then it’s easier because if the shape matches, then it matches. Mental flip – and I get it! It felt like a superpower. I liked your talk, Kate, about pattern matching. 24:41 – Kate: Yeah, totally. Pattern matching. Like learning a musical instrument like a guitar. When you start learning something like this you have these high ambitions. You are learning to be a rock star and you want to be David Bowie. But when you start you couldn’t be further away from that goal. At the beginning you are learning chords and it’s so easy to think: “I am terrible, I suck...” you quit and never keep going. To prevent this you need a hook to keep you going. You just need to learn that really sick rift. Oh yeah, NOW I can start seeing my rock star abilities; same thing for Elixir. Pattern matching was my really sick rift. 27:38 – Panelist chimes-in. You have that excitement about the new language. But they get frustrated because they are a beginner. I do think that you nailed it there. If people can latch onto something fairly quickly, then it gives them a reason to keep coming back to learn more and more. 28:25 – Kate continues this conversation. 28:48 – Panelist. 28:54 – Advertisement – Code Badges! 29:32 – Chuck: Most important / interesting thing you’ve learned about pattern matching? 29:48 – Kate: It was the different things you can do with... 30:23 – Kate: The concept is that Elixir provides... 31:42 – Chuck: I didn’t know that you could do that! 31:56 – Kate: The benefit only comes from legibility. 32:13 – Panelist: Guard clauses and pattern matching. I think it would be a mess if I weren’t use Elixir. 32:31 – Kate: Yes, definitely. 33:10 – Panelist: Yes, my first project with Elixir... 34:47 – People should go and see your talk and it’s in the links. 35:00 – Kate: Thanks! Kate talks about dodging bullets and code.  36:04 – Chuck: have you seen other languages using/trying to use Pattern matching? 36:10 – Kate: Yeah, there are talks about Ruby and JavaScript for introducing proper pattern matching in BOTH languages. Ruby is interesting. I don’t know how much traction we have on these, but people seem really into program matching. 36:36 – Panelist: Yeah, I think people come to Elixir and see pattern matching and they get excited. 36:55 – Kate: Yeah, I would be interested to see if the proposals go through or not. There is a conference on my WATCH LIST and I want to see more about it. 37:26 – Panelist: It started off as a prologue that’s what you need. 37:37 – Kate: If it wasn’t designed that way in the beginning it will be a problem. If it’s not apart of the system in the beginning then it could be a problem. 38:14 – Chuck: Yeah, the flipside is... 38:34 – Panelists: I don’t know. 38:44 – Panelist: One of my concerns is object oriented programming. I imagine (nightmare) pattern matching in Ruby and all match onto this object – after it’s there – it’s inside my function – runs another thread – comes back to me – that object is modified and now it’s there, and not be completely invalid. It’s not RUBY anymore. 39:36 – Panelist: Pattern matching could bring them over and bring them over the gap. I am worried that if this is more widespread then we will hit a much worse. 40:06 – Kate and Panel: Yep! 40:12 – Chuck: Anything else about pattern matching and/or adopting Elixir? 40:18 – Kate: I don’t want to rush into this too quickly, but if we are on the topic of bringing people to Elixir. It came up at this conference. Ruby Rails coming over – RR refugees. The question that they post: People are hyped about Elixir about Phoenix. What is going to be the thing that brings people over? 41:15 – Panelist answers Kate’s question. 41:29 – You can’t do live Vue in other languages. If you are really experienced... 42:08 – Chuck: You have to learn 2 technologies. You can adopt a frontend and backend technology and you can get SOME of that. I know a lot of people are invested in the frontend technology or the backend. I think that is how you are going to convert. 42:43: Panelist chimes-in. Panelist’s friend asks: Is it an appropriate tool? 43:30 – Kate: Our team is super excited about it. Our team has mostly been working on the backend. We need to deliver on the frontend with updates. What if we had it – out of the box with Phoenix? Yeah people are over the moon. 44:06 – Chuck talks about what he is using. What if I didn’t have to do any of that garbage? 44:23 – Panelist: It is a NICE experience when you have to do it. 44:38 – Chuck: If you need a killer feature for React or Vue – why can’t you build a frontend... 45:00 – Panelist adds in his comments/thoughts. 45:30 – Chuck: Anything else? 45:38 – Picks! Links: Flatiron School Our Courses – Flatiron School How We Built the Learn IDE in Browser – Medium Flatiron Labs Elixir – Flatiron Labs Elixir – Guards Kate Travers Kate Travers’ “Pattern Matching in Elixir” (3/14/18) Kate Travers’ Dev.to Kate Travers’ Twitter Kate Travers’ Talk on YouTube: “Pattern Matching: The Gateway to Loving Elixir – Code Elixir LDN 2018” Kate Travers’ Code Sync Ruby Elixir JavaScript Vue React Sponsors: Get a Coder Job Digital Ocean Code Badges Cache Fly Picks: Mark Ericksen Value Teach something to someone else. It helps you grow. Book - Leadership and Self Deception Josh Adams Ethdenver Charles SCALE Brunch Kate breakinto.tech Kusama: Infinity

Episode 21: EMx 021: “Dialyzer Pretty Printing” with Andrew Summers

October 02, 2018 53:34 54.71 MB Downloads: 0

Panel: Charles Max Wood Mark Eriksen Eric Berry Special Guest: Andrew Summers In this episode of Elixir Mix, the panel talks to Andrew Summers who lives in Chicago, currently. Working on Elixir development, and here to talk about how he wrote the dialyzer pretty printer. He is a software engineer for Albert.io, makes cool stuff every day, loves punk music, and Philadelphia sports. The panel talks about the Dialyzer pretty printing, Elixir, code writing, and more! Show Topics: 1:07 – Why are you famous? 1:11 – Andrew: Answers the question. 1:34 – Chuck: Nice. Is the dialyzer printer complete pretty printing or is it more than that? 1:45 – Andrew talks. He mentions the background information on this specific printer, which was written a decade ago. 4:13 – Panel: One thing that is helpful is that it is a static code analysis. In the Elixir we are writing these spec statements. For nothing else than this type is coming out. Then this looks at the code, and your spec says you are returning this, but I can tell that you are also returning X, Y, or Z. So it is helping us see what we are declaring a code to do, and that’s really what the code is doing. 5:28 – Guest: Yes, exactly. To continue that topic here is what else it’s saying... 6:08 – Panel: Our panelist is not here, but he has had to fix code before with that problem. With Dialect Dialyzer – how do we say this library is out-of-date? The code is out-of-date. How do I get my stuff to pass – to clean up my site? 6:54 – Guest: Containing that warning. Guest goes into further detail how to problem-solve this issue. 8:02 – Panel: So you are saying that I can funnel. 8:20 – Panel & Guest go back-and-forth talking about this topic. 9:49 – Panel: I am still diving into the system. Haven’t really used the printer, yet. Panelist asks Guest a question. 10:04 – Guest: At the forefront there are some configurations to help with that. 11:16 – Panel: Why would someone not want to use this? What are the cons? 11:23 – Guest: It would have to do more with CI than anything (one con). 13:06 – Panel: Lots of people are coming to Elixir New. Great. What is the selling point? Why should someone invest his or her time in this project? 13:33 – Guest: I find looking for a type spec is one more piece of information that could help the reader that would tell them what the code should be doing. Any information from the original author to be passed down is great. Having the machine to check that, whenever you push code, it’s an imperfect check (as we were saying). If it can tell you that you did something wrong, then why not? It gives you that extra red flag. There are huge benefits to that. Same reason we write unit tests. 15:20 – Panel: You are learning Elixir right, Chuck? Panelist talks about tech specs, code writing, and learning projects. 16:25 – Panel: Here is a tip to learning. One thing that I did I came to an existing project and writing a sub-system ( as series of modules) Writing the tech specs. As they are interacting with each other, then writing Dial Elixir, and grab the output to the file path to where my code is. Within my own code find where I am inconsistent. Andrew – you could get pages of output, right? Any tips for users? 17:37 – Guest: Isolate portions of your code base. 19:27 – Chuck: I do like the idea of the umbrella. Phoenix app out into an umbrella. A sub apps and they are more centered, smaller sized. Then, yeah. Start with Dialyzer on just that project. Isolate it, and this app in the umbrella. The output is much smaller, and good success with that. Now, one of the new features you added was the language / the code that it reports is an ERLANG term. That is not familiar to most Elixir developers. Especially if you are new to it. If you are turning this into a friendly Elixir thing, then you had to learn other programs. How did you get into this path? 21:00 – Andrew: Whenever there was complicated “something” at work – I was the person to go to. As I started to do it more and more I saw patterns in the output. Things were kind of predictable, and how to format things. It synchronizes weird. What would I do to write this task? Researched. There are 2 tools = LEEX and YECC. If you have 2 files in your source directory... 22:56 – Advertisement – Digital Ocean 23:39 – Panel: It’s cool. 23:58 – Guest: It brought me back to some courses from school. I thought that was funny. They are pretty contained tools. 24:36 – Panel: Part of your motivation was from Jose. 24:49 – Guest: Yes, definitely. 25:39 – Did you have any questions for Jose? 26:35 – Panel: You added the feature of... CREDO is pretty well-known. 27:28 – Guest: Sure, I guess I did skip some of that. Andrew talked about different libraries, ERLANG modules, and so on. 28:38 – Panel: What else are you doing? 28:45 – Getting error messages fixed for version 1.0. Trying to close-up the residual things. 30:18 – Guest keeps talking about support and other bugs. Andrew: If you see something, say something. 31:00 - Panel: There are languages that run on the beam. Something to create something more standard so different languages can depend on. Is there anything like that? To help you with your tooling? 31:40 – Andrew: Good question! Some of the things that happen at the Dialyzer level, stuff just gets dropped. 33:47 – Guest: How this works all together... 35:15 – Chuck: How to contribute to Dialyxir? 35:30 – Guest: Around error messages – is the best place to look. If you have a good editor hand, good place for that. If you are further into the compiler land – might want to play with that. 36:29 – Guest: ERLEX 36:43 – Chuck: What did you learn about building these libraries? 36:55 – Guest: I learned a lot about the construction of Elixir. Guest dives into this more. 38:25 – Chuck: The principle that you cannot bind... 38:51 – Guest: ...this area of my code-base... it would be nice to turn off those features. When I really do need it – I need it, but not so if I don’t need it. 39:39 – Panel: I want to point someone to a resource: TypeSpecs. 39:54 – Guest: I used that so much! Wonderful resource, I learned so much stuff! I stole all the output from that. I didn’t know that language had that?! 40:20 – Panel chimes in about this resource some more. 41:02 – Guest: We really do have a simple language. There are some weird things, but not a lot of constructs under the hood. Only a few data structures. It could have been more complicated. I was worried about that – but that never happened, because... 41:41 – Panel: Thanks for adding that. Very true. 42:51 – Guest talks about other things that are very simple, too. 44:35 – Panel: Are you doing fulltime with Elixir for programming? 44:35 – Guest: Yes, we are using other Elixir and JS App. In another life I used... They all can teach you something. Sometimes the journey of going there and realizing WHY you don’t want to be there is sometimes worth the journey! 45:20 – Panel asks guest a question. 45:25 – Guest answers question. Andrew: We have enjoyed our time in Elixir. It’s nice. 46:27 – Panel: Anything else? 46:33 – Panel: Where can people find you online? 46:40 – Guest: Elixir Slack, Twitter, GitHub. 47:01 – Picks! 47:05 – Advertisement – Code Badges Links: Andrew Summers’ Twitter Credo Erlang Dialyxir LEEX YECC Credo ERLEX TypeSpecs Curated Dev News for Busy Developers EX_JSON_SCHEMA React – Jsonschema – form Announcing Distillery 2.0 Distillery’s documentation! MKDocs EX_Json_Schema Sponsors: Get a Coder Job Digital Ocean Code Badges Cache Fly Picks: Eric Chrome Extension for News Mark Announcing Distillery 2.0 MKdocs https://hexdocs.pm/distillery/home.html. Charles  Launch by Jeff Walker Downcast Andrew Ex json Schema React json schema from

Episode 20: EMx 020: Phoenix and LiveView with Chris McCord

September 25, 2018 56:28 84.61 MB Downloads: 0

Panel: Charles Max Wood Mark Ericksen Josh Adams Eric Berry Special Guest: Chris McCord In this episode of Elixir Mix, the panel talks to Chris who created Phoenix and is an author, also. Chris McCord is a monumental developer within the community, and it’s exciting to see how LiveView is a great add-on to Phoenix, which is his baby. Finally, the panel talks about topics, such as Phoenix, LiveView, Elm, and Fire Nest. Show Topics: 1:21 – What are you famous for? 1:49 – Chuck: You created Phoenix. There is a new feature, LiveView, can you share with us what that is? 2:08 – Chris: Sure. What got me started with creating Phoenix is similar to how I got into LiveView. 3:13 – Panelist chimes in with his comments. Panel: Questions we are asking: How to give the audience a high-quality experience without a huge overhead. When I watch this video on LiveView, I was freaking out. Are you glad you did it? 5:01 – Chris: The response is really exciting and it really resonated with a lot of people. Often, I thought, working on past projects thoughts along these lines: “this was a huge waste of the day.” And I’m glad this was a good response. 6:08 – Panel: Explain what you can do right now. 6:18 – Chris dives into this topic. Chris: We wanted to offer a rich experience. A lot of things we can target out of the box, with rich UI. 8:20 – Panel: You announced this in your keynote in Washington D.C. The day before you hinted at it. And I thought: Is this even a good idea? Is this a misguided effort? If you have this first impression go, first, and see the video. You explain well your history and what you wanted with web development.  Watch this video to maybe not be skeptical. 9:47 – Panel comments. 9:50 – Chuck: I haven’t seen the video, yet. I am used to doing this with JavaScript. How do you do without JavaScript? Frontend? 10:14 – There are pixies and sparkles, and Chris is bringing these sparkles! 10:31 – Chris: It’s nice because we are piggybacking off the channel level. There is no JavaScript that you have to write today. 11:16 – Panel: Question to Chris. 11:31 – Chris answers the question. 13:13 – Panel: Who else is doing this right now? 13:15 – Chris answers question. 14:51 – Panel: The original dream. Phoenix was just a stepping step to LiveView. 15:08 – Chris: Those who are casting judgment – please watch the video. For years I have had this idea that I want to stay in the server-land... 15:55 – Panel: It’s funny that your path unfolded the way that it did. 16:28 – Chris: It blows me away. 16:38 – Panel: I bet when you wake up your pants just attach themselves to your legs! 16:57 – Chris: I work remotely, so... 17:08 – Chuck: That got weird. 17:18 – Panel: You’ve got a lot going on. When can we expect to see this? I’m sure you get that asked a lot. Phoenix 1.4 has to come first, and you are working on your book. While that’s going on you have a project called Fire Nest. Sounds like you have a couple things you’re doing right now? How do you prioritize? 18:08 – Chris answers these questions. Chris: I do work full-time on Phoenix. Phoenix 1.0 is on my own time. This is at my own discretion. Whatever helps the community is good for them and for me. That’s how I do it without completing losing it. The book has been over a year delayed. It’s always a battle it’s a love/hate relationship. It’s hard when you when you want to work on exciting things like LiveView. The future, the things we want to build for. Some weeks it’s more writing, and some weeks its coding. 20:01 – Panel talks about Chris’ team. 20:25 – Panel: I got to ask you, I am more of a Ruby developer, and this thing that you’ve developed is making me lean towards Elixir. What’s your least favorite thing about Phoenix? 20:56 – Chris: Never have been asked this before. 21:06 – Chris: The thing that bothers me the most is maybe configuration? Lots of folks we did a lot of the configurations. I guess that has been a recent thing that’s come up. Even though, personally, I don’t have a lot of issues with it. 22:38 – Advertisement – Digital Ocean 23:13 – It’s hard to point out ugly features of your own baby. 23:26 – Panel: You’ve talked about your rel. with DockYard, Inc. What’s that responsibility like? 23:44 – Chris: I am a cheerleader for the company. I do work in a consulting role. This is good because I am solving real-world problems. I’d loose touch with that if I didn’t consult. The other time I try to help the team if needed. It’s a good mix for me. Writing Elixir code and not just framework code. 25:02 – Panel: Umbrella project. Your rel. with your clients – when you would suggest an umbrella project or not? 25:26 – Chris: It depends. It’s not so much code structure it’s mostly from an operational standpoint and not from a code structure standpoint. 26:51 – Chuck: Give us a short history of Phoenix. How does LiveView tie into your vision with Phoenix? 27:13 – Chris gives us his thoughts. Chris: In 2013 – I fell in love with Ruby. That’s to show that it wasn’t on my radar to do anything else professionally. Never thought I would develop something like Phoenix. My wife noticed that I came home unhappy when I worked with Ruby at some point. She noticed a difference. Chris continues to share the Genesis of Phoenix. It’s been a crazy ride. 32:32 – Chuck: So it was mostly about the scaling. I’ve played socket IO, do some harm, then come back. Action cables are a little less of a pain. Chuck continues his thoughts and asks a question. 33:10 – Chris answers Chuck’s question. 35:00 – Chuck. 35:14 – Chris. It’s interesting because you could have used a LiveView layer in the mid-2000s and nothing in town would have been able to compete. 35:56 – Panel: One great thing about Rails is the integration. There is a path to it. Is there anything like that for the docket to build that for Phoenix? There is webpacker for Rails but is there going to be that for Phoenix. 36:35 – Chris: No is the simple answer. It just works the way you would expect. 37:46 – Chuck: The other one is partial JS. IT’s interesting because I go back and forth, too. I like the approach with JavaScript. I play with everything. I’ve been playing with an app recently and figured out how to do it in Brunch, because that’s what’s there. Why solve it the Elixir way? As a backend developer I may not want to mess with it. 38:51 – Panel: Another question about LiveView. From the video, from what I understand, is that the data that’s pulled from reads and rights? 39:26 – Chris: I hope this doesn’t sounds like a cop out answer. My answer is that you will handle any system you are building it in Elixir. If you want to have durable state you would use existing tools that you have already. 40:17 – Panel: The facilities you built around the LiveView, is it valuable for someone to... 40:42 – Chris answers the question. 41:22 – Panel: Another question on how LiveView works. Is that dependent on there being a JavaScript connection? 41:49 – Chris: Answer to that is if you are... 42:50 – Chuck. 42:53 – Chris. 43:29 – Panel: How is Fire Nest coming along? 43:38 – Chris: I won’t say it’s steady progress, but it’s coming along. We are working on it. 44:53 – Panel: That was exactly what I wanted to hear. 45:00 – Advertisement. 45: 42 – Panel: The new developments are happening outside of the community of Phoenix, right? 46:07 – Chris: People think Phoenix is “heavy,” but it really isn’t. It’s really I want 80% and the teams and communities can build on top of that. Not in core. Not everyone needs X feature. No reason to shove it in core. It’s not about having it being “lighter.” I am developing resisting the urge to do it because someone says so. 47:40 – Panel: Phoenix for me feels like it’s baked. There really isn’t anything that is lacking. It’s extensible. It’s done. That’s exciting. These add-ons like LiveView are a great plugin. 48:23 – Chuck: How do people keep in touch with what you are doing and your projects? 48:51 – Panel: Anyone on the team working with Elm? 49:00 – Chris answers this question. Elm has been on my radar, but haven’t gotten into it, yet. Not in the foreseeable future either. 50:20 – Chuck: Picks! Links: Chris McCord’s Website Chris McCord’s Twitter Chris McCord’s GitHub Chris McCord’s YouTube Chris McCord’s LinkedIn Chris McCord’s Medium Chris McCord’s DockYard Posts Chris McCord’s Video Chris McCord’s Keynote Talk Elm GitHub – Morphdom GitHub – Drab Fire Nest Article on LiveView Sponsors: Get a Coder Job Digital Ocean Code Badges Cache Fly Picks: Charles Geeking-out about the space stuff. Self-fastening pants – Velcro Book: Soft Cover IO Docking station Mark The Talk Fire Nest Project Josh Website: SmoothTerminal.com Eric Earthrise – Apollo 8 – 1968 picture Earthrise Wikipedia Podcast – American Life Chris Phoenix 1.4 Book Phoenix Programming Book

Episode 19: EMx 019: Brooklyn Zelenka: Elixir I assume Witchcraft, Exceptional, and so on?

September 18, 2018 1:00:38 90.6 MB Downloads: 0

Panel: Charles Max Wood Mark Ericksen Josh Adams Eric Berry Special Guest: Brooklyn Zelenka In this episode of Elixir Mix, the panel talks to Brooklyn Zelenka who lives in Vancouver, Canada. Listen to the panel and the guest talk about various topics, such as: different Elixir libraries, Quark, Witchcraft, Exceptional, ConsenSys, Meetup, among others. Show Topics: 1:33 – Let’s talk about Exceptional for that library? 1:40 – Brooklyn: Sure, it helps with flow. 3:33 – You are making Exceptional more accessible? 3:35 – Brooklyn: Yes, more conceptual. 3:49 – Panelist: What’s the adaptation like? 4:09 – Brooklyn: People seem to like it. 4:33 – Panelist: What were you doing before that? 4:42 – Brooklyn: First language was JavaScript. There is a huge Ruby community. Tons of Ruby refugees looking for help. 5:27 – There seems to be a large migration from Ruby to Elixir. Have you played with Ruby at all? 5:40 – Brooklyn: Yes, I have used Ruby for a couple of years. There is such an interest in Elixir from the Ruby community. They are such different languages. The aesthetic is similar, and the way the languages are set-up is completely different. 6:41 – Panelist: So not having three or four different alien methods? I have been developing Elixr for a while now, but Ruby doesn’t solve modern-day problems. The fact that you have been working with Elixir since 2014 is amazing. 7:24 – Brooklyn: The first library I wrote was Quark. Then that led into Witchcraft. 10:49 – Panelist adds in his comments. 11:06 – Brooklyn: There are a lot of different things I would love to see in the libraries. At what point do we say that this is the default style in Elixir? My keynote was exactly about this at a conference this year. Elixir hits a nice spot in the program place. It’s very accessible. I’ve brought into these concepts because of Elixir. 12:37 – Let’s talk Exceptions. Will it become apart of core? 13:14 – Brooklyn: I wouldn’t mind that it would become apart of core. 15:10 – Any other questions around Exceptional or Exception or other libraries? 15:25 – Panelist: Let’s change topics. 15:30 – Brooklyn has her own company now. 15:52 – Panelist: Good job on Roberts Overload! 16:00 – Panelist: Where does block chain and Elixir meet? 16:08 – Brooklyn answers this question. 17:16 – Brooklyn: Not all block chains are... 19:02 – Brooklyn: Another good fit would be... 19:33 – Panelist: My company is apart of ConsenSys. I hear a lot about the block chain and others. How can Elixir help the block chain? (20:15) You mentioned earlier that Elixir could solve a lot of the issues that bock chain is having. Can you elaborate on this? 20:21 – Brooklyn answers this question – here – check it out! 21:21 – Brooklyn: By bringing in these concepts... 22:16 – Brooklyn makes a huge podcast announcement!! Breaking News! 22:37 – What does that mean – messages on a... 24:06 – Advertisement – Digital Ocean! 24:43 – The mail messages contents does that sit on the ledger or... 25:01 – Brooklyn talks about this topic in detail. 26:00 – Brooklyn: There is a distribution of control. I am going to have to run a program to check when a message comes in – I would like that to be hooked up to my UI, ideally. 26:35 – Panelist: You are a fascinating person! 26:45 – Chuck: You also do Elixir training for people? 26:56 – Yes! We help companies and go to conferences. This is for zero experience with Elixir. Over the course of a couple of days to give people confidence production in Elixir. It won’t give you all of the knowledge, but it helps. This also gives people access to me, and my business partner, to use us for questions and so on. 28:56 – You live in Vancouver. What is the Elixir community – through Meetup – what is the temperature like there for Elixir or Ruby, etc.? What are the trends looking like? 29:31 – Brooklyn: Yes, check us out at Meetup. 35:18 – Panelist: I think that is interesting on your opinions on GO with your background. 35:35 – Brooklyn continues her ideas on this topic. It’s not to say that GO is the worse language ever, but from what I have seen that it’s a nice experience in Elixir that things work. All the libraries integrate nicely. There is a style and flavor that is friendly. You get the friendliness with all of this power. You can scale up very nicely from a single node. 37:47 – Where can Elixir “should” go and could go? 38:21 – Brooklyn answers this question and others. 39:21 – Dialyxir / Elixir. 41:27 – Dialyxir overall is pretty nice and it gets the job done with what Elixir needs it to do. Type system. 42:09 – The pre-existing eco-system isn’t built for it. You don’t know if it’s safe to run? There is no way to know about this. The overhead for the programmer tends to be really high. Why don’t we add things like – adding property checks – to ensure that you know how this thing will behave when it run. Using some other techniques – not just in tests – but integrate it into the core workflow. This is really important 44:22 – Advertisement! 45:03 – Panelist chimes in. 45:21 – Brooklyn: Have you seen Alpaca? I am sure it’s 1.0 now. It runs on the beam. 46:15 – Panelist adds comments. 46:25 – Brooklyn: This is why I brought up RChain earlier in the conversation. 47:01 – Block Chain. 48:17 – Panelist talks. 48:53 – Brooklyn: At the application level – one of my projects is having a language that will run... 51:17 – Chuck: I am still learning Elixir. So this is way beyond from where I am at. Let’s do some picks! Links: Coder Job eBook by Charles Max Wood Elixir Rails GO Quark Witchcraft Type Class Algae Exceptional Phoenix Exceptional Robot Overload Raft Consensus Algorithm Ethereum Status Codes Dialyxir Expede Type Class Alpaca Kaizen Matt Diep House ConsenSys / Ethql Metabase TerraGenesis TerraGenesis – Space Colony Wabi-Sabi RChain Brooklyn’s Medium Brooklyn’s Meetup in Vancouver Brooklyn’s GitHub Brooklyn’s LinkedIn Brooklyn – Lambda Conference 2018 Sponsors: Get a Coder Job Digital Ocean Code Badges Cache Fly Picks: Charles Make some incremental step forward – adding onto Mark’s pick - Kaizen. TerraGenesis TerraGenesis – Space Colony Honest feedback! What can I change? Phoenix Mark Workspace Environment: Kaizen – Change for the Better = Improvement. Josh Article – Value-Oriented Programming Eric Library – ConsenSys / Ethql Metabase Brooklyn Wabi-Sabi – seeing the beauty in things that imperfect.

Episode 18: EMx 018: Devon Estes: “All In On Elixir”

September 11, 2018 54:40 82.02 MB Downloads: 0

Panel: Charles Max Wood Mark Ericksen Josh Adams Eric Berry Special Guest: Devon Estes In this episode of Elixir Mix, the panel talks to Devon Estes. He is an American programmer located in Berlin, Germany. Devon is coaching on Elixir, and his background is on Ruby Rails. Check-out today’s episode to hear how passionate Devon is about the Elixir program, and what he loves about it. Show Topics: 3:58 – Devon finds that the process of writing helps him find “bugs”. He tries to write once a month on various topics, such as what he has learned, and his freelancing work. 4:50 – One of the panelists says that he also writes, too, and how it helps him process what is going on. He treats it like a research paper, because he wants it to sound coherent. 5:43 – Devon used to work in PR and Marketing. What he learned from those fields is that: visibility creates opportunity. 7:19 – When you choose the technology, it’s about how easy previous resources to help support that if it’s the right tech. Finding Elixir developers is hard to find. Elixir ahs been that way for a while, but actually it is becoming the new and improved Ruby. You get the 10X productivity, but you aren’t held up by some factors. Have you ever had finding work in Elixir? 8:22 – Devon: Not in the last year-and-a-half. Being a freelancer, stay visible, because you are constantly looking for different projects, and so on. There are other countries out there where Elixir is more prominent than compared to the United States. Companies in San Francisco are having a hard time finding Elixir developers to work with them. 10:31 – How was your transition from Ruby to Elixir and your writing projects? How did you go down that path? 11:07 – Devon: The more I wrote in Elixir the more he liked the program. Ruby inspired Elixir, for sure. He likes how it’s comprehensive to him, and how productive he is with Elixir. For Devon, it fits well with how he writes code; and because he’s happy, his clients are happy, too. Elixir’s language fits well with his way of thinking and there are other benefits for Devon by working with Elixir. Devon likes feeling productive and it fulfills his needs. Finally, he also really enjoys the Elixir community! 16:51 – What do you not like about Elixir? 16:55 – Devon: He found his first thing he doesn’t love about Elixir, and he found it today, of all things! Listen to this timestamp to see what Devon shares. 20:47 – Question asked for Devon: How are other languages doing that, and what can we do to make that happen? 20:53 – Check-out Devon’s answer! 24:11 – Digital Ocean’s Mid-Roll Advertisement 24:48 – Devon continues his answer from 20:53. Programmers talk and, when more people are having certain experiences, the word is going to get out. The flexibility of the language is going to be great in the long run. Great sales pitch. 26:47 – Josh, you have a lot of experience of the years, pushing the eco-system, have you seen a pick-up from that or has it grown, how have you seen your involvement in these projects helped with the awareness... 27:19 – Josh: I don’t know how much of an influence I have, but it has doubled almost every year. Of course, this won’t happen every year, and at some time it will plateau. Elixir is rapidly growing now, though. 28:09 – Question to Devon: Let’s talk about your project, Fast Elixir. 28:16 – Devon talks about how he got involved with Fast Elixir and how it developed. 31:19 – Let’s talk about Benchy. 31:28 – Devon: We are very proud of it. Devon continues in detail about the before-mentioned question. 36:30 – Question to Devon – Let’s talk about reductions, so people can understand it better. 36:41 – Think of a reduction that it’s one thing the virtual thing does. It has a counter, and it does a certain number of things before it needs to take a break. That’s the most basic unit. One reduction is one instruction and it counts that. That’s how it manages its internal scheduler. 38:20 – Chuck: When you adopted Ruby did you feel the same way about it like you do about Elixir. Chuck says, “I totally get it...” It’s more a learning opportunity for Chuck. Have you found the next best thing? Or... 39:06 – Devon was an opera singer for a while, and studied at the Manhattan School of Music. Check out his full bio in LinkedIn, and other social media profiles. As Devon became an advanced programmer he started to develop his programming skills. He tried JavaScript, but the language didn’t appeal to him. The more he experienced in different programs, he found that the bigger picture for him boiled down to the community aspect for him. He could have fallen in-love with Clojure, but he’s not quite sure. Finally, it basically was the Elixir’s language and the community that he likes. 45:05 – It’s neat to see the progression that you went through. 45:25 – Let’s do picks! 45:30 – Code Badges' Advertisement! 46:11 – Picks! Links: Coder Job eBook by Charles Max Wood Elixir Code Badger with Charles Max Wood on Kickstarter! Devon Estes’ GitHub Devon Estes’ Twitter Devon Estes’ Website Devon Estes’ LinkedIn Devon Estes’ Refactoring Elixir – Lessons Learned from a Year on Exercism.lo Fast Elixir Ruby Rails Clojure Devon Estes’ Blog GitHub’s Elixir-Lang Exercism – Code Practice Elixir Sips: Learn Elixir With A Pro Devon Estes’ Heroku App Sponsors: Get a Coder Job Digital Ocean Code Badges Cache Fly Picks: Charles Lootcrate (once a month) Audible, Audio Book – “The ONE Thing” by Gary Keller Helps you focus on one thing to help you reach your goals. Mark Movie: (YouTube) Erlang: The Movie Retro Gaming – Original Nintendo Josh Follow-up on Mark’s pick (see above) – Posters / Harry Potter-Themed Tortoise Eric Legos! Funko POP Animation Bob’s Devon Toggl – Time-tracking Tool / It’s free! “Understanding Computation” by Tom Stuart Movie: Handmaiden

Episode 17: EMx 017: Daniel Spofford: "Thoughtful Logging in Elixir: A Phoenix Story"

September 04, 2018 1:04:35 96.3 MB Downloads: 0

Panel: 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! Show 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 like Docker 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?” 43:27 – Heroku platform. It’s the baby step; and once we hit puberty, we will get out of Heroku in order to use Phoenix and Elixir. 45:31 – It is very acceptable to be using Heroku. Most panelists agree – do not be ashamed to use Heroku if that’s what you need. 48:10 – A deal from a non-sponsor? Check it out. 50:09 – Code Badger with Charles Max Wood on Kickstarter! 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! Links: Coder Job eBook by Charles Max Wood Elixir Docker Heroku 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! Stacker Sponsors: Get a Coder Job Digital Ocean Code Badges Cache Fly Picks: Charles Notion.so – Between a Wiki and a Google Docs Mark Meta Base Stacker’s Documentation Josh Better Call Saul Breaking Bad Smooth Terminal – Developer News! Erick Smooth Terminal – go signup to their newsletter! Version 3 – Meta Base - a must use in your developer career! App Signal – an online monitoring tool Daniel A dolly to help with your move! Uplift desk

Episode 16: EMx 016: Hubert Lepicki: "When to use Elixir language?"

August 28, 2018 54:18 55.41 MB Downloads: 0

Panel: Charles Max Wood Mark Erikson Josh Adams Eric Berry Special Guests: Hubert Lepicki In this episode of Elixir Mix, the panel talks to Hubert Lepicki about his blog post "When to use Elixir language?". Hubert works at AmberBit where they traditionally created Ruby on Rails apps for their customers, and more recently, they switched to using Elixir to build custom apps for their customers. They talk about why they decided to switch to Elixir, his thoughts on Ruby now, and the difference between Elixir and Ruby. They also touch on what his Ruby code looks like now, compare Elixir with Node, and more! In particular, we dive pretty deep on: Huber intro Works at AmberBit Ruby on Rails to Elixir Why did you switch to Elixir? How did you stumble upon Elixir? Problems with scaling Ruby Looked at Clojure and other functional stacks before Elixir Used it as a means to optimize performance in the beginning What are your thought on Ruby now? Making things easier with Elixir and Erlang How was the learning curve as you started to get into Elixir? Learning curve was harder than expected “Elixir is nothing like Ruby” Elixir syntax is borrowed from Ruby Functional languages Going through a mental shift Does your Ruby look funky now? What does Elixir offer that Node doesn’t? Issues with Node What is it that Elixir is good at that makes you want to use it? Elixir provides great balance And much, much more! Links: "When to use Elixir language?" AmberBit Ruby on Rails Elixir Ruby Clojure Erlang Node @hubertlepicki Hubert’s GitHub AmberBit’s Blog hubert.lepicki@amberbit.com Sponsors: Get a Coder Job Digital Ocean Code Badges Picks: Charles Iron Druid Chronicles iPad Lock through guided access mode Mark Ongoing learning and continuing personal development Josh graphqelm Hubert Succession

Episode 15: EMx 015: Elixir with David Magalhães

August 21, 2018 50:11 51.46 MB Downloads: 0

Panel: Charles Max Wood Mark Erikson Eric Berry Special Guests: David Magalhães In this episode of Elixir Mix, the panel talks to David Magalhães about his experience with Elixir. David is a Java and PHP developer and learning Elixir was very easy and straightforward for him to pick up. They talk about how his Java background has affected how he learned Elixir, the first thing he noticed when he moved over to Elixir, and his article Phoenix with image upload to S3 in an API: Implementation and testing. They also touch on testing in Java, the Fakes3 gem, and more! In particular, we dive pretty deep on: David’s history What brought him to Elixir Elixir is very straightforward Pattern matching Erlang Java background What has your experience been like coming from Java to Elixir? First thing he noticed when moving Had to change the way he did software Worked with Prolog in University Idea of accessors Working as an Elixir professional Phoenix with image upload to S3 in an API: Implementation and testing – blog post Using S3 His approach for how people should start with S3 Focus for his article Being able to create tests in Java Testing features Integration tests TDD Arc Library Fakes3 gem How do you handle the Fakes3 gem locally? And much, much more! Links: Elixir Erlang Phoenix with image upload to S3 in an API: Implementation and testing Arc Fakes3 puppeteer-pdf cybersource-sdk David’s GitHub @speeddragon David’s Medium Sponsors: Digital Ocean Picks: Charles Breath of the Wild The Iron Druid Chronicles by Kevin Hearne Framework Summit Get a Coder Job eBook Get a Coder Job Video Course Mark ex_doc Eric docsify David The Mechanism Biographies

Episode 14: EMx 014: Choosing Elixir with Bobby Juncosa

August 14, 2018 58:10 59.12 MB Downloads: 0

Panel: Charles Max Wood Mark Erikson Eric Berry Special Guests: Bobby Juncosa In this episode of Elixir Mix, the panel talks to Bobby Juncosa about his article “Choosing Elixir.” Bobby is the CTO and co-founder of Edgewise, which is a new construction marketplace where builders can sell directly to buyers without the need of agents. They talk about how he got into using Nuxt.js, Elixir, and GraphQL, why Nuxt resonated so much with him, and how everything connects in his app. They also touch on dealing with web sockets, and the benefits to using them, where someone can go to figure out what he is doing, and more! In particular, we dive pretty deep on: Bobby intro CTO and co-founder of Edgewise Technology can do the job of agents Homie.com Using Elixir for a GraphQL API Using Nuxt.js on the front-end Why did you decide to use Nuxt on top of GraphQL? How did you get the conclusion of using Elixir, GraphQL, and Nuxt? Built originally in Drupal and PHP Symfony and Laravel Needed something more scalable Vue on the front-end and PHP on the back-end Resonated with GraphQL Moving to docker containers The decision to move to Nuxt Nuxt can stay on top of the boilerplate things for you Promise of performance and productivity Node The promise of universal JavaScript Phoenix and Absinthe How does everything connect? Nuxt has a server component Do you deal with web sockets? Sockets and GraphQL Where can someone go to learn how to do all this? And much, much more! Links: “Choosing Elixir” Edgewise Homie.com Elixir GraphQL Nuxt.js Drupal Vue Symfony Laravel Node JavaScript Phoenix Absinthe @bjunc Bobby’s GitHub Bobby’s Medium Sponsors: Digital Ocean Picks: Charles Get a Coder Job Course Podcast Movement Chuck@DevChat.tv South Pacific Mark Being able to meet with people in real life Bobby Audible Basic Economics by Thomas Sowell

Episode 13: EMx 013: Elixir Panel with Steve Bussey

August 07, 2018 52:28 78.85 MB Downloads: 0

Panel: Mark Erikson Eric Berry Josh Adams Special Guests: Steve Bussey In this episode of Elixir Mix, the panel talks to Steve Bussey about Elixir Panel. Steve is a software architect at SalesLoft, which is a company that does sales enablement software to help teams grow and become sales organizations. They talk about how his company was introduced to Elixir, why Rubyists are leaving for Elixir, and sharing sessions. They also touch on how developers have reacted to new changes within the company, the biggest hurdles people face when getting into Elixir, and more! In particular, we dive pretty deep on: Steve intro Software architect at SalesLoft Started off with Ruby and now work heavily with Elixir What size is the engineer team at SalesLoft? How did Elixir get introduced to your company? Having a single advocate for a language promoting it in the company The idea of being a “champion” Shaping how other learn and consume What do you think the reason is for Ruby developers leaving for Elixir? Promises that Elixir provides Erlang A different paradigm JavaScript and React Sharing sessions Serving your users properly Their Rails application Microservices How have the developers reacted to these changes coming in? Slow process Professional development initiative Everyone that’s put in the time haven’t’ said anything bad about Elixir What was the biggest hurdle for people getting into Elixir? The importance of asking questions The XY problem And much, much more! Links: SalesLoft Ruby Elixir Erlang JavaScript React Rails Mockery stephenbussey.com Steve’s GitHub @YOOOODAAAA Sponsors: Digital Ocean Picks: Mark Seafile Josh alchemist.el Steve Architecture the Lost Years by Robert Martin

Episode 12: EMx 012: Why Elixir matters with Osayame David Gaius-Obaseki

August 01, 2018 49:19 50.63 MB Downloads: 0

Panel: Charles Max Wood Eric Berry Josh Adams Special Guests: Osayame David Gaius-Obaseki In this episode of Elixir Mix, the panel talks to Osayame David Gaius-Obaseki. Osa is a software engineer at a company called MailChimp, is originally from Nigeria, and has been writing Elixir for a couple years now. They talk about his talk, Why Elixir Matters, how he came about writing this talk, and lambda calculus. They also touch on how Elixir compares to other functional programming languages, the idea of the genealogy of a language, and more! In particular, we dive pretty deep on: Osa intro Software engineer at MailChimp Elixir His talk – Why Elixir Matters His talk goes into the history of functional programming The heritage that Elixir has Clojure Curious about how Elixir came to exist Functional languages become popular for a year and then decline Lambda calculus His approach to functional programming At some level, you don’t have to understand lambda calculus The basis of lambda calculus Jim Weirich Y-Not talk How do we get to the high level stud we are doing with Elixir? Lisp, Steam, and Erlang Making ideas practical for use Approachable languages In your research, did you get a sense of organic growth? Genealogies of languages ML languages -  Reason Resiliency of programs applied to the front-end And much, much more! Links: MailChimp Elixir His talk – Why Elixir Matters Clojure Jim Weirich Y-Not talk Erlang Reason @osagaius Osa’s Medium Osa’s GitHub Sponsors: Digital Ocean Picks: Charles Golf Chuck@devchat.tv - For podcast planning program Podcast Movement Anti-Pick – Amazon Prime Day Josh Building the Google Photos Web UI Eric Golf Clash app Osa Rich Hickey and Brian Beckman - Inside Clojure

Episode 11: EMx 011: Process and OTP pitfalls with Claudio Ortolina

July 24, 2018 1:07:23 67.97 MB Downloads: 0

Panel: Charles Max Wood Eric Berry Josh Adams Mark Erikson Special Guests: Claudio Ortolina In this episode of Elixir Mix, the panel talks to Claudio Ortolina about Process and OTP pitfalls. Claudio works for Erlang Solutions where he is a developer consultant, working with customers on long projects, and he has been working full-time with Elixir for the past 3 years. They talk about OTP, the importance of reading the sources when working with Elixir, and if beginners should dive right away into OTP. They also touch on Process, how Elixir allows your code to be more available, and more! In particular, we dive pretty deep on: Claudio intro Works at Erlang Solutions Ruby Rogues Episode 208 Is there one thing that stands out to you as the easiest thing to fix? People pick up this language quickly Repetition Excited about OTP Pattern matching People come from Ruby background to Elixir How do you address people who won’t put the effort in to learn OTP Rare to find greenfield projects now Building blocks Reading the sources Do you recommend beginner dive into OTP or should they postpone getting into it? It’s okay to postpone The missing link Is the domain model inherently concurrent? Concurrency is not always an obvious tool Elixir Process Thinking about what needs to work no matter how your infrastructure is affected by problems Elixir gives you a lot of tools to make your code more available Elixir syntax And much, much more! Links: Erlang Solutions Elixir Ruby Rogues Episode 208 Ruby Elixir Process @cloud8421 Claudio’s GitHub Sponsors: Digital Ocean Picks: Charles Home Depot Tool Rental Podcast Movement Framework Summit Josh Evan Czaplicki talk at Elm Europe Brian Hicks talk at Elm Europe Elm Europe Talks Mark Absinthe Library Claudio Code Elixir London YouTube Channel to help animals