POPULARITY
TusCon 50 Panel Why are Star Wars fans so toxic and what can we do? Recorded live at TusCon 11/12/2023 Sunday – Ballroom 1:00 pm 2:00 pm https://tusconscificon.com/timetable/event/why-are-star-wars-fans-so-toxic-and-what-can-we-do/ How many Star Wars actors have fled social media? Is it even possible to make new Star Wars content that isn't roundly dismissed? What the hell is wrong with Star Wars fans? David Brin, Jay Smith, Shelby McBride, SJ Schauer, Chaz Kemp David Brin, Amazon author page https://amzn.to/3TkwvJN Jay Smith https://www.jaysmithaudio.com/ Shelby McBride, https://www.facebook.com/hippocketcreations SJ Schauer, www.spiralwar.com Facebook Chaz Kemp www.ChazKemp.com www.Patreon.com/ChazKemp And a huge Thank you to the TusCon Board, Panelists, Volunteers, and fantastic Con Suite hosts! Chek out more about TusCon at https://tusconscificon.com/ Please support our shows at www.patreon.com/cppn and even join us in some games! Also keep an eye at the new things on our now affiliated Twitch channel: https://www.twitch.tv/creativeplayandpodcast Also follow us on Facebook at https://www.facebook.com/CreativePlayandPodcastNetwork Would you be interested if we hosted D&D and Edge of Empire games on Roll20 for you to join? Email us at Creativeplaypodcastnet@Gmail.com #TusCon
Panel: AJ O’Neal Joe Eames Jesse Sanders Special Guest: Sean Hunter In this episode, the panel talks with Sean Hunter who is a software developer, speaker, rock climber, and author of “Aurelia in Action” published by Manning Publications! Today, the panelists and Sean talk about Aurelia and other frameworks. Check it out! Show Topics: 0:00 – Advertisement: KENDO UI 0:38 – Joe: Hello! Our panelists are AJ, Jesse, myself, and our special guest is Sean Hunter (from Australia)! What have you been doing with your life and what is your favorite movie? 1:45 – Guest talks about Vegemite! 2:20 – Guest: I was in the UK and started using Aurelia, which I will talk about today. I have done some talks throughout UK about Aurelia. Also, the past year moved back to Australia had a baby son and it’s been a busy year. Writing a book and being a new parent has been hard. 3:22 – Panel: Tell us the history of Aurelia, please? 3:31 – Panel: Is it like jQuery, React, Vue or what? 3:44 – Guest: Elevator pitch – Aurelia is a single-page app framework! It’s most similar to Vue out of those frameworks; also, similarities to Ember.js. 4:30 – Guest goes into detail about Aurelia. 6:15 – Panel: It sounds like convention over configuration. 6:42 – Guest: Yes that is correct. 7:21 – Panel: Sounds like there is a build-step to it. 7:39 – Guest: There is a build-step you are correct. You will use Webpack in the background. 9:57 – The guest talks about data binding among other things. 10:30 – Guest: You will have your app component and other levels, too. 10:37 – Panel: I am new to Aurelia and so I’m fresh to this. Why Aurelia over the other frameworks? Is there a CLI to help? 11:29 – Guest: Let me start with WHY Aurelia and not the other frameworks. The style that you are using when building the applications is important for your needs. In terms of bundling there is a CUI and that is a way that I prefer to start my projects. Do you want to use CSS or Webpack or...? It’s almost a wizard process! You guys have any questions about the CLI? 14:43 – Panel: Thanks! I was wondering what is actually occurring there? 15:25 – Guest: Good question. Basically it’s that Aurelia has some built-in conventions. Looking at the convention tells Aurelia to pick the Vue model by name. If I need to tell the framework more information then... 17:46 – Panel: I think that for people who are familiar with one or more framework then where on that spectrum would Aurelia fall? 18:20 – Guest: It’s not that opinionated as Ember.js. 19:09 – Panel: Talking about being opinionated – what are some good examples of the choices that you have and how that leads you down a certain path? Any more examples that you can give us? 19:38 – Guest: The main conventions are what I’ve talked about already. I can’t think of more conventions off the top of my head. There are more examples in my book. 20:02 – Panel: Your book? 20:10 – Guest: Yep. 20:13 – Panel. 20:20 – Guest. 21:58 – Panel: Why would I NOT pick Aurelia? 22:19 – Guest: If you are from a React world and you like having things contained in a single-file then Aurelia would fight you. If you want a big company backing then Aurelia isn’t for you. The guest goes into more reasons why or why not one would or wouldn’t want to use Aurelia. 24:24 – Panel: I think the best sell point is the downplay! 24:34 – Guest: Good point. What does the roadmap look like for Aurelia’s team? 25:00 – Guest: Typically, what happens in the Aurelia framework is that data binding (or router) gets pushed by the core team. They are the ones that produce the roadmap and look forward to the framework. The core team is working on the NEXT version of the framework, which is lighter, easier to use, and additional features. It’s proposed to be out for release next year. 26:36 – Advertisement – Sentry.io 27:34 – Panel: I am going to take down the CLI down and see what it does. I am looking at it and seeing how to teach someone to use it. I am using AU, new command, and it says no Aurelia found. I am stuck. 28:06 – Guest: What you would do is specify the project name that you are trying to create and that should create it for you. 28:40 – Panel. 28:45 – Panel. 28:50 – Panel: Stand up on your desk and say: does anyone know anything about computers?! 29:05 – Panelists go back-and-forth. 29:13 – Panel: What frameworks have you used in the past? 29:17 – Guest: I was using single-paged apps back in 2010. 31:10 – Panel: Tell us about the performance of Aurelia? 31:17 – Guest: I was looking at the benchmarks all the time. Last time I looked the performance was comparable. Performances can me measured in a number of different of ways. The guest talks about a dashboard screen that 20 charts or something like that. He didn’t notice any delays getting to the client. 33:29 – Panel: I heard you say the word “observables.” 33:39 – Guest answers the question. 35:30 – Guest: I am not a Redux expert, so I really can’t say. It has similar actions like Redux but the differences I really can’t say. 36:11 – Panel: We really want experts in everything! (Laughs.) 36:25 – Panelist talks about a colleagues’ talk at a conference. He says that he things are doing too much with SPAs. They have their place but we are trying to bundle 8-9 different applications but instead look at them as... What are your thoughts of having multiple SPAs? 37:17 – Guest. 39:08 – Guest: I wonder what your opinions are? What about the splitting approach? 39:22 – Panel: I haven’t looked at it, yet. I am curious, though. I have been developing in GO lately. 40:20 – Guest: I think people can go too far and making it too complex. You don’t want to make the code that complex. 40:45 – Panel: Yeah when the code is “clean” but difficult to discover that’s not good. 41:15 – Guest: I agree when you start repeating yourself then it makes it more difficult. 41:35 – Panel: Chris and I are anti-framework. We prefer to start from a fresh palette and see if a framework can fit into that fresh palette. When you start with a certain framework you are starting with certain configurations set-in-place. 42:48 – Joe: I like my frameworks and I think you are crazy! 43:05 – Panel. 43:11 – Joe: I have a love affair with all frameworks. 43:19 – Panel: I think I am somewhere in the middle. 43:49 – Panel: I don’t think frameworks are all bad but I want to say that it’s smart to not make it too complex upfront. Learn and grow. 44:28 – Guest: I think a good example of that is jQuery, right? 45:10 – Panelist talks about C++, jQuery, among other things. 45:34 – Guest: Frameworks kind of push the limits. 46:08 – Panelist talks about JavaScript, frameworks, and others. 47:04 – Panel: It seems simple to setup routes – anything to help with the lazy way to setup? 47:35 – Guest answers question. 48:37 – Panel: How do we manage complexity and how does messaging work between components? 48:54 – Guest: The simple scenario is that you can follow a simple pattern, which is (came out of Ember community) and that is...Data Down & Actions Up! 50:45 – Guest mentions that Aurelia website! 51:00 – Panel: That sounds great! Sounds like the pattern can be plugged in easily into Aurelia. 51:17 – Picks! 51:20 – Advertisement: Get A Coder Job! END – Advertisement: CacheFly! Links: JavaScript React Redux Webpack Elixir Ember.js Vue GO jQuery Node.js Puppeteer Cypress Utah JS 2018 – Justin McMurdie’s Talk Aurelia Sean Hunter’s Book! Sean Hunter’s Twitter Sean Hunter’s Website Sean Hunter’s GitHub Sponsors: Kendo UI Sentry CacheFly Picks: Joe React Conf. Endless Quest AJ Extreme Ownership GO Language Harry’s and Flamingo Jesse Sanders The Miracle Morning React Hooks Apple Products Sean Doesn’t Have to Be Crazy at Work Discount Code for Aurelia in Action - hunterpc (40% off Aurelia in Action, all formats) Apple Watch
Panel: AJ O’Neal Joe Eames Jesse Sanders Special Guest: Sean Hunter In this episode, the panel talks with Sean Hunter who is a software developer, speaker, rock climber, and author of “Aurelia in Action” published by Manning Publications! Today, the panelists and Sean talk about Aurelia and other frameworks. Check it out! Show Topics: 0:00 – Advertisement: KENDO UI 0:38 – Joe: Hello! Our panelists are AJ, Jesse, myself, and our special guest is Sean Hunter (from Australia)! What have you been doing with your life and what is your favorite movie? 1:45 – Guest talks about Vegemite! 2:20 – Guest: I was in the UK and started using Aurelia, which I will talk about today. I have done some talks throughout UK about Aurelia. Also, the past year moved back to Australia had a baby son and it’s been a busy year. Writing a book and being a new parent has been hard. 3:22 – Panel: Tell us the history of Aurelia, please? 3:31 – Panel: Is it like jQuery, React, Vue or what? 3:44 – Guest: Elevator pitch – Aurelia is a single-page app framework! It’s most similar to Vue out of those frameworks; also, similarities to Ember.js. 4:30 – Guest goes into detail about Aurelia. 6:15 – Panel: It sounds like convention over configuration. 6:42 – Guest: Yes that is correct. 7:21 – Panel: Sounds like there is a build-step to it. 7:39 – Guest: There is a build-step you are correct. You will use Webpack in the background. 9:57 – The guest talks about data binding among other things. 10:30 – Guest: You will have your app component and other levels, too. 10:37 – Panel: I am new to Aurelia and so I’m fresh to this. Why Aurelia over the other frameworks? Is there a CLI to help? 11:29 – Guest: Let me start with WHY Aurelia and not the other frameworks. The style that you are using when building the applications is important for your needs. In terms of bundling there is a CUI and that is a way that I prefer to start my projects. Do you want to use CSS or Webpack or...? It’s almost a wizard process! You guys have any questions about the CLI? 14:43 – Panel: Thanks! I was wondering what is actually occurring there? 15:25 – Guest: Good question. Basically it’s that Aurelia has some built-in conventions. Looking at the convention tells Aurelia to pick the Vue model by name. If I need to tell the framework more information then... 17:46 – Panel: I think that for people who are familiar with one or more framework then where on that spectrum would Aurelia fall? 18:20 – Guest: It’s not that opinionated as Ember.js. 19:09 – Panel: Talking about being opinionated – what are some good examples of the choices that you have and how that leads you down a certain path? Any more examples that you can give us? 19:38 – Guest: The main conventions are what I’ve talked about already. I can’t think of more conventions off the top of my head. There are more examples in my book. 20:02 – Panel: Your book? 20:10 – Guest: Yep. 20:13 – Panel. 20:20 – Guest. 21:58 – Panel: Why would I NOT pick Aurelia? 22:19 – Guest: If you are from a React world and you like having things contained in a single-file then Aurelia would fight you. If you want a big company backing then Aurelia isn’t for you. The guest goes into more reasons why or why not one would or wouldn’t want to use Aurelia. 24:24 – Panel: I think the best sell point is the downplay! 24:34 – Guest: Good point. What does the roadmap look like for Aurelia’s team? 25:00 – Guest: Typically, what happens in the Aurelia framework is that data binding (or router) gets pushed by the core team. They are the ones that produce the roadmap and look forward to the framework. The core team is working on the NEXT version of the framework, which is lighter, easier to use, and additional features. It’s proposed to be out for release next year. 26:36 – Advertisement – Sentry.io 27:34 – Panel: I am going to take down the CLI down and see what it does. I am looking at it and seeing how to teach someone to use it. I am using AU, new command, and it says no Aurelia found. I am stuck. 28:06 – Guest: What you would do is specify the project name that you are trying to create and that should create it for you. 28:40 – Panel. 28:45 – Panel. 28:50 – Panel: Stand up on your desk and say: does anyone know anything about computers?! 29:05 – Panelists go back-and-forth. 29:13 – Panel: What frameworks have you used in the past? 29:17 – Guest: I was using single-paged apps back in 2010. 31:10 – Panel: Tell us about the performance of Aurelia? 31:17 – Guest: I was looking at the benchmarks all the time. Last time I looked the performance was comparable. Performances can me measured in a number of different of ways. The guest talks about a dashboard screen that 20 charts or something like that. He didn’t notice any delays getting to the client. 33:29 – Panel: I heard you say the word “observables.” 33:39 – Guest answers the question. 35:30 – Guest: I am not a Redux expert, so I really can’t say. It has similar actions like Redux but the differences I really can’t say. 36:11 – Panel: We really want experts in everything! (Laughs.) 36:25 – Panelist talks about a colleagues’ talk at a conference. He says that he things are doing too much with SPAs. They have their place but we are trying to bundle 8-9 different applications but instead look at them as... What are your thoughts of having multiple SPAs? 37:17 – Guest. 39:08 – Guest: I wonder what your opinions are? What about the splitting approach? 39:22 – Panel: I haven’t looked at it, yet. I am curious, though. I have been developing in GO lately. 40:20 – Guest: I think people can go too far and making it too complex. You don’t want to make the code that complex. 40:45 – Panel: Yeah when the code is “clean” but difficult to discover that’s not good. 41:15 – Guest: I agree when you start repeating yourself then it makes it more difficult. 41:35 – Panel: Chris and I are anti-framework. We prefer to start from a fresh palette and see if a framework can fit into that fresh palette. When you start with a certain framework you are starting with certain configurations set-in-place. 42:48 – Joe: I like my frameworks and I think you are crazy! 43:05 – Panel. 43:11 – Joe: I have a love affair with all frameworks. 43:19 – Panel: I think I am somewhere in the middle. 43:49 – Panel: I don’t think frameworks are all bad but I want to say that it’s smart to not make it too complex upfront. Learn and grow. 44:28 – Guest: I think a good example of that is jQuery, right? 45:10 – Panelist talks about C++, jQuery, among other things. 45:34 – Guest: Frameworks kind of push the limits. 46:08 – Panelist talks about JavaScript, frameworks, and others. 47:04 – Panel: It seems simple to setup routes – anything to help with the lazy way to setup? 47:35 – Guest answers question. 48:37 – Panel: How do we manage complexity and how does messaging work between components? 48:54 – Guest: The simple scenario is that you can follow a simple pattern, which is (came out of Ember community) and that is...Data Down & Actions Up! 50:45 – Guest mentions that Aurelia website! 51:00 – Panel: That sounds great! Sounds like the pattern can be plugged in easily into Aurelia. 51:17 – Picks! 51:20 – Advertisement: Get A Coder Job! END – Advertisement: CacheFly! Links: JavaScript React Redux Webpack Elixir Ember.js Vue GO jQuery Node.js Puppeteer Cypress Utah JS 2018 – Justin McMurdie’s Talk Aurelia Sean Hunter’s Book! Sean Hunter’s Twitter Sean Hunter’s Website Sean Hunter’s GitHub Sponsors: Kendo UI Sentry CacheFly Picks: Joe React Conf. Endless Quest AJ Extreme Ownership GO Language Harry’s and Flamingo Jesse Sanders The Miracle Morning React Hooks Apple Products Sean Doesn’t Have to Be Crazy at Work Discount Code for Aurelia in Action - hunterpc (40% off Aurelia in Action, all formats) Apple Watch
Panel: AJ O’Neal Joe Eames Jesse Sanders Special Guest: Sean Hunter In this episode, the panel talks with Sean Hunter who is a software developer, speaker, rock climber, and author of “Aurelia in Action” published by Manning Publications! Today, the panelists and Sean talk about Aurelia and other frameworks. Check it out! Show Topics: 0:00 – Advertisement: KENDO UI 0:38 – Joe: Hello! Our panelists are AJ, Jesse, myself, and our special guest is Sean Hunter (from Australia)! What have you been doing with your life and what is your favorite movie? 1:45 – Guest talks about Vegemite! 2:20 – Guest: I was in the UK and started using Aurelia, which I will talk about today. I have done some talks throughout UK about Aurelia. Also, the past year moved back to Australia had a baby son and it’s been a busy year. Writing a book and being a new parent has been hard. 3:22 – Panel: Tell us the history of Aurelia, please? 3:31 – Panel: Is it like jQuery, React, Vue or what? 3:44 – Guest: Elevator pitch – Aurelia is a single-page app framework! It’s most similar to Vue out of those frameworks; also, similarities to Ember.js. 4:30 – Guest goes into detail about Aurelia. 6:15 – Panel: It sounds like convention over configuration. 6:42 – Guest: Yes that is correct. 7:21 – Panel: Sounds like there is a build-step to it. 7:39 – Guest: There is a build-step you are correct. You will use Webpack in the background. 9:57 – The guest talks about data binding among other things. 10:30 – Guest: You will have your app component and other levels, too. 10:37 – Panel: I am new to Aurelia and so I’m fresh to this. Why Aurelia over the other frameworks? Is there a CLI to help? 11:29 – Guest: Let me start with WHY Aurelia and not the other frameworks. The style that you are using when building the applications is important for your needs. In terms of bundling there is a CUI and that is a way that I prefer to start my projects. Do you want to use CSS or Webpack or...? It’s almost a wizard process! You guys have any questions about the CLI? 14:43 – Panel: Thanks! I was wondering what is actually occurring there? 15:25 – Guest: Good question. Basically it’s that Aurelia has some built-in conventions. Looking at the convention tells Aurelia to pick the Vue model by name. If I need to tell the framework more information then... 17:46 – Panel: I think that for people who are familiar with one or more framework then where on that spectrum would Aurelia fall? 18:20 – Guest: It’s not that opinionated as Ember.js. 19:09 – Panel: Talking about being opinionated – what are some good examples of the choices that you have and how that leads you down a certain path? Any more examples that you can give us? 19:38 – Guest: The main conventions are what I’ve talked about already. I can’t think of more conventions off the top of my head. There are more examples in my book. 20:02 – Panel: Your book? 20:10 – Guest: Yep. 20:13 – Panel. 20:20 – Guest. 21:58 – Panel: Why would I NOT pick Aurelia? 22:19 – Guest: If you are from a React world and you like having things contained in a single-file then Aurelia would fight you. If you want a big company backing then Aurelia isn’t for you. The guest goes into more reasons why or why not one would or wouldn’t want to use Aurelia. 24:24 – Panel: I think the best sell point is the downplay! 24:34 – Guest: Good point. What does the roadmap look like for Aurelia’s team? 25:00 – Guest: Typically, what happens in the Aurelia framework is that data binding (or router) gets pushed by the core team. They are the ones that produce the roadmap and look forward to the framework. The core team is working on the NEXT version of the framework, which is lighter, easier to use, and additional features. It’s proposed to be out for release next year. 26:36 – Advertisement – Sentry.io 27:34 – Panel: I am going to take down the CLI down and see what it does. I am looking at it and seeing how to teach someone to use it. I am using AU, new command, and it says no Aurelia found. I am stuck. 28:06 – Guest: What you would do is specify the project name that you are trying to create and that should create it for you. 28:40 – Panel. 28:45 – Panel. 28:50 – Panel: Stand up on your desk and say: does anyone know anything about computers?! 29:05 – Panelists go back-and-forth. 29:13 – Panel: What frameworks have you used in the past? 29:17 – Guest: I was using single-paged apps back in 2010. 31:10 – Panel: Tell us about the performance of Aurelia? 31:17 – Guest: I was looking at the benchmarks all the time. Last time I looked the performance was comparable. Performances can me measured in a number of different of ways. The guest talks about a dashboard screen that 20 charts or something like that. He didn’t notice any delays getting to the client. 33:29 – Panel: I heard you say the word “observables.” 33:39 – Guest answers the question. 35:30 – Guest: I am not a Redux expert, so I really can’t say. It has similar actions like Redux but the differences I really can’t say. 36:11 – Panel: We really want experts in everything! (Laughs.) 36:25 – Panelist talks about a colleagues’ talk at a conference. He says that he things are doing too much with SPAs. They have their place but we are trying to bundle 8-9 different applications but instead look at them as... What are your thoughts of having multiple SPAs? 37:17 – Guest. 39:08 – Guest: I wonder what your opinions are? What about the splitting approach? 39:22 – Panel: I haven’t looked at it, yet. I am curious, though. I have been developing in GO lately. 40:20 – Guest: I think people can go too far and making it too complex. You don’t want to make the code that complex. 40:45 – Panel: Yeah when the code is “clean” but difficult to discover that’s not good. 41:15 – Guest: I agree when you start repeating yourself then it makes it more difficult. 41:35 – Panel: Chris and I are anti-framework. We prefer to start from a fresh palette and see if a framework can fit into that fresh palette. When you start with a certain framework you are starting with certain configurations set-in-place. 42:48 – Joe: I like my frameworks and I think you are crazy! 43:05 – Panel. 43:11 – Joe: I have a love affair with all frameworks. 43:19 – Panel: I think I am somewhere in the middle. 43:49 – Panel: I don’t think frameworks are all bad but I want to say that it’s smart to not make it too complex upfront. Learn and grow. 44:28 – Guest: I think a good example of that is jQuery, right? 45:10 – Panelist talks about C++, jQuery, among other things. 45:34 – Guest: Frameworks kind of push the limits. 46:08 – Panelist talks about JavaScript, frameworks, and others. 47:04 – Panel: It seems simple to setup routes – anything to help with the lazy way to setup? 47:35 – Guest answers question. 48:37 – Panel: How do we manage complexity and how does messaging work between components? 48:54 – Guest: The simple scenario is that you can follow a simple pattern, which is (came out of Ember community) and that is...Data Down & Actions Up! 50:45 – Guest mentions that Aurelia website! 51:00 – Panel: That sounds great! Sounds like the pattern can be plugged in easily into Aurelia. 51:17 – Picks! 51:20 – Advertisement: Get A Coder Job! END – Advertisement: CacheFly! Links: JavaScript React Redux Webpack Elixir Ember.js Vue GO jQuery Node.js Puppeteer Cypress Utah JS 2018 – Justin McMurdie’s Talk Aurelia Sean Hunter’s Book! Sean Hunter’s Twitter Sean Hunter’s Website Sean Hunter’s GitHub Sponsors: Kendo UI Sentry CacheFly Picks: Joe React Conf. Endless Quest AJ Extreme Ownership GO Language Harry’s and Flamingo Jesse Sanders The Miracle Morning React Hooks Apple Products Sean Doesn’t Have to Be Crazy at Work Discount Code for Aurelia in Action - hunterpc (40% off Aurelia in Action, all formats) Apple Watch
Panel: Chris Fritz Eric Hatchet Divya Sasidharan Charles Max Wood Special Guest: Benjamin Hong In this episode, the panel talks with Benjamin Hong who is a Senior Fullstack Engineer at GitLab, Inc. who currently resides in the Washington D.C. metro area. Ben and the panel talk about Politico and the current projects that Ben is working on. The panelists talk about topics, such as Vue, Vuex, VuePress, Nuxt, among others. Check out today’s episode! Show Topics: 0:00 – Advertisement – Kendo UI 0:32 – Panel: Hi! Welcome – our panel today is live at Park City, UT. 1:34 – Benjamin introduces himself. 1:41 – Panel: Politico is a well trafficked website and it’s well known. What are your thoughts about working on a well trafficked website? 2:22 – Guest. 2:44 – Panel: Why did you settle on Vue? 2:50 – Guest: ...I came onto the team and was passionate about helping. We built out the component types. I thought Vue was better suited for the team. 3:36 – Panel: That’s a large team – that’s a lot of people 3:45 – Guest: Yeah, at one time I was writing everything. A lot of people on the team right now didn’t know a lot of JavaScript – but having Vue helps everyone to move the project forward. 4:29 – Panel: They can write just HTML, etc. 4:38 – Guest: Yep, exactly. It helps with communication. 4:55 – Panel asks a question. 5:00 – Guest: I use an event bust. 5:20 – Chuck: Did you have to move from an event bust to Vuex and what was that like? 5:30 – Guest: We had to move into module-esque anyways. 5:42 – Panel: You probably have Vuex with modules and...? 5:54 – Guest: We are using your enterprise broiler plate! 6:05 – Panel: Yeah, every team uses their own patterns. What files would I see used within your team? 6:16 – Guest answers the question. 6:55 – Panel asks a question. 7:01 – Guest: We can keep with the recommended packages fairly well! 7:21 – Panel. 7:26 – Guest: Funny enough at London...we are starting to get a lot with our co-coverage. We have a hard time balancing with unit tests and...eventually we want to look at Cypress. 8:12 – Panel. 8:15 – Guest. 8:19 – Chuck. 8:38 – Panel: I always encourage people to test the unit tests. 9:00 – Chuck: As you adopted Vue what was it like to get buy-in from management. Usually they have a strong backend with Rails, and someone comes in and says let’s use X. How do you sell them on: we are going to use this new technology. 9:30 – Guest: We could really use the user-experience better, and also to offload things from the backend developers. Our desire was to control more things like animation and to specialize those things. That was my selling point. 10:32 – Chuck: I tend to do both on the apps that I’m working on. I told Chris that I was going to switch a lot of things to Vue – some of the things you said I am not interested in the backend b/c it’s too painful. 11:01 – Panel. 11:08 – Chuck: There are things that are really, really good on the backend, but... 11:18 – Panel. 11:24 – Panel: You get the benefits of rendering... 11:43 – Chuck: What are your challenges into Vue? 11:50 – Guest: It’s definitely the scale, because we were a team of 5 and now we are a team of 15. Also, the different time changes b/c we have some people who live in India. Getting that workflow and we are looking at STORYBOOK to help with that. 12:30 – Chuck: Every person you add doubles the complexity of the group. 12:40 – Panel: I think that is conservative! 12:49 – Chuck. 12:56 – Panel: I get to see Chuck in person so this is different! 13:09 – Panel: Challenge accepted! 13:18 – Panel: This is the roast! 13:25 – Panel: Are you working, Benjamin, on a component library? Are you working on that alongside your current project? How do you manage that/ 13:38 – Guest: Unfortunately, we have a lot of deadlines and everything is running in parallel! 14:00 – Panel: How do you implement expectations throughout your team? 14:13 – Panel. 14:16 – Guest: It’s for everyone to understand their own expectations and the team’s expectations. I have to be able to parse it out w/o giving them too much guidance. 15:20 – Panel. 15:25 – Guest: Yep! 15:30 – Panel: ...having to edit the same files and the same lines... 15:36 – Guest: We have been able to keep those in their own lanes! 15:44 – Panel: Yeah that’s no fun – I’ve been there! 15:53 – Chuck: You are working in the development branch – and then their thing breaks my thing, etc. 16:08 – Panel: You are doing dimensional travel! It’s almost like reorganizing a complete novel. 16:30 – Guest: You don’t want your work to drag on too long b/c you don’t want to poorly affect the other team members. 16:53 – Panel: Does that mean you use internal docs to help with the workflow? 17:03 – Guest: Yes, we use the common team board. 17:30 – Panel asks a question. 17:39 – Guest: Yes, that’s a challenge. I have setup an internal product called Politico Academy. 18:29 – Chuck: How do you fit into what Politico is doing? 18:45 – Guest: They are giving out cutting edge information regarding policies and that sort of thing. We have tools like compass to track your notes within the team and also bills. Politico Pro is like for lobbyists and those fees are very expensive. 19:23 – Panel: Do you have to create graphs and D3 and stuff like that? 19:35 – Guest: I am itching to do that and we haven’t really done that, yet. I would love to do that, though! 19:42 – Panel: Chris will be talking about that which will air on YouTube! 20:02 – Panel: Ben, you make decisions based on architecture – do the members of the team get to contribute to that or no? 20:27 – Guest: Yeah, I have a democratic approach. I want people to show their opinion, so that way they know that their voice is getting heard. I don’t make all the decisions, but I do give some guidelines. 21:11 – Chris: I like to time box it. I do the same thing, too. 21:49 – Chuck: Yeah someone would propose something to a new feature (or whatnot) and we would want to see if we want to explore it now or later. 21:55 – Panel goes back-and-forth. 23:26 – Panel: On that note- you want to make sure that each developer has submitted a pole request per day. What is universal in regards to coding practices, and code comments, and stuff like that and code style? 23:55 – Guest: We do PREMIER across the board right now. 24:55 – Panel asks a question. 25:08 – Guest: I like having more...if it can show WHY you did it a certain way. 25:33 – Panel: It’s good not to save the data. 25:40 – Chris: Sometimes a SQUASH can be helpful. 25:50 – Divya: I try to commit often and my work is a work in-progress. 26:08 – Chris. 26:13 – Chuck comments. 26:24 – Panel goes back-and-forth! 26:43 – Guest: They will write their code and then use Prettier and it will look terrifying b/c it’s like what did you just do. I want them to see the 2 lines they changed rather than the whole file. 27:13 – Panelist talks about Linting. 27:34 – Chuck. 27:39 – Chris: If it’s not the default then... 27:55 – Divya: When you manually setup your project you can run a prettier pre-commit. 28:00 – Chris: My pre-commits are much more thorough. 28:37 – Panel goes back-and-forth! 29:26 – Advertisement – Get A Coder Job! 30:02 – Panel: Can you talk about VuePress, please? 30:06 – Guest: Yeah! The guest talks about VuePress in-detail! 31:21 – Chuck. 31:25 – Panel. 31:44 – Chuck: I am curious about this – what’s the difference between VuePress and Nuxt? 31:58 – Guest answers the question. 32:19 – Chris adds his comments into this topic (VuePress and Nuxt). 32:47 – Guest. 33:02 – Divya. 34:24 – Chuck: If they are fluent in English and native in another language and it’s easy to figure where to put everything. 34:41 – Chris: Yeah they have a clear path for to clear up any documentation potential problems. 35:04 – Chris: ...the core docs and the impending libraries and the smaller ones, too. 35:17 – Divya: When you are creating the docs and you are thinking about NTN it’s important to think about the English docs. They say that it’s best to think of the language if that doc was to be translated into another language. 35:50 – Chris: Definition: “A function that returns another function” = higher function. 36:19 – Chuck: We are running out of time, and let’s talk about user-scripts. You have co-organized a group in Washington D.C. I tell people to go to a group to help like Meetups. What do you recommend? 37:00 – Guest: A lot of it is to be that community leader and show-up. To figure out let’s go ahead and meet. I know a lot of people worry about the “venue,” but go to a public library or ask an office for space, that’s an option, too. 38:15 – Panel: We have these different Meetups and right now in my area we don’t have one for Vue. 38:37 – Guest: Yeah, I recommend just getting it going. 39:04 – Chris: Yeah, just forming a community. 39:16 – Chuck: D.C. is a large area, so I can see where the larger market it would be easier. But even for the smaller communities there can be 10 or so people but that’s a great start! 39:48 – Guest: Yeah, once it gets started it flows. 40:02 – Chuck: What are the topics then at these meetings? 40:05 – Guest: I like to help people to code, so that’s my inspiration. 40:50 – Divya: I help with the Chicago Meetup and tons of people sign-up but not a lot of people to show – that’s our challenge right now! How do you get people to actually GO! 41:44 – Guest: I tell people that it’s a free event and really the show up rate is about 30%. I let the people to know that there is a beginning section, too, that there is a safe place for them. I find that that is helpful. 42:44 – Chris: Yeah, even the language/vocabulary that you use can really deter people or make people feel accepted. 43:48 – Chuck: Let’s talk about the idea of ‘new developers.’ They would ask people for the topics that THEY wanted to talk about. 44:37 – Divya: From an organizer’s perspective... 46:10 – Chuck: If you want people to show-up to your Meetups just do this...a secret pattern! I did a talk about a block chain and we probably had 3x to 4x a better turnout. 46:55 – Panel. 47:00 – Divya: The one event that was really successful was having Evan and Chris come to Chicago. That event was eventually $25.00 and then when Evan couldn’t come the price dropped to $5.00. 48:00 – Panel goes back-and-forth. 48:22 – Chuck: Where can they find you? 48:30 – Guest: BenCodeZen! 48:40 – Advertisement – Fresh Books! DEVCHAT code. 30-day trial. Links: Vue React Angular JavaScript DevChat TV Graph QL VuePress Nuxt Meetup 1 Chicago Meetup for Fullstack JavaScript Ben’s LinkedIn Ben’s Website Ben’s Twitter DevChat TV Past Episode with Benjamin Hong (MJS 082) Sponsors: Fresh Books Cache Fly Kendo UI Get A Coder Job! Picks: Divya Creator Summit Chris “Chuck” Take a break when traveling to conferences and such Vue.js in Action Eric Stackblitz Charles The One Thing Self Publishing School Ben Ted Talk by Elizabeth Gilbert Vue.js Meetups
Panel: Mark Ericksen Josh Adams Nate Hopkins Charles Max Wood Special Guest: Eric Oestrich In this episode of Elixir Mix, the panel talks with Eric Oestrich who is a web developer who resides in Indianapolis, Indiana. He and the panel talk about ExVenture, Gossip, Cowboy, Raisin, Grapevine, and much more! Listen to today’s episode to hear all about it! Finally, check out Eric’s ElixirConf talk and his blog, too! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:51 – Charles introduces the panel. 1:14 – Nate talks about his background. 1:27 – Chuck: My first programming job I worked with Nate. Nate also works now with Eric Berry. We have a special guest and that is Eric Oestrich. Tell us who you are, please! 1:55 – Eric: I work for Smart Logic, LLC. We are a consultancy who has moved to Elixir for the last 2 years. 2:14 – Chuck: Tell us what ExVenture is? 2:46 – Eric: Late 80’s to mid-90’s it’s like a MUD tech space game. Eric goes into detail of what ExVenture is. 3:28 – Panel: Familiar with MUDS. 3:36 – Panel: Audience can’t tell that Eric isn’t an old guy. Eric – you aren’t an old gentleman – how did you get into it?! 4:02 – Eric: The concept has fascinated me. It’s pure game mechanics. In school I wrote things in Python and try to make it threaded. Never got it going. After that I wanted to do a MUD but not good enough in C and couldn’t get it working in Ruby neither. But one faithful day (a year ago) I got an echo and chat server and now we have a MUD. 5:02 – Panel: Why should you be interested? I will tell you why. ExVenture is an open source... I encourage everyone to dig into and play with it! It is a game (so that makes it more fun) but you are dealing with game mechanics. I am also curious where you wanted this to go? What made you say: I want to create this and make it open source? 6:37 – Eric: I like it and work has mostly played for it. It’s MIT because of that. Early in the project (between client work) it was a common thread and that’s why it’s open source. 7:27 – Panel: I ran into you at the conference and you were showing me... Talk about getting metrics out of your system, please? 8:20 – Eric answers the question. 9:09 – Panel: When people are trying to get metrics out of their system – what EVEN makes a good metric? 9:21- Eric: I am trying to figure that out myself, actually. I want to know how long it takes for someone to login? Is that someone trying to hack into my system? If you speak at a global channel or something else... Eric goes into more detail. Eric also mentions Prometheus. 10:31 – Panel: You mentioned: What would you want to see on a dashboard? 11:01 – Eric answers the question and mentions Prometheus EX. 12:19 – Panel: As you starting building this you were pulling libraries out of it and making them separate libraries. Are you pretty proud of GOSSIP? 12:37 – Eric: Yes! Gossip is based on web sockets and it’s a cowboy socket. Eric talks about Gossip. 13:10 – Panel: What other clients are you trying to support? 13:15 – Eric: There is a JavaScript client and Node-based game called... There is a bundle system for that. There is also a Python option. The one thing we haven’t done yet is a C client. That is important b/c most of the games that you could connect to are 25-30 years old. 14:26 – Panel asks a question. 14:34 – Eric: That is the C client we are waiting for. 14:43 – Panel: You talked at the conference (see the show notes) you talked about things you learned along the way. Can you talk about your process? What kind of bottlenecks and how did you resolve those issues? 15:10 – Eric answers the question. 16:44 – Panel: Did you run out of processes? 16:47 – Eric: The VM shut-off – it was just done. That was the first go-around. 19:27 – Eric: After the ElixirConf, I wanted to see how far I could push it. Eric continues. 19:51 – Panel: I want to identify some of these principles you just talked about. First, the major block was the gen server is a single process. 20:21 – Panel. 20:24 – Panel: I think that is a common mistake when people come to Elixir in the beginning stages. How did you solve it? 20:50 – Panelist answers the above question. 21:30 – Panel: That’s one of the big things. It’s an architectural issue. Second, you mentioned really LARGE messages. You were sending around really large messages. 22:20 – Eric: For every 100 players was a gigabyte of ram – it was a lot. And that was mostly b/c every copy...when a new character enters the room then that message gets sent out then it gets copied again, and... 23:08 – Panel. 23:24 – Panel: The third one you mentioned was around data base blocking or...? Can you talk about this one a little more, please? 23:33 – Eric answers the question. 24:02 – Panel. 24:30 – Eric: It was always saving...I tricked Echo into saving...There is a lot of things that could be better to save specifically faster. 24:52 – Panel: I think people would hit those 3 points eventually – there is a lot of value to that. 25:09 –Eric: Yes that was near the end of my ElixirConf talk and my blog. 25:23 – Panel. 25:33 – Eric: It came out in May and I figured out that I needed to learn how to cluster in Elixir. That’s what the ElixirConf was a bout from single node to multiple nodes. Eric continues. 28:38 – Panel: When you have a cluster – and I join – when I transfer from one room to another room, I could be passed off to another server or node? 29:01 – Eric: Whatever you mean by “being passed off.” Whatever server you land on that’s the one you will be on. The magic is that... 30:08 – Advertisement: Fresh Books! 31:15 – Panel: I am going through the code base now and I am excited. It’s going to help me get better at Elixir. 31:32 – Eric: That’s the point of ExVenture. 31:48 – Panel: You host a server so people can see what it’s about – and that’s Mid Mud, right? 32:09 – Eric: Yep, the first hour of you playing. There is a town crier, you request, and then combat monsters. Also, it is plugged into Gossip and you can talk to them. 32:44 – Eric: Yep, there you go: player logged-in! 32:55 – Panel: Maybe not b/c it will turn into a new podcast soon. 33:07 – Panel: What if I want to use Gossip, what is involved there? 33:16 – Eric: Gossip.Haus/docs – Go there! Set it up and start sending and receiving events. 34:40 – Panel: When I was trying to understand the Prometheus metrics it helped. And then in downloading it (as a tip), for me, it was easy to use the DOCKER instructions. 35:32 – Eric: Yep, that was done by a community member. 35:40 – Panel: Are you looking for people to contribute? 35:50 – Eric: Yep, I have a public Trello board. There are 2 tags. 36:12 – Panel: Sounds like you have people involved? 36:22 – Eric: Bunch of people came on after the ElixirConf. 36:33 – Panel: If people download it (another tip) in the SEEDS file you will find out the admin username and password. I guess that’s something you can add. Login: ADMIN and Password: PASSWORD. What I thought was fun (playing with it) in the admin screen I got a sense that it’s generic enough that I could create a space game. Like playing with sectors of space. Does that make sense? 37:42 – Eric: I don’t want it to be tied JUST to fantasy b/c that’s what MUD is. Everything should be good for historical/ fantasy/ etc. any genre that you want to do! 38:13 – Panel: I could see a HackFest and the company could create one for their business. You could have a lot of fun with it. 38:38 – Panel. 38:44 – Panel: Hidden things on their websites. 38:50 – Eric: Search TEXT ADVENTURE in Google Search. See show notes below. 39:24 – Panel: There is a whole subculture that people are interested in and I didn’t know that these people existed. I think that is interesting. 39:45 – Eric: There are tons of games out there that are 20+ years old! 39:55 – Panel: What is your favorite old school MUD game? 40:02 – Eric lists his favorite old school games! One of them is Achaea! 40:51 – Panel: I like the status bars are really cool. If you haven’t played it you have a health bar. Also you have these expiring times and it’s very cool – modern MUD. 41:22 – Eric. 42:00 – Panel: You came from a Ruby background – what was your transition to Elixir like for you? How did you come to Elixir? What was that like for you? 42:15 – Eric: Yeah some of my friends were into Elixir from a functional standpoint about 2 years ago. They were reading about Phoenix and such. They wanted to see how it was going to go. 43:06 – Panel: Try by fire. Coming from Ruby to Elixir – what some advice would you give the same person? 43:37 – Eric: It was less of a culture shock b/c Phoenix was still kind of “Railsy.” 44:35 – Panel: When I was first learning ERLANG, and telling them that it was a standard library. 44:59 – Eric: It’s using Cowboys Ranch. 45:19 – Eric: There are a number of people out there that they want people to run to SSH b/c it’s more secure. 45:46 – Eric: I guess if we are on this topic about secure... 46:40 – Chuck. 46:51 – Panel: I think there is a lot of value, Eric, and the lessons you’ve learned and the path you’ve gone down. If you are new to Elixir going to ExVenture is a great way to start. 47:20 – Eric. 47:35 – Panel: Just run the format and we can do it that way. I encourage people to download it and see what it’s like as a user, and play with it as an admin. We have a Meetup coming up this Thursday. Eric is coming in virtually into our Meetup group. 48:29 – Eric: Gossip is open source. Grapevine and Raisin – check these out, too, b/c they are open source, too. 48:58 – Panel: Where can people contact you? 49:05 – Eric: Twitter! GitHub! Mudcoders.com. 49:39 – Picks! 49:44 – Ad: Lootcrate.com Links: Ruby Elixir Elm Atom.io Flutter.io JavaScript Visual Studio Code React Erlang ExVenture Ex_Venture ExVenture’s Trello Board Prometheus Prometheus EX Gossip GitHub: Gossip 2018 – Conference Talk @ Elixir Conf with Eric Oestrich Eric’s Blog Libcluster Raft – GitHub.io – The Raft Consensus Algorithm pg2 MidMUD Gossip/Haus/Docs ExVenture: Docker Environment Google: Text Adventure Achaea Cowboy SSH Grapevine Raisin ASDF Plugins Eric’s GitHub Eric’s Twitter Brooklyn Nine-Nine Elm Packages MetaBase Sponsors: Loot Crate Get a Coder Job! Fresh Books Cache Fly Picks: Eric MUD Coders Elixir LS Mark ASDF Library Josh Brooklyn Nine-Nine Elm UI Nate Mentoring and Paired Programming Metabase Charles Monster Hunters International
Panel: Chris Fritz Eric Hatchet Divya Sasidharan Charles Max Wood Special Guest: Benjamin Hong In this episode, the panel talks with Benjamin Hong who is a Senior Fullstack Engineer at GitLab, Inc. who currently resides in the Washington D.C. metro area. Ben and the panel talk about Politico and the current projects that Ben is working on. The panelists talk about topics, such as Vue, Vuex, VuePress, Nuxt, among others. Check out today’s episode! Show Topics: 0:00 – Advertisement – Kendo UI 0:32 – Panel: Hi! Welcome – our panel today is live at Park City, UT. 1:34 – Benjamin introduces himself. 1:41 – Panel: Politico is a well trafficked website and it’s well known. What are your thoughts about working on a well trafficked website? 2:22 – Guest. 2:44 – Panel: Why did you settle on Vue? 2:50 – Guest: ...I came onto the team and was passionate about helping. We built out the component types. I thought Vue was better suited for the team. 3:36 – Panel: That’s a large team – that’s a lot of people 3:45 – Guest: Yeah, at one time I was writing everything. A lot of people on the team right now didn’t know a lot of JavaScript – but having Vue helps everyone to move the project forward. 4:29 – Panel: They can write just HTML, etc. 4:38 – Guest: Yep, exactly. It helps with communication. 4:55 – Panel asks a question. 5:00 – Guest: I use an event bust. 5:20 – Chuck: Did you have to move from an event bust to Vuex and what was that like? 5:30 – Guest: We had to move into module-esque anyways. 5:42 – Panel: You probably have Vuex with modules and...? 5:54 – Guest: We are using your enterprise broiler plate! 6:05 – Panel: Yeah, every team uses their own patterns. What files would I see used within your team? 6:16 – Guest answers the question. 6:55 – Panel asks a question. 7:01 – Guest: We can keep with the recommended packages fairly well! 7:21 – Panel. 7:26 – Guest: Funny enough at London...we are starting to get a lot with our co-coverage. We have a hard time balancing with unit tests and...eventually we want to look at Cypress. 8:12 – Panel. 8:15 – Guest. 8:19 – Chuck. 8:38 – Panel: I always encourage people to test the unit tests. 9:00 – Chuck: As you adopted Vue what was it like to get buy-in from management. Usually they have a strong backend with Rails, and someone comes in and says let’s use X. How do you sell them on: we are going to use this new technology. 9:30 – Guest: We could really use the user-experience better, and also to offload things from the backend developers. Our desire was to control more things like animation and to specialize those things. That was my selling point. 10:32 – Chuck: I tend to do both on the apps that I’m working on. I told Chris that I was going to switch a lot of things to Vue – some of the things you said I am not interested in the backend b/c it’s too painful. 11:01 – Panel. 11:08 – Chuck: There are things that are really, really good on the backend, but... 11:18 – Panel. 11:24 – Panel: You get the benefits of rendering... 11:43 – Chuck: What are your challenges into Vue? 11:50 – Guest: It’s definitely the scale, because we were a team of 5 and now we are a team of 15. Also, the different time changes b/c we have some people who live in India. Getting that workflow and we are looking at STORYBOOK to help with that. 12:30 – Chuck: Every person you add doubles the complexity of the group. 12:40 – Panel: I think that is conservative! 12:49 – Chuck. 12:56 – Panel: I get to see Chuck in person so this is different! 13:09 – Panel: Challenge accepted! 13:18 – Panel: This is the roast! 13:25 – Panel: Are you working, Benjamin, on a component library? Are you working on that alongside your current project? How do you manage that/ 13:38 – Guest: Unfortunately, we have a lot of deadlines and everything is running in parallel! 14:00 – Panel: How do you implement expectations throughout your team? 14:13 – Panel. 14:16 – Guest: It’s for everyone to understand their own expectations and the team’s expectations. I have to be able to parse it out w/o giving them too much guidance. 15:20 – Panel. 15:25 – Guest: Yep! 15:30 – Panel: ...having to edit the same files and the same lines... 15:36 – Guest: We have been able to keep those in their own lanes! 15:44 – Panel: Yeah that’s no fun – I’ve been there! 15:53 – Chuck: You are working in the development branch – and then their thing breaks my thing, etc. 16:08 – Panel: You are doing dimensional travel! It’s almost like reorganizing a complete novel. 16:30 – Guest: You don’t want your work to drag on too long b/c you don’t want to poorly affect the other team members. 16:53 – Panel: Does that mean you use internal docs to help with the workflow? 17:03 – Guest: Yes, we use the common team board. 17:30 – Panel asks a question. 17:39 – Guest: Yes, that’s a challenge. I have setup an internal product called Politico Academy. 18:29 – Chuck: How do you fit into what Politico is doing? 18:45 – Guest: They are giving out cutting edge information regarding policies and that sort of thing. We have tools like compass to track your notes within the team and also bills. Politico Pro is like for lobbyists and those fees are very expensive. 19:23 – Panel: Do you have to create graphs and D3 and stuff like that? 19:35 – Guest: I am itching to do that and we haven’t really done that, yet. I would love to do that, though! 19:42 – Panel: Chris will be talking about that which will air on YouTube! 20:02 – Panel: Ben, you make decisions based on architecture – do the members of the team get to contribute to that or no? 20:27 – Guest: Yeah, I have a democratic approach. I want people to show their opinion, so that way they know that their voice is getting heard. I don’t make all the decisions, but I do give some guidelines. 21:11 – Chris: I like to time box it. I do the same thing, too. 21:49 – Chuck: Yeah someone would propose something to a new feature (or whatnot) and we would want to see if we want to explore it now or later. 21:55 – Panel goes back-and-forth. 23:26 – Panel: On that note- you want to make sure that each developer has submitted a pole request per day. What is universal in regards to coding practices, and code comments, and stuff like that and code style? 23:55 – Guest: We do PREMIER across the board right now. 24:55 – Panel asks a question. 25:08 – Guest: I like having more...if it can show WHY you did it a certain way. 25:33 – Panel: It’s good not to save the data. 25:40 – Chris: Sometimes a SQUASH can be helpful. 25:50 – Divya: I try to commit often and my work is a work in-progress. 26:08 – Chris. 26:13 – Chuck comments. 26:24 – Panel goes back-and-forth! 26:43 – Guest: They will write their code and then use Prettier and it will look terrifying b/c it’s like what did you just do. I want them to see the 2 lines they changed rather than the whole file. 27:13 – Panelist talks about Linting. 27:34 – Chuck. 27:39 – Chris: If it’s not the default then... 27:55 – Divya: When you manually setup your project you can run a prettier pre-commit. 28:00 – Chris: My pre-commits are much more thorough. 28:37 – Panel goes back-and-forth! 29:26 – Advertisement – Get A Coder Job! 30:02 – Panel: Can you talk about VuePress, please? 30:06 – Guest: Yeah! The guest talks about VuePress in-detail! 31:21 – Chuck. 31:25 – Panel. 31:44 – Chuck: I am curious about this – what’s the difference between VuePress and Nuxt? 31:58 – Guest answers the question. 32:19 – Chris adds his comments into this topic (VuePress and Nuxt). 32:47 – Guest. 33:02 – Divya. 34:24 – Chuck: If they are fluent in English and native in another language and it’s easy to figure where to put everything. 34:41 – Chris: Yeah they have a clear path for to clear up any documentation potential problems. 35:04 – Chris: ...the core docs and the impending libraries and the smaller ones, too. 35:17 – Divya: When you are creating the docs and you are thinking about NTN it’s important to think about the English docs. They say that it’s best to think of the language if that doc was to be translated into another language. 35:50 – Chris: Definition: “A function that returns another function” = higher function. 36:19 – Chuck: We are running out of time, and let’s talk about user-scripts. You have co-organized a group in Washington D.C. I tell people to go to a group to help like Meetups. What do you recommend? 37:00 – Guest: A lot of it is to be that community leader and show-up. To figure out let’s go ahead and meet. I know a lot of people worry about the “venue,” but go to a public library or ask an office for space, that’s an option, too. 38:15 – Panel: We have these different Meetups and right now in my area we don’t have one for Vue. 38:37 – Guest: Yeah, I recommend just getting it going. 39:04 – Chris: Yeah, just forming a community. 39:16 – Chuck: D.C. is a large area, so I can see where the larger market it would be easier. But even for the smaller communities there can be 10 or so people but that’s a great start! 39:48 – Guest: Yeah, once it gets started it flows. 40:02 – Chuck: What are the topics then at these meetings? 40:05 – Guest: I like to help people to code, so that’s my inspiration. 40:50 – Divya: I help with the Chicago Meetup and tons of people sign-up but not a lot of people to show – that’s our challenge right now! How do you get people to actually GO! 41:44 – Guest: I tell people that it’s a free event and really the show up rate is about 30%. I let the people to know that there is a beginning section, too, that there is a safe place for them. I find that that is helpful. 42:44 – Chris: Yeah, even the language/vocabulary that you use can really deter people or make people feel accepted. 43:48 – Chuck: Let’s talk about the idea of ‘new developers.’ They would ask people for the topics that THEY wanted to talk about. 44:37 – Divya: From an organizer’s perspective... 46:10 – Chuck: If you want people to show-up to your Meetups just do this...a secret pattern! I did a talk about a block chain and we probably had 3x to 4x a better turnout. 46:55 – Panel. 47:00 – Divya: The one event that was really successful was having Evan and Chris come to Chicago. That event was eventually $25.00 and then when Evan couldn’t come the price dropped to $5.00. 48:00 – Panel goes back-and-forth. 48:22 – Chuck: Where can they find you? 48:30 – Guest: BenCodeZen! 48:40 – Advertisement – Fresh Books! DEVCHAT code. 30-day trial. Links: Vue React Angular JavaScript DevChat TV Graph QL VuePress Nuxt Meetup 1 Chicago Meetup for Fullstack JavaScript Ben’s LinkedIn Ben’s Website Ben’s Twitter DevChat TV Past Episode with Benjamin Hong (MJS 082) Sponsors: Fresh Books Cache Fly Kendo UI Get A Coder Job! Picks: Divya Creator Summit Chris “Chuck” Take a break when traveling to conferences and such Vue.js in Action Eric Stackblitz Charles The One Thing Self Publishing School Ben Ted Talk by Elizabeth Gilbert Vue.js Meetups
Panel: Mark Ericksen Josh Adams Nate Hopkins Charles Max Wood Special Guest: Eric Oestrich In this episode of Elixir Mix, the panel talks with Eric Oestrich who is a web developer who resides in Indianapolis, Indiana. He and the panel talk about ExVenture, Gossip, Cowboy, Raisin, Grapevine, and much more! Listen to today’s episode to hear all about it! Finally, check out Eric’s ElixirConf talk and his blog, too! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:51 – Charles introduces the panel. 1:14 – Nate talks about his background. 1:27 – Chuck: My first programming job I worked with Nate. Nate also works now with Eric Berry. We have a special guest and that is Eric Oestrich. Tell us who you are, please! 1:55 – Eric: I work for Smart Logic, LLC. We are a consultancy who has moved to Elixir for the last 2 years. 2:14 – Chuck: Tell us what ExVenture is? 2:46 – Eric: Late 80’s to mid-90’s it’s like a MUD tech space game. Eric goes into detail of what ExVenture is. 3:28 – Panel: Familiar with MUDS. 3:36 – Panel: Audience can’t tell that Eric isn’t an old guy. Eric – you aren’t an old gentleman – how did you get into it?! 4:02 – Eric: The concept has fascinated me. It’s pure game mechanics. In school I wrote things in Python and try to make it threaded. Never got it going. After that I wanted to do a MUD but not good enough in C and couldn’t get it working in Ruby neither. But one faithful day (a year ago) I got an echo and chat server and now we have a MUD. 5:02 – Panel: Why should you be interested? I will tell you why. ExVenture is an open source... I encourage everyone to dig into and play with it! It is a game (so that makes it more fun) but you are dealing with game mechanics. I am also curious where you wanted this to go? What made you say: I want to create this and make it open source? 6:37 – Eric: I like it and work has mostly played for it. It’s MIT because of that. Early in the project (between client work) it was a common thread and that’s why it’s open source. 7:27 – Panel: I ran into you at the conference and you were showing me... Talk about getting metrics out of your system, please? 8:20 – Eric answers the question. 9:09 – Panel: When people are trying to get metrics out of their system – what EVEN makes a good metric? 9:21- Eric: I am trying to figure that out myself, actually. I want to know how long it takes for someone to login? Is that someone trying to hack into my system? If you speak at a global channel or something else... Eric goes into more detail. Eric also mentions Prometheus. 10:31 – Panel: You mentioned: What would you want to see on a dashboard? 11:01 – Eric answers the question and mentions Prometheus EX. 12:19 – Panel: As you starting building this you were pulling libraries out of it and making them separate libraries. Are you pretty proud of GOSSIP? 12:37 – Eric: Yes! Gossip is based on web sockets and it’s a cowboy socket. Eric talks about Gossip. 13:10 – Panel: What other clients are you trying to support? 13:15 – Eric: There is a JavaScript client and Node-based game called... There is a bundle system for that. There is also a Python option. The one thing we haven’t done yet is a C client. That is important b/c most of the games that you could connect to are 25-30 years old. 14:26 – Panel asks a question. 14:34 – Eric: That is the C client we are waiting for. 14:43 – Panel: You talked at the conference (see the show notes) you talked about things you learned along the way. Can you talk about your process? What kind of bottlenecks and how did you resolve those issues? 15:10 – Eric answers the question. 16:44 – Panel: Did you run out of processes? 16:47 – Eric: The VM shut-off – it was just done. That was the first go-around. 19:27 – Eric: After the ElixirConf, I wanted to see how far I could push it. Eric continues. 19:51 – Panel: I want to identify some of these principles you just talked about. First, the major block was the gen server is a single process. 20:21 – Panel. 20:24 – Panel: I think that is a common mistake when people come to Elixir in the beginning stages. How did you solve it? 20:50 – Panelist answers the above question. 21:30 – Panel: That’s one of the big things. It’s an architectural issue. Second, you mentioned really LARGE messages. You were sending around really large messages. 22:20 – Eric: For every 100 players was a gigabyte of ram – it was a lot. And that was mostly b/c every copy...when a new character enters the room then that message gets sent out then it gets copied again, and... 23:08 – Panel. 23:24 – Panel: The third one you mentioned was around data base blocking or...? Can you talk about this one a little more, please? 23:33 – Eric answers the question. 24:02 – Panel. 24:30 – Eric: It was always saving...I tricked Echo into saving...There is a lot of things that could be better to save specifically faster. 24:52 – Panel: I think people would hit those 3 points eventually – there is a lot of value to that. 25:09 –Eric: Yes that was near the end of my ElixirConf talk and my blog. 25:23 – Panel. 25:33 – Eric: It came out in May and I figured out that I needed to learn how to cluster in Elixir. That’s what the ElixirConf was a bout from single node to multiple nodes. Eric continues. 28:38 – Panel: When you have a cluster – and I join – when I transfer from one room to another room, I could be passed off to another server or node? 29:01 – Eric: Whatever you mean by “being passed off.” Whatever server you land on that’s the one you will be on. The magic is that... 30:08 – Advertisement: Fresh Books! 31:15 – Panel: I am going through the code base now and I am excited. It’s going to help me get better at Elixir. 31:32 – Eric: That’s the point of ExVenture. 31:48 – Panel: You host a server so people can see what it’s about – and that’s Mid Mud, right? 32:09 – Eric: Yep, the first hour of you playing. There is a town crier, you request, and then combat monsters. Also, it is plugged into Gossip and you can talk to them. 32:44 – Eric: Yep, there you go: player logged-in! 32:55 – Panel: Maybe not b/c it will turn into a new podcast soon. 33:07 – Panel: What if I want to use Gossip, what is involved there? 33:16 – Eric: Gossip.Haus/docs – Go there! Set it up and start sending and receiving events. 34:40 – Panel: When I was trying to understand the Prometheus metrics it helped. And then in downloading it (as a tip), for me, it was easy to use the DOCKER instructions. 35:32 – Eric: Yep, that was done by a community member. 35:40 – Panel: Are you looking for people to contribute? 35:50 – Eric: Yep, I have a public Trello board. There are 2 tags. 36:12 – Panel: Sounds like you have people involved? 36:22 – Eric: Bunch of people came on after the ElixirConf. 36:33 – Panel: If people download it (another tip) in the SEEDS file you will find out the admin username and password. I guess that’s something you can add. Login: ADMIN and Password: PASSWORD. What I thought was fun (playing with it) in the admin screen I got a sense that it’s generic enough that I could create a space game. Like playing with sectors of space. Does that make sense? 37:42 – Eric: I don’t want it to be tied JUST to fantasy b/c that’s what MUD is. Everything should be good for historical/ fantasy/ etc. any genre that you want to do! 38:13 – Panel: I could see a HackFest and the company could create one for their business. You could have a lot of fun with it. 38:38 – Panel. 38:44 – Panel: Hidden things on their websites. 38:50 – Eric: Search TEXT ADVENTURE in Google Search. See show notes below. 39:24 – Panel: There is a whole subculture that people are interested in and I didn’t know that these people existed. I think that is interesting. 39:45 – Eric: There are tons of games out there that are 20+ years old! 39:55 – Panel: What is your favorite old school MUD game? 40:02 – Eric lists his favorite old school games! One of them is Achaea! 40:51 – Panel: I like the status bars are really cool. If you haven’t played it you have a health bar. Also you have these expiring times and it’s very cool – modern MUD. 41:22 – Eric. 42:00 – Panel: You came from a Ruby background – what was your transition to Elixir like for you? How did you come to Elixir? What was that like for you? 42:15 – Eric: Yeah some of my friends were into Elixir from a functional standpoint about 2 years ago. They were reading about Phoenix and such. They wanted to see how it was going to go. 43:06 – Panel: Try by fire. Coming from Ruby to Elixir – what some advice would you give the same person? 43:37 – Eric: It was less of a culture shock b/c Phoenix was still kind of “Railsy.” 44:35 – Panel: When I was first learning ERLANG, and telling them that it was a standard library. 44:59 – Eric: It’s using Cowboys Ranch. 45:19 – Eric: There are a number of people out there that they want people to run to SSH b/c it’s more secure. 45:46 – Eric: I guess if we are on this topic about secure... 46:40 – Chuck. 46:51 – Panel: I think there is a lot of value, Eric, and the lessons you’ve learned and the path you’ve gone down. If you are new to Elixir going to ExVenture is a great way to start. 47:20 – Eric. 47:35 – Panel: Just run the format and we can do it that way. I encourage people to download it and see what it’s like as a user, and play with it as an admin. We have a Meetup coming up this Thursday. Eric is coming in virtually into our Meetup group. 48:29 – Eric: Gossip is open source. Grapevine and Raisin – check these out, too, b/c they are open source, too. 48:58 – Panel: Where can people contact you? 49:05 – Eric: Twitter! GitHub! Mudcoders.com. 49:39 – Picks! 49:44 – Ad: Lootcrate.com Links: Ruby Elixir Elm Atom.io Flutter.io JavaScript Visual Studio Code React Erlang ExVenture Ex_Venture ExVenture’s Trello Board Prometheus Prometheus EX Gossip GitHub: Gossip 2018 – Conference Talk @ Elixir Conf with Eric Oestrich Eric’s Blog Libcluster Raft – GitHub.io – The Raft Consensus Algorithm pg2 MidMUD Gossip/Haus/Docs ExVenture: Docker Environment Google: Text Adventure Achaea Cowboy SSH Grapevine Raisin ASDF Plugins Eric’s GitHub Eric’s Twitter Brooklyn Nine-Nine Elm Packages MetaBase Sponsors: Loot Crate Get a Coder Job! Fresh Books Cache Fly Picks: Eric MUD Coders Elixir LS Mark ASDF Library Josh Brooklyn Nine-Nine Elm UI Nate Mentoring and Paired Programming Metabase Charles Monster Hunters International
Panel: Joe Eames John Papa Eric Dietrich Special Guest: Peter Mbanugo In this episode, the panel talks with Peter Mbanugo who is a software developer, tech writer, and maker of Hamoni Sync. He currently works with Field Intelligence, where he helps build logistic and supply chain apps. He also gets involved in design research and customer support for these products. He's also a contributor to Hoodie and a member of the Offline-First community. You can follow him on Twitter. Show Topics: 0:00 – Advertisement – Kendo UI 1:12 – Eric: You, Peter, write a really interesting article. How did you come to write that blog? Tell me about yourself. 1:29 – (Peter talks about his blog and his current projects.) 2:18 – Eric: Tell us about the blog! 2:25 – Peter: I talk about real-time synchronization and why you need it for data. You can use the websocket API and other applications. 3:29 – Panel: Let’s take a step back. It could be helpful to know: what problem were you trying to solve with real-time data? 4:14 – Panel: So multiple client browsers? You are editing in one browser and the data is showing up in the other? You mentioned websockets and others – could you talk about WHY you didn’t go with the other ones? 4:45 – (Peter answers the question.) 6:08 – Panel: So you created Hamoni Sync, and when did you start it? 6:20 – Peter: Yes, and I wrote it in March. I used real-time systems. 6:52 – Panel: What does it mean? 6:55 – (Peter answers.) 7:07 – Panel: Looks like it’s reasonably priced, too. 7:33 – Panel: Let me ask you this. How easy is it to get up and running using this on a Vue project? 7:45 – Peter. 8:34 – Panel: You have to install through your dashboard, then... 8:46 – Peter. 8:53 – Panel: You mentioned earlier that you shouldn’t websocket API right now? 9:04 – Peter: Not all users would have a browser that would support that. 9:39 – Panel: Hamoni handles all of that for you, which is nice. So it has a simple API to use. You started in March – is this your fulltime job...or? 10:08 – Peter: I started a new job 2 months ago, so now it’s part-time. 10:20 – Panel: You can use with any JavaScript library? 10:24 – Peter. 10:31 – Panel: Why did you do a tutorial in Vue and not in Angular or React? 10:37 – Peter: I do have one in React, and then... 10:54 – Panel: How do you like Vue so far? 10:55 – Peter. 11:15- Panel: The simplicity of Vue and you can take an older app and you can switch it over and not worry about jQuery and just go from there. Angular one days and instead of Angular 2+ or 6 now – Vue is an easy upgrade transition for sure. 11:47 – Peter. 11:51 – Panel: Walk us through how an app would work with this? 12:09 – Peter: When you connect you... 12:40 – Panel: What server is the data going to? 12:46 – Peter. 12:51 – Peter: I have a cloud service. 13:00 – Panel: How do they still get performance if there are a lot of people on at the same time? 13:06 – Peter. 13:17 – Panel: It handles all of the scaling? 13:23 – (Panelist walks through the process.) 13:44 – Peter: No scaling issues, yet. 14:05 – Peter: I haven’t launched, yet, through Product Hunt. 14:20 – Peter: The plan is to do that next month or middle of next month? 14:33 – Panel: Maybe once this podcast launches – that’s cool. What other apps can use real-time? Like a chat room is obvious when they are learning with socket IO. Is this beyond Vue? 15:07 – Peter: Yeah, in general it could be used for real-time chat applications and... 15:21 – Panel: Stock market updates? 15:28 – Peter: Yes. No, not animals. Maybe games for multi-player games. For chat room application. 18:45 – Panel: Demopuppy.com 19:11 – Advertisement – Get A Coder Job! 20:00 – Peter: Related to the blog we have covered it well. Why you would use real-time and the different ways you can do it with websocket. 20:23 – Panel: You are in Nigeria? 20:24 – Peter: Yes. 20:27 – Panel: How is Vue.js in Nigeria – do you have Meetups? 20:44 – Peter: I think the tech scene is doing quite well. Mainly Angular and others use other frameworks. 22:08 – Panel: Conference and asking for people to contribute? (Yes.) That sounds great for an active community. Getting hard jobs in tech is hard but maybe hard in specific places. 22:39 – Peter: It is great the great one for React b/c of the popularity in React. React or Angular; one of the two. 23:12 – Panel: If you know your stuff you are good to go? 23:19 – Peter: Yes. Microsoft’s .NET is quite stable. 23:37 – Panel: You are starting a startup is that common in Nigeria? 23:49 – Peter: The startup is small actually. 24:37 – Panel: Are you in the capitol? (Yes.) There is a misconception there that people think you have to be in the California or bay area, and you can see that it’s not true. You can create cool things no matter where you are! 25:08 – Peter: It’s great to see the diversity. 25:14 – Panel: I think it’s cool what you are doing. I am glad you wrote an article. What is HospitalRun? 25:42 – Peter: It’s a hospital management system to work offline first. To use them in remote areas where there is no connectivity. 27:08 – Panel: It’s an opensource project – Hospital.io. You are more the maintainer of the frontend right? 28:05 – Peter: Yes. 28:11 – Panel: A lot of hospitals are using this and need contributors and if you want to have a real difference check it out. What do you do as the maintainer are you reviewing code requests? 28:40 – Peter. 28:56 – Panel: Ember.js? 29:00 – Peter: No, I am being dumped into Ember into the deep-end. 29:20 – Panel: I think we are going to go to our picks now? How can 29:30 – Peter: Twitter and email. Check out the show notes! 29:50 – Panel: Picks! 29:58 – Advertisement – Fresh Books! DEVCHAT code. 30-day trial. Links: Vue React Angular JavaScript DevChat TV Can I Use Websocket? Demopuppy.com HospitalRun.io What are the best tools for automating social media growth? Peter Mbanugo’s Twitter Peter Mbanugo’s Email: p.mbanugo@yahoo.com Peter’s blogs Vue Mastery Hoodie Meetups Hamoni Sponsors: Fresh Books Cache Fly Kendo UI Get A Coder Job! Picks: Joe Dungeon and Dragons recordings coming soon on YouTube Blog - Good Bye Redux John Talk like a pirate day I Can Use Product Hunt Vue Mastery Peter Hoodie Vue Dev Tools Ego is the Enemy Eric Halt and Catch fire Vue.JS in Action
Panel: Joe Eames John Papa Eric Dietrich Special Guest: Peter Mbanugo In this episode, the panel talks with Peter Mbanugo who is a software developer, tech writer, and maker of Hamoni Sync. He currently works with Field Intelligence, where he helps build logistic and supply chain apps. He also gets involved in design research and customer support for these products. He's also a contributor to Hoodie and a member of the Offline-First community. You can follow him on Twitter. Show Topics: 0:00 – Advertisement – Kendo UI 1:12 – Eric: You, Peter, write a really interesting article. How did you come to write that blog? Tell me about yourself. 1:29 – (Peter talks about his blog and his current projects.) 2:18 – Eric: Tell us about the blog! 2:25 – Peter: I talk about real-time synchronization and why you need it for data. You can use the websocket API and other applications. 3:29 – Panel: Let’s take a step back. It could be helpful to know: what problem were you trying to solve with real-time data? 4:14 – Panel: So multiple client browsers? You are editing in one browser and the data is showing up in the other? You mentioned websockets and others – could you talk about WHY you didn’t go with the other ones? 4:45 – (Peter answers the question.) 6:08 – Panel: So you created Hamoni Sync, and when did you start it? 6:20 – Peter: Yes, and I wrote it in March. I used real-time systems. 6:52 – Panel: What does it mean? 6:55 – (Peter answers.) 7:07 – Panel: Looks like it’s reasonably priced, too. 7:33 – Panel: Let me ask you this. How easy is it to get up and running using this on a Vue project? 7:45 – Peter. 8:34 – Panel: You have to install through your dashboard, then... 8:46 – Peter. 8:53 – Panel: You mentioned earlier that you shouldn’t websocket API right now? 9:04 – Peter: Not all users would have a browser that would support that. 9:39 – Panel: Hamoni handles all of that for you, which is nice. So it has a simple API to use. You started in March – is this your fulltime job...or? 10:08 – Peter: I started a new job 2 months ago, so now it’s part-time. 10:20 – Panel: You can use with any JavaScript library? 10:24 – Peter. 10:31 – Panel: Why did you do a tutorial in Vue and not in Angular or React? 10:37 – Peter: I do have one in React, and then... 10:54 – Panel: How do you like Vue so far? 10:55 – Peter. 11:15- Panel: The simplicity of Vue and you can take an older app and you can switch it over and not worry about jQuery and just go from there. Angular one days and instead of Angular 2+ or 6 now – Vue is an easy upgrade transition for sure. 11:47 – Peter. 11:51 – Panel: Walk us through how an app would work with this? 12:09 – Peter: When you connect you... 12:40 – Panel: What server is the data going to? 12:46 – Peter. 12:51 – Peter: I have a cloud service. 13:00 – Panel: How do they still get performance if there are a lot of people on at the same time? 13:06 – Peter. 13:17 – Panel: It handles all of the scaling? 13:23 – (Panelist walks through the process.) 13:44 – Peter: No scaling issues, yet. 14:05 – Peter: I haven’t launched, yet, through Product Hunt. 14:20 – Peter: The plan is to do that next month or middle of next month? 14:33 – Panel: Maybe once this podcast launches – that’s cool. What other apps can use real-time? Like a chat room is obvious when they are learning with socket IO. Is this beyond Vue? 15:07 – Peter: Yeah, in general it could be used for real-time chat applications and... 15:21 – Panel: Stock market updates? 15:28 – Peter: Yes. No, not animals. Maybe games for multi-player games. For chat room application. 18:45 – Panel: Demopuppy.com 19:11 – Advertisement – Get A Coder Job! 20:00 – Peter: Related to the blog we have covered it well. Why you would use real-time and the different ways you can do it with websocket. 20:23 – Panel: You are in Nigeria? 20:24 – Peter: Yes. 20:27 – Panel: How is Vue.js in Nigeria – do you have Meetups? 20:44 – Peter: I think the tech scene is doing quite well. Mainly Angular and others use other frameworks. 22:08 – Panel: Conference and asking for people to contribute? (Yes.) That sounds great for an active community. Getting hard jobs in tech is hard but maybe hard in specific places. 22:39 – Peter: It is great the great one for React b/c of the popularity in React. React or Angular; one of the two. 23:12 – Panel: If you know your stuff you are good to go? 23:19 – Peter: Yes. Microsoft’s .NET is quite stable. 23:37 – Panel: You are starting a startup is that common in Nigeria? 23:49 – Peter: The startup is small actually. 24:37 – Panel: Are you in the capitol? (Yes.) There is a misconception there that people think you have to be in the California or bay area, and you can see that it’s not true. You can create cool things no matter where you are! 25:08 – Peter: It’s great to see the diversity. 25:14 – Panel: I think it’s cool what you are doing. I am glad you wrote an article. What is HospitalRun? 25:42 – Peter: It’s a hospital management system to work offline first. To use them in remote areas where there is no connectivity. 27:08 – Panel: It’s an opensource project – Hospital.io. You are more the maintainer of the frontend right? 28:05 – Peter: Yes. 28:11 – Panel: A lot of hospitals are using this and need contributors and if you want to have a real difference check it out. What do you do as the maintainer are you reviewing code requests? 28:40 – Peter. 28:56 – Panel: Ember.js? 29:00 – Peter: No, I am being dumped into Ember into the deep-end. 29:20 – Panel: I think we are going to go to our picks now? How can 29:30 – Peter: Twitter and email. Check out the show notes! 29:50 – Panel: Picks! 29:58 – Advertisement – Fresh Books! DEVCHAT code. 30-day trial. Links: Vue React Angular JavaScript DevChat TV Can I Use Websocket? Demopuppy.com HospitalRun.io What are the best tools for automating social media growth? Peter Mbanugo’s Twitter Peter Mbanugo’s Email: p.mbanugo@yahoo.com Peter’s blogs Vue Mastery Hoodie Meetups Hamoni Sponsors: Fresh Books Cache Fly Kendo UI Get A Coder Job! Picks: Joe Dungeon and Dragons recordings coming soon on YouTube Blog - Good Bye Redux John Talk like a pirate day I Can Use Product Hunt Vue Mastery Peter Hoodie Vue Dev Tools Ego is the Enemy Eric Halt and Catch fire Vue.JS in Action
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
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