POPULARITY
Your messaging should change as you move through the funnel, but are you mindful of when and how it should change? This week on INSIDE Inside Sales, Darryl is joined by sales training and communications expert Jeff Molander. Darryl and Jeff dive right into how you should be communicating with your clients and go over the high-level risks associated with poor communication, such as inadvertently making yourself a commodity instead of a powerful growth engine. They also share valuable tips on how and when to switch from sounding like a marketer to becoming a trusted advisor. Learn how you can use tactful communication to achieve greater impact on this episode of INSIDE Inside Sales! About Darryl's Guest: There are a lot of social media experts speaking on engaging customers with Facebook, YouTube and blogs but only one showing how to make them produce leads and sales: Jeff Molander. He is demystifying social media—showing businesses large and small how to break old paradigms that limit their success. Jeff revs up crowds by proving how the hyped-up social media revolution is distracting us from the real opportunity—to evolve beyond the platitudes of social media gurus. Insightful, practical and passionate, Jeff is a sought-after corporate trainer to global corporations and an accomplished entrepreneur having co-founded the agency that is now the Google Affiliate Network. He is adjunct digital marketing faculty at Loyola University’s school of business and his new book, Off The Hook Marketing: How to Make Social Media Sell for You, is first to offer a clear, practical way to create leads, sales on social platforms. Jeff's passion is palpable as he combines exciting social media success stories with 3 principles that bring audiences closer to making the sale. Audiences walk away from his engaging presentations with clarity on how to create more leads and sales using a practical, hype-free approach to social media technologies. Along the way, Jeff humorously throws rocks at his audiences' enemies (self-anointed social media “gurus”), confirms gnawing suspicions and encourages their dreams. Most importantly, he provides clear, “next steps” that are already creating results for others—including his own publishing and speaking business! INSIDE Inside Sales is hosted by Darryl Praill, CMO of VanillaSoft which is a program on the Funnel Radio Channel. VanillaSoft is the sponsor for INSIDE Inside Sales.
After building multiple six and even a seven-figure business by age 30 with nothing but hard work and determination, Tiffany Largie, CEO of Do the Damn Thing Nation, now speaks around the world. She is the best I’ve met at helping others tell their story and she’s shown me a truly different way to tell mine and also how powerful it can be in the world. Tiffany’s thoughts on the critical nature of your story, the importance of trusting yourself, and why you should stop thinking small will challenge you. About the Guest: There was no magic bullet for coast-to-coast business and sales strategist, Tiffany Largie. She went from being a single mom to building three six-figure businesses, and on to a seven-figure business by the age of 30. Tiffany began with no capital but sheer hard work and determination. Today she helps people create the income, influence, and impact they dream of. She's the creator of Onwards to Freedom, a group that offers business training and support to idea-driven entrepreneurs. She speaks around the world on sales strategy, entrepreneurship, and profit-building. She has dedicated her life to end small thinking worldwide. Personal Links: www.tiffanylargie.com www.tiffanylargie.com/apply. www.Crushitwithyourstory.com https://www.facebook.com/onwardstofreedom Resource Links: Think and Grow Rich: https://amzn.to/2tB92MX I Can’t Make This Up: https://amzn.to/3fiT64I Blue Ocean Shift: https://amzn.to/3b0qPwz About the Host: Dan McPherson, International Speaker, Business and Personal Development Coach, and CEO of Leaders Must Lead, is on a mission to help Creatives and Entrepreneurs create and grow profit and understand that Dreams ARE Real. With more than 25 years’ experience in corporate roles leading teams of up to 2000 and responsible for more than $150M in revenue, Dan is a recognized expert in leadership, sales, and business strategy. Through his Leaders Must Learn Mastermind, Dreams ARE Real Podcast, Foundations of Success Training, and powerful 1-1 coaching, Dan helps hundreds of entrepreneurs around the world from musicians and artists to chiropractors, coaches, retailers, and beyond experience success and accomplish their goals. To learn more about Dan or to follow him on Social Media, you can find him on: Website: www.leadersmustlead.com Leaders Must Lead Facebook: https://www.facebook.com/leadersmustlead Free Coaching Assessment: https://leadersmustlead.com/free-coaching-assessment Dreams are Real Facebook: https://www.facebook.com/groups/365493184118010/ Instagram: https://www.instagram.com/leadersmustlead/ Twitter: https://twitter.com/leadersmustlead YouTube: https://www.youtube.com/channel/UCZXypDeFKyZnpeQXcX-AsBQ Thanks for listening! Thanks so much for listening to my podcast! If you enjoyed this episode and think that others could benefit from listening, please share it using the social media buttons on this page. Do you have some feedback or questions about this episode? Leave a note in the comment section below! Subscribe to the podcast If you would like to get automatic updates of new podcast episodes, you can subscribe to the podcast on iTunes or Stitcher. You can also subscribe from the podcast app on your mobile device. Leave us an iTunes review Ratings and reviews from our listeners are extremely valuable to me and greatly appreciated. They help my podcast rank higher on iTunes, which exposes the show to more awesome listeners like you. If you have a minute, please leave an honest review on iTunes.
Panel: Charles Max Wood Joe Eames Aaron Frost Alyssa Nicoll Special Guests: Brian Love & Kevin Schuchard In this episode, the panelist talk with today’s special guests Brian Love & Kevin Schuchard! Brian and Kevin work at BrieBug – check out their employee profiles here! The panelist and guests talk about schematics, Angular, AST, and much more! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Chuck: Hello! Our panel today is Joe, Aaron, Alyssa, and myself. We have two guests today, and we are going to talk about schematics. Let’s dive into that! 1:46 – Guest: Schematics is a library that is coming out of Angular and the Angular Team. The guest gives a definition of Angular Schematics. 2:26 – Alyssa. 2:31 – Kevin: The functionality that you are hoping for depends on the CLI that you are on. 3:00 – Alyssa: Sorry for diving into the juicy stuff but we forgot to talk about your introductions! 3:19 – The guests talk about their backgrounds and introduce themselves to the panel and the listeners. 3:49 – Alyssa. 3:54 – Guest continues. 4:21 – Panel: Crazy and busy! 4:28 – Alyssa. 4:31 – Kevin: I am Senior Developer, and I have worked here for a few years. I have had the opportunities to write some schematics for the company and some of my own schematics. 4:53 – Alyssa: Aren’t you so proud that you are a “Senior Developer”?! 5:10 – Guest and panelists go back-and-forth. 6:23 – Guests: We want people to be familiar with schematics and start their journey with schematics. 6:50 – Panel: It’s kind of trippy isn’t that right? 7:00 – Guest: Yeah there are hurdles to learning schematics at first – for sure. 7:22 – Alyssa: What is AST? 7:29 – Guest gives a definition of AST and goes into much detail about this. 10:00 – Alyssa: I think I understand, now, what AST is. Thanks. Alyssa asks the guests a question. 10:14 – Guest answers the question about AST. 10:51 – Guest continues. 11:27 – Panelist is talking about the AST and schematics. 12:03 – Guest: You can read the whole file and using the AST you can figure out where you went to enter the text. 12:25 – Alyssa asks a question. 12:28 – Guest: We are not the developers of schematics, but we are just here to share our knowledge. I want to be super clear here. 13:39 – Panelist talks about schematics, CLI, and AST. 14:18 – Guest: You don’t have to know all about AST and everything there is to know to get into it. You can build schematics w/o getting into AST. Just to be clear. 14:39 – Alyssa asks a follow-up question. 14:41 – Guest continues. 15:57 – Guest: AST has been around for a while – it’s not a new thing it’s kind of an old thing. Guest talks about tools (Code Shift) that Facebook has built that is related to this topic. 17:22 – Guest: Yeah AST has been around for a while. 17:28 – Alyssa asks a question about Code Shift. 17:36 – Guest. 18:21 – Panel and guest go back-and-forth. 19:51 – Alyssa: You said you really don’t need to get into AST to do schematics – right? (Yes.) Alyssa asks a question. 20:19 – Guest: There are two pieces with schematics and that’s adding of new files and you can decide which pieces of the templates you want to be compiled. 21:58 – Chuck: For schematics you mentioned you could drop strings in. Chuck asks a question. 22:29 – Guest answers the question with a hypothetical situation. 23:09 – Chuck: I read the article you wrote and I have a question about your article. Tell me about the tree? 23:29 – Guest talks about the tree or aka the host. 25:40 – Guest: The tree is a virtual kind of context and it’s not committing all of the changes to the file system. Whether that is adding, deleting, or updating these files. 26:10 – Chuck: Makes sense to me. 26:15 – Guest continues talking about schematics. 26:53 – Alyssa: Yeoman is a replacement for schematics? 27:05 – Guest: It’s a lightweight alternative. 27:33 – Advertisement: Angular Boot Camp 28:10 – Chuck: How does one build a schematic? 28:16 – Guest answers the question. 30:34 – Panel: What’s the latest thing you’ve built? Talk about that, please. 30:40 – Guest: It’s a schematic and took what we’ve learned to set you up for a starter project. It starts with a blank project. 32:57 – Panel: You are just talking some lessons learned and you are saying this is how Kevin says to do it. You’ve packaged that up 33:26 – Guest: Yep I have found things that work and there isn’t any magic but put these practices together and made a repository to help testing and making schematics. 33:55 – Panel and guests go back-and-forth. 34:20 – Chuck: Let’s say I’ve built this schematic and Frosty wants to share it with his friends. How do we do that? How do you share it? Is there some component that you’ve built? 35:06 – Guest: It depends on what you are doing with it. 36:14 – Chuck: For mass production, though? 36:25 – Guest: I think Chuck is wondering about discoverability. Guest continues and he mentions prettier, extensions, among other things. 37:18 – Guest: I think it’s my favorite about schematics and it’s Kevin’s. 37:40 – Guest. 38:20 – Guest continues talking about schematics and ng-conf. 38:57 – Guest talks about libraries. 40:12 – Chuck: Anything else? Do you NPM install it and it’s just there? 40:29 – Guest: There are 2 ways to go about it. 53:05 – Fresh Books! END – CacheFly! Links: Vue jQuery Angular JavaScript Python React Cypress Yeoman Apache Groovy GitHub: prettier NG Conf Brian Love’s Website Kevin Schuchard’s LinkedIn BrieBug Blog Angular Schematics Tutorial Testing Schematics with a Sandbox + starter project GitHub: Schematic Starter Getting started blog post by Hans Schematics by Manfred Steyer Angular and Material CLI schematics 1 Angular and Material CLI schematics 2 AST Explorer Evening of Angular Example Schematic project with Sandbox: (Written by Kevin) https://github.com/briebug/jest-schematic https://github.com/schuchard/prettier-schematic https://github.com/briebug/ngrx-entity-schematic https://github.com/blove/schematics Sponsors: Angular Boot Camp Cache Fly Get A Coder Job Picks: Joe Brian Love BrieBug Schematics NGConf. Minified Aaron Ice Fishing Smoking Trout Joe Eames as Dungeon Master for DND NPM JS Survey Charles Alexa Briefing EntreProgrammers.com KanBanflow Pomodoro Technique Kevin Angular Material Open Source Projects Brian Angular.io Visits on Twitter Angular Community Jesse Sanders An evening of Angular Event
Panel: Charles Max Wood Joe Eames Aaron Frost Alyssa Nicoll Special Guests: Brian Love & Kevin Schuchard In this episode, the panelist talk with today’s special guests Brian Love & Kevin Schuchard! Brian and Kevin work at BrieBug – check out their employee profiles here! The panelist and guests talk about schematics, Angular, AST, and much more! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Chuck: Hello! Our panel today is Joe, Aaron, Alyssa, and myself. We have two guests today, and we are going to talk about schematics. Let’s dive into that! 1:46 – Guest: Schematics is a library that is coming out of Angular and the Angular Team. The guest gives a definition of Angular Schematics. 2:26 – Alyssa. 2:31 – Kevin: The functionality that you are hoping for depends on the CLI that you are on. 3:00 – Alyssa: Sorry for diving into the juicy stuff but we forgot to talk about your introductions! 3:19 – The guests talk about their backgrounds and introduce themselves to the panel and the listeners. 3:49 – Alyssa. 3:54 – Guest continues. 4:21 – Panel: Crazy and busy! 4:28 – Alyssa. 4:31 – Kevin: I am Senior Developer, and I have worked here for a few years. I have had the opportunities to write some schematics for the company and some of my own schematics. 4:53 – Alyssa: Aren’t you so proud that you are a “Senior Developer”?! 5:10 – Guest and panelists go back-and-forth. 6:23 – Guests: We want people to be familiar with schematics and start their journey with schematics. 6:50 – Panel: It’s kind of trippy isn’t that right? 7:00 – Guest: Yeah there are hurdles to learning schematics at first – for sure. 7:22 – Alyssa: What is AST? 7:29 – Guest gives a definition of AST and goes into much detail about this. 10:00 – Alyssa: I think I understand, now, what AST is. Thanks. Alyssa asks the guests a question. 10:14 – Guest answers the question about AST. 10:51 – Guest continues. 11:27 – Panelist is talking about the AST and schematics. 12:03 – Guest: You can read the whole file and using the AST you can figure out where you went to enter the text. 12:25 – Alyssa asks a question. 12:28 – Guest: We are not the developers of schematics, but we are just here to share our knowledge. I want to be super clear here. 13:39 – Panelist talks about schematics, CLI, and AST. 14:18 – Guest: You don’t have to know all about AST and everything there is to know to get into it. You can build schematics w/o getting into AST. Just to be clear. 14:39 – Alyssa asks a follow-up question. 14:41 – Guest continues. 15:57 – Guest: AST has been around for a while – it’s not a new thing it’s kind of an old thing. Guest talks about tools (Code Shift) that Facebook has built that is related to this topic. 17:22 – Guest: Yeah AST has been around for a while. 17:28 – Alyssa asks a question about Code Shift. 17:36 – Guest. 18:21 – Panel and guest go back-and-forth. 19:51 – Alyssa: You said you really don’t need to get into AST to do schematics – right? (Yes.) Alyssa asks a question. 20:19 – Guest: There are two pieces with schematics and that’s adding of new files and you can decide which pieces of the templates you want to be compiled. 21:58 – Chuck: For schematics you mentioned you could drop strings in. Chuck asks a question. 22:29 – Guest answers the question with a hypothetical situation. 23:09 – Chuck: I read the article you wrote and I have a question about your article. Tell me about the tree? 23:29 – Guest talks about the tree or aka the host. 25:40 – Guest: The tree is a virtual kind of context and it’s not committing all of the changes to the file system. Whether that is adding, deleting, or updating these files. 26:10 – Chuck: Makes sense to me. 26:15 – Guest continues talking about schematics. 26:53 – Alyssa: Yeoman is a replacement for schematics? 27:05 – Guest: It’s a lightweight alternative. 27:33 – Advertisement: Angular Boot Camp 28:10 – Chuck: How does one build a schematic? 28:16 – Guest answers the question. 30:34 – Panel: What’s the latest thing you’ve built? Talk about that, please. 30:40 – Guest: It’s a schematic and took what we’ve learned to set you up for a starter project. It starts with a blank project. 32:57 – Panel: You are just talking some lessons learned and you are saying this is how Kevin says to do it. You’ve packaged that up 33:26 – Guest: Yep I have found things that work and there isn’t any magic but put these practices together and made a repository to help testing and making schematics. 33:55 – Panel and guests go back-and-forth. 34:20 – Chuck: Let’s say I’ve built this schematic and Frosty wants to share it with his friends. How do we do that? How do you share it? Is there some component that you’ve built? 35:06 – Guest: It depends on what you are doing with it. 36:14 – Chuck: For mass production, though? 36:25 – Guest: I think Chuck is wondering about discoverability. Guest continues and he mentions prettier, extensions, among other things. 37:18 – Guest: I think it’s my favorite about schematics and it’s Kevin’s. 37:40 – Guest. 38:20 – Guest continues talking about schematics and ng-conf. 38:57 – Guest talks about libraries. 40:12 – Chuck: Anything else? Do you NPM install it and it’s just there? 40:29 – Guest: There are 2 ways to go about it. 53:05 – Fresh Books! END – CacheFly! Links: Vue jQuery Angular JavaScript Python React Cypress Yeoman Apache Groovy GitHub: prettier NG Conf Brian Love’s Website Kevin Schuchard’s LinkedIn BrieBug Blog Angular Schematics Tutorial Testing Schematics with a Sandbox + starter project GitHub: Schematic Starter Getting started blog post by Hans Schematics by Manfred Steyer Angular and Material CLI schematics 1 Angular and Material CLI schematics 2 AST Explorer Evening of Angular Example Schematic project with Sandbox: (Written by Kevin) https://github.com/briebug/jest-schematic https://github.com/schuchard/prettier-schematic https://github.com/briebug/ngrx-entity-schematic https://github.com/blove/schematics Sponsors: Angular Boot Camp Cache Fly Get A Coder Job Picks: Joe Brian Love BrieBug Schematics NGConf. Minified Aaron Ice Fishing Smoking Trout Joe Eames as Dungeon Master for DND NPM JS Survey Charles Alexa Briefing EntreProgrammers.com KanBanflow Pomodoro Technique Kevin Angular Material Open Source Projects Brian Angular.io Visits on Twitter Angular Community Jesse Sanders An evening of Angular Event
Panel: Charles Max Wood Joe Eames Aaron Frost Alyssa Nicoll Special Guests: Brian Love & Kevin Schuchard In this episode, the panelist talk with today’s special guests Brian Love & Kevin Schuchard! Brian and Kevin work at BrieBug – check out their employee profiles here! The panelist and guests talk about schematics, Angular, AST, and much more! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Chuck: Hello! Our panel today is Joe, Aaron, Alyssa, and myself. We have two guests today, and we are going to talk about schematics. Let’s dive into that! 1:46 – Guest: Schematics is a library that is coming out of Angular and the Angular Team. The guest gives a definition of Angular Schematics. 2:26 – Alyssa. 2:31 – Kevin: The functionality that you are hoping for depends on the CLI that you are on. 3:00 – Alyssa: Sorry for diving into the juicy stuff but we forgot to talk about your introductions! 3:19 – The guests talk about their backgrounds and introduce themselves to the panel and the listeners. 3:49 – Alyssa. 3:54 – Guest continues. 4:21 – Panel: Crazy and busy! 4:28 – Alyssa. 4:31 – Kevin: I am Senior Developer, and I have worked here for a few years. I have had the opportunities to write some schematics for the company and some of my own schematics. 4:53 – Alyssa: Aren’t you so proud that you are a “Senior Developer”?! 5:10 – Guest and panelists go back-and-forth. 6:23 – Guests: We want people to be familiar with schematics and start their journey with schematics. 6:50 – Panel: It’s kind of trippy isn’t that right? 7:00 – Guest: Yeah there are hurdles to learning schematics at first – for sure. 7:22 – Alyssa: What is AST? 7:29 – Guest gives a definition of AST and goes into much detail about this. 10:00 – Alyssa: I think I understand, now, what AST is. Thanks. Alyssa asks the guests a question. 10:14 – Guest answers the question about AST. 10:51 – Guest continues. 11:27 – Panelist is talking about the AST and schematics. 12:03 – Guest: You can read the whole file and using the AST you can figure out where you went to enter the text. 12:25 – Alyssa asks a question. 12:28 – Guest: We are not the developers of schematics, but we are just here to share our knowledge. I want to be super clear here. 13:39 – Panelist talks about schematics, CLI, and AST. 14:18 – Guest: You don’t have to know all about AST and everything there is to know to get into it. You can build schematics w/o getting into AST. Just to be clear. 14:39 – Alyssa asks a follow-up question. 14:41 – Guest continues. 15:57 – Guest: AST has been around for a while – it’s not a new thing it’s kind of an old thing. Guest talks about tools (Code Shift) that Facebook has built that is related to this topic. 17:22 – Guest: Yeah AST has been around for a while. 17:28 – Alyssa asks a question about Code Shift. 17:36 – Guest. 18:21 – Panel and guest go back-and-forth. 19:51 – Alyssa: You said you really don’t need to get into AST to do schematics – right? (Yes.) Alyssa asks a question. 20:19 – Guest: There are two pieces with schematics and that’s adding of new files and you can decide which pieces of the templates you want to be compiled. 21:58 – Chuck: For schematics you mentioned you could drop strings in. Chuck asks a question. 22:29 – Guest answers the question with a hypothetical situation. 23:09 – Chuck: I read the article you wrote and I have a question about your article. Tell me about the tree? 23:29 – Guest talks about the tree or aka the host. 25:40 – Guest: The tree is a virtual kind of context and it’s not committing all of the changes to the file system. Whether that is adding, deleting, or updating these files. 26:10 – Chuck: Makes sense to me. 26:15 – Guest continues talking about schematics. 26:53 – Alyssa: Yeoman is a replacement for schematics? 27:05 – Guest: It’s a lightweight alternative. 27:33 – Advertisement: Angular Boot Camp 28:10 – Chuck: How does one build a schematic? 28:16 – Guest answers the question. 30:34 – Panel: What’s the latest thing you’ve built? Talk about that, please. 30:40 – Guest: It’s a schematic and took what we’ve learned to set you up for a starter project. It starts with a blank project. 32:57 – Panel: You are just talking some lessons learned and you are saying this is how Kevin says to do it. You’ve packaged that up 33:26 – Guest: Yep I have found things that work and there isn’t any magic but put these practices together and made a repository to help testing and making schematics. 33:55 – Panel and guests go back-and-forth. 34:20 – Chuck: Let’s say I’ve built this schematic and Frosty wants to share it with his friends. How do we do that? How do you share it? Is there some component that you’ve built? 35:06 – Guest: It depends on what you are doing with it. 36:14 – Chuck: For mass production, though? 36:25 – Guest: I think Chuck is wondering about discoverability. Guest continues and he mentions prettier, extensions, among other things. 37:18 – Guest: I think it’s my favorite about schematics and it’s Kevin’s. 37:40 – Guest. 38:20 – Guest continues talking about schematics and ng-conf. 38:57 – Guest talks about libraries. 40:12 – Chuck: Anything else? Do you NPM install it and it’s just there? 40:29 – Guest: There are 2 ways to go about it. 53:05 – Fresh Books! END – CacheFly! Links: Vue jQuery Angular JavaScript Python React Cypress Yeoman Apache Groovy GitHub: prettier NG Conf Brian Love’s Website Kevin Schuchard’s LinkedIn BrieBug Blog Angular Schematics Tutorial Testing Schematics with a Sandbox + starter project GitHub: Schematic Starter Getting started blog post by Hans Schematics by Manfred Steyer Angular and Material CLI schematics 1 Angular and Material CLI schematics 2 AST Explorer Evening of Angular Example Schematic project with Sandbox: (Written by Kevin) https://github.com/briebug/jest-schematic https://github.com/schuchard/prettier-schematic https://github.com/briebug/ngrx-entity-schematic https://github.com/blove/schematics Sponsors: Angular Boot Camp Cache Fly Get A Coder Job Picks: Joe Brian Love BrieBug Schematics NGConf. Minified Aaron Ice Fishing Smoking Trout Joe Eames as Dungeon Master for DND NPM JS Survey Charles Alexa Briefing EntreProgrammers.com KanBanflow Pomodoro Technique Kevin Angular Material Open Source Projects Brian Angular.io Visits on Twitter Angular Community Jesse Sanders An evening of Angular Event
Panel: Charles Max Wood Aimee Knight Chris Ferdinandi Joe Eames Special Guest: Heydon Pickering In this episode, the panel talks with Heydon Pickering who is a designer and writer. The panel and the guest talk about his new book, which is centered on the topic of today’s show: inclusive components. Check out Heydon’s Twitter, Website, GitHub, and Mastodon social accounts to learn more about him. To purchase the book – go here! Show Topics: 0:00 – Advertisement: KENDO UI 0:38 – Chuck: Aimee, Chris, Joe, and myself – we are today’s panel. My show the DevRev is available online to check it out. 1:30 – Guest: Plain ice cream would be frozen milk and that would be terrible. So I am lemon and candy JavaScript! 2:13 – Chuck: We are talking today about...? 2:22 – Chris: He’s talking about “inclusive components” today! 2:41 – Guest: Traveling is very stressful and I wanted something to do on the plane. I’ve done this book, “Inclusive Design Patterns.” If you don’t want to buy the book you can go to the blog. I have been talking with Smashing Magazine. 5:40 – Panel. 5:47 – Guest: I approached Smashing Magazine initially. They didn’t think there was a market for this content at the time. They were very supportive but we will do it as an eBook so our costs our down. At the time, the editor came back and said that: “it was quite good!” We skimmed it but came back to it now and now the content was more relevant in their eyes. I didn’t want to do the same book but I wanted to do it around “patterns.” Rewriting components is what I do all the time. I use Vanilla JavaScript. Backbone.js is the trendy one. 9:52 – Panel: The hard book did it get published? 10:02 – Guest: We are in the works and it’s all in the final stages right now. It has to go through a different process for the print version. 11:54 – Panel. 11:58 – (Guest continues about the editorial process.) 12:09 – Panel: They probably switched to TFS – it’s Microsoft’s. 12:23 – Guest: There was this argument on Twitter about the different processors. 13:35 – Chris: What are the ways that people are breaking accessibility with their code through JavaScript? 13:59 – Guest: The whole premise is that there aren’t a ton of different components that we use. Generally, speaking. Most things we do through JavaScript – it’s just different ways of doing this/that, and hiding things. I am discounting things with Node or other stuff. Most of what we are doing, with interactive design, is showing and hiding. 18:37 – Chris: I have some specialty friends where they tell me where I’ve screwed up my code. For example Eric Bailey and Scott O’Hara but, of course, in very kind ways. What are some things that I can make sure that my code is going to work for many different people. 19:18 – Guest: You have accessibility and inclusive design. People think of accessibility as a check-list and that’s okay but there could be problems with this. 26:00 – Panel: That’s a great guideline. 26:05 – Chris: You talked about ARIA roles and it can be confusing. One side is: I don’t know when to use these and the other side is: I don’t know when NOT to use these so I’m going to use them for EVERYTHING! I guess both can be detrimental. What’s your advice on this topic? 27:00 – Guest: Scott is great and I would trust him to the end of the Earth about what he says. Guest mentions Léonie Watson and her talks about this topic. 29:26 – (Guest continues.) 29:36 – Advertisement – Sentry.io 30:31 – Chris. 30:40 – Guest: There is a lot of pressure, though, right? People wouldn’t blog about this if it wasn’t worthwhile. It doesn’t matter what the style is or what the syntax is. The guest talks about not throwing ARIA onto everything. 36:34 – Aimee: Is this something that was mentioned in the book: people with disabilities and accessibility. 37:28 – Guest: Yes, of course. I think it’s important to make your interfaces flexible and robust to think and include people with disabilities. 39:00 – Guest mentions larger buttons. 40:52 – Panelists and Guest talk back-and-forth. 42:22 – Chris: It’s an accessibility and inclusivity element. I saw a dropdown menu and worked great on certain devices but not others. I could beat this horse all day long but the whole: what happens of the JavaScript file doesn’t load or just accordion options? 43:50 – Guest: It’s the progressive enhancement element. 44:05 – Guest: I think it’s worth noting. I think these things dovetail really nicely. 46:29 – Chris: Did you do a video interview, Aimee, talking about CSS? Is CSS better than JavaScript in some ways I don’t know if this is related or not? 47:03 – Aimee: When I talk about JavaScript vs. CSS...the browser optimizes those. 47:27 – Aimee: But as someone who loves JavaScript...and then some very talented people taught me that you have to find the right tool for the job. 47:29 – Guest: I am the other way around – interesting. 52:50 – Chuck: Picks! 52:55 – Advertisement – Get A Coder Job! END – Advertisement: CacheFly! Links: JavaScript Backbone.js Microsoft’s TFS Léonie Watson React Elixir Ember.js Vue GO jQuery Node.js Puppeteer Cypress Heydon’s GitHub Heydon’s Mastodon Heydon’s Book Medium Article on Heydon Heydon’s Website Heydon’s Twitter Sponsors: DevLifts Kendo UI Sentry CacheFly Picks: Joe Chris Ferdinandi's Blog Luxur board game Cypress.io Aimee Blog about interviewing Birthday Cake Quest Bar Chris Web Dev Career Guide: https://gomakethings.com/career-guide/ Use FREECAREER at checkout to get it for free Neapolitan Ice Cream Netflix Web Performance case study Charles Disney Heroes Battle Mode MFCEO Project Podcast Gary Lee Audio Experience Suggestions for JavaScript Jabber Heydon Bruck What is Mastodon and why should I use it?
Panel: Charles Max Wood Aimee Knight Chris Ferdinandi Joe Eames Special Guest: Heydon Pickering In this episode, the panel talks with Heydon Pickering who is a designer and writer. The panel and the guest talk about his new book, which is centered on the topic of today’s show: inclusive components. Check out Heydon’s Twitter, Website, GitHub, and Mastodon social accounts to learn more about him. To purchase the book – go here! Show Topics: 0:00 – Advertisement: KENDO UI 0:38 – Chuck: Aimee, Chris, Joe, and myself – we are today’s panel. My show the DevRev is available online to check it out. 1:30 – Guest: Plain ice cream would be frozen milk and that would be terrible. So I am lemon and candy JavaScript! 2:13 – Chuck: We are talking today about...? 2:22 – Chris: He’s talking about “inclusive components” today! 2:41 – Guest: Traveling is very stressful and I wanted something to do on the plane. I’ve done this book, “Inclusive Design Patterns.” If you don’t want to buy the book you can go to the blog. I have been talking with Smashing Magazine. 5:40 – Panel. 5:47 – Guest: I approached Smashing Magazine initially. They didn’t think there was a market for this content at the time. They were very supportive but we will do it as an eBook so our costs our down. At the time, the editor came back and said that: “it was quite good!” We skimmed it but came back to it now and now the content was more relevant in their eyes. I didn’t want to do the same book but I wanted to do it around “patterns.” Rewriting components is what I do all the time. I use Vanilla JavaScript. Backbone.js is the trendy one. 9:52 – Panel: The hard book did it get published? 10:02 – Guest: We are in the works and it’s all in the final stages right now. It has to go through a different process for the print version. 11:54 – Panel. 11:58 – (Guest continues about the editorial process.) 12:09 – Panel: They probably switched to TFS – it’s Microsoft’s. 12:23 – Guest: There was this argument on Twitter about the different processors. 13:35 – Chris: What are the ways that people are breaking accessibility with their code through JavaScript? 13:59 – Guest: The whole premise is that there aren’t a ton of different components that we use. Generally, speaking. Most things we do through JavaScript – it’s just different ways of doing this/that, and hiding things. I am discounting things with Node or other stuff. Most of what we are doing, with interactive design, is showing and hiding. 18:37 – Chris: I have some specialty friends where they tell me where I’ve screwed up my code. For example Eric Bailey and Scott O’Hara but, of course, in very kind ways. What are some things that I can make sure that my code is going to work for many different people. 19:18 – Guest: You have accessibility and inclusive design. People think of accessibility as a check-list and that’s okay but there could be problems with this. 26:00 – Panel: That’s a great guideline. 26:05 – Chris: You talked about ARIA roles and it can be confusing. One side is: I don’t know when to use these and the other side is: I don’t know when NOT to use these so I’m going to use them for EVERYTHING! I guess both can be detrimental. What’s your advice on this topic? 27:00 – Guest: Scott is great and I would trust him to the end of the Earth about what he says. Guest mentions Léonie Watson and her talks about this topic. 29:26 – (Guest continues.) 29:36 – Advertisement – Sentry.io 30:31 – Chris. 30:40 – Guest: There is a lot of pressure, though, right? People wouldn’t blog about this if it wasn’t worthwhile. It doesn’t matter what the style is or what the syntax is. The guest talks about not throwing ARIA onto everything. 36:34 – Aimee: Is this something that was mentioned in the book: people with disabilities and accessibility. 37:28 – Guest: Yes, of course. I think it’s important to make your interfaces flexible and robust to think and include people with disabilities. 39:00 – Guest mentions larger buttons. 40:52 – Panelists and Guest talk back-and-forth. 42:22 – Chris: It’s an accessibility and inclusivity element. I saw a dropdown menu and worked great on certain devices but not others. I could beat this horse all day long but the whole: what happens of the JavaScript file doesn’t load or just accordion options? 43:50 – Guest: It’s the progressive enhancement element. 44:05 – Guest: I think it’s worth noting. I think these things dovetail really nicely. 46:29 – Chris: Did you do a video interview, Aimee, talking about CSS? Is CSS better than JavaScript in some ways I don’t know if this is related or not? 47:03 – Aimee: When I talk about JavaScript vs. CSS...the browser optimizes those. 47:27 – Aimee: But as someone who loves JavaScript...and then some very talented people taught me that you have to find the right tool for the job. 47:29 – Guest: I am the other way around – interesting. 52:50 – Chuck: Picks! 52:55 – Advertisement – Get A Coder Job! END – Advertisement: CacheFly! Links: JavaScript Backbone.js Microsoft’s TFS Léonie Watson React Elixir Ember.js Vue GO jQuery Node.js Puppeteer Cypress Heydon’s GitHub Heydon’s Mastodon Heydon’s Book Medium Article on Heydon Heydon’s Website Heydon’s Twitter Sponsors: DevLifts Kendo UI Sentry CacheFly Picks: Joe Chris Ferdinandi's Blog Luxur board game Cypress.io Aimee Blog about interviewing Birthday Cake Quest Bar Chris Web Dev Career Guide: https://gomakethings.com/career-guide/ Use FREECAREER at checkout to get it for free Neapolitan Ice Cream Netflix Web Performance case study Charles Disney Heroes Battle Mode MFCEO Project Podcast Gary Lee Audio Experience Suggestions for JavaScript Jabber Heydon Bruck What is Mastodon and why should I use it?
Panel: Charles Max Wood Aimee Knight Chris Ferdinandi Joe Eames Special Guest: Heydon Pickering In this episode, the panel talks with Heydon Pickering who is a designer and writer. The panel and the guest talk about his new book, which is centered on the topic of today’s show: inclusive components. Check out Heydon’s Twitter, Website, GitHub, and Mastodon social accounts to learn more about him. To purchase the book – go here! Show Topics: 0:00 – Advertisement: KENDO UI 0:38 – Chuck: Aimee, Chris, Joe, and myself – we are today’s panel. My show the DevRev is available online to check it out. 1:30 – Guest: Plain ice cream would be frozen milk and that would be terrible. So I am lemon and candy JavaScript! 2:13 – Chuck: We are talking today about...? 2:22 – Chris: He’s talking about “inclusive components” today! 2:41 – Guest: Traveling is very stressful and I wanted something to do on the plane. I’ve done this book, “Inclusive Design Patterns.” If you don’t want to buy the book you can go to the blog. I have been talking with Smashing Magazine. 5:40 – Panel. 5:47 – Guest: I approached Smashing Magazine initially. They didn’t think there was a market for this content at the time. They were very supportive but we will do it as an eBook so our costs our down. At the time, the editor came back and said that: “it was quite good!” We skimmed it but came back to it now and now the content was more relevant in their eyes. I didn’t want to do the same book but I wanted to do it around “patterns.” Rewriting components is what I do all the time. I use Vanilla JavaScript. Backbone.js is the trendy one. 9:52 – Panel: The hard book did it get published? 10:02 – Guest: We are in the works and it’s all in the final stages right now. It has to go through a different process for the print version. 11:54 – Panel. 11:58 – (Guest continues about the editorial process.) 12:09 – Panel: They probably switched to TFS – it’s Microsoft’s. 12:23 – Guest: There was this argument on Twitter about the different processors. 13:35 – Chris: What are the ways that people are breaking accessibility with their code through JavaScript? 13:59 – Guest: The whole premise is that there aren’t a ton of different components that we use. Generally, speaking. Most things we do through JavaScript – it’s just different ways of doing this/that, and hiding things. I am discounting things with Node or other stuff. Most of what we are doing, with interactive design, is showing and hiding. 18:37 – Chris: I have some specialty friends where they tell me where I’ve screwed up my code. For example Eric Bailey and Scott O’Hara but, of course, in very kind ways. What are some things that I can make sure that my code is going to work for many different people. 19:18 – Guest: You have accessibility and inclusive design. People think of accessibility as a check-list and that’s okay but there could be problems with this. 26:00 – Panel: That’s a great guideline. 26:05 – Chris: You talked about ARIA roles and it can be confusing. One side is: I don’t know when to use these and the other side is: I don’t know when NOT to use these so I’m going to use them for EVERYTHING! I guess both can be detrimental. What’s your advice on this topic? 27:00 – Guest: Scott is great and I would trust him to the end of the Earth about what he says. Guest mentions Léonie Watson and her talks about this topic. 29:26 – (Guest continues.) 29:36 – Advertisement – Sentry.io 30:31 – Chris. 30:40 – Guest: There is a lot of pressure, though, right? People wouldn’t blog about this if it wasn’t worthwhile. It doesn’t matter what the style is or what the syntax is. The guest talks about not throwing ARIA onto everything. 36:34 – Aimee: Is this something that was mentioned in the book: people with disabilities and accessibility. 37:28 – Guest: Yes, of course. I think it’s important to make your interfaces flexible and robust to think and include people with disabilities. 39:00 – Guest mentions larger buttons. 40:52 – Panelists and Guest talk back-and-forth. 42:22 – Chris: It’s an accessibility and inclusivity element. I saw a dropdown menu and worked great on certain devices but not others. I could beat this horse all day long but the whole: what happens of the JavaScript file doesn’t load or just accordion options? 43:50 – Guest: It’s the progressive enhancement element. 44:05 – Guest: I think it’s worth noting. I think these things dovetail really nicely. 46:29 – Chris: Did you do a video interview, Aimee, talking about CSS? Is CSS better than JavaScript in some ways I don’t know if this is related or not? 47:03 – Aimee: When I talk about JavaScript vs. CSS...the browser optimizes those. 47:27 – Aimee: But as someone who loves JavaScript...and then some very talented people taught me that you have to find the right tool for the job. 47:29 – Guest: I am the other way around – interesting. 52:50 – Chuck: Picks! 52:55 – Advertisement – Get A Coder Job! END – Advertisement: CacheFly! Links: JavaScript Backbone.js Microsoft’s TFS Léonie Watson React Elixir Ember.js Vue GO jQuery Node.js Puppeteer Cypress Heydon’s GitHub Heydon’s Mastodon Heydon’s Book Medium Article on Heydon Heydon’s Website Heydon’s Twitter Sponsors: DevLifts Kendo UI Sentry CacheFly Picks: Joe Chris Ferdinandi's Blog Luxur board game Cypress.io Aimee Blog about interviewing Birthday Cake Quest Bar Chris Web Dev Career Guide: https://gomakethings.com/career-guide/ Use FREECAREER at checkout to get it for free Neapolitan Ice Cream Netflix Web Performance case study Charles Disney Heroes Battle Mode MFCEO Project Podcast Gary Lee Audio Experience Suggestions for JavaScript Jabber Heydon Bruck What is Mastodon and why should I use it?
Panel: Charles Max Wood Mark Ericksen Special Guest: Brujo Benavides In this episode of Elixir Mix, the panel talks with Brujo Benavides (Argentina) who is a software engineer and uses a mix of Elixir, Erlang, and GO. They talk about the similarities and differences between Erlang and Elixir. Brujo talks about conferences that he organizes. You can find the guest through GitHub, Twitter, and About Me. Check it out! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:58 – Chuck: Our special guest is Brujo B.! Let’s talk about the topic today, which is: Lessons from a decade of Erlang! We really haven’t talked about Erlang in the past. 1:47 – Mark: Can you give us your introduction, please? 1:55 – Guest: I started programming at 10 years old. I translated a guest to Spanish. Then after school I started working with other languages, until I did my thesis at the university. I got hired and then while there they taught me Erlang. After 2 years the company went away and died. When that happened I had my honeymoon plan to go to Europe. I went to Poland and found a company that interviewed me, I passed the test, and got hired. The best solution I could ever make. I moved from developer to another position, to director and then to CEO. 6:16 – Chuck: You have been doing Erlang for a while. My brain said 10 years of Elixir and that’s not possible – my bad. When Erlang came onto the scene how did that affect you? 6:40 – Guest answers Chuck’s question. 9:06 – Chuck: See show note links, please. It’s cool to see that you took cautious approaches to the language. What’s the balance between Erlang and Elixir? 9:33 – Guest: It’s about 45/45, because I also do GO. I don’t really like GO, but it’s whatever. 9:59 – Chuck: What has changed in the last 10 years? 10:09 – Guest: It’s my personal view on this and what I see at conferences. I saw a change from beginning Elixir as much acceptance and the community is more open. The people are already so developed already. 11:53 – Mark: I know there is an effort to make the beam languages more compatible. I know using a colon in the name and there’s a lot of communication there. At the last conference, they were talking about this. I think it’s neat that the community is not fighting this. In the early days it seems that the Erlang community were fighting it – what’s that transfer been like? 13:00 – Guest: There were other languages outside of Elixir with the beam. They failed and didn’t catch-on. 15:00 – Panel: How have you liked/disliked coding in Elixir vs. Erlang? 15:14 – Guest: I like many things that Elixir and Erlang can offer. Elixir is a mature and young language. There are many things that they corrected from day one. One thing I don’t like about Amber is that... 17:36 – Mark: I also use it b/c it does give that consistency. It normalizes all the different ways you can code. When I review people’s code I will take the code formatter and get it to be normalized. I am happy with it and I will take it. 18:17 – Guest: Everybody understands everybody’s code. 18:48 – Guest mentions Elvis. See links below. 19:00 – Chuck: It’s interesting. It comes down to community and in some ways it’s not that Erlang community isn’t a good one, but sounds like... 19:17 – Guest: The other thing that happened with the Erlang community is the topic of building websites. In 2015 it was in the Elixir Conference in San Francisco – I think – this is what happened... 20:47 – Mark: I think it’s a credit to both communities. I’ve watched those talks before. I was watching these Erlang Conferences and there have been Elixir speakers there. Good collaboration and I’m happy for that. 21:19 – Chuck: Will these 2 technologies grow together? 21:30 – Guest: Great mix of talks from Erlang and Elixir and talking about how to build systems. 22:49 – Mark: This blog post that you wrote – see show note links before. Can you mention the main topics that you wrote within this blog post? General lessons you’ve learned? 23:23 – Guest: The most important is how we start building stuff over common abstractions. 26:07 – FreshBooks! 27:11 – Mark: You mentioned the behaviors and the abstraction that is available through OTP is through the genserver. Those are and yes it’s true to educate people you will start with a spawn to see how simple things are. Yes, you don’t build a system on that. 27:55 – Guest: I recommend the talk to Spanish speakers. See links below. I asked for a translation but he said no. 29:10 – Mark: You talked also about test-driven development. How has testing in the Erlang community from the past and how has it been influenced by Elixir if at all? 29:53 – Guest: I am not sure. 32:34 – Mark: I don’t know how to spawn another node and have a disconnect in a testing framework? There might be other ways to do it? I would like to borrow that between the two. I’ve built some code that is cluster aware. Yeah I would love to have integration tests. Maybe that is available through Elixir- thanks for talking about that! 33:27 – Chuck: Anything else? Let’s talk about the Sawn Fest! 33:40 – Guest: It started in 2011 and started with a contest that anybody could participate. Judicators judged it and then awards were given. 34:38 – Chuck. 34:44 – Guest: The next year in 2012 the sponsors gave prizes. We were eagerly waiting but there was no contest that year. 37:47 – Chuck and guest go back-and-forth. 37:57 – Guest: There is a team of four now. If you go to the website it actually looks amazing unlike last year!! 39:19 – Mark: People will not hear about this, though, at the time it broadcasts b/c your episode is coming out after Nov. 24th - 25th. Can you do the game/contest remotely? 39:54 – Guest: Yes, people are playing from around the world from India, Denmark, Romania, Africa, and China! So yes you can do it from your house. 40:18 – Mark: What can people do or see or read about the winners? And after-the-fact? 40:32 – Guest: Yes when judges are judging we make the depositories public!! 42:05 – Chuck: My Sunday’s are usually pretty full. 42:19 – Guest: Yes that happened to me. As an organizer I cannot quit b/c I still have to be there. Time with my wife and kid is important, but yes it’s fun! 42:43 – Mark: Yes that shows how passionate they are about the community and the language. 42:56 – Chuck: Mind-blown! 43:10 – Chuck: You organize some conferences right? 43:17 – Guest: Yes. 44:25 – Chuck: Anything else? 44:30 – Mark: Dialyzer and curious about you organizing a Meetup? I have organized an Elixir Meetup. With Meetups how can you tell us how to make it successful? Are you doing both Erlang and Elixir? How are you running it? 45:10 – Guest answers the question. 51:53 – Chuck: How can people find you? 52:00 – Guest: GitHub! Twitter! About Me! (See links below.) 52:19 – Chuck: Picks! 52:20 – Ad: Lootcrate.com END – CacheFly! Links: Ruby Elixir Elixir: GenServer GenServers Elm JavaScript Visual Studio Code React Erlang Solutions Inaka Inaka Credo_Server Erlang Solutions Elvis 114 RR Elixir Show 048 RR Show 10 Lessons from Decade with Erlang YouTube Video in Spanish Erlang: Common_Test ExUnit Smalltalk SpawnFest 2018 SpawnFest Zoom Brujo’s Twitter Brujo’s Website Credo Sponsors: Loot Crate Get a Coder Job! Fresh Books CacheFly Picks: Mark Zoom Meeting Charles Mastodon Brujo Katana Test
Panel: Charles Max Wood Mark Ericksen Special Guest: Brujo Benavides In this episode of Elixir Mix, the panel talks with Brujo Benavides (Argentina) who is a software engineer and uses a mix of Elixir, Erlang, and GO. They talk about the similarities and differences between Erlang and Elixir. Brujo talks about conferences that he organizes. You can find the guest through GitHub, Twitter, and About Me. Check it out! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:58 – Chuck: Our special guest is Brujo B.! Let’s talk about the topic today, which is: Lessons from a decade of Erlang! We really haven’t talked about Erlang in the past. 1:47 – Mark: Can you give us your introduction, please? 1:55 – Guest: I started programming at 10 years old. I translated a guest to Spanish. Then after school I started working with other languages, until I did my thesis at the university. I got hired and then while there they taught me Erlang. After 2 years the company went away and died. When that happened I had my honeymoon plan to go to Europe. I went to Poland and found a company that interviewed me, I passed the test, and got hired. The best solution I could ever make. I moved from developer to another position, to director and then to CEO. 6:16 – Chuck: You have been doing Erlang for a while. My brain said 10 years of Elixir and that’s not possible – my bad. When Erlang came onto the scene how did that affect you? 6:40 – Guest answers Chuck’s question. 9:06 – Chuck: See show note links, please. It’s cool to see that you took cautious approaches to the language. What’s the balance between Erlang and Elixir? 9:33 – Guest: It’s about 45/45, because I also do GO. I don’t really like GO, but it’s whatever. 9:59 – Chuck: What has changed in the last 10 years? 10:09 – Guest: It’s my personal view on this and what I see at conferences. I saw a change from beginning Elixir as much acceptance and the community is more open. The people are already so developed already. 11:53 – Mark: I know there is an effort to make the beam languages more compatible. I know using a colon in the name and there’s a lot of communication there. At the last conference, they were talking about this. I think it’s neat that the community is not fighting this. In the early days it seems that the Erlang community were fighting it – what’s that transfer been like? 13:00 – Guest: There were other languages outside of Elixir with the beam. They failed and didn’t catch-on. 15:00 – Panel: How have you liked/disliked coding in Elixir vs. Erlang? 15:14 – Guest: I like many things that Elixir and Erlang can offer. Elixir is a mature and young language. There are many things that they corrected from day one. One thing I don’t like about Amber is that... 17:36 – Mark: I also use it b/c it does give that consistency. It normalizes all the different ways you can code. When I review people’s code I will take the code formatter and get it to be normalized. I am happy with it and I will take it. 18:17 – Guest: Everybody understands everybody’s code. 18:48 – Guest mentions Elvis. See links below. 19:00 – Chuck: It’s interesting. It comes down to community and in some ways it’s not that Erlang community isn’t a good one, but sounds like... 19:17 – Guest: The other thing that happened with the Erlang community is the topic of building websites. In 2015 it was in the Elixir Conference in San Francisco – I think – this is what happened... 20:47 – Mark: I think it’s a credit to both communities. I’ve watched those talks before. I was watching these Erlang Conferences and there have been Elixir speakers there. Good collaboration and I’m happy for that. 21:19 – Chuck: Will these 2 technologies grow together? 21:30 – Guest: Great mix of talks from Erlang and Elixir and talking about how to build systems. 22:49 – Mark: This blog post that you wrote – see show note links before. Can you mention the main topics that you wrote within this blog post? General lessons you’ve learned? 23:23 – Guest: The most important is how we start building stuff over common abstractions. 26:07 – FreshBooks! 27:11 – Mark: You mentioned the behaviors and the abstraction that is available through OTP is through the genserver. Those are and yes it’s true to educate people you will start with a spawn to see how simple things are. Yes, you don’t build a system on that. 27:55 – Guest: I recommend the talk to Spanish speakers. See links below. I asked for a translation but he said no. 29:10 – Mark: You talked also about test-driven development. How has testing in the Erlang community from the past and how has it been influenced by Elixir if at all? 29:53 – Guest: I am not sure. 32:34 – Mark: I don’t know how to spawn another node and have a disconnect in a testing framework? There might be other ways to do it? I would like to borrow that between the two. I’ve built some code that is cluster aware. Yeah I would love to have integration tests. Maybe that is available through Elixir- thanks for talking about that! 33:27 – Chuck: Anything else? Let’s talk about the Sawn Fest! 33:40 – Guest: It started in 2011 and started with a contest that anybody could participate. Judicators judged it and then awards were given. 34:38 – Chuck. 34:44 – Guest: The next year in 2012 the sponsors gave prizes. We were eagerly waiting but there was no contest that year. 37:47 – Chuck and guest go back-and-forth. 37:57 – Guest: There is a team of four now. If you go to the website it actually looks amazing unlike last year!! 39:19 – Mark: People will not hear about this, though, at the time it broadcasts b/c your episode is coming out after Nov. 24th - 25th. Can you do the game/contest remotely? 39:54 – Guest: Yes, people are playing from around the world from India, Denmark, Romania, Africa, and China! So yes you can do it from your house. 40:18 – Mark: What can people do or see or read about the winners? And after-the-fact? 40:32 – Guest: Yes when judges are judging we make the depositories public!! 42:05 – Chuck: My Sunday’s are usually pretty full. 42:19 – Guest: Yes that happened to me. As an organizer I cannot quit b/c I still have to be there. Time with my wife and kid is important, but yes it’s fun! 42:43 – Mark: Yes that shows how passionate they are about the community and the language. 42:56 – Chuck: Mind-blown! 43:10 – Chuck: You organize some conferences right? 43:17 – Guest: Yes. 44:25 – Chuck: Anything else? 44:30 – Mark: Dialyzer and curious about you organizing a Meetup? I have organized an Elixir Meetup. With Meetups how can you tell us how to make it successful? Are you doing both Erlang and Elixir? How are you running it? 45:10 – Guest answers the question. 51:53 – Chuck: How can people find you? 52:00 – Guest: GitHub! Twitter! About Me! (See links below.) 52:19 – Chuck: Picks! 52:20 – Ad: Lootcrate.com END – CacheFly! Links: Ruby Elixir Elixir: GenServer GenServers Elm JavaScript Visual Studio Code React Erlang Solutions Inaka Inaka Credo_Server Erlang Solutions Elvis 114 RR Elixir Show 048 RR Show 10 Lessons from Decade with Erlang YouTube Video in Spanish Erlang: Common_Test ExUnit Smalltalk SpawnFest 2018 SpawnFest Zoom Brujo’s Twitter Brujo’s Website Credo Sponsors: Loot Crate Get a Coder Job! Fresh Books CacheFly Picks: Mark Zoom Meeting Charles Mastodon Brujo Katana Test
Panel: Charles Max Wood Guest: Nicholas Zakas This week on My JavaScript Story, Charles talks with Nicholas Zakas who is a blogger, author, and software engineer. Nicholas’ website is titled, Human Who Codes – check it out! You can find him on Twitter, GitHub, and LinkedIn among other social media platforms. Today, Nicholas and Chuck talk about Nicholas’ background, JavaScript, and current projects. In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:00 – Chuck: Welcome! Give us a background, please, Nicholas! 1:14 – Guest: I am probably best known for making ESLint and I have written a bunch of books, too! (See links below.) 1:36 – Chuck: JSJ 336 and JSJ 075 episodes are the two past episodes we’ve had you on! (See links below.) Let’s go back and how did you get into programming? 1:58 – Guest: I think the first was written in BASIC, which was on a Laser computer. It was a cheaper knockoff version. I think I was into middle school when I got into BASIC. Then when I got into high school I did this computer project, which was the first time someone else used one of my programs. 4:02 – Chuck: Was it all in BASIC or something else? 4:13 – Guest: Just BASIC, but then transferred to something else when we got our first PC. 5:13 – Chuck: How did you get to use JavaScript? 5:18 – Guest: 1996 was my freshman year in college. Netscape 3 got into popularity around this time. I had decided that I wanted to setup a webpage to stay in-touch with high school friends who were going into different directions. I got annoyed with how static the [web] pages were. At the time, there was no CSS and the only thing you could change was the source of an image (on webpages). On the you could do... 8:35 – Chuck: You get into JavaScript and at what point did you become a prolific operator and author? 8:52 – Guest: It was not an overnight thing. It definitely was fueled by my own curiosity. The web was so new (when I was in college) that I had to explore on my own. I probably killed a few trees when I was in college. Printing off anything and everything I could to learn about this stuff! 10:03 – Guest (continues): Professors would ask ME how to do this or that on the departmental website. When I was graduating from college I knew that I was excited about the WEB. I got a first job w/o having to interview. 12:32 – Guest (continues): I got so deep into JavaScript! 13:30 – Guest (continued): They couldn’t figure out what I had done. That’s when I got more into designing JavaScript APIs. About 8 months after graduating from college I was unemployed. I had extra time on my hands. I was worried that I was going to forget the cool stuff that I just developed there. I went over the code and writing for myself how I had constructed it. My goal was to have an expandable tree. This is the design process that I went through. This is the API that I came up with so you can insert and how I went about implementing it. At some point, I was on a discussion with my former colleagues: remember that JavaScript tree thing I wrote – I wrote a description of how I did it. Someone said: Hey this is really good and you should get this published somewhere. Huh! I guess I could do that. I went to websites who were publishing articles on JavaScript. I went to submit the article to one of them. I think it was DevX or WebReference. 18:03 – Guest: A book is a compilation of different articles?! I can do that. I wanted to write a book that would fill in that next step that was missing. I didn’t know what the book was going to be, and I decided to start writing. Once I’ve had enough content I would take a step back and see what it was about. (Check out Nicholas’ books here!) 19:01 – Chuck: Oh you can turn this into a book! 19:10 – Guest: There was very little that I had planned out ahead of time. Anything that happened to me that was exciting had stumbled into my lap! 19:37 – Chuck: That’s how I felt about podcasting – it fell into my lap/life! 19:50 – Chuck: Listeners – check out the past episodes with Nicholas, please. Nicholas, what are you proud of? 20:10 – Guest: In 2006, I was at Yahoo and started off with My Yahoo Team. This was the first time that I was exposed to a massive amount of JavaScript in a single web application. 26:21 – Chuck: Can you talk about your health issues? People would definitely benefit from your example and your story. 26:44 – Guest: I think it is something important for people to understand. The guest talks about Lyme Disease. 35:49 – Chuck: Yep taking care of yourself is important! 36:00 – Guest: Yes to enjoy time with friends and explore other hobbies. Help yourself to de-stress is important. Cognitive work is very draining. When you aren’t getting the right amount of sleep your body is going to get stressed out. Take the time to do nonsense things. You need to let your brain unwind! I love these adult coloring books that they have! 38:07 – Chuck: I love to take a drive up the canyon. 38:12 – Guest. 38:24 – Chuck: Yeah to focus on ourselves is important. 38:36 – Guest: Your body will make it a point to say: pay attention to me! Your body goes into flight or fight mode and your systems shut-off, which of course is not good. You don’t want your body to stay in that state. New parents get sick frequently with newborns, because they aren’t getting enough sleep. 41:08 – Guest: Get some R&R! 41:20 – Chuck: This is great, but I have another call! Let’s do some Picks! 41:35 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly Links: React Angular Vue.js JavaScript Ember Elm jQuery Node DevX WebReference Nicholas C. Zakas’ Books ESLint NPM – ESLint Signs and Symptoms of Untreated Lyme Disease Lyme Disease Nicholas’ Twitter JSJ 336 Episode with Zakas JSJ 075 Episode with Zakas Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Charles Max Wood Wall Calendars – 6 ft. x3 ft. Nicholas Zakas Book: The Better Angels of Our Nature: Why Violence Has Declined by Steven Pinker Adult Coloring Books
Panel: Charles Max Wood Guest: Olivier Lacan This week on My Ruby Story, Chuck talks with Olivier Lacan who works for Pluralsight remotely while living in France. Chuck and Olivier talk about his background, his education, and how he got into Ruby. Check it out! In particular, we dive pretty deep on: 0:00 – Get A Coder Job! 0:55 – Chuck: Hi! Can you update people where you are at now? 1:21 – Guest: I work on the Pluralsite remotely from France. (Check it out here!) 2:20 – Chuck: It feels like Pluralsite is offering new things for students. That’s nice! 2:30 – Guest: Yes, everyone has their own unique way to learn new things. Whether it’s through podcasts, reading, etc. 3:25 – Chuck. 3:32 – Guest. 4:01 – Chuck: RR 364 was the last episode that you’ve been on. 4:20 – The guest is talking about the changes that have occurred in only 7 months! 4:58 – Chuck: Let’s talk about you! How did you get into programming? 5:12 – Guest: Frustration is how I got into programming. The guest talks in-detail about how he got into programming. What frameworks and languages he’s learned along the way. 31:24 – Chuck: I want to call out the fact that you said: I’ve failed. That’s good for people to hear. 31:40 – Guest. 31:49 – Chuck: If I’m not failing then I’m not pushing myself. How did you get into Ruby? 32:04 – Guest: Andrew Smith is how I got into Ruby. We met through Twitter! I was looking for croissants b/c I was homesick. His handler is @fullsailor! Check him out on Twitter here! 34:56 – Chuck talks about variables. 35:00 – Guest talks about Ruby and how he got into it. 36:50 – The guest talks about starting up a business with his friend (Chris) called Clever Code. 39:38 – Chuck: How did you get into Code School? 39:40 – Guest talks about his time in Orlando, FL. 40:05 – Guest mentions Rails for Zombies. 47:15 – Chuck: Nice! It’s interesting to see how you’ve gotten into it! 47:25 – Guest: Check out Pluralsight. 50:08 – Chuck: Some of the background I was there but there is so much more! 50:20 – Guest: There are so many lessons that I’ve learned a lot the way. There is so much luck involved, too. There are so many parts of this that is jumping onto an opportunity. 51:09 – Chuck: You showed up, so it wasn’t fully all luck, though! 51:20 – Guest: Yes, I agree. Finding accountability partners. It’s like going to the gym. Yes, self-motivation is a thing. 52:17 – Chuck: How can people find you? 52:20 – Guest: Twitter, GitHub, and my website! 53:00 – Advertisement – Fresh Books! END – CacheFly Links: Ruby Elixir Rails Rust Python PHP Bio for Olivier through PluralSight Twitter for Olivier Lacan GitHub for Olivier Lacan Sponsors: Get a Coder Job Cache Fly Fresh Books Picks: Olivier Ruby Conf. AutoLoad Reloder Charles Tile Last Man Standing World Cup Sling TV Fox Sports CES
Panel: Charles Max Wood Guest: Ryan Chenkie This week on My Angular Story, Charles speaks with Ryan Chenkie (Canada). He is a developer who uses JavaScript with Angular and Node and he does screencasting at angularcasts.io. They talk about Ryan’s background, his current projects, and getting over imposter syndrome! Check it out! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:47 – Chuck: Today our guest is Ryan Chenkie! 0:55 – Guest: Hello! I’m excited! 1:02 – Chuck: What are you doing now? 1:10 – Guest: I spent 2.5 years at Auth0 and learned a ton there. I was doing some side work and then figured out I had to focus on one thing or the other. Now I have been a consultant fulltime and also teaching, too. AngularCast.io I teach there. 1:56 – Chuck: Sounds like people are excited about GraphQL. I’ve been there, too, and make a similar decision. 2:19 – Guest: It was a hard decision b/c I liked all of my colleagues there. I always had the itch to be self-employed. 2:42 – Chuck: You figure out of it’s for you or not. 2:51 – Guest: Yep! I am happy to be another year of it. 3:00 – Chuck: I went free-lanced about a year ago b/c the decision was made for me. 3:29 – Guest: I am grateful for it. 3:40 – Chuck: Yeah, we talk about this a lot on one of my podcast platforms. If you can make a connection with people then you’ll be god. 4:07 – Guest: Yeah I had to figure out if I would have to focus on the marketing side of things or not. Right now the projects are coming to me – right to my front door, which is great! It’s this ever-expanding web. 4:55 – Chuck: Yeah where people tend to show-up. Let’s talk about your story! How did you get into programming? 5:30 – Guest: It was a little less typically at the time. I was fully self-taught. I went to school for a somewhat Geography degree. It got boring for me at some point. I had to do one programming course while in school and it was in Java. I was terrible at it and I didn’t have a clue what I was doing. It didn’t help that the instruction wasn’t great. I was terrible I didn’t understand a thing. I was scared that I was going to fail the course. I came out of there feeling like I didn’t have the chops to be a programmer. I was doing Geomantic-stuff. I learned that the further you get into this programming stuff you would make better money – better job, etc. I was trying to put this map/graph into a website and it said that I had to learn Java. This time, though, the material was taught to me in these small increments. I got into it more and I was more attracted to the idea of programming. 10:00 – Guest continues. 10:32 – Guest: I was learning Angular and JavaScript better. 10:35 – Chuck: Yeah it makes you think through it. You have to go deep. 10:47 – Guest: I would make a sample packet. I would get to certain points and get to a point and I couldn’t explain what I did. I would get to a roadblock and I couldn’t explain it. I would be on this tangent for a while and have to figure this out. I was working with the government, at this time, but I thought: maybe I could try this programming thing for a while. Did you go to NG Vegas conference? 12:20 – Chuck: Nope. 12:25 – Guest: There is this conference in Las Vegas – I am going to go and hang out with people. At this conference I met some important people. This company posted that they needed someone and I thought: this is the job for me. I sent an email – went to an interview – and did an example. I got the job and freaked out because I wasn’t a “real” programmer. I wrote some content for them and it’s been all good. 14:07 – Chuck: Let me back-up real quickly. How did you find Angular? 14:18 – Guest: It’s hard to pinpoint the “moment” I had found Angular. As I am learning through Code Academy I am reading articles and stuff. I heard about Angular.js and watched some online tutorials and watched all of the talks from the conference. I thought that I needed to learn it b/c it was pretty popular at the time. I knew how to write JavaScript, but made me clearly see with Angular.js app I had to back up and learn it. 15:34 – Chuck: Yep! 16:05 – The guest mentions Hacker News among other things. 16:22 – Chuck: Angular and Electron is what we brought you on for – is that what you are doing? 16:36 – Guest: The guest talks about his experiences with Angular and Electron. 18:26 – Chuck: Let’s backup some more – didn’t sound like you worked with a lot of tech companies right? 18:51 – Guest: Yep that was my only one. 18:57 – Chuck: I hear a lot of complaints from people having this imposter syndrome. You only being in the industry for a short amount of time – how did you overcome the imposter syndrome? 19:34 – Guest: Imposter syndrome has been an issue for me – I wasn’t crippled – but it’s debilitating. “Who am I to teach on this subject?” – but I think I’ve made conscious efforts to ignore that and to use it as a little bit as fuel. I remember, man, of being scarred! I remember being terrified to see the online comments – b/c they are going to “know” that I don’t know what I am talking about. Funny thing is that I had a lot of positive comments. Little-by-little, those positive pieces of feedback were good for me. I thought: At least I am helping people (like I said, little-by-little!). I think there has been a part of a loop there. If you can look for that feedback it can help overcome imposter syndrome. The things of value are the things that scare you. 22:41 – Chuck: Yeah, I talk about this all the time to people. I have been self-employed for 8.5 years. I am not going to starve. If I had to, I could go and find a “normal” job. 23:20 – Guest: I agree. One piece of feedback that I got from a colleague is that she said: you are very resourceful! Knowing that it helped b/c it was a boost of confidence. If I had this capacity of being resourceful that helped me make my decision. It wasn’t a good time in the sense that we just had a baby. If it went south then I could always go back and get a “normal” job. 24:43 – Chuck: Yeah we talk about that in Agile development – the further you go the more information you get. 24:58 – Guest. Yep 25:03 – Chuck: What are you doing now? 25:07 – Guest: I’ve had a few large clients these past few years. I have current projects going now one is with a museum. I am speaking at a few conferences – one of them was in San Francisco and Prague. Now I am planning for next year and figuring out what my teaching and speaking plans will be. It looks like I am focusing on Graph QL content. Lots of Angular, too! 26:32 – Chuck: You are web famous! 26:35 – Guest: I don’t know about that, but I do have some things out there. 26:42 – Chuck: How can people find you? 26:49 – Guest: Twitter! Website! GitHub! 27:18 – Chuck: Picks! 27:25 – Fresh Books! END – CacheFly Links: jQuery Angular JavaScript Vue React Chuck’s Twitter Chuck’s E-mail: chuck@devchat.tv Code Academy Auth0 Scotch.io Ryan’s LinkedIn Ryan’s Packages Ryan’s Website Ryan’s Twitter Ryan’s GitHub Sponsors: Get A Coder Job Fresh Books Cache Fly Picks: Ryan Security Headers Try to push past the fear of being an “imposter”! Chuck Dungeons & Dragons Take time with family! Being handy around your home. Lowes. Surprise yourself and go beyond the imposter syndrome!
Panel: Charles Max Wood Guest: Nicholas Zakas This week on My JavaScript Story, Charles talks with Nicholas Zakas who is a blogger, author, and software engineer. Nicholas’ website is titled, Human Who Codes – check it out! You can find him on Twitter, GitHub, and LinkedIn among other social media platforms. Today, Nicholas and Chuck talk about Nicholas’ background, JavaScript, and current projects. In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:00 – Chuck: Welcome! Give us a background, please, Nicholas! 1:14 – Guest: I am probably best known for making ESLint and I have written a bunch of books, too! (See links below.) 1:36 – Chuck: JSJ 336 and JSJ 075 episodes are the two past episodes we’ve had you on! (See links below.) Let’s go back and how did you get into programming? 1:58 – Guest: I think the first was written in BASIC, which was on a Laser computer. It was a cheaper knockoff version. I think I was into middle school when I got into BASIC. Then when I got into high school I did this computer project, which was the first time someone else used one of my programs. 4:02 – Chuck: Was it all in BASIC or something else? 4:13 – Guest: Just BASIC, but then transferred to something else when we got our first PC. 5:13 – Chuck: How did you get to use JavaScript? 5:18 – Guest: 1996 was my freshman year in college. Netscape 3 got into popularity around this time. I had decided that I wanted to setup a webpage to stay in-touch with high school friends who were going into different directions. I got annoyed with how static the [web] pages were. At the time, there was no CSS and the only thing you could change was the source of an image (on webpages). On the you could do... 8:35 – Chuck: You get into JavaScript and at what point did you become a prolific operator and author? 8:52 – Guest: It was not an overnight thing. It definitely was fueled by my own curiosity. The web was so new (when I was in college) that I had to explore on my own. I probably killed a few trees when I was in college. Printing off anything and everything I could to learn about this stuff! 10:03 – Guest (continues): Professors would ask ME how to do this or that on the departmental website. When I was graduating from college I knew that I was excited about the WEB. I got a first job w/o having to interview. 12:32 – Guest (continues): I got so deep into JavaScript! 13:30 – Guest (continued): They couldn’t figure out what I had done. That’s when I got more into designing JavaScript APIs. About 8 months after graduating from college I was unemployed. I had extra time on my hands. I was worried that I was going to forget the cool stuff that I just developed there. I went over the code and writing for myself how I had constructed it. My goal was to have an expandable tree. This is the design process that I went through. This is the API that I came up with so you can insert and how I went about implementing it. At some point, I was on a discussion with my former colleagues: remember that JavaScript tree thing I wrote – I wrote a description of how I did it. Someone said: Hey this is really good and you should get this published somewhere. Huh! I guess I could do that. I went to websites who were publishing articles on JavaScript. I went to submit the article to one of them. I think it was DevX or WebReference. 18:03 – Guest: A book is a compilation of different articles?! I can do that. I wanted to write a book that would fill in that next step that was missing. I didn’t know what the book was going to be, and I decided to start writing. Once I’ve had enough content I would take a step back and see what it was about. (Check out Nicholas’ books here!) 19:01 – Chuck: Oh you can turn this into a book! 19:10 – Guest: There was very little that I had planned out ahead of time. Anything that happened to me that was exciting had stumbled into my lap! 19:37 – Chuck: That’s how I felt about podcasting – it fell into my lap/life! 19:50 – Chuck: Listeners – check out the past episodes with Nicholas, please. Nicholas, what are you proud of? 20:10 – Guest: In 2006, I was at Yahoo and started off with My Yahoo Team. This was the first time that I was exposed to a massive amount of JavaScript in a single web application. 26:21 – Chuck: Can you talk about your health issues? People would definitely benefit from your example and your story. 26:44 – Guest: I think it is something important for people to understand. The guest talks about Lyme Disease. 35:49 – Chuck: Yep taking care of yourself is important! 36:00 – Guest: Yes to enjoy time with friends and explore other hobbies. Help yourself to de-stress is important. Cognitive work is very draining. When you aren’t getting the right amount of sleep your body is going to get stressed out. Take the time to do nonsense things. You need to let your brain unwind! I love these adult coloring books that they have! 38:07 – Chuck: I love to take a drive up the canyon. 38:12 – Guest. 38:24 – Chuck: Yeah to focus on ourselves is important. 38:36 – Guest: Your body will make it a point to say: pay attention to me! Your body goes into flight or fight mode and your systems shut-off, which of course is not good. You don’t want your body to stay in that state. New parents get sick frequently with newborns, because they aren’t getting enough sleep. 41:08 – Guest: Get some R&R! 41:20 – Chuck: This is great, but I have another call! Let’s do some Picks! 41:35 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly Links: React Angular Vue.js JavaScript Ember Elm jQuery Node DevX WebReference Nicholas C. Zakas’ Books ESLint NPM – ESLint Signs and Symptoms of Untreated Lyme Disease Lyme Disease Nicholas’ Twitter JSJ 336 Episode with Zakas JSJ 075 Episode with Zakas Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Charles Max Wood Wall Calendars – 6 ft. x3 ft. Nicholas Zakas Book: The Better Angels of Our Nature: Why Violence Has Declined by Steven Pinker Adult Coloring Books
Panel: Charles Max Wood Guest: Ryan Chenkie This week on My Angular Story, Charles speaks with Ryan Chenkie (Canada). He is a developer who uses JavaScript with Angular and Node and he does screencasting at angularcasts.io. They talk about Ryan’s background, his current projects, and getting over imposter syndrome! Check it out! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:47 – Chuck: Today our guest is Ryan Chenkie! 0:55 – Guest: Hello! I’m excited! 1:02 – Chuck: What are you doing now? 1:10 – Guest: I spent 2.5 years at Auth0 and learned a ton there. I was doing some side work and then figured out I had to focus on one thing or the other. Now I have been a consultant fulltime and also teaching, too. AngularCast.io I teach there. 1:56 – Chuck: Sounds like people are excited about GraphQL. I’ve been there, too, and make a similar decision. 2:19 – Guest: It was a hard decision b/c I liked all of my colleagues there. I always had the itch to be self-employed. 2:42 – Chuck: You figure out of it’s for you or not. 2:51 – Guest: Yep! I am happy to be another year of it. 3:00 – Chuck: I went free-lanced about a year ago b/c the decision was made for me. 3:29 – Guest: I am grateful for it. 3:40 – Chuck: Yeah, we talk about this a lot on one of my podcast platforms. If you can make a connection with people then you’ll be god. 4:07 – Guest: Yeah I had to figure out if I would have to focus on the marketing side of things or not. Right now the projects are coming to me – right to my front door, which is great! It’s this ever-expanding web. 4:55 – Chuck: Yeah where people tend to show-up. Let’s talk about your story! How did you get into programming? 5:30 – Guest: It was a little less typically at the time. I was fully self-taught. I went to school for a somewhat Geography degree. It got boring for me at some point. I had to do one programming course while in school and it was in Java. I was terrible at it and I didn’t have a clue what I was doing. It didn’t help that the instruction wasn’t great. I was terrible I didn’t understand a thing. I was scared that I was going to fail the course. I came out of there feeling like I didn’t have the chops to be a programmer. I was doing Geomantic-stuff. I learned that the further you get into this programming stuff you would make better money – better job, etc. I was trying to put this map/graph into a website and it said that I had to learn Java. This time, though, the material was taught to me in these small increments. I got into it more and I was more attracted to the idea of programming. 10:00 – Guest continues. 10:32 – Guest: I was learning Angular and JavaScript better. 10:35 – Chuck: Yeah it makes you think through it. You have to go deep. 10:47 – Guest: I would make a sample packet. I would get to certain points and get to a point and I couldn’t explain what I did. I would get to a roadblock and I couldn’t explain it. I would be on this tangent for a while and have to figure this out. I was working with the government, at this time, but I thought: maybe I could try this programming thing for a while. Did you go to NG Vegas conference? 12:20 – Chuck: Nope. 12:25 – Guest: There is this conference in Las Vegas – I am going to go and hang out with people. At this conference I met some important people. This company posted that they needed someone and I thought: this is the job for me. I sent an email – went to an interview – and did an example. I got the job and freaked out because I wasn’t a “real” programmer. I wrote some content for them and it’s been all good. 14:07 – Chuck: Let me back-up real quickly. How did you find Angular? 14:18 – Guest: It’s hard to pinpoint the “moment” I had found Angular. As I am learning through Code Academy I am reading articles and stuff. I heard about Angular.js and watched some online tutorials and watched all of the talks from the conference. I thought that I needed to learn it b/c it was pretty popular at the time. I knew how to write JavaScript, but made me clearly see with Angular.js app I had to back up and learn it. 15:34 – Chuck: Yep! 16:05 – The guest mentions Hacker News among other things. 16:22 – Chuck: Angular and Electron is what we brought you on for – is that what you are doing? 16:36 – Guest: The guest talks about his experiences with Angular and Electron. 18:26 – Chuck: Let’s backup some more – didn’t sound like you worked with a lot of tech companies right? 18:51 – Guest: Yep that was my only one. 18:57 – Chuck: I hear a lot of complaints from people having this imposter syndrome. You only being in the industry for a short amount of time – how did you overcome the imposter syndrome? 19:34 – Guest: Imposter syndrome has been an issue for me – I wasn’t crippled – but it’s debilitating. “Who am I to teach on this subject?” – but I think I’ve made conscious efforts to ignore that and to use it as a little bit as fuel. I remember, man, of being scarred! I remember being terrified to see the online comments – b/c they are going to “know” that I don’t know what I am talking about. Funny thing is that I had a lot of positive comments. Little-by-little, those positive pieces of feedback were good for me. I thought: At least I am helping people (like I said, little-by-little!). I think there has been a part of a loop there. If you can look for that feedback it can help overcome imposter syndrome. The things of value are the things that scare you. 22:41 – Chuck: Yeah, I talk about this all the time to people. I have been self-employed for 8.5 years. I am not going to starve. If I had to, I could go and find a “normal” job. 23:20 – Guest: I agree. One piece of feedback that I got from a colleague is that she said: you are very resourceful! Knowing that it helped b/c it was a boost of confidence. If I had this capacity of being resourceful that helped me make my decision. It wasn’t a good time in the sense that we just had a baby. If it went south then I could always go back and get a “normal” job. 24:43 – Chuck: Yeah we talk about that in Agile development – the further you go the more information you get. 24:58 – Guest. Yep 25:03 – Chuck: What are you doing now? 25:07 – Guest: I’ve had a few large clients these past few years. I have current projects going now one is with a museum. I am speaking at a few conferences – one of them was in San Francisco and Prague. Now I am planning for next year and figuring out what my teaching and speaking plans will be. It looks like I am focusing on Graph QL content. Lots of Angular, too! 26:32 – Chuck: You are web famous! 26:35 – Guest: I don’t know about that, but I do have some things out there. 26:42 – Chuck: How can people find you? 26:49 – Guest: Twitter! Website! GitHub! 27:18 – Chuck: Picks! 27:25 – Fresh Books! END – CacheFly Links: jQuery Angular JavaScript Vue React Chuck’s Twitter Chuck’s E-mail: chuck@devchat.tv Code Academy Auth0 Scotch.io Ryan’s LinkedIn Ryan’s Packages Ryan’s Website Ryan’s Twitter Ryan’s GitHub Sponsors: Get A Coder Job Fresh Books Cache Fly Picks: Ryan Security Headers Try to push past the fear of being an “imposter”! Chuck Dungeons & Dragons Take time with family! Being handy around your home. Lowes. Surprise yourself and go beyond the imposter syndrome!
Panel: Charles Max Wood Guest: Olivier Lacan This week on My Ruby Story, Chuck talks with Olivier Lacan who works for Pluralsight remotely while living in France. Chuck and Olivier talk about his background, his education, and how he got into Ruby. Check it out! In particular, we dive pretty deep on: 0:00 – Get A Coder Job! 0:55 – Chuck: Hi! Can you update people where you are at now? 1:21 – Guest: I work on the Pluralsite remotely from France. (Check it out here!) 2:20 – Chuck: It feels like Pluralsite is offering new things for students. That’s nice! 2:30 – Guest: Yes, everyone has their own unique way to learn new things. Whether it’s through podcasts, reading, etc. 3:25 – Chuck. 3:32 – Guest. 4:01 – Chuck: RR 364 was the last episode that you’ve been on. 4:20 – The guest is talking about the changes that have occurred in only 7 months! 4:58 – Chuck: Let’s talk about you! How did you get into programming? 5:12 – Guest: Frustration is how I got into programming. The guest talks in-detail about how he got into programming. What frameworks and languages he’s learned along the way. 31:24 – Chuck: I want to call out the fact that you said: I’ve failed. That’s good for people to hear. 31:40 – Guest. 31:49 – Chuck: If I’m not failing then I’m not pushing myself. How did you get into Ruby? 32:04 – Guest: Andrew Smith is how I got into Ruby. We met through Twitter! I was looking for croissants b/c I was homesick. His handler is @fullsailor! Check him out on Twitter here! 34:56 – Chuck talks about variables. 35:00 – Guest talks about Ruby and how he got into it. 36:50 – The guest talks about starting up a business with his friend (Chris) called Clever Code. 39:38 – Chuck: How did you get into Code School? 39:40 – Guest talks about his time in Orlando, FL. 40:05 – Guest mentions Rails for Zombies. 47:15 – Chuck: Nice! It’s interesting to see how you’ve gotten into it! 47:25 – Guest: Check out Pluralsight. 50:08 – Chuck: Some of the background I was there but there is so much more! 50:20 – Guest: There are so many lessons that I’ve learned a lot the way. There is so much luck involved, too. There are so many parts of this that is jumping onto an opportunity. 51:09 – Chuck: You showed up, so it wasn’t fully all luck, though! 51:20 – Guest: Yes, I agree. Finding accountability partners. It’s like going to the gym. Yes, self-motivation is a thing. 52:17 – Chuck: How can people find you? 52:20 – Guest: Twitter, GitHub, and my website! 53:00 – Advertisement – Fresh Books! END – CacheFly Links: Ruby Elixir Rails Rust Python PHP Bio for Olivier through PluralSight Twitter for Olivier Lacan GitHub for Olivier Lacan Sponsors: Get a Coder Job Cache Fly Fresh Books Picks: Olivier Ruby Conf. AutoLoad Reloder Charles Tile Last Man Standing World Cup Sling TV Fox Sports CES
Panel: Charles Max Wood Guest: Olivier Lacan This week on My Ruby Story, Chuck talks with Olivier Lacan who works for Pluralsight remotely while living in France. Chuck and Olivier talk about his background, his education, and how he got into Ruby. Check it out! In particular, we dive pretty deep on: 0:00 – Get A Coder Job! 0:55 – Chuck: Hi! Can you update people where you are at now? 1:21 – Guest: I work on the Pluralsite remotely from France. (Check it out here!) 2:20 – Chuck: It feels like Pluralsite is offering new things for students. That’s nice! 2:30 – Guest: Yes, everyone has their own unique way to learn new things. Whether it’s through podcasts, reading, etc. 3:25 – Chuck. 3:32 – Guest. 4:01 – Chuck: RR 364 was the last episode that you’ve been on. 4:20 – The guest is talking about the changes that have occurred in only 7 months! 4:58 – Chuck: Let’s talk about you! How did you get into programming? 5:12 – Guest: Frustration is how I got into programming. The guest talks in-detail about how he got into programming. What frameworks and languages he’s learned along the way. 31:24 – Chuck: I want to call out the fact that you said: I’ve failed. That’s good for people to hear. 31:40 – Guest. 31:49 – Chuck: If I’m not failing then I’m not pushing myself. How did you get into Ruby? 32:04 – Guest: Andrew Smith is how I got into Ruby. We met through Twitter! I was looking for croissants b/c I was homesick. His handler is @fullsailor! Check him out on Twitter here! 34:56 – Chuck talks about variables. 35:00 – Guest talks about Ruby and how he got into it. 36:50 – The guest talks about starting up a business with his friend (Chris) called Clever Code. 39:38 – Chuck: How did you get into Code School? 39:40 – Guest talks about his time in Orlando, FL. 40:05 – Guest mentions Rails for Zombies. 47:15 – Chuck: Nice! It’s interesting to see how you’ve gotten into it! 47:25 – Guest: Check out Pluralsight. 50:08 – Chuck: Some of the background I was there but there is so much more! 50:20 – Guest: There are so many lessons that I’ve learned a lot the way. There is so much luck involved, too. There are so many parts of this that is jumping onto an opportunity. 51:09 – Chuck: You showed up, so it wasn’t fully all luck, though! 51:20 – Guest: Yes, I agree. Finding accountability partners. It’s like going to the gym. Yes, self-motivation is a thing. 52:17 – Chuck: How can people find you? 52:20 – Guest: Twitter, GitHub, and my website! 53:00 – Advertisement – Fresh Books! END – CacheFly Links: Ruby Elixir Rails Rust Python PHP Bio for Olivier through PluralSight Twitter for Olivier Lacan GitHub for Olivier Lacan Sponsors: Get a Coder Job Cache Fly Fresh Books Picks: Olivier Ruby Conf. AutoLoad Reloder Charles Tile Last Man Standing World Cup Sling TV Fox Sports CES
Panel: Charles Max Wood Guest: Nicholas Zakas This week on My JavaScript Story, Charles talks with Nicholas Zakas who is a blogger, author, and software engineer. Nicholas’ website is titled, Human Who Codes – check it out! You can find him on Twitter, GitHub, and LinkedIn among other social media platforms. Today, Nicholas and Chuck talk about Nicholas’ background, JavaScript, and current projects. In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:00 – Chuck: Welcome! Give us a background, please, Nicholas! 1:14 – Guest: I am probably best known for making ESLint and I have written a bunch of books, too! (See links below.) 1:36 – Chuck: JSJ 336 and JSJ 075 episodes are the two past episodes we’ve had you on! (See links below.) Let’s go back and how did you get into programming? 1:58 – Guest: I think the first was written in BASIC, which was on a Laser computer. It was a cheaper knockoff version. I think I was into middle school when I got into BASIC. Then when I got into high school I did this computer project, which was the first time someone else used one of my programs. 4:02 – Chuck: Was it all in BASIC or something else? 4:13 – Guest: Just BASIC, but then transferred to something else when we got our first PC. 5:13 – Chuck: How did you get to use JavaScript? 5:18 – Guest: 1996 was my freshman year in college. Netscape 3 got into popularity around this time. I had decided that I wanted to setup a webpage to stay in-touch with high school friends who were going into different directions. I got annoyed with how static the [web] pages were. At the time, there was no CSS and the only thing you could change was the source of an image (on webpages). On the you could do... 8:35 – Chuck: You get into JavaScript and at what point did you become a prolific operator and author? 8:52 – Guest: It was not an overnight thing. It definitely was fueled by my own curiosity. The web was so new (when I was in college) that I had to explore on my own. I probably killed a few trees when I was in college. Printing off anything and everything I could to learn about this stuff! 10:03 – Guest (continues): Professors would ask ME how to do this or that on the departmental website. When I was graduating from college I knew that I was excited about the WEB. I got a first job w/o having to interview. 12:32 – Guest (continues): I got so deep into JavaScript! 13:30 – Guest (continued): They couldn’t figure out what I had done. That’s when I got more into designing JavaScript APIs. About 8 months after graduating from college I was unemployed. I had extra time on my hands. I was worried that I was going to forget the cool stuff that I just developed there. I went over the code and writing for myself how I had constructed it. My goal was to have an expandable tree. This is the design process that I went through. This is the API that I came up with so you can insert and how I went about implementing it. At some point, I was on a discussion with my former colleagues: remember that JavaScript tree thing I wrote – I wrote a description of how I did it. Someone said: Hey this is really good and you should get this published somewhere. Huh! I guess I could do that. I went to websites who were publishing articles on JavaScript. I went to submit the article to one of them. I think it was DevX or WebReference. 18:03 – Guest: A book is a compilation of different articles?! I can do that. I wanted to write a book that would fill in that next step that was missing. I didn’t know what the book was going to be, and I decided to start writing. Once I’ve had enough content I would take a step back and see what it was about. (Check out Nicholas’ books here!) 19:01 – Chuck: Oh you can turn this into a book! 19:10 – Guest: There was very little that I had planned out ahead of time. Anything that happened to me that was exciting had stumbled into my lap! 19:37 – Chuck: That’s how I felt about podcasting – it fell into my lap/life! 19:50 – Chuck: Listeners – check out the past episodes with Nicholas, please. Nicholas, what are you proud of? 20:10 – Guest: In 2006, I was at Yahoo and started off with My Yahoo Team. This was the first time that I was exposed to a massive amount of JavaScript in a single web application. 26:21 – Chuck: Can you talk about your health issues? People would definitely benefit from your example and your story. 26:44 – Guest: I think it is something important for people to understand. The guest talks about Lyme Disease. 35:49 – Chuck: Yep taking care of yourself is important! 36:00 – Guest: Yes to enjoy time with friends and explore other hobbies. Help yourself to de-stress is important. Cognitive work is very draining. When you aren’t getting the right amount of sleep your body is going to get stressed out. Take the time to do nonsense things. You need to let your brain unwind! I love these adult coloring books that they have! 38:07 – Chuck: I love to take a drive up the canyon. 38:12 – Guest. 38:24 – Chuck: Yeah to focus on ourselves is important. 38:36 – Guest: Your body will make it a point to say: pay attention to me! Your body goes into flight or fight mode and your systems shut-off, which of course is not good. You don’t want your body to stay in that state. New parents get sick frequently with newborns, because they aren’t getting enough sleep. 41:08 – Guest: Get some R&R! 41:20 – Chuck: This is great, but I have another call! Let’s do some Picks! 41:35 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly Links: React Angular Vue.js JavaScript Ember Elm jQuery Node DevX WebReference Nicholas C. Zakas’ Books ESLint NPM – ESLint Signs and Symptoms of Untreated Lyme Disease Lyme Disease Nicholas’ Twitter JSJ 336 Episode with Zakas JSJ 075 Episode with Zakas Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Charles Max Wood Wall Calendars – 6 ft. x3 ft. Nicholas Zakas Book: The Better Angels of Our Nature: Why Violence Has Declined by Steven Pinker Adult Coloring Books
Panel: Charles Max Wood Guest: Ryan Chenkie This week on My Angular Story, Charles speaks with Ryan Chenkie (Canada). He is a developer who uses JavaScript with Angular and Node and he does screencasting at angularcasts.io. They talk about Ryan’s background, his current projects, and getting over imposter syndrome! Check it out! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:47 – Chuck: Today our guest is Ryan Chenkie! 0:55 – Guest: Hello! I’m excited! 1:02 – Chuck: What are you doing now? 1:10 – Guest: I spent 2.5 years at Auth0 and learned a ton there. I was doing some side work and then figured out I had to focus on one thing or the other. Now I have been a consultant fulltime and also teaching, too. AngularCast.io I teach there. 1:56 – Chuck: Sounds like people are excited about GraphQL. I’ve been there, too, and make a similar decision. 2:19 – Guest: It was a hard decision b/c I liked all of my colleagues there. I always had the itch to be self-employed. 2:42 – Chuck: You figure out of it’s for you or not. 2:51 – Guest: Yep! I am happy to be another year of it. 3:00 – Chuck: I went free-lanced about a year ago b/c the decision was made for me. 3:29 – Guest: I am grateful for it. 3:40 – Chuck: Yeah, we talk about this a lot on one of my podcast platforms. If you can make a connection with people then you’ll be god. 4:07 – Guest: Yeah I had to figure out if I would have to focus on the marketing side of things or not. Right now the projects are coming to me – right to my front door, which is great! It’s this ever-expanding web. 4:55 – Chuck: Yeah where people tend to show-up. Let’s talk about your story! How did you get into programming? 5:30 – Guest: It was a little less typically at the time. I was fully self-taught. I went to school for a somewhat Geography degree. It got boring for me at some point. I had to do one programming course while in school and it was in Java. I was terrible at it and I didn’t have a clue what I was doing. It didn’t help that the instruction wasn’t great. I was terrible I didn’t understand a thing. I was scared that I was going to fail the course. I came out of there feeling like I didn’t have the chops to be a programmer. I was doing Geomantic-stuff. I learned that the further you get into this programming stuff you would make better money – better job, etc. I was trying to put this map/graph into a website and it said that I had to learn Java. This time, though, the material was taught to me in these small increments. I got into it more and I was more attracted to the idea of programming. 10:00 – Guest continues. 10:32 – Guest: I was learning Angular and JavaScript better. 10:35 – Chuck: Yeah it makes you think through it. You have to go deep. 10:47 – Guest: I would make a sample packet. I would get to certain points and get to a point and I couldn’t explain what I did. I would get to a roadblock and I couldn’t explain it. I would be on this tangent for a while and have to figure this out. I was working with the government, at this time, but I thought: maybe I could try this programming thing for a while. Did you go to NG Vegas conference? 12:20 – Chuck: Nope. 12:25 – Guest: There is this conference in Las Vegas – I am going to go and hang out with people. At this conference I met some important people. This company posted that they needed someone and I thought: this is the job for me. I sent an email – went to an interview – and did an example. I got the job and freaked out because I wasn’t a “real” programmer. I wrote some content for them and it’s been all good. 14:07 – Chuck: Let me back-up real quickly. How did you find Angular? 14:18 – Guest: It’s hard to pinpoint the “moment” I had found Angular. As I am learning through Code Academy I am reading articles and stuff. I heard about Angular.js and watched some online tutorials and watched all of the talks from the conference. I thought that I needed to learn it b/c it was pretty popular at the time. I knew how to write JavaScript, but made me clearly see with Angular.js app I had to back up and learn it. 15:34 – Chuck: Yep! 16:05 – The guest mentions Hacker News among other things. 16:22 – Chuck: Angular and Electron is what we brought you on for – is that what you are doing? 16:36 – Guest: The guest talks about his experiences with Angular and Electron. 18:26 – Chuck: Let’s backup some more – didn’t sound like you worked with a lot of tech companies right? 18:51 – Guest: Yep that was my only one. 18:57 – Chuck: I hear a lot of complaints from people having this imposter syndrome. You only being in the industry for a short amount of time – how did you overcome the imposter syndrome? 19:34 – Guest: Imposter syndrome has been an issue for me – I wasn’t crippled – but it’s debilitating. “Who am I to teach on this subject?” – but I think I’ve made conscious efforts to ignore that and to use it as a little bit as fuel. I remember, man, of being scarred! I remember being terrified to see the online comments – b/c they are going to “know” that I don’t know what I am talking about. Funny thing is that I had a lot of positive comments. Little-by-little, those positive pieces of feedback were good for me. I thought: At least I am helping people (like I said, little-by-little!). I think there has been a part of a loop there. If you can look for that feedback it can help overcome imposter syndrome. The things of value are the things that scare you. 22:41 – Chuck: Yeah, I talk about this all the time to people. I have been self-employed for 8.5 years. I am not going to starve. If I had to, I could go and find a “normal” job. 23:20 – Guest: I agree. One piece of feedback that I got from a colleague is that she said: you are very resourceful! Knowing that it helped b/c it was a boost of confidence. If I had this capacity of being resourceful that helped me make my decision. It wasn’t a good time in the sense that we just had a baby. If it went south then I could always go back and get a “normal” job. 24:43 – Chuck: Yeah we talk about that in Agile development – the further you go the more information you get. 24:58 – Guest. Yep 25:03 – Chuck: What are you doing now? 25:07 – Guest: I’ve had a few large clients these past few years. I have current projects going now one is with a museum. I am speaking at a few conferences – one of them was in San Francisco and Prague. Now I am planning for next year and figuring out what my teaching and speaking plans will be. It looks like I am focusing on Graph QL content. Lots of Angular, too! 26:32 – Chuck: You are web famous! 26:35 – Guest: I don’t know about that, but I do have some things out there. 26:42 – Chuck: How can people find you? 26:49 – Guest: Twitter! Website! GitHub! 27:18 – Chuck: Picks! 27:25 – Fresh Books! END – CacheFly Links: jQuery Angular JavaScript Vue React Chuck’s Twitter Chuck’s E-mail: chuck@devchat.tv Code Academy Auth0 Scotch.io Ryan’s LinkedIn Ryan’s Packages Ryan’s Website Ryan’s Twitter Ryan’s GitHub Sponsors: Get A Coder Job Fresh Books Cache Fly Picks: Ryan Security Headers Try to push past the fear of being an “imposter”! Chuck Dungeons & Dragons Take time with family! Being handy around your home. Lowes. Surprise yourself and go beyond the imposter syndrome!
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: Joe Eames John Papa Erik Hatchett Charles Max Wood Special Guest: Miriam Suzanne In this episode, the panel talks with Miriam Suzanne who is an author, performer, musician, designer, and web developer who works with OddBird, Teacup, Gorilla, Grapefruit Lab, and CSS Tricks. She’s the author of Riding SideSaddle and the Post-Obsolete Book, co-author of Jump Start Sass, and creator of the Susy and True Open-Source toolkits. The panel and the guest talk about Fonts! Show Topics: 0:00 – Advertisement – Kendo UI 0:53 – Guest: Hello! 1:01 – Guest: I am a designer and a developer and started a business with my brother. We are two college dropouts. 2:00 – Panel: Is that’s why it’s called OddBird? 2:05 – Guest: Started with Vue and have been talking at conferences. 2:31 – Chuck: Chris invited you and he’s not here today – go figure! 2:47 – Panel: You are big in the CSS world. 2:58 – Guest: That’s where I’ve made my name. I made a grid system that was popular at one moment in time. 3:17 – Panel. 3:27 – Panel: Grid Systems are... 3:36 – Guest talks about her grid system and how it looked. 4:20 – Panel. 4:24 – Panel goes back-and-forth! 5:24 – Chuck. 5:27 – Guest: That’s why grid systems came out in the first place b/c layout was such a nightmare. When I built Susy... 6:02 – How much easier is design today on modern browsers compared to ten years ago when you created Susy? 6:14 – Guest: It can look daunting but there are great guides out there! 7:04 – Panel asks a question. 7:11 – Guest: We recommend a stack to our clients. We had been using backbone Marinette for a while and we wanted to start messing with others. Looking at other frameworks. Looking at design, I like that Vue doesn’t hide it from me and I can see what I need. 8:41 – Panel: I love that about Vue. I knew this guy named, Hue. 8:54 – Guest: I have been friends with Sarah Drasner. 9:07 – Panel: Sarah is great she’s on my team. 9:39 – Guest: I had been diving into JavaScript over the summer. I hadn’t done a lot of JS in the past before the summer. I was learning Vanilla JavaScript. 10:21 – Guest: I don’t like how it mixes it all together (in reference to the JSX). 10:44 – Panel mentions Python and other things. Panelist asks a question. 10:54 – Guest: That would be a question for someone who writes that. 11:30 – Panel: I am going to change topics here for a second. Can you talk about your talk? And what is a design system? 11:48 – Guest answers the question. 13:26 – Panel follows-up with another question. 13:35 – Guest talks about component libraries. 15:30 – Chuck: Do people assume that the component that they have has all the accessibility baked-in b/c everything else does – and turns out it doesn’t? 15:48 – Guest answers. Guest: Hopefully it’s marked into the documentation. 16:25 – Panel. 16:36 – Guest: If you don’t document it – it doesn’t exist. 17:01 – Panel. 17:22 – Guest: “How do we sell clients on this?” We don’t – we let them come back and say, “we had to do less upkeep.” If they are following our patterns then... 17:57 – Panel: We’ve had where guides are handed off and it erodes slowly over time. Then people are doing it 10 different ways and not doing it the way it was designed. 18:31 – Guest: Yes, it should be baked-into the design and it shouldn’t be added to the style guide. 19:02 – Chuck: I really love Sass – and CSS – how do you write SASS or CSS with Vue? 19:12 – Guest answers the question. 19:23 – Chuck: You made my life better! 19:31 – Guest: If you have global files...you can have those imported among other things. 20:11 – Panel: What’s the best way to go about that? 20:24 – The guest talks about CSS, global designs, among other things. 21:15 – The guest mentions inverted triangles CSS! 22:12 – Guest: The deeper we get the narrower we get! 22:49 – Guest mentions scope styles. 23:12 – Panel: That makes total sense! We are using scope everywhere. 23:30 – Guest. 23:36 – Panel: How would you approach this? I start with scope and then I take them out of scope and then usually promote them to import for mix-ins. I wonder where is that border? 24:30 – Advertisement – Get A Coder Job! 25:09 – Guest answers the question. 25:53 – Panel: It sounds easy at first but when you are designing it you say: I know that isn’t right! 26:13 – Guest: I try to go through a design proposal. 26:27 – Guest defines the term: reused. 27:04 – Panel. 27:10 – Guest. 27:30 – Panel: We used to have this problem where we got the question of the following: splitting up the CSS bundles. 28:27 – Guest: That is the nice thing of having CSS in components. 28:49 – Panel asks Miriam a question. 29:02 – Guest: That’s often when someone wants a redesign. 29:54 – Panel: How do you decide on how many fonts to deliver so they don’t take over the size of the browser? 30:09 – Guest: The usual design rule is no more than 2-3 fonts works out well for performance. Try to keep that rule in mind, but you have to consider every unique project. What is more important for THAT project? 31:46 – Panel. 32:21 – Guest gives recommendations with fonts and font files. 33:37 – Chuck: What are you working on now with Vue? 33:45 – Guest answers the question. The guest talks about collaborative writing. 34:10 – Miriam continues. 34:55 – Chuck: What was the trickiest part? 35:00 – Guest answers the question. 36:03 – Guest: It’s called Vue Finder and it’s through open source. 36:39 – Chuck: Any recent talks coming up for you? 36:49 – Guest: I have one tonight and later one in California! 37:02 – Guest: There were several Vue conferences this year that I was sad to have missed. 37:40 – Guest: Are you doing it again? 37:49 – Panel: How many do you attend? 37:57 – Guest: Normally I do 8-10 conferences and then a variety of Meetups. 38:33 – Chuck: Picks! How do people find you? 38:41 – Guest: OddBird.net and Twitter! 38:58 – Advertisement – Fresh Books! DEVCHAT code. 30-day trial. Links: Vue React JavaScript C# C++ C++ Programming / Memory Management Angular Blazor JavaScript DevChat TV JSX VueConf US 2018 CSS Tricks – By Sarah Drasner Real Talk JavaScript FX Miriam’s Twitter Miriam’s Website OddBird Sponsors: Fresh Books Cache Fly Kendo UI Get A Coder Job! Picks: Joe Indoor Rock Climbing Getting back into what you enjoy RoboTech History of Robotech Vue.JS In Action John Papa How To Import a SASS file into every Vue Component in an App Real Talk JS Podcast Erik AWS Amplify Doctor Who Charles Dungeons and Dragons Stuff Extreme Ownership Miriam Pose New DND Game - Test Version
Panel: Joe Eames John Papa Erik Hatchett Charles Max Wood Special Guest: Miriam Suzanne In this episode, the panel talks with Miriam Suzanne who is an author, performer, musician, designer, and web developer who works with OddBird, Teacup, Gorilla, Grapefruit Lab, and CSS Tricks. She’s the author of Riding SideSaddle and the Post-Obsolete Book, co-author of Jump Start Sass, and creator of the Susy and True Open-Source toolkits. The panel and the guest talk about Fonts! Show Topics: 0:00 – Advertisement – Kendo UI 0:53 – Guest: Hello! 1:01 – Guest: I am a designer and a developer and started a business with my brother. We are two college dropouts. 2:00 – Panel: Is that’s why it’s called OddBird? 2:05 – Guest: Started with Vue and have been talking at conferences. 2:31 – Chuck: Chris invited you and he’s not here today – go figure! 2:47 – Panel: You are big in the CSS world. 2:58 – Guest: That’s where I’ve made my name. I made a grid system that was popular at one moment in time. 3:17 – Panel. 3:27 – Panel: Grid Systems are... 3:36 – Guest talks about her grid system and how it looked. 4:20 – Panel. 4:24 – Panel goes back-and-forth! 5:24 – Chuck. 5:27 – Guest: That’s why grid systems came out in the first place b/c layout was such a nightmare. When I built Susy... 6:02 – How much easier is design today on modern browsers compared to ten years ago when you created Susy? 6:14 – Guest: It can look daunting but there are great guides out there! 7:04 – Panel asks a question. 7:11 – Guest: We recommend a stack to our clients. We had been using backbone Marinette for a while and we wanted to start messing with others. Looking at other frameworks. Looking at design, I like that Vue doesn’t hide it from me and I can see what I need. 8:41 – Panel: I love that about Vue. I knew this guy named, Hue. 8:54 – Guest: I have been friends with Sarah Drasner. 9:07 – Panel: Sarah is great she’s on my team. 9:39 – Guest: I had been diving into JavaScript over the summer. I hadn’t done a lot of JS in the past before the summer. I was learning Vanilla JavaScript. 10:21 – Guest: I don’t like how it mixes it all together (in reference to the JSX). 10:44 – Panel mentions Python and other things. Panelist asks a question. 10:54 – Guest: That would be a question for someone who writes that. 11:30 – Panel: I am going to change topics here for a second. Can you talk about your talk? And what is a design system? 11:48 – Guest answers the question. 13:26 – Panel follows-up with another question. 13:35 – Guest talks about component libraries. 15:30 – Chuck: Do people assume that the component that they have has all the accessibility baked-in b/c everything else does – and turns out it doesn’t? 15:48 – Guest answers. Guest: Hopefully it’s marked into the documentation. 16:25 – Panel. 16:36 – Guest: If you don’t document it – it doesn’t exist. 17:01 – Panel. 17:22 – Guest: “How do we sell clients on this?” We don’t – we let them come back and say, “we had to do less upkeep.” If they are following our patterns then... 17:57 – Panel: We’ve had where guides are handed off and it erodes slowly over time. Then people are doing it 10 different ways and not doing it the way it was designed. 18:31 – Guest: Yes, it should be baked-into the design and it shouldn’t be added to the style guide. 19:02 – Chuck: I really love Sass – and CSS – how do you write SASS or CSS with Vue? 19:12 – Guest answers the question. 19:23 – Chuck: You made my life better! 19:31 – Guest: If you have global files...you can have those imported among other things. 20:11 – Panel: What’s the best way to go about that? 20:24 – The guest talks about CSS, global designs, among other things. 21:15 – The guest mentions inverted triangles CSS! 22:12 – Guest: The deeper we get the narrower we get! 22:49 – Guest mentions scope styles. 23:12 – Panel: That makes total sense! We are using scope everywhere. 23:30 – Guest. 23:36 – Panel: How would you approach this? I start with scope and then I take them out of scope and then usually promote them to import for mix-ins. I wonder where is that border? 24:30 – Advertisement – Get A Coder Job! 25:09 – Guest answers the question. 25:53 – Panel: It sounds easy at first but when you are designing it you say: I know that isn’t right! 26:13 – Guest: I try to go through a design proposal. 26:27 – Guest defines the term: reused. 27:04 – Panel. 27:10 – Guest. 27:30 – Panel: We used to have this problem where we got the question of the following: splitting up the CSS bundles. 28:27 – Guest: That is the nice thing of having CSS in components. 28:49 – Panel asks Miriam a question. 29:02 – Guest: That’s often when someone wants a redesign. 29:54 – Panel: How do you decide on how many fonts to deliver so they don’t take over the size of the browser? 30:09 – Guest: The usual design rule is no more than 2-3 fonts works out well for performance. Try to keep that rule in mind, but you have to consider every unique project. What is more important for THAT project? 31:46 – Panel. 32:21 – Guest gives recommendations with fonts and font files. 33:37 – Chuck: What are you working on now with Vue? 33:45 – Guest answers the question. The guest talks about collaborative writing. 34:10 – Miriam continues. 34:55 – Chuck: What was the trickiest part? 35:00 – Guest answers the question. 36:03 – Guest: It’s called Vue Finder and it’s through open source. 36:39 – Chuck: Any recent talks coming up for you? 36:49 – Guest: I have one tonight and later one in California! 37:02 – Guest: There were several Vue conferences this year that I was sad to have missed. 37:40 – Guest: Are you doing it again? 37:49 – Panel: How many do you attend? 37:57 – Guest: Normally I do 8-10 conferences and then a variety of Meetups. 38:33 – Chuck: Picks! How do people find you? 38:41 – Guest: OddBird.net and Twitter! 38:58 – Advertisement – Fresh Books! DEVCHAT code. 30-day trial. Links: Vue React JavaScript C# C++ C++ Programming / Memory Management Angular Blazor JavaScript DevChat TV JSX VueConf US 2018 CSS Tricks – By Sarah Drasner Real Talk JavaScript FX Miriam’s Twitter Miriam’s Website OddBird Sponsors: Fresh Books Cache Fly Kendo UI Get A Coder Job! Picks: Joe Indoor Rock Climbing Getting back into what you enjoy RoboTech History of Robotech Vue.JS In Action John Papa How To Import a SASS file into every Vue Component in an App Real Talk JS Podcast Erik AWS Amplify Doctor Who Charles Dungeons and Dragons Stuff Extreme Ownership Miriam Pose New DND Game - Test Version
Panel: Josh Adams Charles Max Wood Mark Ericksen Special Guest: Devon Estes In this episode of Elixir Mix, the panel talks with Devon Estes who is a software developer who uses Elixir. He currently resides in Berlin, Germany and has been working there for the past four years. The panelists and the guest talk about Elixir, testing, and much more! Check it out! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:49 – Chuck: I am starting a new show called The DevRev. Check it out here! Our special guest today is Devon Estes. Episode 18 is a past episode you’ve been on – check it out here! 1:26 – Devon: I am American but live in Berlin, Germany for about 4 years now. I was a freelancer, but now I am at a “real” job now where I am a software developer using Elixir. 1:50 – Chuck: Cool! 2:05 – Guest: Something to always talk about testing – it’s evergreen! 2:15 – Chuck: What are the benefits you get from testing and what is your approach? 2:24 – The guest answers the question. 3:53 – Panelist chimes in. 4:18 – Panel: I like playing around and I know when something is terrible. I have to poke around to figure out if I like it or not. I am an exploratory developer. I write a test and it looks great at first but the implementation is terrible or something. 5:54 – Mark comments on developers and how they interact with their code. 7:15 – Mark: How do you approach that? I heard you talking about tests, spikes and other things. 7:22 – Guest: If it is something that is small I will write the test first. If it’s larger I will usually do 2-3 spikes to figure out what is going on. The guest continues with this topic. 8:54 – Panel: I found that over the years I couldn’t do that. 9:21 – Guest: With the topic of testing in Elixir I have these “rules” but I break them all the time. Sometimes you get better, cleaner tests out of it if you were to break the rule(s.). Tests are only there for 90% of the time, in my own opinion. Sometimes you have to play around to see what’s going on. 10:36 – Panel: I agree a lot, especially with integrations. 10:49 – Guest. 12:18 – Panel: You have these guidelines or rules and you know when to break those rules. You talked about these specific rules and I thought it was interesting. I was reading through these and I have the same rules but you codified them with examples. Can you walk us through your guidelines? 13:00 – Guest: To be super clear I am talking about unit tests. When I think of testing there is this testing pyramid. 13:52 – Panel. 14:57 – Guest: Like I said, these rules are meant to be broken, if appropriate. 16:39 – Guest continues with unit testing and other types of testing. He talks about easier to more difficult kinds of tests. 17:42 – Guest (continues): Sometimes the tests are accurately true, and sometimes not. It can be easy to get into those traps. Hopefully they will tell you what is expected. 18:25 – Panel: In Ruby, there is a test that would modify your code and remove stuff? Was it Mutant? Mutant testing. 19:03 – Guest answers the question. 19:38 – Guest: I don’t know if Elixir has anything like that, yet, but it would be pretty cool. It would be a good idea for someone to take on! 20:00 – Chuck: I have had conversations with a colleague – they both pushed back and talked more about Cypress.io and integrated tests. 21:04 – Chuck: I think it’s interesting to see the different approaches! 21:14 – Guest: We are lucky to have great tooling in Elixir!! The guest mentions Wallaby.js! 24:39 – The guest talks about unit levels. Check it out here! 26:35 – Panel. 26:48 – Chuck: How does it affect my workflow? I like end-to-end tests. The efficiency, if it’s repeating stuff – I don’t care – as long as it’s fast enough. If it ruins my workflow then it’s a problem. 27:22 – Panel. 28:12 – The topic “test coverage” is mentioned by Chuck. 28:25 – Panel. 29:02 – FreshBooks! 30:10 – Guest talks about Wallaby.js. 32:24 – Panel: We’ve had you on before, and the idea is that you are all into Elixir and its path. (EMx 018 – Episode with Devon Estes) 32:57 – Guest: I think testing in Elixir is simpler. 34:04 – Panel. 34:07 – Guest: You have commands and you have queries. The guest gives a hypothetical example! The guest also mentions GenServers, too. 35:42 – Guest: There are two ways that you can interact with the process: command & queries. 37:00 – Guest talks about different libraries such as: MoX. 37:41 – Panel: Any tips on testing the servers; just any GenServer? 38:25 – Panelist shares his approach with this. 39:54 – Guest: I don’t test name servers b/c they are by definition global state. The guest goes into great detail about testing – check it out! 46:29 – Panel. 47:01 – Guest: I kind of hate the term dependency interjection in the functional context. 47:17 – Panel: I think it’s helpful, because... 47:28 – Guest. 47:49 – Panelists go back-and-forth! 48:20 – Panel: Sending a message to the testing process – this was something that was stated by Devon earlier. I find this really helpful. 49:00 – Chuck: Picks! 49:05 – Ad: Lootcrate.com END – CacheFly! Links: Ruby Elixir GenServers Elm JavaScript Visual Studio Code React Wallaby Cypress.io Mutation Testing – GitHub MoX MRS 003 – Episode with Devon Estes RR 295 – Episode with Devon Estes RR 330 – Episode with Devon Estes EMx 018 – Episode with Devon Estes Devon’s GitHub Devon’s Twitter Sponsors: Loot Crate Get a Coder Job! Fresh Books CacheFly Picks: Mark Get Alias Blog - Mox Josh GitPitch.com Slide Deck by Josh Charles Values Extreme Ownership Sit down with your team Discord server for DevChat Recommendation Page for Elixir Devon Dell Laptop XPS 13 Play Station Mini Test - devonestes@gmail.com
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: Josh Adams Charles Max Wood Mark Ericksen Special Guest: Devon Estes In this episode of Elixir Mix, the panel talks with Devon Estes who is a software developer who uses Elixir. He currently resides in Berlin, Germany and has been working there for the past four years. The panelists and the guest talk about Elixir, testing, and much more! Check it out! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:49 – Chuck: I am starting a new show called The DevRev. Check it out here! Our special guest today is Devon Estes. Episode 18 is a past episode you’ve been on – check it out here! 1:26 – Devon: I am American but live in Berlin, Germany for about 4 years now. I was a freelancer, but now I am at a “real” job now where I am a software developer using Elixir. 1:50 – Chuck: Cool! 2:05 – Guest: Something to always talk about testing – it’s evergreen! 2:15 – Chuck: What are the benefits you get from testing and what is your approach? 2:24 – The guest answers the question. 3:53 – Panelist chimes in. 4:18 – Panel: I like playing around and I know when something is terrible. I have to poke around to figure out if I like it or not. I am an exploratory developer. I write a test and it looks great at first but the implementation is terrible or something. 5:54 – Mark comments on developers and how they interact with their code. 7:15 – Mark: How do you approach that? I heard you talking about tests, spikes and other things. 7:22 – Guest: If it is something that is small I will write the test first. If it’s larger I will usually do 2-3 spikes to figure out what is going on. The guest continues with this topic. 8:54 – Panel: I found that over the years I couldn’t do that. 9:21 – Guest: With the topic of testing in Elixir I have these “rules” but I break them all the time. Sometimes you get better, cleaner tests out of it if you were to break the rule(s.). Tests are only there for 90% of the time, in my own opinion. Sometimes you have to play around to see what’s going on. 10:36 – Panel: I agree a lot, especially with integrations. 10:49 – Guest. 12:18 – Panel: You have these guidelines or rules and you know when to break those rules. You talked about these specific rules and I thought it was interesting. I was reading through these and I have the same rules but you codified them with examples. Can you walk us through your guidelines? 13:00 – Guest: To be super clear I am talking about unit tests. When I think of testing there is this testing pyramid. 13:52 – Panel. 14:57 – Guest: Like I said, these rules are meant to be broken, if appropriate. 16:39 – Guest continues with unit testing and other types of testing. He talks about easier to more difficult kinds of tests. 17:42 – Guest (continues): Sometimes the tests are accurately true, and sometimes not. It can be easy to get into those traps. Hopefully they will tell you what is expected. 18:25 – Panel: In Ruby, there is a test that would modify your code and remove stuff? Was it Mutant? Mutant testing. 19:03 – Guest answers the question. 19:38 – Guest: I don’t know if Elixir has anything like that, yet, but it would be pretty cool. It would be a good idea for someone to take on! 20:00 – Chuck: I have had conversations with a colleague – they both pushed back and talked more about Cypress.io and integrated tests. 21:04 – Chuck: I think it’s interesting to see the different approaches! 21:14 – Guest: We are lucky to have great tooling in Elixir!! The guest mentions Wallaby.js! 24:39 – The guest talks about unit levels. Check it out here! 26:35 – Panel. 26:48 – Chuck: How does it affect my workflow? I like end-to-end tests. The efficiency, if it’s repeating stuff – I don’t care – as long as it’s fast enough. If it ruins my workflow then it’s a problem. 27:22 – Panel. 28:12 – The topic “test coverage” is mentioned by Chuck. 28:25 – Panel. 29:02 – FreshBooks! 30:10 – Guest talks about Wallaby.js. 32:24 – Panel: We’ve had you on before, and the idea is that you are all into Elixir and its path. (EMx 018 – Episode with Devon Estes) 32:57 – Guest: I think testing in Elixir is simpler. 34:04 – Panel. 34:07 – Guest: You have commands and you have queries. The guest gives a hypothetical example! The guest also mentions GenServers, too. 35:42 – Guest: There are two ways that you can interact with the process: command & queries. 37:00 – Guest talks about different libraries such as: MoX. 37:41 – Panel: Any tips on testing the servers; just any GenServer? 38:25 – Panelist shares his approach with this. 39:54 – Guest: I don’t test name servers b/c they are by definition global state. The guest goes into great detail about testing – check it out! 46:29 – Panel. 47:01 – Guest: I kind of hate the term dependency interjection in the functional context. 47:17 – Panel: I think it’s helpful, because... 47:28 – Guest. 47:49 – Panelists go back-and-forth! 48:20 – Panel: Sending a message to the testing process – this was something that was stated by Devon earlier. I find this really helpful. 49:00 – Chuck: Picks! 49:05 – Ad: Lootcrate.com END – CacheFly! Links: Ruby Elixir GenServers Elm JavaScript Visual Studio Code React Wallaby Cypress.io Mutation Testing – GitHub MoX MRS 003 – Episode with Devon Estes RR 295 – Episode with Devon Estes RR 330 – Episode with Devon Estes EMx 018 – Episode with Devon Estes Devon’s GitHub Devon’s Twitter Sponsors: Loot Crate Get a Coder Job! Fresh Books CacheFly Picks: Mark Get Alias Blog - Mox Josh GitPitch.com Slide Deck by Josh Charles Values Extreme Ownership Sit down with your team Discord server for DevChat Recommendation Page for Elixir Devon Dell Laptop XPS 13 Play Station Mini Test - devonestes@gmail.com
Panel: Charles Max Wood Guest: Travis Tidwell This week on My Angular Story, Charles speaks with Travis Tidwell (Dallas, TX) who is CTO and co-founder of Form_IO! Chuck and Travis talk about his background, open source struggles, and more. Check it out! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:49 – Chuck: Welcome! We had you on Episode 125. A lot has changed huh? The nice thing, though, about these changes is that we seem to be tackling different problems. 1:42 – Guest: They are stabilizing on the same on the same design patterns. I think that’s refreshing. Back in the day, everyone had their own way of doing it. It was difficult to find which one is the RIGHT one. 2:05 – Chuck: Yes, I agree. Gives us your background, please! 2:20 – Guest: I am still doing Form IO, and the co-founder and CTO of the company. My Angular Story is MY story on how the company evolved. 3:05 – Chuck: How did you get into programming? 3:09 – Guest: I am going to be 40-years old in May! I am getting up there. Everyone who I am talking to (in my age) it seems like we have the same story. We have this story of having that REALLY old computer. Parents bring home the IBM or the Commodore 64 and that really is my story. At the time, the only thing you could learn with it was to program – there weren’t any video games, etc. A book that I geeked-out about was: “DOS for Dummies.” The guest talks about his senior year in college and how he came to fall in-love with programming. 6:28 – Guest: After college, I got a job for working for a company that used C++ code. People ask: How the heck did you get into Web? My background, too, was tap dancing and in the arts. Most people don’t know that. I was giving these tap lessons to kids – and around that time YouTube was just for cat videos. At the time, I thought it would be great to teach these tap video lessons online. I found a CMS at the time that would help me with my teaching intent. Drupal took me into the frontend libraries. PHP is a backend language, and Drupal was based entirely on PHP. There was this huge paradigm-shift within my career. I really got into these tools not knowing that it would change my career. My open source has taken me to tutorial videos. Eventually, a light bulb went off and I found a solution that needed to be solved within Angular. 12:21 – Guest. 12:28 – Chuck: I love the side hustle description: I saw a need out there and we solved it! 12:40 – Guest: Side hustle is great to talk about. Open source is a bit of a struggle (at that time) it was really hard to maintain open source and providing for your family at the same time. Open source is hard b/c you work your butt off, but you aren’t getting paid for it. It’s really, really difficult. I’ve had ups-and-downs actually with open source. You have to get innovative with it. I am really big on and supportive of people who are monetizing off of open source. 14:58 – Chuck: Open source – for me – I got burned out in June. Sometimes you are putting in a lot of time and not seeing any benefit from it. You have all of these things and something changes, something is different – I can’t take another night not seeing my kids. 16:06 – Guest: You have this original motivation as an open source developer – and you build something rally cool. You share with the world, but a lot of people don’t realize the tail of it. Come to realize it worked well for you – but not for everyone! It makes your stock price go out – contributing to open source – especially if you have a popular open source library. Most of the jobs I would apply to I would just give them my GitHub repertoire. People are figuring out ways they can support themselves and monetize. The ones that can figure that out don’t burnout. 19:44 – Chuck: Babel – Henry Zhu. (See his Patreon account.) 20:08 – Guest: How does he do it? 20:20 – Chuck: It’s mostly contributions. 20:35 – Guest: I see that you are on Patreon. I urge people to go there and help support those open source people. It’s such a great thing and it’s becoming a trend. That’s one thing that drew me away from Drupal b/c at the time it had this negative connotation of monetizing on your open source. The spirit of the open source is THAT. It gives support to open source folks in order to provide for their families. 22:00 – Chuck: I talk a lot with Eric through CodeFund. It’s important to know these options. 22:24 – Guest: That is my road of open source and in creating IO. 24:01 – Chuck: You are the CTO and not the CEO. How did you wind up and forming IO? 24:15 – Guest: There were a lot of pain points. It all started with the prototype. The guest talks about the background. Travis mentions FormBuilder among other things. 30:00 – Chuck: What are you working on now? 30:05 – Guest: The Vanilla Core Renderer! It doesn’t care what framework it gets attached to. We are working on a new template engine. 31:55 – Chuck: I wish I had more time to code. 31:58 – Guest. 33:08 – Chuck: How can people find you? 33:10 – Guest: GitHub! Training YouTube Videos! Twitter! 34:56 – Fresh Books! END – CacheFly Links: jQuery Angular JavaScript Vue React Chuck’s Twitter Chuck’s E-mail: chuck@devchat.tv Travis Tidwell’s Book: Flash With Drupal “How to Build a M.E.A.N. Web Application” by Travis Tidwell Angular-Formly Angular Angular – FormBuilder Patreon Travis’ YouTube Videos Episode 125 with Travis! Travis’ LinkedIn Sponsors: Get A Coder Job Fresh Books Cache Fly Picks: Travis Technology: Minio.io T.V. Show: Rick & Morty AI Movie (listen for title) Chuck T.V. Show: Last Man Standing
Panel: Charles Max Wood Guest: Travis Tidwell This week on My Angular Story, Charles speaks with Travis Tidwell (Dallas, TX) who is CTO and co-founder of Form_IO! Chuck and Travis talk about his background, open source struggles, and more. Check it out! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:49 – Chuck: Welcome! We had you on Episode 125. A lot has changed huh? The nice thing, though, about these changes is that we seem to be tackling different problems. 1:42 – Guest: They are stabilizing on the same on the same design patterns. I think that’s refreshing. Back in the day, everyone had their own way of doing it. It was difficult to find which one is the RIGHT one. 2:05 – Chuck: Yes, I agree. Gives us your background, please! 2:20 – Guest: I am still doing Form IO, and the co-founder and CTO of the company. My Angular Story is MY story on how the company evolved. 3:05 – Chuck: How did you get into programming? 3:09 – Guest: I am going to be 40-years old in May! I am getting up there. Everyone who I am talking to (in my age) it seems like we have the same story. We have this story of having that REALLY old computer. Parents bring home the IBM or the Commodore 64 and that really is my story. At the time, the only thing you could learn with it was to program – there weren’t any video games, etc. A book that I geeked-out about was: “DOS for Dummies.” The guest talks about his senior year in college and how he came to fall in-love with programming. 6:28 – Guest: After college, I got a job for working for a company that used C++ code. People ask: How the heck did you get into Web? My background, too, was tap dancing and in the arts. Most people don’t know that. I was giving these tap lessons to kids – and around that time YouTube was just for cat videos. At the time, I thought it would be great to teach these tap video lessons online. I found a CMS at the time that would help me with my teaching intent. Drupal took me into the frontend libraries. PHP is a backend language, and Drupal was based entirely on PHP. There was this huge paradigm-shift within my career. I really got into these tools not knowing that it would change my career. My open source has taken me to tutorial videos. Eventually, a light bulb went off and I found a solution that needed to be solved within Angular. 12:21 – Guest. 12:28 – Chuck: I love the side hustle description: I saw a need out there and we solved it! 12:40 – Guest: Side hustle is great to talk about. Open source is a bit of a struggle (at that time) it was really hard to maintain open source and providing for your family at the same time. Open source is hard b/c you work your butt off, but you aren’t getting paid for it. It’s really, really difficult. I’ve had ups-and-downs actually with open source. You have to get innovative with it. I am really big on and supportive of people who are monetizing off of open source. 14:58 – Chuck: Open source – for me – I got burned out in June. Sometimes you are putting in a lot of time and not seeing any benefit from it. You have all of these things and something changes, something is different – I can’t take another night not seeing my kids. 16:06 – Guest: You have this original motivation as an open source developer – and you build something rally cool. You share with the world, but a lot of people don’t realize the tail of it. Come to realize it worked well for you – but not for everyone! It makes your stock price go out – contributing to open source – especially if you have a popular open source library. Most of the jobs I would apply to I would just give them my GitHub repertoire. People are figuring out ways they can support themselves and monetize. The ones that can figure that out don’t burnout. 19:44 – Chuck: Babel – Henry Zhu. (See his Patreon account.) 20:08 – Guest: How does he do it? 20:20 – Chuck: It’s mostly contributions. 20:35 – Guest: I see that you are on Patreon. I urge people to go there and help support those open source people. It’s such a great thing and it’s becoming a trend. That’s one thing that drew me away from Drupal b/c at the time it had this negative connotation of monetizing on your open source. The spirit of the open source is THAT. It gives support to open source folks in order to provide for their families. 22:00 – Chuck: I talk a lot with Eric through CodeFund. It’s important to know these options. 22:24 – Guest: That is my road of open source and in creating IO. 24:01 – Chuck: You are the CTO and not the CEO. How did you wind up and forming IO? 24:15 – Guest: There were a lot of pain points. It all started with the prototype. The guest talks about the background. Travis mentions FormBuilder among other things. 30:00 – Chuck: What are you working on now? 30:05 – Guest: The Vanilla Core Renderer! It doesn’t care what framework it gets attached to. We are working on a new template engine. 31:55 – Chuck: I wish I had more time to code. 31:58 – Guest. 33:08 – Chuck: How can people find you? 33:10 – Guest: GitHub! Training YouTube Videos! Twitter! 34:56 – Fresh Books! END – CacheFly Links: jQuery Angular JavaScript Vue React Chuck’s Twitter Chuck’s E-mail: chuck@devchat.tv Travis Tidwell’s Book: Flash With Drupal “How to Build a M.E.A.N. Web Application” by Travis Tidwell Angular-Formly Angular Angular – FormBuilder Patreon Travis’ YouTube Videos Episode 125 with Travis! Travis’ LinkedIn Sponsors: Get A Coder Job Fresh Books Cache Fly Picks: Travis Technology: Minio.io T.V. Show: Rick & Morty AI Movie (listen for title) Chuck T.V. Show: Last Man Standing
Panel: Charles Max Wood Guest: Travis Tidwell This week on My Angular Story, Charles speaks with Travis Tidwell (Dallas, TX) who is CTO and co-founder of Form_IO! Chuck and Travis talk about his background, open source struggles, and more. Check it out! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:49 – Chuck: Welcome! We had you on Episode 125. A lot has changed huh? The nice thing, though, about these changes is that we seem to be tackling different problems. 1:42 – Guest: They are stabilizing on the same on the same design patterns. I think that’s refreshing. Back in the day, everyone had their own way of doing it. It was difficult to find which one is the RIGHT one. 2:05 – Chuck: Yes, I agree. Gives us your background, please! 2:20 – Guest: I am still doing Form IO, and the co-founder and CTO of the company. My Angular Story is MY story on how the company evolved. 3:05 – Chuck: How did you get into programming? 3:09 – Guest: I am going to be 40-years old in May! I am getting up there. Everyone who I am talking to (in my age) it seems like we have the same story. We have this story of having that REALLY old computer. Parents bring home the IBM or the Commodore 64 and that really is my story. At the time, the only thing you could learn with it was to program – there weren’t any video games, etc. A book that I geeked-out about was: “DOS for Dummies.” The guest talks about his senior year in college and how he came to fall in-love with programming. 6:28 – Guest: After college, I got a job for working for a company that used C++ code. People ask: How the heck did you get into Web? My background, too, was tap dancing and in the arts. Most people don’t know that. I was giving these tap lessons to kids – and around that time YouTube was just for cat videos. At the time, I thought it would be great to teach these tap video lessons online. I found a CMS at the time that would help me with my teaching intent. Drupal took me into the frontend libraries. PHP is a backend language, and Drupal was based entirely on PHP. There was this huge paradigm-shift within my career. I really got into these tools not knowing that it would change my career. My open source has taken me to tutorial videos. Eventually, a light bulb went off and I found a solution that needed to be solved within Angular. 12:21 – Guest. 12:28 – Chuck: I love the side hustle description: I saw a need out there and we solved it! 12:40 – Guest: Side hustle is great to talk about. Open source is a bit of a struggle (at that time) it was really hard to maintain open source and providing for your family at the same time. Open source is hard b/c you work your butt off, but you aren’t getting paid for it. It’s really, really difficult. I’ve had ups-and-downs actually with open source. You have to get innovative with it. I am really big on and supportive of people who are monetizing off of open source. 14:58 – Chuck: Open source – for me – I got burned out in June. Sometimes you are putting in a lot of time and not seeing any benefit from it. You have all of these things and something changes, something is different – I can’t take another night not seeing my kids. 16:06 – Guest: You have this original motivation as an open source developer – and you build something rally cool. You share with the world, but a lot of people don’t realize the tail of it. Come to realize it worked well for you – but not for everyone! It makes your stock price go out – contributing to open source – especially if you have a popular open source library. Most of the jobs I would apply to I would just give them my GitHub repertoire. People are figuring out ways they can support themselves and monetize. The ones that can figure that out don’t burnout. 19:44 – Chuck: Babel – Henry Zhu. (See his Patreon account.) 20:08 – Guest: How does he do it? 20:20 – Chuck: It’s mostly contributions. 20:35 – Guest: I see that you are on Patreon. I urge people to go there and help support those open source people. It’s such a great thing and it’s becoming a trend. That’s one thing that drew me away from Drupal b/c at the time it had this negative connotation of monetizing on your open source. The spirit of the open source is THAT. It gives support to open source folks in order to provide for their families. 22:00 – Chuck: I talk a lot with Eric through CodeFund. It’s important to know these options. 22:24 – Guest: That is my road of open source and in creating IO. 24:01 – Chuck: You are the CTO and not the CEO. How did you wind up and forming IO? 24:15 – Guest: There were a lot of pain points. It all started with the prototype. The guest talks about the background. Travis mentions FormBuilder among other things. 30:00 – Chuck: What are you working on now? 30:05 – Guest: The Vanilla Core Renderer! It doesn’t care what framework it gets attached to. We are working on a new template engine. 31:55 – Chuck: I wish I had more time to code. 31:58 – Guest. 33:08 – Chuck: How can people find you? 33:10 – Guest: GitHub! Training YouTube Videos! Twitter! 34:56 – Fresh Books! END – CacheFly Links: jQuery Angular JavaScript Vue React Chuck’s Twitter Chuck’s E-mail: chuck@devchat.tv Travis Tidwell’s Book: Flash With Drupal “How to Build a M.E.A.N. Web Application” by Travis Tidwell Angular-Formly Angular Angular – FormBuilder Patreon Travis’ YouTube Videos Episode 125 with Travis! Travis’ LinkedIn Sponsors: Get A Coder Job Fresh Books Cache Fly Picks: Travis Technology: Minio.io T.V. Show: Rick & Morty AI Movie (listen for title) Chuck T.V. Show: Last Man Standing
Panel: Aimee Knight AJ O’Neal Charles Max Wood Special Guest: Gil Tayar In this episode, the panel talks with Gil Tayar who is currently residing in Tel Aviv and is a software engineer. He is currently the Senior Architect at Applitools in Israel. The panel and the guest talk about the different types of tests and when/how one is to use a certain test in a particular situation. They also mention Node, React, Selenium, Puppeteer, and much more! Show Topics: 0:00 – Advertisement: KENDO UI 0:35 – Chuck: Our panel is AJ, Aimee, myself – and our special guest is Gil Tayar. Tell us why you are famous! 1:13 – Gil talks about where he resides and his background. 2:27 – Chuck: What is the landscape like now with testing and testing tools now? 2:39 – Guest: There is a huge renaissance with the JavaScript community. Testing has moved forward in the frontend and backend. Today we have lots of testing tools. We can do frontend testing that wasn’t possible 5 years ago. The major change was React. The guest talks about Node, React, tools, and more! 4:17 – Aimee: I advocate for tests and testing. There is a grey area though...how do you treat that? If you have to get something into production, but it’s not THE thing to get into production, does that fall into product or...what? 5:02 – Guest: We decided to test everything in the beginning. We actually cam through and did that and since then I don’t think I can use the right code without testing. There are a lot of different situations, though, to consider. The guest gives hypothetical situations that people could face. 6:27 – Aimee. 6:32 – Guest: The horror to changing code without tests, I don’t know, I haven’t done that for a while. You write with fear in your heart. Your design is driven by fear, and not what you think is right. In the beginning don’t write those tests, but... 7:22 – Aimee: I totally agree and I could go on and on and on. 7:42 – Panel: I want to do tests when I know they will create value. I don’t want to do it b/c it’s a mundane thing. Secondly, I find that some times I am in a situation where I cannot write the test b/c I would have to know the business logic is correct. I am in this discovery mode of what is the business logic? I am not just building your app. I guess I just need advice in this area, I guess. 8:55 – Guest gives advice to panelist’s question. He mentions how there are two schools of thought. 10:20 – Guest: Don’t mock too much. 10:54 – Panel: Are unit tests the easiest? I just reach for unit testing b/c it helps me code faster. But 90% of my code is NOT that. 11:18 – Guest: Exactly! Most of our test is glue – gluing together a bunch of different stuff! Those are best tested as a medium-sized integration suite. 12:39 – Panel: That seems like a lot of work, though! I loathe the database stuff b/c they don’t map cleanly. I hate this database stuff. 13:06 – Guest: I agree, but don’t knock the database, but knock the level above the database. 13:49 – Guest: Yes, it takes time! Building the script and the testing tools, but when you have it then adding to it is zero time. Once you are in the air it’s smooth sailing. 14:17 – Panel: I guess I can see that. I like to do the dumb-way the first time. I am not clear on the transition. 14:47 – Guest: Write the code, and then write the tests. The guest gives a hypothetical situation on how/when to test in a certain situation. 16:25 – Panel: Can you talk about that more, please? 16:50 – Guest: Don’t have the same unit – do browser and business logic stuff separated. The real business logic stuff needs to be above that level. First principle is separation of concerns. 18:04 – Panel talks about dependency interjection and asks a question. 18:27 – Guest: What I am talking about very, very light inter-dependency interjection. 19:19 – Panel: You have a main function and you are doing requires in the main function. You are passing the pieces of that into the components that need it. 19:44 – Guest: I only do it when it’s necessary; it’s not a religion for me. I do it only for those layers that I know will need to be mocked; like database layers, etc. 20:09 – Panel. 20:19 – Guest: It’s taken me 80 years to figure out, but I have made plenty of mistakes a long the way. A test should run for 2-5 minutes max for package. 20:53 – Panel: What if you have a really messy legacy system? How do you recommend going into that? Do you write tests for things that you think needs to get tested? 21:39 – Guest answers the question and mentions Selenium! 24:27 – Panel: I like that approach. 24:35 – Chuck: When you say integration test what do you mean? 24:44 – Guest: Integration tests aren’t usually talked about. For most people it’s tests that test the database level against the database. For me, the integration tests are taking a set of classes as they are in the application and testing them together w/o the...so they can run in millisecond time. 26:54 – Advertisement – Sentry.io 27:52 – Chuck: How much do the tools matter? 28:01 – Guest: The revolutions matter. Whether you use Jasmine or Mocha or whatever I don’t think it matters. The tests matter not the tools. 28:39 – Aimee: Yes and no. I think some tools are outdated. 28:50 – Guest: I got a lot of flack about my blog where I talk about Cypress versus Selenium. I will never use Jasmine. In the end it’s the 29:29 – Aimee: I am curious would you be willing to expand on what the Selenium folks were saying about Puppeteer and others may not provide? 29:54 – Guest: Cypress was built for frontend developers. They don’t care about cross browser, and they tested in Chrome. Most browsers are typically the same. Selenium was built with the QA mindset – end to end tests that we need to do cross browser. The guest continues with this topic. 30:54 – Aimee mentions Cypress. 31:08 – Guest: My guessing is that their priority is not there. I kind of agree with them. 31:21 – Aimee: I think they are focusing on mobile more. 31:24 – Guest: I think cross browser testing is less of an issue now. There is one area that is important it’s the visual area! It’s important to test visually across these different browsers. 32:32 – Guest: Selenium is a Swiss knife – it can do everything. 33:32 – Chuck: I am thinking about different topics to talk about. I haven’t used Puppeteer. What’s that about? 33:49 – Guest: Puppeteer is much more like Selenium. The reason why it’s great is b/c Puppeteer will always be Google Chrome. 35:42 – Chuck: When should you be running your tests? I like to use some unit tests when I am doing my development but how do you break that down? 36:06 – Guest. 38:30 – Chuck: You run tests against production? 38:45 – Guest: Don’t run tests against production...let me clarify! 39:14 – Chuck. 39:21 – Guest: When I am talking about integration testing in the backend... 40:37 – Chuck asks a question. 40:47 – Guest: I am constantly running between frontend and backend. I didn’t know how to run tests for frontend. I had to invent a new thing and I “invented” the package JS DONG. It’s an implementation of Dong in Node. I found out that I wasn’t the only one and that there were others out there, too. 43:14 – Chuck: Nice! You talked in the prep docs that you urged a new frontend developer to not run the app in the browser for 2 months? 43:25 – Guest: Yeah, I found out that she was running the application...she said she knew how to write tests. I wanted her to see it my way and it probably was a radical train-of-thought, and that was this... 44:40 – Guest: Frontend is so visual. 45:12 – Chuck: What are you working on now? 45:16 – Guest: I am working with Applitools and I was impressed with what they were doing. The guest goes into further detail. 46:08 – Guest: Those screenshots are never the same. 48:36 – Panel: It’s...comparing the output to the static site to the... 48:50 – Guest: Yes, that static site – if you have 30 pages in your app – most of those are the same. We have this trick where we don’t upload it again and again. Uploading the whole static site is usually very quick. The second thing is we don’t wait for the results. We don’t wait for the whole rendering and we continue with the tests. 50:28 – Guest: I am working mostly (right now) in backend. 50:40 – Chuck: Anything else? Picks! 50:57 – Advertisement: Get A Coder Job! END – Advertisement: CacheFly! Links: JavaScript React Elixir Node.js Puppeteer Cypress SeleniumHQ Article – Ideas.Ted.Com Book: Never Split the Difference Applitools Guest’s Blog Article about Cypress vs. Selenium Gil’s Twitter Gil’s Medium Gil’s LinkedIn Sponsors: Kendo UI Sentry CacheFly Picks: Aimee How Showing Vulnerability Helps Build a Stronger Team AJ Never Split the Difference Project - TeleBit Charles Monster Hunter International Metabase Gil Cat Zero The Origin of Consciousness in the Breakdown of the Bicameral Mind
Panel: Dave Kimura Eric Berry Charles Max Wood Nate Hopkins Special Guest: Pedro Cavalheiro In this episode of Ruby Rogues, the panelists talk with Pedro Cavalheiro who is from Brazil, but currently resides in Hamburg, Germany where he works at Xing. He is a software engineer, an actor, and has been working with the web since 2010. He has worked mostly with Ruby and PHP languages, and since 2015 has worked full-time with Ruby on Rails. The panelists and Pedro talk about his background and his article. Check it out! Show Topics: 0:00 – Advertisement: Sentry.io 1:04 – Chuck: Hi! Panel is Eric, Dave, Nate, myself – and our special guest is Pedro Cavalheiro! Please introduce yourself! Is that Spanish or Portuguese? Chuck: P.S. – The DevRev is my new show and check it! 1:57 – Guest: My name means gentleman! Here at your service. 2:05 – Guest: I am a developer and worked with web technologies for 10 years. I do some DevOps stuff and working with Ruby. I just moved to Hamburg, Germany with the same company. 3:02 – Chuck: How do you make that decision? 3:07 – Guest: There is no magical answer. It depends on your needs and what time you have? At the time when I wrote that article I worked with a small startup company. For us, we used Heroku at the time. 4:09 – Guest: Current company is bigger and 500 developers. We have different ops teams and they have their own infrastructure and tools. They have more money, time, and people. For what they need it needs to be more scalable. It depends on the company and the requirements and your resources. 5:00 – Panel: I need to preface first: I love hosted solutions, but at the same time there is a hidden cost set that people don’t think about. 6:16 – Guest: If you compare your own infrastructure vs. cloud platform they will think that it is cheaper than having a hosted solution. 7:28 – Chuck: Yeah, that’s a discussion that I find that I have with myself and with my own company. It makes a ton of sense to have some system setup and it’s something that I am managing. 8:05 – Panelists talks about AWS and AMI. 9:06 – Guest. 9:21 – Panel: Can you talk about the article you wrote? Why did you write it? Give us some context into the article and where are we now? 9:48 – Guest talks in-detail about his article and where he was in life when he wrote this article! 14:10 – Panel: How much time did you invest into that? 14:16 – Guest: Less than a week; maybe 3-4 days for the whole process. Writing the article took about 2 days. 14:50 – Chuck talks about Docker, Azure, Dokku among other things. Question: Where do you look at all of these different things, and how do evaluate? 16:02 – Guest: I am a huge Heroku fan, and I would suggest people to use it. It’s brilliant. The company I work today it could be expensive to use b/c it’s a heavy load application and it won’t work. As for me (personal projects) I will play around these different tools. 19:02 – Panel: It’s easy to get up and running of Heroku. I think it’s similar to Kubernetes. 20:00 – Guest: I agree with that. The guest shares a story that relates to this topic. 21:45 – Panel: If you are using self-hosted...put some security on your application. Even if it’s just a demo you are protecting your environment. 22:17 – Chuck: Where do you guys come down on making these types of decisions? 22:30 – Panel: I see it as an investment; especially if your development team is small. Eventually, it will scale but in the early days of a project it is a legit choice to use Heroku or Beanstalk. CodeFund is still on Heroku. Right now it’s solving those problems for us. 23:45 – Chuck: Look at everything that we are all running. What do you guys recommend? 24:19 – Panel: I use S3, elastic search, among other things. 25:56 – Guest: I have a similar story. I had some friends who were spending more than $2,000 a month on Heroku. We tried to find how to reduce the amount of money. We removed the application from the Heroku and put it inside a local machine (probably $800 computer) that runs 24/7 and the only expenses were Internet ($50.00 / month) and 1 SSD ($100) and 1 micro-server through Amazon. Now it works and we were spending over 200x the amount that we needed to. In this example it wasn’t a critical system. In this case self-host was far better and cheaper, so it really depends on your case. 28:08 – Panel: Yeah, sometimes the old school and simple solutions are it. 28:26 – Chuck: I have a virtual machine/servers on Digital Ocean, and I cap deploy. I will login in every-now-and-then, but that’s it. 28:50 – Panel adds in his comments to this topic. 29:17 – Guest: Sometimes these old school solutions tend to be slower, but it depends on what you need for that situation. 29:50 – Chuck: David Brady called that his “Time to Twitter.” 30:04 – Fresh Books! 31:10 – Chuck: Can you talk about your discussion about this, please? 31:23 – Guest: I wrote this article, and it was translated into a few different languages. In the talk that I gave, I talked about my article. It’s funny b/c I wasn’t expecting all of this attention. 33:33 – Guest: I was nervous when I gave the talk so I don’t think it was that good. (Laughs.) 33:50 – Guest: We are human beings and we are always making mistakes, which is okay. 36:55 – Chuck: Yeah I run into that, too. Especially when running the podcast. 37:14 – Guest: That’s apart of the game right? We like to play with new technologies and if it weren’t for experimenting with new stuff our whole industry wouldn’t be as fun. We have the freedom to test, and we get to break tings and not get fired. That’s apart of our jobs. 37:51 – Panel: That’s a good point. A service like beanstalk or Heroku it’s easy to push your app out into the world. But when you dig in deeper, I think that knowledge really starts to seep in and you get to be a better developer. 38:27 – Chuck comments on this topic. 39:12 – Panel: To Pedro’s point... 39:42 – Guest: Yes, we work as a frontend or backend developer or a system administrator, but we need to understand the infrastructure. I want to know and when I know more then my work as a backend developer will improve and communicate with the system. That people know how to use Ruby on Rails and they get used to it but forget about database behind that, and...where you can write your own inquires. They think it’s not their job, but it IS their job. 41:17 – Chuck: To take that step one step further. Chuck talks about performance issues, codes, and more. 41:48 – Chuck: I want to try out Dokku! 42:00 – Guest comments. 43:53 – Chuck: Let’s do Picks! 44:00 – Advertisement: Get A Coder Job! End – Cache Fly! Links: Get a Coder Job Course Ruby Ruby on Rails Angular React React Native Docker Kubernetes Heroku Beanstalk CodeFund Amazon S3 GitHub: Kubernetes IMDB – Pedro C. FB: RR – DevChat TV RR 382 Episode Pedro’s blog article: “Creating a Heroku-Like Deployment Solution with Docker” Comic of Code Compiling GitHub: Dokku/Dokku Digital Ocean: Dokku Digital Ocean: Cloud Hosting App Developers Love Pedro’s Website Pedro’s Twitter Pedro’s Crunchbase Pedro’s GitHub Sponsors: Sentry CacheFly Fresh Books Picks: Dave Legos Rubix’s Cube Eric Digital Ocean @samantha_tse @jna_sh @Zaltsman Nate Alone - History Channel Charles MF CEO - Podcast Extreme Ownership - Book Drip TheDevRev.com Pedro Di.FM Shortcut Foo
Panel: Dave Kimura Eric Berry Charles Max Wood Nate Hopkins Special Guest: Pedro Cavalheiro In this episode of Ruby Rogues, the panelists talk with Pedro Cavalheiro who is from Brazil, but currently resides in Hamburg, Germany where he works at Xing. He is a software engineer, an actor, and has been working with the web since 2010. He has worked mostly with Ruby and PHP languages, and since 2015 has worked full-time with Ruby on Rails. The panelists and Pedro talk about his background and his article. Check it out! Show Topics: 0:00 – Advertisement: Sentry.io 1:04 – Chuck: Hi! Panel is Eric, Dave, Nate, myself – and our special guest is Pedro Cavalheiro! Please introduce yourself! Is that Spanish or Portuguese? Chuck: P.S. – The DevRev is my new show and check it! 1:57 – Guest: My name means gentleman! Here at your service. 2:05 – Guest: I am a developer and worked with web technologies for 10 years. I do some DevOps stuff and working with Ruby. I just moved to Hamburg, Germany with the same company. 3:02 – Chuck: How do you make that decision? 3:07 – Guest: There is no magical answer. It depends on your needs and what time you have? At the time when I wrote that article I worked with a small startup company. For us, we used Heroku at the time. 4:09 – Guest: Current company is bigger and 500 developers. We have different ops teams and they have their own infrastructure and tools. They have more money, time, and people. For what they need it needs to be more scalable. It depends on the company and the requirements and your resources. 5:00 – Panel: I need to preface first: I love hosted solutions, but at the same time there is a hidden cost set that people don’t think about. 6:16 – Guest: If you compare your own infrastructure vs. cloud platform they will think that it is cheaper than having a hosted solution. 7:28 – Chuck: Yeah, that’s a discussion that I find that I have with myself and with my own company. It makes a ton of sense to have some system setup and it’s something that I am managing. 8:05 – Panelists talks about AWS and AMI. 9:06 – Guest. 9:21 – Panel: Can you talk about the article you wrote? Why did you write it? Give us some context into the article and where are we now? 9:48 – Guest talks in-detail about his article and where he was in life when he wrote this article! 14:10 – Panel: How much time did you invest into that? 14:16 – Guest: Less than a week; maybe 3-4 days for the whole process. Writing the article took about 2 days. 14:50 – Chuck talks about Docker, Azure, Dokku among other things. Question: Where do you look at all of these different things, and how do evaluate? 16:02 – Guest: I am a huge Heroku fan, and I would suggest people to use it. It’s brilliant. The company I work today it could be expensive to use b/c it’s a heavy load application and it won’t work. As for me (personal projects) I will play around these different tools. 19:02 – Panel: It’s easy to get up and running of Heroku. I think it’s similar to Kubernetes. 20:00 – Guest: I agree with that. The guest shares a story that relates to this topic. 21:45 – Panel: If you are using self-hosted...put some security on your application. Even if it’s just a demo you are protecting your environment. 22:17 – Chuck: Where do you guys come down on making these types of decisions? 22:30 – Panel: I see it as an investment; especially if your development team is small. Eventually, it will scale but in the early days of a project it is a legit choice to use Heroku or Beanstalk. CodeFund is still on Heroku. Right now it’s solving those problems for us. 23:45 – Chuck: Look at everything that we are all running. What do you guys recommend? 24:19 – Panel: I use S3, elastic search, among other things. 25:56 – Guest: I have a similar story. I had some friends who were spending more than $2,000 a month on Heroku. We tried to find how to reduce the amount of money. We removed the application from the Heroku and put it inside a local machine (probably $800 computer) that runs 24/7 and the only expenses were Internet ($50.00 / month) and 1 SSD ($100) and 1 micro-server through Amazon. Now it works and we were spending over 200x the amount that we needed to. In this example it wasn’t a critical system. In this case self-host was far better and cheaper, so it really depends on your case. 28:08 – Panel: Yeah, sometimes the old school and simple solutions are it. 28:26 – Chuck: I have a virtual machine/servers on Digital Ocean, and I cap deploy. I will login in every-now-and-then, but that’s it. 28:50 – Panel adds in his comments to this topic. 29:17 – Guest: Sometimes these old school solutions tend to be slower, but it depends on what you need for that situation. 29:50 – Chuck: David Brady called that his “Time to Twitter.” 30:04 – Fresh Books! 31:10 – Chuck: Can you talk about your discussion about this, please? 31:23 – Guest: I wrote this article, and it was translated into a few different languages. In the talk that I gave, I talked about my article. It’s funny b/c I wasn’t expecting all of this attention. 33:33 – Guest: I was nervous when I gave the talk so I don’t think it was that good. (Laughs.) 33:50 – Guest: We are human beings and we are always making mistakes, which is okay. 36:55 – Chuck: Yeah I run into that, too. Especially when running the podcast. 37:14 – Guest: That’s apart of the game right? We like to play with new technologies and if it weren’t for experimenting with new stuff our whole industry wouldn’t be as fun. We have the freedom to test, and we get to break tings and not get fired. That’s apart of our jobs. 37:51 – Panel: That’s a good point. A service like beanstalk or Heroku it’s easy to push your app out into the world. But when you dig in deeper, I think that knowledge really starts to seep in and you get to be a better developer. 38:27 – Chuck comments on this topic. 39:12 – Panel: To Pedro’s point... 39:42 – Guest: Yes, we work as a frontend or backend developer or a system administrator, but we need to understand the infrastructure. I want to know and when I know more then my work as a backend developer will improve and communicate with the system. That people know how to use Ruby on Rails and they get used to it but forget about database behind that, and...where you can write your own inquires. They think it’s not their job, but it IS their job. 41:17 – Chuck: To take that step one step further. Chuck talks about performance issues, codes, and more. 41:48 – Chuck: I want to try out Dokku! 42:00 – Guest comments. 43:53 – Chuck: Let’s do Picks! 44:00 – Advertisement: Get A Coder Job! End – Cache Fly! Links: Get a Coder Job Course Ruby Ruby on Rails Angular React React Native Docker Kubernetes Heroku Beanstalk CodeFund Amazon S3 GitHub: Kubernetes IMDB – Pedro C. FB: RR – DevChat TV RR 382 Episode Pedro’s blog article: “Creating a Heroku-Like Deployment Solution with Docker” Comic of Code Compiling GitHub: Dokku/Dokku Digital Ocean: Dokku Digital Ocean: Cloud Hosting App Developers Love Pedro’s Website Pedro’s Twitter Pedro’s Crunchbase Pedro’s GitHub Sponsors: Sentry CacheFly Fresh Books Picks: Dave Legos Rubix’s Cube Eric Digital Ocean @samantha_tse @jna_sh @Zaltsman Nate Alone - History Channel Charles MF CEO - Podcast Extreme Ownership - Book Drip TheDevRev.com Pedro Di.FM Shortcut Foo
Panel: Nader Dabit Lucas Reis Charles Max Wood Special Guests: Ben Nelson In this episode, the panelists talk with Ben Nelson who is a co-founder and CTO of Lambda School. The panelists and Ben talk about Lambda School, the pros & cons of the 4-year university program for developers, and much more. Check it out! Show Topics: 0:00 – Kendo UI 0:33 – Chuck: We have Nader, Lucas, and myself – our special gust is Ben Nelson! 0:50 – Guest: Hi! 0:54 – Chuck: Please introduce yourself. 0:58 – Guest: I love to ski and was a developer in the Utah area. 1:12 – Chuck: Let’s talk about Lambda School, but I think explaining what the school is and how you operate will help. Give us an elevator pitch for the school. 1:36 – Guest: The school is 30-weeks long and we go deep into computer fundamentals. They get exposed to multiple stacks. Since it’s 30-weeks to run we help with the finances by they start paying once they get employed. It’s online and students from U.S. and the U.K. 3:23 – Chuck: I don’t want you to badmouth DevMountain, great model, but I don’t know if it works for everyone? 3:43 – Guest: Three months part-time is really hard if you don’t have a technical background. It was a grind and hard for the students. 4:03 – Nader: Is it online or any part in-person. 4:11 – Guest: Yep totally online. 4:40 – Nader: Austen Allred is really, really good at being in the social scene. I know that he has mentioned that you are apart of...since 2017? 5:20 – Guest: Yeah you would be surprised how much Twitter has helped our school. He is the other co-founder and is a genius with social media platforms! 6:04 – Guest mentions Python, marketing, and building a following. 7:17 – Guest: We saw a lot of students who wanted to enroll but they couldn’t afford it. This gave us the idea to help with using the income share agreement. 8:06 – Nader: Yeah, that’s really cool. I didn’t know you were online only so now that makes sense. Do you have other plans for the company? 8:33 – Guest: Amazon started with books and then branched out; same thing for us. 8:56 – Chuck: Let’s talk about programming and what’s your placement rate right now? 9:05 – Guest: It fluctuates. Our incentive is we don’t get paid unless our students get employed. Our first couple classes were 83% and then later in the mid-60%s and it’s averaging around there. Our goal is 90% in 90 days. Guest continues: All boot camps aren’t the same. 10:55 – Lucas: Ben, I have a question. One thing we have a concern about is that universities are disconnected with the CURRENT market! 11:47 – Guest: We cannot compare to the 4-year system, but our strength we don’t have tenure track Ph.D. professors. Our instructors have been working hands-on for a while. They are experienced engineers. We make sure the instructors we hire are involved and passionate. We pay for them to go to conferences and we want them to be on the cutting-edge. We feel like we can compete to CS degrees b/c of the focused training that we offer. 13:16 – Chuck: Yeah, when I went to school there were only 2 professors that came from the field. 14:22 – Guest: Yeah, look at MIT. When I was studying CS in school my best professor was adjunct b/c he came from the field. I don’t know if the 4-year plan is always the best. I don’t want to shoot down higher education but you have to consider what’s best for you. 15:05 – Nader: It’s spread out across the different fields. It was a model that was created a long time ago, and isn’t always the best necessarily for computer science. Think about our field b/c things are moving so fast. 15:57 – Chuck: What you are saying, Nader, but 10 years ago this iPhone was a brand new thing, and now we are talking about a zillion different devices that you can write for. It’s crazy. That’s where we are seeing things change – the fundamentals are good – but they aren’t teaching you at that level. Hello – it’s not the ‘90s anymore! I wonder if my bias comes from boot camp grads were really motivated in the first place...and they want to make a change and make a career out of it. 17:34 – Chuck: There is value, but I don’t know if my CS major prepared me well for the job market. 17:42 – Guest: Probably you didn’t have much student loan debt being that you went to Utah. 17:58 – Nader: Why is that? 18:03 – Chuck talks about UT’s tuition and how he worked while attending college. 18:29 – Lucas: I don’t stop studying. The fundamentals aren’t bad to keep studying them. Putting you into a job first should be top priority and then dive into the fundamentals. Work knowledge is so important – after you are working for 1 year – then figure out what the fundamentals are. I think I learn better the “other way around.” 20:30 – Chuck: That’s fair. 20:45 – Guest: That’s exactly what we focus on. The guest talks about the general curriculum at the Lambda School 22:07 – Nader: That’s an interesting take on that. When you frame it that way – there is no comparison when considering the student loan debt. 22:30 – Chuck: College degrees do have a place, too. 22:39 – Chuck: Who do you see applying to the boot camps? 23:05 – Guest: It’s a mix. It’s concentrated on people who started in another career and they want to make a career change. Say they come from construction or finances and they are switching to developing. We get some college students, but it’s definitely more adult training. 24:02 – Guest: The older people who have families they are desperate and they are hungry and want to work hard. We had this guy who was making $20,000 and now he’s making $85K. Now his daughter can have his own bedroom and crying through that statement. 24:50 – Chuck: That makes sense! 24:52 – Advertisement – FRESH BOOKS! 26:02 – Guest: Look at MIT, Berkeley – the value is filtering and they are only accepting the top of the top. We don’t want to operate like that. We just have to hire new teachers and not build new buildings. We raise the bar and set the standard – and try to get everybody to that bar. We aren’t sacrificing quality but want everybody there. 27:43 – Chuck: What are the tradeoffs? 28:00 – Guest: There is an energy in-person that happens that you miss out on doing it online. There are a lot of benefits, though, doing it online. They have access to a larger audience via the web, they can re-watch videos that teachers record. 28:45 – Nader: Is there a set curriculum that everyone uses? How do you come up with the curriculum and how often does it get revamped? What are you teaching currently? 29:08 – Guest answers the question in-detail. 30:49 – Guest (continues): Heavily project-focused, too! 31:08 – Nader: What happens when they start and if they dropout? 31:22 – Guest: When we first got started we thought it was going to be high dropout rates. At first it was 40% b/c it’s hard, you can close your computer, and walk away. If a student doesn’t score 80% or higher in the week then they have to do it again. Our dropout rate is only 5-10%. In the beginning they have a grace period of 2-4 weeks where they wouldn’t owe anything. After a certain point, though, they are bound to pay per our agreements. 33:00 – Chuck: Where do people get stuck? 33:05 – Guest: Redux, React, and others! Maybe an instructor isn’t doing a good job. 34:06 – Guest: It’s intense and so we have to provide emotional support. 34:17 – Nader: I started a school year and I ran it for 1-3 years and didn’t go anywhere. We did PHP and Angular 1 and a little React Native. We never were able to get the numbers to come, and we’d only have 3-4 people. I think the problem was we were in Mississippi and scaling it is not an easy thing to do. This could be different if you were in NY. But if you are virtual that is a good take. Question: What hurdles did you have to overcome? 35:52 – Guest: There was a lot of experimentation. Dropout rates were a big one, and the other one is growth. One problem that needed to be solved first was: Is there a demand for this? Reddit helped and SubReddit. For the dropout rates we had to drive home the concept of accountability. There are tons of hands-on help from TA’s, there is accountability with attendance, and homework and grades. We want them to know that they are noticed and we are checking-in on them if they were to miss class, etc. 38:41 – Chuck: I know your instructor, Luis among others. I know they used to work for DevMountain. How do you find these folks? 39:15 – Guest: A lot of it is through the network, but now Twitter, too. 40:13 – Nader: I am always amazed with the developers that come out of UT. 40:28 – Chuck: It’s interesting and we are seeing companies coming out here. 40:50 – Guest: Something we were concerned about was placement as it relates to geography. So someone that is in North Dakota – would they get a job. The people in the rural areas almost have an easier time getting the job b/c it’s less competitive. Companies are willing to pay for relocation, which is good. 41:49 – Nader: That is spot on. 42:22 – Chuck: Instructor or Student how do they inquire to teach/attend at your school? 42:44 – Guest: We are launching in the United Kingdom and looking for a program director there! 43:00 – Advertisement – Get A Coder Job! End – Cache Fly Links: Ruby on Rails Angular JavaScript Elm Phoenix GitHub Get A Coder Job Income Share Agreement’s Definition DevMountain Charles Max Wood’s Twitter Nader Dabit’s Twitter Lucas Reis’ GitHub Ben Nelson’s Talk: Rethinking Higher Education – ICERI 2016 Keynote Speech Ben Nelson’s LinkedIn Ben Nelson’s Twitter Lambda School Sponsors: Get a Coder Job Cache Fly Fresh Books Kendo UI Picks: Lucas Cypress Looking a Cypress as a Development Environment. Nader Egghead.io Nader’s courses on Egghead.io Suggestions for courses Charles Opportunity to help liberate developers Extreme Ownership Hiring a developer Sales Rep. for selling sponsorships Show note writer Ben Air Table
Panel: Nader Dabit Lucas Reis Charles Max Wood Special Guests: Ben Nelson In this episode, the panelists talk with Ben Nelson who is a co-founder and CTO of Lambda School. The panelists and Ben talk about Lambda School, the pros & cons of the 4-year university program for developers, and much more. Check it out! Show Topics: 0:00 – Kendo UI 0:33 – Chuck: We have Nader, Lucas, and myself – our special gust is Ben Nelson! 0:50 – Guest: Hi! 0:54 – Chuck: Please introduce yourself. 0:58 – Guest: I love to ski and was a developer in the Utah area. 1:12 – Chuck: Let’s talk about Lambda School, but I think explaining what the school is and how you operate will help. Give us an elevator pitch for the school. 1:36 – Guest: The school is 30-weeks long and we go deep into computer fundamentals. They get exposed to multiple stacks. Since it’s 30-weeks to run we help with the finances by they start paying once they get employed. It’s online and students from U.S. and the U.K. 3:23 – Chuck: I don’t want you to badmouth DevMountain, great model, but I don’t know if it works for everyone? 3:43 – Guest: Three months part-time is really hard if you don’t have a technical background. It was a grind and hard for the students. 4:03 – Nader: Is it online or any part in-person. 4:11 – Guest: Yep totally online. 4:40 – Nader: Austen Allred is really, really good at being in the social scene. I know that he has mentioned that you are apart of...since 2017? 5:20 – Guest: Yeah you would be surprised how much Twitter has helped our school. He is the other co-founder and is a genius with social media platforms! 6:04 – Guest mentions Python, marketing, and building a following. 7:17 – Guest: We saw a lot of students who wanted to enroll but they couldn’t afford it. This gave us the idea to help with using the income share agreement. 8:06 – Nader: Yeah, that’s really cool. I didn’t know you were online only so now that makes sense. Do you have other plans for the company? 8:33 – Guest: Amazon started with books and then branched out; same thing for us. 8:56 – Chuck: Let’s talk about programming and what’s your placement rate right now? 9:05 – Guest: It fluctuates. Our incentive is we don’t get paid unless our students get employed. Our first couple classes were 83% and then later in the mid-60%s and it’s averaging around there. Our goal is 90% in 90 days. Guest continues: All boot camps aren’t the same. 10:55 – Lucas: Ben, I have a question. One thing we have a concern about is that universities are disconnected with the CURRENT market! 11:47 – Guest: We cannot compare to the 4-year system, but our strength we don’t have tenure track Ph.D. professors. Our instructors have been working hands-on for a while. They are experienced engineers. We make sure the instructors we hire are involved and passionate. We pay for them to go to conferences and we want them to be on the cutting-edge. We feel like we can compete to CS degrees b/c of the focused training that we offer. 13:16 – Chuck: Yeah, when I went to school there were only 2 professors that came from the field. 14:22 – Guest: Yeah, look at MIT. When I was studying CS in school my best professor was adjunct b/c he came from the field. I don’t know if the 4-year plan is always the best. I don’t want to shoot down higher education but you have to consider what’s best for you. 15:05 – Nader: It’s spread out across the different fields. It was a model that was created a long time ago, and isn’t always the best necessarily for computer science. Think about our field b/c things are moving so fast. 15:57 – Chuck: What you are saying, Nader, but 10 years ago this iPhone was a brand new thing, and now we are talking about a zillion different devices that you can write for. It’s crazy. That’s where we are seeing things change – the fundamentals are good – but they aren’t teaching you at that level. Hello – it’s not the ‘90s anymore! I wonder if my bias comes from boot camp grads were really motivated in the first place...and they want to make a change and make a career out of it. 17:34 – Chuck: There is value, but I don’t know if my CS major prepared me well for the job market. 17:42 – Guest: Probably you didn’t have much student loan debt being that you went to Utah. 17:58 – Nader: Why is that? 18:03 – Chuck talks about UT’s tuition and how he worked while attending college. 18:29 – Lucas: I don’t stop studying. The fundamentals aren’t bad to keep studying them. Putting you into a job first should be top priority and then dive into the fundamentals. Work knowledge is so important – after you are working for 1 year – then figure out what the fundamentals are. I think I learn better the “other way around.” 20:30 – Chuck: That’s fair. 20:45 – Guest: That’s exactly what we focus on. The guest talks about the general curriculum at the Lambda School 22:07 – Nader: That’s an interesting take on that. When you frame it that way – there is no comparison when considering the student loan debt. 22:30 – Chuck: College degrees do have a place, too. 22:39 – Chuck: Who do you see applying to the boot camps? 23:05 – Guest: It’s a mix. It’s concentrated on people who started in another career and they want to make a career change. Say they come from construction or finances and they are switching to developing. We get some college students, but it’s definitely more adult training. 24:02 – Guest: The older people who have families they are desperate and they are hungry and want to work hard. We had this guy who was making $20,000 and now he’s making $85K. Now his daughter can have his own bedroom and crying through that statement. 24:50 – Chuck: That makes sense! 24:52 – Advertisement – FRESH BOOKS! 26:02 – Guest: Look at MIT, Berkeley – the value is filtering and they are only accepting the top of the top. We don’t want to operate like that. We just have to hire new teachers and not build new buildings. We raise the bar and set the standard – and try to get everybody to that bar. We aren’t sacrificing quality but want everybody there. 27:43 – Chuck: What are the tradeoffs? 28:00 – Guest: There is an energy in-person that happens that you miss out on doing it online. There are a lot of benefits, though, doing it online. They have access to a larger audience via the web, they can re-watch videos that teachers record. 28:45 – Nader: Is there a set curriculum that everyone uses? How do you come up with the curriculum and how often does it get revamped? What are you teaching currently? 29:08 – Guest answers the question in-detail. 30:49 – Guest (continues): Heavily project-focused, too! 31:08 – Nader: What happens when they start and if they dropout? 31:22 – Guest: When we first got started we thought it was going to be high dropout rates. At first it was 40% b/c it’s hard, you can close your computer, and walk away. If a student doesn’t score 80% or higher in the week then they have to do it again. Our dropout rate is only 5-10%. In the beginning they have a grace period of 2-4 weeks where they wouldn’t owe anything. After a certain point, though, they are bound to pay per our agreements. 33:00 – Chuck: Where do people get stuck? 33:05 – Guest: Redux, React, and others! Maybe an instructor isn’t doing a good job. 34:06 – Guest: It’s intense and so we have to provide emotional support. 34:17 – Nader: I started a school year and I ran it for 1-3 years and didn’t go anywhere. We did PHP and Angular 1 and a little React Native. We never were able to get the numbers to come, and we’d only have 3-4 people. I think the problem was we were in Mississippi and scaling it is not an easy thing to do. This could be different if you were in NY. But if you are virtual that is a good take. Question: What hurdles did you have to overcome? 35:52 – Guest: There was a lot of experimentation. Dropout rates were a big one, and the other one is growth. One problem that needed to be solved first was: Is there a demand for this? Reddit helped and SubReddit. For the dropout rates we had to drive home the concept of accountability. There are tons of hands-on help from TA’s, there is accountability with attendance, and homework and grades. We want them to know that they are noticed and we are checking-in on them if they were to miss class, etc. 38:41 – Chuck: I know your instructor, Luis among others. I know they used to work for DevMountain. How do you find these folks? 39:15 – Guest: A lot of it is through the network, but now Twitter, too. 40:13 – Nader: I am always amazed with the developers that come out of UT. 40:28 – Chuck: It’s interesting and we are seeing companies coming out here. 40:50 – Guest: Something we were concerned about was placement as it relates to geography. So someone that is in North Dakota – would they get a job. The people in the rural areas almost have an easier time getting the job b/c it’s less competitive. Companies are willing to pay for relocation, which is good. 41:49 – Nader: That is spot on. 42:22 – Chuck: Instructor or Student how do they inquire to teach/attend at your school? 42:44 – Guest: We are launching in the United Kingdom and looking for a program director there! 43:00 – Advertisement – Get A Coder Job! End – Cache Fly Links: Ruby on Rails Angular JavaScript Elm Phoenix GitHub Get A Coder Job Income Share Agreement’s Definition DevMountain Charles Max Wood’s Twitter Nader Dabit’s Twitter Lucas Reis’ GitHub Ben Nelson’s Talk: Rethinking Higher Education – ICERI 2016 Keynote Speech Ben Nelson’s LinkedIn Ben Nelson’s Twitter Lambda School Sponsors: Get a Coder Job Cache Fly Fresh Books Kendo UI Picks: Lucas Cypress Looking a Cypress as a Development Environment. Nader Egghead.io Nader’s courses on Egghead.io Suggestions for courses Charles Opportunity to help liberate developers Extreme Ownership Hiring a developer Sales Rep. for selling sponsorships Show note writer Ben Air Table
Panel: Aimee Knight AJ O’Neal Charles Max Wood Special Guest: Gil Tayar In this episode, the panel talks with Gil Tayar who is currently residing in Tel Aviv and is a software engineer. He is currently the Senior Architect at Applitools in Israel. The panel and the guest talk about the different types of tests and when/how one is to use a certain test in a particular situation. They also mention Node, React, Selenium, Puppeteer, and much more! Show Topics: 0:00 – Advertisement: KENDO UI 0:35 – Chuck: Our panel is AJ, Aimee, myself – and our special guest is Gil Tayar. Tell us why you are famous! 1:13 – Gil talks about where he resides and his background. 2:27 – Chuck: What is the landscape like now with testing and testing tools now? 2:39 – Guest: There is a huge renaissance with the JavaScript community. Testing has moved forward in the frontend and backend. Today we have lots of testing tools. We can do frontend testing that wasn’t possible 5 years ago. The major change was React. The guest talks about Node, React, tools, and more! 4:17 – Aimee: I advocate for tests and testing. There is a grey area though...how do you treat that? If you have to get something into production, but it’s not THE thing to get into production, does that fall into product or...what? 5:02 – Guest: We decided to test everything in the beginning. We actually cam through and did that and since then I don’t think I can use the right code without testing. There are a lot of different situations, though, to consider. The guest gives hypothetical situations that people could face. 6:27 – Aimee. 6:32 – Guest: The horror to changing code without tests, I don’t know, I haven’t done that for a while. You write with fear in your heart. Your design is driven by fear, and not what you think is right. In the beginning don’t write those tests, but... 7:22 – Aimee: I totally agree and I could go on and on and on. 7:42 – Panel: I want to do tests when I know they will create value. I don’t want to do it b/c it’s a mundane thing. Secondly, I find that some times I am in a situation where I cannot write the test b/c I would have to know the business logic is correct. I am in this discovery mode of what is the business logic? I am not just building your app. I guess I just need advice in this area, I guess. 8:55 – Guest gives advice to panelist’s question. He mentions how there are two schools of thought. 10:20 – Guest: Don’t mock too much. 10:54 – Panel: Are unit tests the easiest? I just reach for unit testing b/c it helps me code faster. But 90% of my code is NOT that. 11:18 – Guest: Exactly! Most of our test is glue – gluing together a bunch of different stuff! Those are best tested as a medium-sized integration suite. 12:39 – Panel: That seems like a lot of work, though! I loathe the database stuff b/c they don’t map cleanly. I hate this database stuff. 13:06 – Guest: I agree, but don’t knock the database, but knock the level above the database. 13:49 – Guest: Yes, it takes time! Building the script and the testing tools, but when you have it then adding to it is zero time. Once you are in the air it’s smooth sailing. 14:17 – Panel: I guess I can see that. I like to do the dumb-way the first time. I am not clear on the transition. 14:47 – Guest: Write the code, and then write the tests. The guest gives a hypothetical situation on how/when to test in a certain situation. 16:25 – Panel: Can you talk about that more, please? 16:50 – Guest: Don’t have the same unit – do browser and business logic stuff separated. The real business logic stuff needs to be above that level. First principle is separation of concerns. 18:04 – Panel talks about dependency interjection and asks a question. 18:27 – Guest: What I am talking about very, very light inter-dependency interjection. 19:19 – Panel: You have a main function and you are doing requires in the main function. You are passing the pieces of that into the components that need it. 19:44 – Guest: I only do it when it’s necessary; it’s not a religion for me. I do it only for those layers that I know will need to be mocked; like database layers, etc. 20:09 – Panel. 20:19 – Guest: It’s taken me 80 years to figure out, but I have made plenty of mistakes a long the way. A test should run for 2-5 minutes max for package. 20:53 – Panel: What if you have a really messy legacy system? How do you recommend going into that? Do you write tests for things that you think needs to get tested? 21:39 – Guest answers the question and mentions Selenium! 24:27 – Panel: I like that approach. 24:35 – Chuck: When you say integration test what do you mean? 24:44 – Guest: Integration tests aren’t usually talked about. For most people it’s tests that test the database level against the database. For me, the integration tests are taking a set of classes as they are in the application and testing them together w/o the...so they can run in millisecond time. 26:54 – Advertisement – Sentry.io 27:52 – Chuck: How much do the tools matter? 28:01 – Guest: The revolutions matter. Whether you use Jasmine or Mocha or whatever I don’t think it matters. The tests matter not the tools. 28:39 – Aimee: Yes and no. I think some tools are outdated. 28:50 – Guest: I got a lot of flack about my blog where I talk about Cypress versus Selenium. I will never use Jasmine. In the end it’s the 29:29 – Aimee: I am curious would you be willing to expand on what the Selenium folks were saying about Puppeteer and others may not provide? 29:54 – Guest: Cypress was built for frontend developers. They don’t care about cross browser, and they tested in Chrome. Most browsers are typically the same. Selenium was built with the QA mindset – end to end tests that we need to do cross browser. The guest continues with this topic. 30:54 – Aimee mentions Cypress. 31:08 – Guest: My guessing is that their priority is not there. I kind of agree with them. 31:21 – Aimee: I think they are focusing on mobile more. 31:24 – Guest: I think cross browser testing is less of an issue now. There is one area that is important it’s the visual area! It’s important to test visually across these different browsers. 32:32 – Guest: Selenium is a Swiss knife – it can do everything. 33:32 – Chuck: I am thinking about different topics to talk about. I haven’t used Puppeteer. What’s that about? 33:49 – Guest: Puppeteer is much more like Selenium. The reason why it’s great is b/c Puppeteer will always be Google Chrome. 35:42 – Chuck: When should you be running your tests? I like to use some unit tests when I am doing my development but how do you break that down? 36:06 – Guest. 38:30 – Chuck: You run tests against production? 38:45 – Guest: Don’t run tests against production...let me clarify! 39:14 – Chuck. 39:21 – Guest: When I am talking about integration testing in the backend... 40:37 – Chuck asks a question. 40:47 – Guest: I am constantly running between frontend and backend. I didn’t know how to run tests for frontend. I had to invent a new thing and I “invented” the package JS DONG. It’s an implementation of Dong in Node. I found out that I wasn’t the only one and that there were others out there, too. 43:14 – Chuck: Nice! You talked in the prep docs that you urged a new frontend developer to not run the app in the browser for 2 months? 43:25 – Guest: Yeah, I found out that she was running the application...she said she knew how to write tests. I wanted her to see it my way and it probably was a radical train-of-thought, and that was this... 44:40 – Guest: Frontend is so visual. 45:12 – Chuck: What are you working on now? 45:16 – Guest: I am working with Applitools and I was impressed with what they were doing. The guest goes into further detail. 46:08 – Guest: Those screenshots are never the same. 48:36 – Panel: It’s...comparing the output to the static site to the... 48:50 – Guest: Yes, that static site – if you have 30 pages in your app – most of those are the same. We have this trick where we don’t upload it again and again. Uploading the whole static site is usually very quick. The second thing is we don’t wait for the results. We don’t wait for the whole rendering and we continue with the tests. 50:28 – Guest: I am working mostly (right now) in backend. 50:40 – Chuck: Anything else? Picks! 50:57 – Advertisement: Get A Coder Job! END – Advertisement: CacheFly! Links: JavaScript React Elixir Node.js Puppeteer Cypress SeleniumHQ Article – Ideas.Ted.Com Book: Never Split the Difference Applitools Guest’s Blog Article about Cypress vs. Selenium Gil’s Twitter Gil’s Medium Gil’s LinkedIn Sponsors: Kendo UI Sentry CacheFly Picks: Aimee How Showing Vulnerability Helps Build a Stronger Team AJ Never Split the Difference Project - TeleBit Charles Monster Hunter International Metabase Gil Cat Zero The Origin of Consciousness in the Breakdown of the Bicameral Mind
Panel: Dave Kimura Eric Berry Charles Max Wood Nate Hopkins Special Guest: Pedro Cavalheiro In this episode of Ruby Rogues, the panelists talk with Pedro Cavalheiro who is from Brazil, but currently resides in Hamburg, Germany where he works at Xing. He is a software engineer, an actor, and has been working with the web since 2010. He has worked mostly with Ruby and PHP languages, and since 2015 has worked full-time with Ruby on Rails. The panelists and Pedro talk about his background and his article. Check it out! Show Topics: 0:00 – Advertisement: Sentry.io 1:04 – Chuck: Hi! Panel is Eric, Dave, Nate, myself – and our special guest is Pedro Cavalheiro! Please introduce yourself! Is that Spanish or Portuguese? Chuck: P.S. – The DevRev is my new show and check it! 1:57 – Guest: My name means gentleman! Here at your service. 2:05 – Guest: I am a developer and worked with web technologies for 10 years. I do some DevOps stuff and working with Ruby. I just moved to Hamburg, Germany with the same company. 3:02 – Chuck: How do you make that decision? 3:07 – Guest: There is no magical answer. It depends on your needs and what time you have? At the time when I wrote that article I worked with a small startup company. For us, we used Heroku at the time. 4:09 – Guest: Current company is bigger and 500 developers. We have different ops teams and they have their own infrastructure and tools. They have more money, time, and people. For what they need it needs to be more scalable. It depends on the company and the requirements and your resources. 5:00 – Panel: I need to preface first: I love hosted solutions, but at the same time there is a hidden cost set that people don’t think about. 6:16 – Guest: If you compare your own infrastructure vs. cloud platform they will think that it is cheaper than having a hosted solution. 7:28 – Chuck: Yeah, that’s a discussion that I find that I have with myself and with my own company. It makes a ton of sense to have some system setup and it’s something that I am managing. 8:05 – Panelists talks about AWS and AMI. 9:06 – Guest. 9:21 – Panel: Can you talk about the article you wrote? Why did you write it? Give us some context into the article and where are we now? 9:48 – Guest talks in-detail about his article and where he was in life when he wrote this article! 14:10 – Panel: How much time did you invest into that? 14:16 – Guest: Less than a week; maybe 3-4 days for the whole process. Writing the article took about 2 days. 14:50 – Chuck talks about Docker, Azure, Dokku among other things. Question: Where do you look at all of these different things, and how do evaluate? 16:02 – Guest: I am a huge Heroku fan, and I would suggest people to use it. It’s brilliant. The company I work today it could be expensive to use b/c it’s a heavy load application and it won’t work. As for me (personal projects) I will play around these different tools. 19:02 – Panel: It’s easy to get up and running of Heroku. I think it’s similar to Kubernetes. 20:00 – Guest: I agree with that. The guest shares a story that relates to this topic. 21:45 – Panel: If you are using self-hosted...put some security on your application. Even if it’s just a demo you are protecting your environment. 22:17 – Chuck: Where do you guys come down on making these types of decisions? 22:30 – Panel: I see it as an investment; especially if your development team is small. Eventually, it will scale but in the early days of a project it is a legit choice to use Heroku or Beanstalk. CodeFund is still on Heroku. Right now it’s solving those problems for us. 23:45 – Chuck: Look at everything that we are all running. What do you guys recommend? 24:19 – Panel: I use S3, elastic search, among other things. 25:56 – Guest: I have a similar story. I had some friends who were spending more than $2,000 a month on Heroku. We tried to find how to reduce the amount of money. We removed the application from the Heroku and put it inside a local machine (probably $800 computer) that runs 24/7 and the only expenses were Internet ($50.00 / month) and 1 SSD ($100) and 1 micro-server through Amazon. Now it works and we were spending over 200x the amount that we needed to. In this example it wasn’t a critical system. In this case self-host was far better and cheaper, so it really depends on your case. 28:08 – Panel: Yeah, sometimes the old school and simple solutions are it. 28:26 – Chuck: I have a virtual machine/servers on Digital Ocean, and I cap deploy. I will login in every-now-and-then, but that’s it. 28:50 – Panel adds in his comments to this topic. 29:17 – Guest: Sometimes these old school solutions tend to be slower, but it depends on what you need for that situation. 29:50 – Chuck: David Brady called that his “Time to Twitter.” 30:04 – Fresh Books! 31:10 – Chuck: Can you talk about your discussion about this, please? 31:23 – Guest: I wrote this article, and it was translated into a few different languages. In the talk that I gave, I talked about my article. It’s funny b/c I wasn’t expecting all of this attention. 33:33 – Guest: I was nervous when I gave the talk so I don’t think it was that good. (Laughs.) 33:50 – Guest: We are human beings and we are always making mistakes, which is okay. 36:55 – Chuck: Yeah I run into that, too. Especially when running the podcast. 37:14 – Guest: That’s apart of the game right? We like to play with new technologies and if it weren’t for experimenting with new stuff our whole industry wouldn’t be as fun. We have the freedom to test, and we get to break tings and not get fired. That’s apart of our jobs. 37:51 – Panel: That’s a good point. A service like beanstalk or Heroku it’s easy to push your app out into the world. But when you dig in deeper, I think that knowledge really starts to seep in and you get to be a better developer. 38:27 – Chuck comments on this topic. 39:12 – Panel: To Pedro’s point... 39:42 – Guest: Yes, we work as a frontend or backend developer or a system administrator, but we need to understand the infrastructure. I want to know and when I know more then my work as a backend developer will improve and communicate with the system. That people know how to use Ruby on Rails and they get used to it but forget about database behind that, and...where you can write your own inquires. They think it’s not their job, but it IS their job. 41:17 – Chuck: To take that step one step further. Chuck talks about performance issues, codes, and more. 41:48 – Chuck: I want to try out Dokku! 42:00 – Guest comments. 43:53 – Chuck: Let’s do Picks! 44:00 – Advertisement: Get A Coder Job! End – Cache Fly! Links: Get a Coder Job Course Ruby Ruby on Rails Angular React React Native Docker Kubernetes Heroku Beanstalk CodeFund Amazon S3 GitHub: Kubernetes IMDB – Pedro C. FB: RR – DevChat TV RR 382 Episode Pedro’s blog article: “Creating a Heroku-Like Deployment Solution with Docker” Comic of Code Compiling GitHub: Dokku/Dokku Digital Ocean: Dokku Digital Ocean: Cloud Hosting App Developers Love Pedro’s Website Pedro’s Twitter Pedro’s Crunchbase Pedro’s GitHub Sponsors: Sentry CacheFly Fresh Books Picks: Dave Legos Rubix’s Cube Eric Digital Ocean @samantha_tse @jna_sh @Zaltsman Nate Alone - History Channel Charles MF CEO - Podcast Extreme Ownership - Book Drip TheDevRev.com Pedro Di.FM Shortcut Foo
Panel: Charles Max Wood Special Guest: Brady Gaster In this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:56 – Chuck: Hello! We are going to talk about SignalR, which is an offering through Microsoft. 1:09 – Guest: It started in 2011 that’s when I got involved, but I wasn’t with Microsoft, yet, at that point. I was working on the technology, though. Effectively you can do real time HTMP but what they did (Damon and David) let’s create a series of abstractions but not we have for Java. They basically cam up this idea let’s do web sockets and then go back to pole / pole / pole. It’s to see what the server and the client can support. Guest talks about Socket.io, too. 6:45 – Chuck: What we are talking about real time coordination between apps. 6:56 – Guest: Web sockets, 1 million...and 2.6 million messages a second! 7:05 – Chuck: I can set that up like I usually set up web sockets? 7:17 – Guest: There is a client library for each. Effectively you have a concept called a connection. 9:48 – Chuck: How do you handle authentication on the frontend? 9:56 – Guest: We have server side things that we can attribute things. 10:09 – Chuck. 10:12 – Guest: If you authenticate to the site then the site passes the token and it basically sits on top of the same plumbing. 10:38 – Chuck. 10:42 – Guest. 10:54 – Chuck. 10:58 – Guest: We recently just had the DOT NET CONF. We had an all night, 24-hour thing. 11:48 – Chuck: Here you are, here you go. You hook it all up, JavaScript into your bundle. 12:05 – (The guest talks about how to install.) 13:12 – Chuck: I could come up with my own scheme. 13:25 – Guest: The traditional example is SEND A MESSAGE and then pass you string. Well tomorrow I do that and I just change the code – it’s great b/c I send up a ping and everybody knows what to do what that ping. It’s just a proxy. 14:17 – Chuck: I am trying to envision what you would use this for? If you are worried about it being stale then you refresh. But if you want the collaborative stuff at what point do you ask: Do I need SignalR? 15:00 – Guest: When I do my presentations on SignalR and being transparent I want to send you 1,000 messages but 1 or 2 messages will be dropped. You don’t want to transmit your order data or credit card information. Do you have a hammer and you need a screw? If you need stock tickers and other applications SignalR would work. Keeping your UI fresh it is a great thing. 19:02 – Chuck: You do that at the Hub? You set up the Hub and it passes everything back and forth. What can you do at the Hub for filtering and/or certain types of events? 19:26 – Guest: I am looking at a slide. What’s the cool thing about SignalR and the API is it’s deceptively simple on purpose. If you want to call out to clients, you can get a message to all of your clients if you select that/those feature(s). Some other features you have are OTHERS, and Clients.Group. 20:57 – Chuck: Can you set up your own? 20:58 – Guest: I don’t know. 21:12 – Chuck: Clients who belong to more than one group. 21:23 – Guest: Dynamics still give some people heartburn. (The guest talks about C#, Dev, Hub, and more!) 23:46 – Advertisement: Get A Coder Job! 24:23 – Chuck: How do people get started with this? Do they need Azure? 24:30 – Guest: You don’t need Azure you can go to Microsoft and it’s apart of the .NET team, too. 26:39 – Guest talks about how to install SignalR – see links below! 27:03 – Chuck: You don’t have to KNOW .NET. 27:11 – Guest: It was created by that team (*fair enough*) but you don’t have to know .NET. 27:57 – Guest: You can I could do JavaScript all the way. 29:04 – Chuck: Yes, we keep moving forward. It will look different what people are using. 29:21 – Guest: That was an early thing and I was reading through the old bugs from 2011/2012 and that’s one thing that kept coming up. I didn’t want to use jQuery to use SignalR – now you don’t. It’s a happy thing. 30:45 – Guest: Someone suggested using PARCEL. I have a question do you have any recommendations to have NODE-SASS workflow to have it less stressful? 31:30 – Chuck: It’s out of Ruby that’s my experience with Node-Sass. 31:40 – Guest: I haven’t used Ruby, yet. 31:46 – Guest: I haven’t heard of Phoenix what is that? 31:50 – Chuck answers. Chuck: It’s functional and very fast. Once you’ve figured out those features they almost become power features for you. Elixir has a lot of great things going for it. 32:50 – Guest: I tried picking up GO recently. 33:08 – Chuck: Lots of things going on in the programming world. 33:18 – Guest: I have always had a mental block around Java. I was PMing the Java guys and I asked: will this stuff work on... Once I got it then I thought that I needed to explore this stuff more! I want to learn Ruby, though. 34:16 – Chuck: Anything else in respect to SignalR? 34:15 – Guest: I really think I have dumped everything I know about Signal R just now. I would draw people to the DOCS pages. A guide for anything that could happen on the JavaScript side – check them out! We have tons of new ideas, too! 37:33 – Picks! 37:42 – Advertisement – Fresh Books! 47:54 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter SignalR SignalR’s Twitter GitHub SignalR Socket.io Node-SASS ASP.NET SignalR Hubs API Guide – JavaScript Client SignalR.net Real Talk JavaScript Parcel Brady Gaster’s Twitter Brady Gaster’s GitHub Brady Gaster’s LinkedIn Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Brady Team on General Session Korg SeaHawks Brady’s kids Logictech spot light AirPods Charles Express VPN Hyper Drive J5 ports and SD card readers Podwrench
Panel: Aimee Knight AJ O’Neal Charles Max Wood Special Guest: Gil Tayar In this episode, the panel talks with Gil Tayar who is currently residing in Tel Aviv and is a software engineer. He is currently the Senior Architect at Applitools in Israel. The panel and the guest talk about the different types of tests and when/how one is to use a certain test in a particular situation. They also mention Node, React, Selenium, Puppeteer, and much more! Show Topics: 0:00 – Advertisement: KENDO UI 0:35 – Chuck: Our panel is AJ, Aimee, myself – and our special guest is Gil Tayar. Tell us why you are famous! 1:13 – Gil talks about where he resides and his background. 2:27 – Chuck: What is the landscape like now with testing and testing tools now? 2:39 – Guest: There is a huge renaissance with the JavaScript community. Testing has moved forward in the frontend and backend. Today we have lots of testing tools. We can do frontend testing that wasn’t possible 5 years ago. The major change was React. The guest talks about Node, React, tools, and more! 4:17 – Aimee: I advocate for tests and testing. There is a grey area though...how do you treat that? If you have to get something into production, but it’s not THE thing to get into production, does that fall into product or...what? 5:02 – Guest: We decided to test everything in the beginning. We actually cam through and did that and since then I don’t think I can use the right code without testing. There are a lot of different situations, though, to consider. The guest gives hypothetical situations that people could face. 6:27 – Aimee. 6:32 – Guest: The horror to changing code without tests, I don’t know, I haven’t done that for a while. You write with fear in your heart. Your design is driven by fear, and not what you think is right. In the beginning don’t write those tests, but... 7:22 – Aimee: I totally agree and I could go on and on and on. 7:42 – Panel: I want to do tests when I know they will create value. I don’t want to do it b/c it’s a mundane thing. Secondly, I find that some times I am in a situation where I cannot write the test b/c I would have to know the business logic is correct. I am in this discovery mode of what is the business logic? I am not just building your app. I guess I just need advice in this area, I guess. 8:55 – Guest gives advice to panelist’s question. He mentions how there are two schools of thought. 10:20 – Guest: Don’t mock too much. 10:54 – Panel: Are unit tests the easiest? I just reach for unit testing b/c it helps me code faster. But 90% of my code is NOT that. 11:18 – Guest: Exactly! Most of our test is glue – gluing together a bunch of different stuff! Those are best tested as a medium-sized integration suite. 12:39 – Panel: That seems like a lot of work, though! I loathe the database stuff b/c they don’t map cleanly. I hate this database stuff. 13:06 – Guest: I agree, but don’t knock the database, but knock the level above the database. 13:49 – Guest: Yes, it takes time! Building the script and the testing tools, but when you have it then adding to it is zero time. Once you are in the air it’s smooth sailing. 14:17 – Panel: I guess I can see that. I like to do the dumb-way the first time. I am not clear on the transition. 14:47 – Guest: Write the code, and then write the tests. The guest gives a hypothetical situation on how/when to test in a certain situation. 16:25 – Panel: Can you talk about that more, please? 16:50 – Guest: Don’t have the same unit – do browser and business logic stuff separated. The real business logic stuff needs to be above that level. First principle is separation of concerns. 18:04 – Panel talks about dependency interjection and asks a question. 18:27 – Guest: What I am talking about very, very light inter-dependency interjection. 19:19 – Panel: You have a main function and you are doing requires in the main function. You are passing the pieces of that into the components that need it. 19:44 – Guest: I only do it when it’s necessary; it’s not a religion for me. I do it only for those layers that I know will need to be mocked; like database layers, etc. 20:09 – Panel. 20:19 – Guest: It’s taken me 80 years to figure out, but I have made plenty of mistakes a long the way. A test should run for 2-5 minutes max for package. 20:53 – Panel: What if you have a really messy legacy system? How do you recommend going into that? Do you write tests for things that you think needs to get tested? 21:39 – Guest answers the question and mentions Selenium! 24:27 – Panel: I like that approach. 24:35 – Chuck: When you say integration test what do you mean? 24:44 – Guest: Integration tests aren’t usually talked about. For most people it’s tests that test the database level against the database. For me, the integration tests are taking a set of classes as they are in the application and testing them together w/o the...so they can run in millisecond time. 26:54 – Advertisement – Sentry.io 27:52 – Chuck: How much do the tools matter? 28:01 – Guest: The revolutions matter. Whether you use Jasmine or Mocha or whatever I don’t think it matters. The tests matter not the tools. 28:39 – Aimee: Yes and no. I think some tools are outdated. 28:50 – Guest: I got a lot of flack about my blog where I talk about Cypress versus Selenium. I will never use Jasmine. In the end it’s the 29:29 – Aimee: I am curious would you be willing to expand on what the Selenium folks were saying about Puppeteer and others may not provide? 29:54 – Guest: Cypress was built for frontend developers. They don’t care about cross browser, and they tested in Chrome. Most browsers are typically the same. Selenium was built with the QA mindset – end to end tests that we need to do cross browser. The guest continues with this topic. 30:54 – Aimee mentions Cypress. 31:08 – Guest: My guessing is that their priority is not there. I kind of agree with them. 31:21 – Aimee: I think they are focusing on mobile more. 31:24 – Guest: I think cross browser testing is less of an issue now. There is one area that is important it’s the visual area! It’s important to test visually across these different browsers. 32:32 – Guest: Selenium is a Swiss knife – it can do everything. 33:32 – Chuck: I am thinking about different topics to talk about. I haven’t used Puppeteer. What’s that about? 33:49 – Guest: Puppeteer is much more like Selenium. The reason why it’s great is b/c Puppeteer will always be Google Chrome. 35:42 – Chuck: When should you be running your tests? I like to use some unit tests when I am doing my development but how do you break that down? 36:06 – Guest. 38:30 – Chuck: You run tests against production? 38:45 – Guest: Don’t run tests against production...let me clarify! 39:14 – Chuck. 39:21 – Guest: When I am talking about integration testing in the backend... 40:37 – Chuck asks a question. 40:47 – Guest: I am constantly running between frontend and backend. I didn’t know how to run tests for frontend. I had to invent a new thing and I “invented” the package JS DONG. It’s an implementation of Dong in Node. I found out that I wasn’t the only one and that there were others out there, too. 43:14 – Chuck: Nice! You talked in the prep docs that you urged a new frontend developer to not run the app in the browser for 2 months? 43:25 – Guest: Yeah, I found out that she was running the application...she said she knew how to write tests. I wanted her to see it my way and it probably was a radical train-of-thought, and that was this... 44:40 – Guest: Frontend is so visual. 45:12 – Chuck: What are you working on now? 45:16 – Guest: I am working with Applitools and I was impressed with what they were doing. The guest goes into further detail. 46:08 – Guest: Those screenshots are never the same. 48:36 – Panel: It’s...comparing the output to the static site to the... 48:50 – Guest: Yes, that static site – if you have 30 pages in your app – most of those are the same. We have this trick where we don’t upload it again and again. Uploading the whole static site is usually very quick. The second thing is we don’t wait for the results. We don’t wait for the whole rendering and we continue with the tests. 50:28 – Guest: I am working mostly (right now) in backend. 50:40 – Chuck: Anything else? Picks! 50:57 – Advertisement: Get A Coder Job! END – Advertisement: CacheFly! Links: JavaScript React Elixir Node.js Puppeteer Cypress SeleniumHQ Article – Ideas.Ted.Com Book: Never Split the Difference Applitools Guest’s Blog Article about Cypress vs. Selenium Gil’s Twitter Gil’s Medium Gil’s LinkedIn Sponsors: Kendo UI Sentry CacheFly Picks: Aimee How Showing Vulnerability Helps Build a Stronger Team AJ Never Split the Difference Project - TeleBit Charles Monster Hunter International Metabase Gil Cat Zero The Origin of Consciousness in the Breakdown of the Bicameral Mind
Panel: Charles Max Wood Special Guest: Brady Gaster In this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:56 – Chuck: Hello! We are going to talk about SignalR, which is an offering through Microsoft. 1:09 – Guest: It started in 2011 that’s when I got involved, but I wasn’t with Microsoft, yet, at that point. I was working on the technology, though. Effectively you can do real time HTMP but what they did (Damon and David) let’s create a series of abstractions but not we have for Java. They basically cam up this idea let’s do web sockets and then go back to pole / pole / pole. It’s to see what the server and the client can support. Guest talks about Socket.io, too. 6:45 – Chuck: What we are talking about real time coordination between apps. 6:56 – Guest: Web sockets, 1 million...and 2.6 million messages a second! 7:05 – Chuck: I can set that up like I usually set up web sockets? 7:17 – Guest: There is a client library for each. Effectively you have a concept called a connection. 9:48 – Chuck: How do you handle authentication on the frontend? 9:56 – Guest: We have server side things that we can attribute things. 10:09 – Chuck. 10:12 – Guest: If you authenticate to the site then the site passes the token and it basically sits on top of the same plumbing. 10:38 – Chuck. 10:42 – Guest. 10:54 – Chuck. 10:58 – Guest: We recently just had the DOT NET CONF. We had an all night, 24-hour thing. 11:48 – Chuck: Here you are, here you go. You hook it all up, JavaScript into your bundle. 12:05 – (The guest talks about how to install.) 13:12 – Chuck: I could come up with my own scheme. 13:25 – Guest: The traditional example is SEND A MESSAGE and then pass you string. Well tomorrow I do that and I just change the code – it’s great b/c I send up a ping and everybody knows what to do what that ping. It’s just a proxy. 14:17 – Chuck: I am trying to envision what you would use this for? If you are worried about it being stale then you refresh. But if you want the collaborative stuff at what point do you ask: Do I need SignalR? 15:00 – Guest: When I do my presentations on SignalR and being transparent I want to send you 1,000 messages but 1 or 2 messages will be dropped. You don’t want to transmit your order data or credit card information. Do you have a hammer and you need a screw? If you need stock tickers and other applications SignalR would work. Keeping your UI fresh it is a great thing. 19:02 – Chuck: You do that at the Hub? You set up the Hub and it passes everything back and forth. What can you do at the Hub for filtering and/or certain types of events? 19:26 – Guest: I am looking at a slide. What’s the cool thing about SignalR and the API is it’s deceptively simple on purpose. If you want to call out to clients, you can get a message to all of your clients if you select that/those feature(s). Some other features you have are OTHERS, and Clients.Group. 20:57 – Chuck: Can you set up your own? 20:58 – Guest: I don’t know. 21:12 – Chuck: Clients who belong to more than one group. 21:23 – Guest: Dynamics still give some people heartburn. (The guest talks about C#, Dev, Hub, and more!) 23:46 – Advertisement: Get A Coder Job! 24:23 – Chuck: How do people get started with this? Do they need Azure? 24:30 – Guest: You don’t need Azure you can go to Microsoft and it’s apart of the .NET team, too. 26:39 – Guest talks about how to install SignalR – see links below! 27:03 – Chuck: You don’t have to KNOW .NET. 27:11 – Guest: It was created by that team (*fair enough*) but you don’t have to know .NET. 27:57 – Guest: You can I could do JavaScript all the way. 29:04 – Chuck: Yes, we keep moving forward. It will look different what people are using. 29:21 – Guest: That was an early thing and I was reading through the old bugs from 2011/2012 and that’s one thing that kept coming up. I didn’t want to use jQuery to use SignalR – now you don’t. It’s a happy thing. 30:45 – Guest: Someone suggested using PARCEL. I have a question do you have any recommendations to have NODE-SASS workflow to have it less stressful? 31:30 – Chuck: It’s out of Ruby that’s my experience with Node-Sass. 31:40 – Guest: I haven’t used Ruby, yet. 31:46 – Guest: I haven’t heard of Phoenix what is that? 31:50 – Chuck answers. Chuck: It’s functional and very fast. Once you’ve figured out those features they almost become power features for you. Elixir has a lot of great things going for it. 32:50 – Guest: I tried picking up GO recently. 33:08 – Chuck: Lots of things going on in the programming world. 33:18 – Guest: I have always had a mental block around Java. I was PMing the Java guys and I asked: will this stuff work on... Once I got it then I thought that I needed to explore this stuff more! I want to learn Ruby, though. 34:16 – Chuck: Anything else in respect to SignalR? 34:15 – Guest: I really think I have dumped everything I know about Signal R just now. I would draw people to the DOCS pages. A guide for anything that could happen on the JavaScript side – check them out! We have tons of new ideas, too! 37:33 – Picks! 37:42 – Advertisement – Fresh Books! 47:54 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter SignalR SignalR’s Twitter GitHub SignalR Socket.io Node-SASS ASP.NET SignalR Hubs API Guide – JavaScript Client SignalR.net Real Talk JavaScript Parcel Brady Gaster’s Twitter Brady Gaster’s GitHub Brady Gaster’s LinkedIn Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Brady Team on General Session Korg SeaHawks Brady’s kids Logictech spot light AirPods Charles Express VPN Hyper Drive J5 ports and SD card readers Podwrench
Panel: Aimee Knight AJ O’Neal Joe Eames Charles Max Wood Chris Ferdinandi Special Guest: Julian Fahrer In this episode, the panel talks with Julian Fahrer who is an online educator and software engineer in San Francisco, California (USA). The panel and the guest talk about containers, tooling, Docker, Kubernetes, and more. Check out today’s episode! Show Topics: 0:00 – Advertisement: KENDO UI 1:00 – Chuck: We have today Julian. Julian, please tell us why you are famous? 1:10 – Julian (Guest): I am a software engineer in San Francisco. 1:35 – Chuck: We had you on Elixir Mix before – so here you are! Give us a brief introduction – tell us about the 1:56 – Julian: About 11 hours. You can get it done in about 1 week. It’s a lot to learn. It’s a new paradigm, and I think that’s why people like it. 2:22 – Aimee: How did you dive into Docker? I feel that is like backend space? 2:35 – Julian: I am a full stack engineer and I have been in backend, too. 3:10 – Aimee: I know that someone has been in-charge of our Dev Ops process until the first job I’ve had. When there is a problem in the deployment, I want to unblock myself and not wait for someone else. I think it’s a valuable topic. Why Docker over the other options? 3:58 – Julian: Let’s talk about what Docker is first? 4:12 – Chuck. 4:23 – Julian: Containers are a technology for us to run applications in isolation from each other. Julian talks in-detail about what contains are, what they do, he gives examples, and more. Check it out here! 5:27 – Chuck: Makes sense to me. I think it’s interesting that you are talking about the dependencies. Because of the way the Docker works it’s consistent across all of your applications. 5:59 – Julian. Yes, exactly. Julian talks about containers some more! 6:56 – Chuck asks a question about the container, Docker, and others. 7:03 – Guest: You don’t have to worry about your company’s running operating system, and what you want to use – basically everything runs in the container... 7:30 – Chuck: This short-circuits a lot of it. 7:46 – Guest. 8:00 – Chuck: People will use Docker if your employer mandates it. Is there a learning curve and how do you adapt it within the person’s company? 8:25 – Guest. 8:52 – Aimee: We are using it, too. 8:57 – Guest: Awesome! 9:03 – Aimee: The only downfall is that if you have people who are NOT familiar with it – then it’s a black box for us. We can’t troubleshoot it ourselves. I want to be able to unblock from our end w/o having to go to someone else. That’s my only issue I’ve been having. 10:03 – Guest: I want to see that tooling to be honest. 10:12 – Aimee: Can you talk about how Civil and Docker work together? 10:19 – Guest: Yes! Julian answers the question. 10:56 – Chuck: How much work it is to get a Docker file to get up and running? How much work would it take? 11:18 – Guest: For the development side in about an hour or two – this is if you understand it already. Putting it into production that’s a different story b/c there is a million different ways to do it. It’s hard to put a time on that. 12:24 – Chuck: Let’s assume they have the basic knowledge (they get how server setup takes place) is this something you could figure out in a day or so? 12:47 – Guest: If you have touched Docker then you can do it in a day; if never then not really. 13:02 – Guest: There might be some stones you will fall over. 13:39 – Panel: The part of the learning curve would be... 13:52 – Guest: The idea behind the container is that the container should be disposable. You could throw it away and then start a new one and it’s fresh and clean. Guest continues with his answer. 15:20 – Chuck: I have seen people do this with their database engine. If you need to upgrade your database then they grab their container... 15:55 – Guest: You don’t have to worry about setting it up - its provided in the container and... 16:09 – Chuck asks a question. 16:17 – Guest: For production, I would go with a hosted database like RJS, Azure, or other options. Guest continues. 17:13 – Chuck. 17:20 – Guest: If it dies then you need to... 17:30 – Chuck: We talked about an idea of these containers being something you can hand around in your development team. Chuck asks a question. 17:50 – Guest answers the question. He talks about tooling, containers, web frontend, and more. 18:48 – Guest asks Aimee a question: Are you using Compost? 18:50 – Aimee: I don’t know b/c that is a black box for us. I don’t know much about our Docker setup. 19:00 – Guest to Aimee: Can I ask you some questions? 19:14 – Guest is giving Aimee some hypothetical situations and asks what their process is like. 19:32 – Aimee answers the question. 20:11 – Guest: You have customizing tooling to be able to do x, y, and z. 20:25 – Aimee: They have hit a wall, but it’s frustrating. Our frontend and our backend are different. We are getting 500’s and it’s a black box for us. It’s the way that ops have it setup. I hate having to go to them for them to unblock us. 21:07 – Chuck: I have been hearing about Kubernetes. When will you start to see that it pays off to use it? 21:20 – Guest answers the question. 22:17 – If I have a simple app on a few different machines and front end and job servers I may not need Kubernetes. But if I have a lot of things that it depends on then I will need it? 22:35 – Guest: Yes. 22:40 – Chuck: What are the steps to using it? 22:45 – Guest: Step #1 you install it. The guest goes through the different steps to use Docker. 25:23 – Aimee: It makes sense that your UI and your database don’t live in the same container, but what about your API and your database should that be separate? 25:40 – Guest: Yes they should be separate. 26:09 – Chuck: What has your experience been with Docker – AJ or Chris? 26:17 – Panel: I have used a little bit at work and so far it’s been a black box for me. I like the IDEA of it, but I probably need to take Julian’s course to learn more about it! (Aimee agrees!) One thing I would love (from your perspective, Julian) – if I wanted to get started with this (and say I have not worked with containers before) where would I start? 28:22 – Advertisement – Sentry.io 29:20 – Guest: Good question. You don’t have to be an expert (to use Docker), but you have to be comfortable with the command line, though. 30:17 – Panel: Is there a dummy practice within your course? 30:27 – Julian: We run our own web server and... 30:44 – Panel: I need to check out your course! 31:04 – Guest: It is some time investment, but it’s saved me so much time already so it makes it really worth it. 31:38 – Panel: You are a version behind on Ruby. 31:46 – Guest: ...I just want to make code and not worry about that. 32:04 – Chuck: Updating your server – you would update Ruby and reinstall your gems and hope that they were all up-to-date. Now you don’t have to do it that way anymore. 32:37 – Guest: You know it will behave the same way. 32:48 – Guest: I have some experience with Docker. I understand its value. I guess I will share my frustrations. Not in Docker itself, but the fact that there is a need for Docker... 35:06 – Chuck. 35:12 – Panel: We need someone to come up with... 35:40 – Panel: It’s not standard JavaScript. 35:51 – Chuck: One question: How do you setup multiple stages of Docker? 36:12 – Guest: The recommended way is to have the same Docker file used in the development sate and through to production. So that way it’s the same image. 37:00 – Panel: ...you must do your entire configuration via the environmental variables. 37:29 – Chuck asks a question. 37:36 – Panel: If you are using Heroku or Circle CI...there is a page... 38:11 – Guest and Chuck go back-and-forth. 39:17 – Chuck: Gottcha. 39:18 – Guest. 39:52 – Chuck: I have seen systems that have hyberized things like using Chef Solo and... You do your basic setup then use Chef Solo – that doesn’t’ make sense to me. Have you seen people use this setup before? 40:20 – Guest: I guess I wouldn’t do it. 40:30 – Chuck. 40:36 – Guest: Only reason I would do that is that it works across many different platforms. If it makes your setup easier then go for it. 41:14 – Chuck: Docker Hub – I want to mention that. How robust is that? Can you put private images up there? 41:38 – Guest: You can go TOTALLY nuts with it. You could have private and public images. Also, your own version. Under the hood it’s called container registry. Yeah, you can change images, too. 42:22 – Chuck: Should I use container registry or a CI system to build the Docker system and use it somewhere else? 42:35 – Guest. 43:24 – Chuck: Where can people find your Docker course? 43:30 – Guest: LEARN DOCKER ONLINE! We are restructuring the prices. Make sure to check it out. 44:05 – Chuck: Picks! Where can people find you online? 44:14 – Guest: Twitter! eBook – Rails and Docker! Code Tails IO! Links: JavaScript jQuery React Elixir Elm Vue ESLint Node.js Circle CI Twitter – Circle CI Heroku Surge.sh Kubernetes.io Berg Design Rian Rietveld PickleJS Soft Cover.io Ebook – boilerplate EMx 010 Episode with Julian Fahrer Learn Docker Indie Hacker – Julian Fahrer LinkedIn – Julian Fahrer GitHub – Julian Fahrer Twitter – Julian Fahrer Sponsors: Kendo UI Sentry Cache Fly Picks: AJ Zermatt Resort Heber Area Aimee Surge.sh Chris BergDesign React, WP, and a11y gomakethings.com Joe Docker Videos by Dan Wahlin Rock Climbing/Indoor Rock Climbing Charles Extreme Ownership - Book Playing DND Julian PickleJS Postive Intelligence
Panel: Mark Ericksen Josh Adams Special Guest: Pete Corey In this episode of Elixir Mix, the panel talks with Pete Corey who is a software developer who resides in Denver, CO (USA). He uses Node, React, and Elixir and currently is working on two big projects. Listen to today’s episode to hear the panelists and Pete talk about Elixir, Node, Bitcoin, and Gen_TCP. Check it out! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Mark: Welcome! Our panel is Josh Adams and our guest is Pete Corey! Pete, can you tell people about yourself? 1:12 – Guest: I am a software developer and I run a web development consultancy company. I use Node and React, and I use Elixir in my free time, and I blog about that and various projects. 1:38 – Mark: How did you get into Elixir? 1:40 – Guest: Node has its limitations. I found myself not understanding concurrency at all. I saw Elixir and I came around to it when it was around its 1.0 era. I have been hooked ever since. 2:43 – Josh asks a question. 3:00 – Guest. 3:42 – Josh: Yeah it felt like I was putting a s 4:03 – Mark: Letting the mantra of letting it fail or let it crash. How do I recover? You are mentioning about your Node situation that you have these complex situations and how do I get back to a good running state. That’s what I like about Elixir. I’m more concerned: how do I get back to a good running state. It’s a mental shift and I really appreciate it. Instead of worrying about this half, I am focusing more on how do I use it to make it run smoothly? 5:20 – Guest: I totally agree. Learning Elixir has really flipped my mind about developing. I know failure happens – figure it how it fails and then anticipating HOW they might fail to make things easier. In terms of bigger projects... The guest talks about the BIG project he is working on now! Listen here! 7:40 – Panel: That sounds cool! Are you building this by yourself or with other people? 7:54 – Guest: It’s a solo project and I want to keep it that way. I was into Bitcoin before and I bought Mastering Bitcoin. Started working through that – how to go through private keys and things like that. 8:40 – Panel: I think that it’s great that you are SHARING through the process. I think that’s awesome and you are showing what you are learning and the pitfalls and the gains. 9:11 – Guest: It’s been a learning process with pattern matching. 10:20 – Panel. 10:30 – Guest talks about bytes. 10:59 – Panel: One of the first things I did in Elixir was... 11:27 – Guest: ...moving bytes around and moving integers and things like that. Elixir is much nicer! 11:40 – Panel: Can you talk about Gen TCP, please? 11:55 – Guest: A goal of my project tis to dig into the underlining Erlang properties. I think it’s a shame that people don’t explore this. The guest talks about what Gen TCP is! 13:38 – Panel: I like using Gen TCP. 13:54 – Guest: Every problem that I had boiled down to my lack of knowledge. 14:29 – Panel: What do you mean: it worked out better? 14:35 – Guest: My Gen TCP connection would pass to the...the issue is that Gen TCP is a streaming protocol. It might contain multiple packets or 1½ packets, etc. Every time I received some data I would impend it to a buffer and I would look for head eliminators. After that would be the packet length and I would split that number of bytes from the original buffer. That’s hard to explain, but... The guest talks about a solution!! 16:21 – Panel: I think there are a few great points there. One, Erlang has a lot of rich history. What are available through Erlang already? Join the Elixir Slack Channel! 17:34 – Panel: Sounds like you are using property testing? I think that’s cool – I want to spend more time digging into this! What is it? 18:00 – Guest: It is pretty cool and new to me. The guest talks about unit testing and then property testing. 20:20 – Panel: What kind of experience have you had? 20:40 – Fresh Books! 21:48 – Guest: The one place where I am using property testing is... 23:41 – Panel: That’s awesome. I want to get into it more. 23:50 – Guest: Once I get going it falls together pretty easily. It’s hard to come up with the properties that I want to test. 24:11 – Guest: It’s far more eye opening than unit testing. When you have to think about these fundamental properties you see in a different light. 24:33 – Panel: I am dropping in a link to your blog articles that you tagged. Is there anything else you want to say about your project? 24:55 – Guest: It’s an ongoing project. I haven’t actually implemented the meat of the project, yet. Please stay tuned! 25:25 – Panel: Is it your website: petecorey.com? 25:35 – Guest: Yes www.petecorey/blog.com and my newsletter! 25:47 – Panel. 25:55 – Guest asks a question. 26:05 – Panel. 26:12 – Panel: What else to talk about? 26:40 – Guest: There is another project to talk about and it’s about guitar chords and things like that; if you want? 26:57 – Panel: Yeah, generating music with Elixir is simple. I know you did the distance between chords thing? What else is super cool about it? 27:27 – Guest: It programmatically generates these guitar chords. The coolest piece is the algorithm all of guitar fingers for a guitar chord and fret this fret, etc. Then I can take the chord with a specific fingering and measure the distance. 28:30 – Panel: Have you seen Google Wave Net? It’s fairly recent. 28:39 – Guest: Is it related to Google Labs? 28:47 – Panel: I doubt it. 29:18 – Guest: Very cool, but I don’t have the AI chops. 29:26 – Panel. 29:29 – Guest: Yeah it works my brain a bit. 29:40 – Guest: Yeah I play too much guitar. I had enough money to buy my own guitar and amp. 29:54 – Panel: Talk about the chord charts. I was looking for the word: tablature! END – Ad: Lootcrate.com Links: Ruby Elixir Elm Atom.io Flutter.io JavaScript Visual Studio Code React Bitcoin Gen_TCP Stream Data Bitcoin YECC LEEX Music Rustler ElixirWeekly Jsonnet Ksonnet Pete Corey’s Blog Pete Corey’s Twitter Secure Meteor Grafonnet-lib Prometheus-operator The Sparrow Sponsors: Loot Crate Get a Coder Job! Fresh Books Cache Fly Picks: Josh JSonnet KSonnet Grafonnet Prometheus Operator Mark HSTR Pete The Sarrow
Panel: Mark Ericksen Josh Adams Special Guest: Pete Corey In this episode of Elixir Mix, the panel talks with Pete Corey who is a software developer who resides in Denver, CO (USA). He uses Node, React, and Elixir and currently is working on two big projects. Listen to today’s episode to hear the panelists and Pete talk about Elixir, Node, Bitcoin, and Gen_TCP. Check it out! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Mark: Welcome! Our panel is Josh Adams and our guest is Pete Corey! Pete, can you tell people about yourself? 1:12 – Guest: I am a software developer and I run a web development consultancy company. I use Node and React, and I use Elixir in my free time, and I blog about that and various projects. 1:38 – Mark: How did you get into Elixir? 1:40 – Guest: Node has its limitations. I found myself not understanding concurrency at all. I saw Elixir and I came around to it when it was around its 1.0 era. I have been hooked ever since. 2:43 – Josh asks a question. 3:00 – Guest. 3:42 – Josh: Yeah it felt like I was putting a s 4:03 – Mark: Letting the mantra of letting it fail or let it crash. How do I recover? You are mentioning about your Node situation that you have these complex situations and how do I get back to a good running state. That’s what I like about Elixir. I’m more concerned: how do I get back to a good running state. It’s a mental shift and I really appreciate it. Instead of worrying about this half, I am focusing more on how do I use it to make it run smoothly? 5:20 – Guest: I totally agree. Learning Elixir has really flipped my mind about developing. I know failure happens – figure it how it fails and then anticipating HOW they might fail to make things easier. In terms of bigger projects... The guest talks about the BIG project he is working on now! Listen here! 7:40 – Panel: That sounds cool! Are you building this by yourself or with other people? 7:54 – Guest: It’s a solo project and I want to keep it that way. I was into Bitcoin before and I bought Mastering Bitcoin. Started working through that – how to go through private keys and things like that. 8:40 – Panel: I think that it’s great that you are SHARING through the process. I think that’s awesome and you are showing what you are learning and the pitfalls and the gains. 9:11 – Guest: It’s been a learning process with pattern matching. 10:20 – Panel. 10:30 – Guest talks about bytes. 10:59 – Panel: One of the first things I did in Elixir was... 11:27 – Guest: ...moving bytes around and moving integers and things like that. Elixir is much nicer! 11:40 – Panel: Can you talk about Gen TCP, please? 11:55 – Guest: A goal of my project tis to dig into the underlining Erlang properties. I think it’s a shame that people don’t explore this. The guest talks about what Gen TCP is! 13:38 – Panel: I like using Gen TCP. 13:54 – Guest: Every problem that I had boiled down to my lack of knowledge. 14:29 – Panel: What do you mean: it worked out better? 14:35 – Guest: My Gen TCP connection would pass to the...the issue is that Gen TCP is a streaming protocol. It might contain multiple packets or 1½ packets, etc. Every time I received some data I would impend it to a buffer and I would look for head eliminators. After that would be the packet length and I would split that number of bytes from the original buffer. That’s hard to explain, but... The guest talks about a solution!! 16:21 – Panel: I think there are a few great points there. One, Erlang has a lot of rich history. What are available through Erlang already? Join the Elixir Slack Channel! 17:34 – Panel: Sounds like you are using property testing? I think that’s cool – I want to spend more time digging into this! What is it? 18:00 – Guest: It is pretty cool and new to me. The guest talks about unit testing and then property testing. 20:20 – Panel: What kind of experience have you had? 20:40 – Fresh Books! 21:48 – Guest: The one place where I am using property testing is... 23:41 – Panel: That’s awesome. I want to get into it more. 23:50 – Guest: Once I get going it falls together pretty easily. It’s hard to come up with the properties that I want to test. 24:11 – Guest: It’s far more eye opening than unit testing. When you have to think about these fundamental properties you see in a different light. 24:33 – Panel: I am dropping in a link to your blog articles that you tagged. Is there anything else you want to say about your project? 24:55 – Guest: It’s an ongoing project. I haven’t actually implemented the meat of the project, yet. Please stay tuned! 25:25 – Panel: Is it your website: petecorey.com? 25:35 – Guest: Yes www.petecorey/blog.com and my newsletter! 25:47 – Panel. 25:55 – Guest asks a question. 26:05 – Panel. 26:12 – Panel: What else to talk about? 26:40 – Guest: There is another project to talk about and it’s about guitar chords and things like that; if you want? 26:57 – Panel: Yeah, generating music with Elixir is simple. I know you did the distance between chords thing? What else is super cool about it? 27:27 – Guest: It programmatically generates these guitar chords. The coolest piece is the algorithm all of guitar fingers for a guitar chord and fret this fret, etc. Then I can take the chord with a specific fingering and measure the distance. 28:30 – Panel: Have you seen Google Wave Net? It’s fairly recent. 28:39 – Guest: Is it related to Google Labs? 28:47 – Panel: I doubt it. 29:18 – Guest: Very cool, but I don’t have the AI chops. 29:26 – Panel. 29:29 – Guest: Yeah it works my brain a bit. 29:40 – Guest: Yeah I play too much guitar. I had enough money to buy my own guitar and amp. 29:54 – Panel: Talk about the chord charts. I was looking for the word: tablature! END – Ad: Lootcrate.com Links: Ruby Elixir Elm Atom.io Flutter.io JavaScript Visual Studio Code React Bitcoin Gen_TCP Stream Data Bitcoin YECC LEEX Music Rustler ElixirWeekly Jsonnet Ksonnet Pete Corey’s Blog Pete Corey’s Twitter Secure Meteor Grafonnet-lib Prometheus-operator The Sparrow Sponsors: Loot Crate Get a Coder Job! Fresh Books Cache Fly Picks: Josh JSonnet KSonnet Grafonnet Prometheus Operator Mark HSTR Pete The Sarrow
Panel: Aimee Knight AJ O’Neal Joe Eames Charles Max Wood Chris Ferdinandi Special Guest: Julian Fahrer In this episode, the panel talks with Julian Fahrer who is an online educator and software engineer in San Francisco, California (USA). The panel and the guest talk about containers, tooling, Docker, Kubernetes, and more. Check out today’s episode! Show Topics: 0:00 – Advertisement: KENDO UI 1:00 – Chuck: We have today Julian. Julian, please tell us why you are famous? 1:10 – Julian (Guest): I am a software engineer in San Francisco. 1:35 – Chuck: We had you on Elixir Mix before – so here you are! Give us a brief introduction – tell us about the 1:56 – Julian: About 11 hours. You can get it done in about 1 week. It’s a lot to learn. It’s a new paradigm, and I think that’s why people like it. 2:22 – Aimee: How did you dive into Docker? I feel that is like backend space? 2:35 – Julian: I am a full stack engineer and I have been in backend, too. 3:10 – Aimee: I know that someone has been in-charge of our Dev Ops process until the first job I’ve had. When there is a problem in the deployment, I want to unblock myself and not wait for someone else. I think it’s a valuable topic. Why Docker over the other options? 3:58 – Julian: Let’s talk about what Docker is first? 4:12 – Chuck. 4:23 – Julian: Containers are a technology for us to run applications in isolation from each other. Julian talks in-detail about what contains are, what they do, he gives examples, and more. Check it out here! 5:27 – Chuck: Makes sense to me. I think it’s interesting that you are talking about the dependencies. Because of the way the Docker works it’s consistent across all of your applications. 5:59 – Julian. Yes, exactly. Julian talks about containers some more! 6:56 – Chuck asks a question about the container, Docker, and others. 7:03 – Guest: You don’t have to worry about your company’s running operating system, and what you want to use – basically everything runs in the container... 7:30 – Chuck: This short-circuits a lot of it. 7:46 – Guest. 8:00 – Chuck: People will use Docker if your employer mandates it. Is there a learning curve and how do you adapt it within the person’s company? 8:25 – Guest. 8:52 – Aimee: We are using it, too. 8:57 – Guest: Awesome! 9:03 – Aimee: The only downfall is that if you have people who are NOT familiar with it – then it’s a black box for us. We can’t troubleshoot it ourselves. I want to be able to unblock from our end w/o having to go to someone else. That’s my only issue I’ve been having. 10:03 – Guest: I want to see that tooling to be honest. 10:12 – Aimee: Can you talk about how Civil and Docker work together? 10:19 – Guest: Yes! Julian answers the question. 10:56 – Chuck: How much work it is to get a Docker file to get up and running? How much work would it take? 11:18 – Guest: For the development side in about an hour or two – this is if you understand it already. Putting it into production that’s a different story b/c there is a million different ways to do it. It’s hard to put a time on that. 12:24 – Chuck: Let’s assume they have the basic knowledge (they get how server setup takes place) is this something you could figure out in a day or so? 12:47 – Guest: If you have touched Docker then you can do it in a day; if never then not really. 13:02 – Guest: There might be some stones you will fall over. 13:39 – Panel: The part of the learning curve would be... 13:52 – Guest: The idea behind the container is that the container should be disposable. You could throw it away and then start a new one and it’s fresh and clean. Guest continues with his answer. 15:20 – Chuck: I have seen people do this with their database engine. If you need to upgrade your database then they grab their container... 15:55 – Guest: You don’t have to worry about setting it up - its provided in the container and... 16:09 – Chuck asks a question. 16:17 – Guest: For production, I would go with a hosted database like RJS, Azure, or other options. Guest continues. 17:13 – Chuck. 17:20 – Guest: If it dies then you need to... 17:30 – Chuck: We talked about an idea of these containers being something you can hand around in your development team. Chuck asks a question. 17:50 – Guest answers the question. He talks about tooling, containers, web frontend, and more. 18:48 – Guest asks Aimee a question: Are you using Compost? 18:50 – Aimee: I don’t know b/c that is a black box for us. I don’t know much about our Docker setup. 19:00 – Guest to Aimee: Can I ask you some questions? 19:14 – Guest is giving Aimee some hypothetical situations and asks what their process is like. 19:32 – Aimee answers the question. 20:11 – Guest: You have customizing tooling to be able to do x, y, and z. 20:25 – Aimee: They have hit a wall, but it’s frustrating. Our frontend and our backend are different. We are getting 500’s and it’s a black box for us. It’s the way that ops have it setup. I hate having to go to them for them to unblock us. 21:07 – Chuck: I have been hearing about Kubernetes. When will you start to see that it pays off to use it? 21:20 – Guest answers the question. 22:17 – If I have a simple app on a few different machines and front end and job servers I may not need Kubernetes. But if I have a lot of things that it depends on then I will need it? 22:35 – Guest: Yes. 22:40 – Chuck: What are the steps to using it? 22:45 – Guest: Step #1 you install it. The guest goes through the different steps to use Docker. 25:23 – Aimee: It makes sense that your UI and your database don’t live in the same container, but what about your API and your database should that be separate? 25:40 – Guest: Yes they should be separate. 26:09 – Chuck: What has your experience been with Docker – AJ or Chris? 26:17 – Panel: I have used a little bit at work and so far it’s been a black box for me. I like the IDEA of it, but I probably need to take Julian’s course to learn more about it! (Aimee agrees!) One thing I would love (from your perspective, Julian) – if I wanted to get started with this (and say I have not worked with containers before) where would I start? 28:22 – Advertisement – Sentry.io 29:20 – Guest: Good question. You don’t have to be an expert (to use Docker), but you have to be comfortable with the command line, though. 30:17 – Panel: Is there a dummy practice within your course? 30:27 – Julian: We run our own web server and... 30:44 – Panel: I need to check out your course! 31:04 – Guest: It is some time investment, but it’s saved me so much time already so it makes it really worth it. 31:38 – Panel: You are a version behind on Ruby. 31:46 – Guest: ...I just want to make code and not worry about that. 32:04 – Chuck: Updating your server – you would update Ruby and reinstall your gems and hope that they were all up-to-date. Now you don’t have to do it that way anymore. 32:37 – Guest: You know it will behave the same way. 32:48 – Guest: I have some experience with Docker. I understand its value. I guess I will share my frustrations. Not in Docker itself, but the fact that there is a need for Docker... 35:06 – Chuck. 35:12 – Panel: We need someone to come up with... 35:40 – Panel: It’s not standard JavaScript. 35:51 – Chuck: One question: How do you setup multiple stages of Docker? 36:12 – Guest: The recommended way is to have the same Docker file used in the development sate and through to production. So that way it’s the same image. 37:00 – Panel: ...you must do your entire configuration via the environmental variables. 37:29 – Chuck asks a question. 37:36 – Panel: If you are using Heroku or Circle CI...there is a page... 38:11 – Guest and Chuck go back-and-forth. 39:17 – Chuck: Gottcha. 39:18 – Guest. 39:52 – Chuck: I have seen systems that have hyberized things like using Chef Solo and... You do your basic setup then use Chef Solo – that doesn’t’ make sense to me. Have you seen people use this setup before? 40:20 – Guest: I guess I wouldn’t do it. 40:30 – Chuck. 40:36 – Guest: Only reason I would do that is that it works across many different platforms. If it makes your setup easier then go for it. 41:14 – Chuck: Docker Hub – I want to mention that. How robust is that? Can you put private images up there? 41:38 – Guest: You can go TOTALLY nuts with it. You could have private and public images. Also, your own version. Under the hood it’s called container registry. Yeah, you can change images, too. 42:22 – Chuck: Should I use container registry or a CI system to build the Docker system and use it somewhere else? 42:35 – Guest. 43:24 – Chuck: Where can people find your Docker course? 43:30 – Guest: LEARN DOCKER ONLINE! We are restructuring the prices. Make sure to check it out. 44:05 – Chuck: Picks! Where can people find you online? 44:14 – Guest: Twitter! eBook – Rails and Docker! Code Tails IO! Links: JavaScript jQuery React Elixir Elm Vue ESLint Node.js Circle CI Twitter – Circle CI Heroku Surge.sh Kubernetes.io Berg Design Rian Rietveld PickleJS Soft Cover.io Ebook – boilerplate EMx 010 Episode with Julian Fahrer Learn Docker Indie Hacker – Julian Fahrer LinkedIn – Julian Fahrer GitHub – Julian Fahrer Twitter – Julian Fahrer Sponsors: Kendo UI Sentry Cache Fly Picks: AJ Zermatt Resort Heber Area Aimee Surge.sh Chris BergDesign React, WP, and a11y gomakethings.com Joe Docker Videos by Dan Wahlin Rock Climbing/Indoor Rock Climbing Charles Extreme Ownership - Book Playing DND Julian PickleJS Postive Intelligence
Panel: Aimee Knight AJ O’Neal Joe Eames Charles Max Wood Chris Ferdinandi Special Guest: Julian Fahrer In this episode, the panel talks with Julian Fahrer who is an online educator and software engineer in San Francisco, California (USA). The panel and the guest talk about containers, tooling, Docker, Kubernetes, and more. Check out today’s episode! Show Topics: 0:00 – Advertisement: KENDO UI 1:00 – Chuck: We have today Julian. Julian, please tell us why you are famous? 1:10 – Julian (Guest): I am a software engineer in San Francisco. 1:35 – Chuck: We had you on Elixir Mix before – so here you are! Give us a brief introduction – tell us about the 1:56 – Julian: About 11 hours. You can get it done in about 1 week. It’s a lot to learn. It’s a new paradigm, and I think that’s why people like it. 2:22 – Aimee: How did you dive into Docker? I feel that is like backend space? 2:35 – Julian: I am a full stack engineer and I have been in backend, too. 3:10 – Aimee: I know that someone has been in-charge of our Dev Ops process until the first job I’ve had. When there is a problem in the deployment, I want to unblock myself and not wait for someone else. I think it’s a valuable topic. Why Docker over the other options? 3:58 – Julian: Let’s talk about what Docker is first? 4:12 – Chuck. 4:23 – Julian: Containers are a technology for us to run applications in isolation from each other. Julian talks in-detail about what contains are, what they do, he gives examples, and more. Check it out here! 5:27 – Chuck: Makes sense to me. I think it’s interesting that you are talking about the dependencies. Because of the way the Docker works it’s consistent across all of your applications. 5:59 – Julian. Yes, exactly. Julian talks about containers some more! 6:56 – Chuck asks a question about the container, Docker, and others. 7:03 – Guest: You don’t have to worry about your company’s running operating system, and what you want to use – basically everything runs in the container... 7:30 – Chuck: This short-circuits a lot of it. 7:46 – Guest. 8:00 – Chuck: People will use Docker if your employer mandates it. Is there a learning curve and how do you adapt it within the person’s company? 8:25 – Guest. 8:52 – Aimee: We are using it, too. 8:57 – Guest: Awesome! 9:03 – Aimee: The only downfall is that if you have people who are NOT familiar with it – then it’s a black box for us. We can’t troubleshoot it ourselves. I want to be able to unblock from our end w/o having to go to someone else. That’s my only issue I’ve been having. 10:03 – Guest: I want to see that tooling to be honest. 10:12 – Aimee: Can you talk about how Civil and Docker work together? 10:19 – Guest: Yes! Julian answers the question. 10:56 – Chuck: How much work it is to get a Docker file to get up and running? How much work would it take? 11:18 – Guest: For the development side in about an hour or two – this is if you understand it already. Putting it into production that’s a different story b/c there is a million different ways to do it. It’s hard to put a time on that. 12:24 – Chuck: Let’s assume they have the basic knowledge (they get how server setup takes place) is this something you could figure out in a day or so? 12:47 – Guest: If you have touched Docker then you can do it in a day; if never then not really. 13:02 – Guest: There might be some stones you will fall over. 13:39 – Panel: The part of the learning curve would be... 13:52 – Guest: The idea behind the container is that the container should be disposable. You could throw it away and then start a new one and it’s fresh and clean. Guest continues with his answer. 15:20 – Chuck: I have seen people do this with their database engine. If you need to upgrade your database then they grab their container... 15:55 – Guest: You don’t have to worry about setting it up - its provided in the container and... 16:09 – Chuck asks a question. 16:17 – Guest: For production, I would go with a hosted database like RJS, Azure, or other options. Guest continues. 17:13 – Chuck. 17:20 – Guest: If it dies then you need to... 17:30 – Chuck: We talked about an idea of these containers being something you can hand around in your development team. Chuck asks a question. 17:50 – Guest answers the question. He talks about tooling, containers, web frontend, and more. 18:48 – Guest asks Aimee a question: Are you using Compost? 18:50 – Aimee: I don’t know b/c that is a black box for us. I don’t know much about our Docker setup. 19:00 – Guest to Aimee: Can I ask you some questions? 19:14 – Guest is giving Aimee some hypothetical situations and asks what their process is like. 19:32 – Aimee answers the question. 20:11 – Guest: You have customizing tooling to be able to do x, y, and z. 20:25 – Aimee: They have hit a wall, but it’s frustrating. Our frontend and our backend are different. We are getting 500’s and it’s a black box for us. It’s the way that ops have it setup. I hate having to go to them for them to unblock us. 21:07 – Chuck: I have been hearing about Kubernetes. When will you start to see that it pays off to use it? 21:20 – Guest answers the question. 22:17 – If I have a simple app on a few different machines and front end and job servers I may not need Kubernetes. But if I have a lot of things that it depends on then I will need it? 22:35 – Guest: Yes. 22:40 – Chuck: What are the steps to using it? 22:45 – Guest: Step #1 you install it. The guest goes through the different steps to use Docker. 25:23 – Aimee: It makes sense that your UI and your database don’t live in the same container, but what about your API and your database should that be separate? 25:40 – Guest: Yes they should be separate. 26:09 – Chuck: What has your experience been with Docker – AJ or Chris? 26:17 – Panel: I have used a little bit at work and so far it’s been a black box for me. I like the IDEA of it, but I probably need to take Julian’s course to learn more about it! (Aimee agrees!) One thing I would love (from your perspective, Julian) – if I wanted to get started with this (and say I have not worked with containers before) where would I start? 28:22 – Advertisement – Sentry.io 29:20 – Guest: Good question. You don’t have to be an expert (to use Docker), but you have to be comfortable with the command line, though. 30:17 – Panel: Is there a dummy practice within your course? 30:27 – Julian: We run our own web server and... 30:44 – Panel: I need to check out your course! 31:04 – Guest: It is some time investment, but it’s saved me so much time already so it makes it really worth it. 31:38 – Panel: You are a version behind on Ruby. 31:46 – Guest: ...I just want to make code and not worry about that. 32:04 – Chuck: Updating your server – you would update Ruby and reinstall your gems and hope that they were all up-to-date. Now you don’t have to do it that way anymore. 32:37 – Guest: You know it will behave the same way. 32:48 – Guest: I have some experience with Docker. I understand its value. I guess I will share my frustrations. Not in Docker itself, but the fact that there is a need for Docker... 35:06 – Chuck. 35:12 – Panel: We need someone to come up with... 35:40 – Panel: It’s not standard JavaScript. 35:51 – Chuck: One question: How do you setup multiple stages of Docker? 36:12 – Guest: The recommended way is to have the same Docker file used in the development sate and through to production. So that way it’s the same image. 37:00 – Panel: ...you must do your entire configuration via the environmental variables. 37:29 – Chuck asks a question. 37:36 – Panel: If you are using Heroku or Circle CI...there is a page... 38:11 – Guest and Chuck go back-and-forth. 39:17 – Chuck: Gottcha. 39:18 – Guest. 39:52 – Chuck: I have seen systems that have hyberized things like using Chef Solo and... You do your basic setup then use Chef Solo – that doesn’t’ make sense to me. Have you seen people use this setup before? 40:20 – Guest: I guess I wouldn’t do it. 40:30 – Chuck. 40:36 – Guest: Only reason I would do that is that it works across many different platforms. If it makes your setup easier then go for it. 41:14 – Chuck: Docker Hub – I want to mention that. How robust is that? Can you put private images up there? 41:38 – Guest: You can go TOTALLY nuts with it. You could have private and public images. Also, your own version. Under the hood it’s called container registry. Yeah, you can change images, too. 42:22 – Chuck: Should I use container registry or a CI system to build the Docker system and use it somewhere else? 42:35 – Guest. 43:24 – Chuck: Where can people find your Docker course? 43:30 – Guest: LEARN DOCKER ONLINE! We are restructuring the prices. Make sure to check it out. 44:05 – Chuck: Picks! Where can people find you online? 44:14 – Guest: Twitter! eBook – Rails and Docker! Code Tails IO! Links: JavaScript jQuery React Elixir Elm Vue ESLint Node.js Circle CI Twitter – Circle CI Heroku Surge.sh Kubernetes.io Berg Design Rian Rietveld PickleJS Soft Cover.io Ebook – boilerplate EMx 010 Episode with Julian Fahrer Learn Docker Indie Hacker – Julian Fahrer LinkedIn – Julian Fahrer GitHub – Julian Fahrer Twitter – Julian Fahrer Sponsors: Kendo UI Sentry Cache Fly Picks: AJ Zermatt Resort Heber Area Aimee Surge.sh Chris BergDesign React, WP, and a11y gomakethings.com Joe Docker Videos by Dan Wahlin Rock Climbing/Indoor Rock Climbing Charles Extreme Ownership - Book Playing DND Julian PickleJS Postive Intelligence
Panel: Dave Kimura Charles (Chuck) Max Wood Nate Hopkins Special Guest: Dan Mayer In this episode of Ruby Rogues, the panel talks with Bozhidar Batsov who is the VP of Engineering at Toptal, and an Emacs fanatic. The panel and the guest talk about RubCop, Emacs, and Komodo, among other topics! Check out today’s episode for more details. Show Topics: 0:00 – Sentry.IO – Advertisement! 1:07 – Chuck lists the panelists and the special guest. 1:37 – Chuck: Why are you famous? 1:41 – Guest gives his background. 2:13 – Guest: I am passionate about Emacs. 2:55 – Chuck. 2:58 – Panel: I have on a few projects. Do you know RUFO? It’s a bit more opinionated than RuboCop. 3:25 – Guest: I am familiar with RUFO and their approach is similar to JavaScript called Pretty or something like that. 4:45 – Guest: 4:49 – Panel: Can you tell us what RuboCop is and why is it important? 5:00 – Guest: There are a few main things that RuboCop is: 1.) Placement for Ruby minor... 2.) Lint tool 3.) Automatic checker for all the best practices outlined in the community 4.) Formatter for Ruby code – you can feed it ugly code and it will spin out beautiful code 7:30 – Panel: What are the origins of the project? Where you interested in the performance and security aspects of it? 7:49 – Guest. The guest talks about RuboCop in detail. 10:59 – Panel: It’s important to remember that these are just guidelines and they are NOT set in stone. Using single or double quotes. As long as the project is consistent and using decent practices then I am okay with the code. I will disable the...in RuboCop. Today with high-resolution monitors it’s one of those things that are an annoyance to me. It’s just my opinion, though. 12:07 – Guest: Why disable it and not...? 13:36 – Panel: You could use VS code instead of Emacs! I am just kidding. 13:51 – Guest: I hope you are kidding! 13:56 – Chuck: I cannot live without this code... 14:06 – Guest. 14:26 – Panel: I was an early adapter from the beginning and it was hella slow. I tried it from sublime text and I got annoyed so I eventually switched to VS code. Once I got over the brand name, I really like it as my main editor. 15:20 – Panel: Maybe it’s more approachable and it’s easier to dip your toes in. 15:35 – Guest. 16:29 – Panel: I haven’t heard of KOMODO in long time. I remember that was one of the first IDs that I had checked out. I tried that then went to Ruby Mine and then tried Sublime text and then VS. 16:57 – Guest: Komodo was a famous editor. 17:17 – Panel: I am curious on RuboCop that the adaption is driven by teaching idiomatic Ruby to people new to the language? 17:40 – Guest: I don’t think it’s much about the stylistic stuff at this point. I also noticed that the main driver of the group was... Guest goes into great detail about this topic. 22:44 – Guest (continues): RuboCop offers a bunch of different structure. 24:27 – Guest (continues): We are wondering how to approach the issue of performance. The performance aspect tended to be trickier than what we had expected. The majority of developers when given the choice to either secure or make something convenient - they will choose the latter option. 25:47 – Panel: That’s why they get hit with a high AWS bill. 26:00 – Guest. 26:30 – Panel: The things you have learned with RuboCop, is it changing the direction with MRI or the design of the language at all? 26:40 – Guest: I would hope so, but I don’t have hard evidence to prove this. If you give people too many options then it could be a waste of time. I don’t care about the nuances. 30:06 – Ad: RubyMine! 30-day trial! 30:38 – Panel: Would you recommend the Rails style guide if you are building a Rails style project? Should we use that as a baseline and then customize it for your team? 30:55 – Guest: The style guide should be good. For a while I was the only editor. Not a lot of the options that are there aren’t my personal opinion, but it’s the general prescription. If you have strong preferences and you have your team agree on those then it’s okay to be modifying it. At the end of the day it’s better to have consistency within a project. You are doing great! 32:57 – Chuck asks a question. 33:44 – Chuck: Could I modify a rule? 33:53 – Guest: There are varying degrees to the rule. 35:56 – Panel: One of your conference talks you talked about the future of Rails and the future of other Ruby frameworks? 36:18 – Guest: I am worried about the future of Ruby b/c I see people talking about the maturity of the system but there isn’t a clear vision to where we are going. There are some cornerstones for Ruby 3 that he is repeating. 41:05 – Guest (continues): I think we need to commit to the module and the API. 45:42 – Chuck: All of those things make sense to me. Is there any desire for people to fork Ruby or pulling / putting some of this in? 46:00 – Guest. 48:18 – Panel: Transition that to Rails and the future of Rails? 48:27 – Panel: There are big companies that are making changes. 48:51 – Guest. 53:33 – Panel: I think that is a common pattern that most companies move towards. 54:12 – Chuck: We did an episode on ElixirMix with Chris McCord. Check that out! 54:35 – Chuck: Picks! 54:40 – Advertisement – Fresh Books! End – Cache Fly! Links: Get a Coder Job Course Ruby Rust Ruby Motion Ruby on Rails Angular Komodo Emacs RuboCop RuboCop – GitHub Stimulus reflex Messages: Share Screens Smittybilt Visual Studio Code: Introducing Visual Studio Live Share VRBO Bozhidar’s GitHub Bozhidar’s Twitter Bozhidar’s Patreon Bozhidar’s Open Collective Past EMx Episode 020 with Chris McCord! Sponsors: Sentry RubyMine Cache Fly Fresh Books Picks: Dave Tire Plugs VS Live Share Nate Share Screen using Messages on Mac Charles VRBO Find opportunities for R&R Rocket League Bozhidar Documentation for Markdown users Bear App
Panel: Dave Kimura Charles (Chuck) Max Wood Nate Hopkins Special Guest: Dan Mayer In this episode of Ruby Rogues, the panel talks with Bozhidar Batsov who is the VP of Engineering at Toptal, and an Emacs fanatic. The panel and the guest talk about RubCop, Emacs, and Komodo, among other topics! Check out today’s episode for more details. Show Topics: 0:00 – Sentry.IO – Advertisement! 1:07 – Chuck lists the panelists and the special guest. 1:37 – Chuck: Why are you famous? 1:41 – Guest gives his background. 2:13 – Guest: I am passionate about Emacs. 2:55 – Chuck. 2:58 – Panel: I have on a few projects. Do you know RUFO? It’s a bit more opinionated than RuboCop. 3:25 – Guest: I am familiar with RUFO and their approach is similar to JavaScript called Pretty or something like that. 4:45 – Guest: 4:49 – Panel: Can you tell us what RuboCop is and why is it important? 5:00 – Guest: There are a few main things that RuboCop is: 1.) Placement for Ruby minor... 2.) Lint tool 3.) Automatic checker for all the best practices outlined in the community 4.) Formatter for Ruby code – you can feed it ugly code and it will spin out beautiful code 7:30 – Panel: What are the origins of the project? Where you interested in the performance and security aspects of it? 7:49 – Guest. The guest talks about RuboCop in detail. 10:59 – Panel: It’s important to remember that these are just guidelines and they are NOT set in stone. Using single or double quotes. As long as the project is consistent and using decent practices then I am okay with the code. I will disable the...in RuboCop. Today with high-resolution monitors it’s one of those things that are an annoyance to me. It’s just my opinion, though. 12:07 – Guest: Why disable it and not...? 13:36 – Panel: You could use VS code instead of Emacs! I am just kidding. 13:51 – Guest: I hope you are kidding! 13:56 – Chuck: I cannot live without this code... 14:06 – Guest. 14:26 – Panel: I was an early adapter from the beginning and it was hella slow. I tried it from sublime text and I got annoyed so I eventually switched to VS code. Once I got over the brand name, I really like it as my main editor. 15:20 – Panel: Maybe it’s more approachable and it’s easier to dip your toes in. 15:35 – Guest. 16:29 – Panel: I haven’t heard of KOMODO in long time. I remember that was one of the first IDs that I had checked out. I tried that then went to Ruby Mine and then tried Sublime text and then VS. 16:57 – Guest: Komodo was a famous editor. 17:17 – Panel: I am curious on RuboCop that the adaption is driven by teaching idiomatic Ruby to people new to the language? 17:40 – Guest: I don’t think it’s much about the stylistic stuff at this point. I also noticed that the main driver of the group was... Guest goes into great detail about this topic. 22:44 – Guest (continues): RuboCop offers a bunch of different structure. 24:27 – Guest (continues): We are wondering how to approach the issue of performance. The performance aspect tended to be trickier than what we had expected. The majority of developers when given the choice to either secure or make something convenient - they will choose the latter option. 25:47 – Panel: That’s why they get hit with a high AWS bill. 26:00 – Guest. 26:30 – Panel: The things you have learned with RuboCop, is it changing the direction with MRI or the design of the language at all? 26:40 – Guest: I would hope so, but I don’t have hard evidence to prove this. If you give people too many options then it could be a waste of time. I don’t care about the nuances. 30:06 – Ad: RubyMine! 30-day trial! 30:38 – Panel: Would you recommend the Rails style guide if you are building a Rails style project? Should we use that as a baseline and then customize it for your team? 30:55 – Guest: The style guide should be good. For a while I was the only editor. Not a lot of the options that are there aren’t my personal opinion, but it’s the general prescription. If you have strong preferences and you have your team agree on those then it’s okay to be modifying it. At the end of the day it’s better to have consistency within a project. You are doing great! 32:57 – Chuck asks a question. 33:44 – Chuck: Could I modify a rule? 33:53 – Guest: There are varying degrees to the rule. 35:56 – Panel: One of your conference talks you talked about the future of Rails and the future of other Ruby frameworks? 36:18 – Guest: I am worried about the future of Ruby b/c I see people talking about the maturity of the system but there isn’t a clear vision to where we are going. There are some cornerstones for Ruby 3 that he is repeating. 41:05 – Guest (continues): I think we need to commit to the module and the API. 45:42 – Chuck: All of those things make sense to me. Is there any desire for people to fork Ruby or pulling / putting some of this in? 46:00 – Guest. 48:18 – Panel: Transition that to Rails and the future of Rails? 48:27 – Panel: There are big companies that are making changes. 48:51 – Guest. 53:33 – Panel: I think that is a common pattern that most companies move towards. 54:12 – Chuck: We did an episode on ElixirMix with Chris McCord. Check that out! 54:35 – Chuck: Picks! 54:40 – Advertisement – Fresh Books! End – Cache Fly! Links: Get a Coder Job Course Ruby Rust Ruby Motion Ruby on Rails Angular Komodo Emacs RuboCop RuboCop – GitHub Stimulus reflex Messages: Share Screens Smittybilt Visual Studio Code: Introducing Visual Studio Live Share VRBO Bozhidar’s GitHub Bozhidar’s Twitter Bozhidar’s Patreon Bozhidar’s Open Collective Past EMx Episode 020 with Chris McCord! Sponsors: Sentry RubyMine Cache Fly Fresh Books Picks: Dave Tire Plugs VS Live Share Nate Share Screen using Messages on Mac Charles VRBO Find opportunities for R&R Rocket League Bozhidar Documentation for Markdown users Bear App
Panel: Dave Kimura Charles (Chuck) Max Wood Nate Hopkins Special Guest: Dan Mayer In this episode of Ruby Rogues, the panel talks with Bozhidar Batsov who is the VP of Engineering at Toptal, and an Emacs fanatic. The panel and the guest talk about RubCop, Emacs, and Komodo, among other topics! Check out today’s episode for more details. Show Topics: 0:00 – Sentry.IO – Advertisement! 1:07 – Chuck lists the panelists and the special guest. 1:37 – Chuck: Why are you famous? 1:41 – Guest gives his background. 2:13 – Guest: I am passionate about Emacs. 2:55 – Chuck. 2:58 – Panel: I have on a few projects. Do you know RUFO? It’s a bit more opinionated than RuboCop. 3:25 – Guest: I am familiar with RUFO and their approach is similar to JavaScript called Pretty or something like that. 4:45 – Guest: 4:49 – Panel: Can you tell us what RuboCop is and why is it important? 5:00 – Guest: There are a few main things that RuboCop is: 1.) Placement for Ruby minor... 2.) Lint tool 3.) Automatic checker for all the best practices outlined in the community 4.) Formatter for Ruby code – you can feed it ugly code and it will spin out beautiful code 7:30 – Panel: What are the origins of the project? Where you interested in the performance and security aspects of it? 7:49 – Guest. The guest talks about RuboCop in detail. 10:59 – Panel: It’s important to remember that these are just guidelines and they are NOT set in stone. Using single or double quotes. As long as the project is consistent and using decent practices then I am okay with the code. I will disable the...in RuboCop. Today with high-resolution monitors it’s one of those things that are an annoyance to me. It’s just my opinion, though. 12:07 – Guest: Why disable it and not...? 13:36 – Panel: You could use VS code instead of Emacs! I am just kidding. 13:51 – Guest: I hope you are kidding! 13:56 – Chuck: I cannot live without this code... 14:06 – Guest. 14:26 – Panel: I was an early adapter from the beginning and it was hella slow. I tried it from sublime text and I got annoyed so I eventually switched to VS code. Once I got over the brand name, I really like it as my main editor. 15:20 – Panel: Maybe it’s more approachable and it’s easier to dip your toes in. 15:35 – Guest. 16:29 – Panel: I haven’t heard of KOMODO in long time. I remember that was one of the first IDs that I had checked out. I tried that then went to Ruby Mine and then tried Sublime text and then VS. 16:57 – Guest: Komodo was a famous editor. 17:17 – Panel: I am curious on RuboCop that the adaption is driven by teaching idiomatic Ruby to people new to the language? 17:40 – Guest: I don’t think it’s much about the stylistic stuff at this point. I also noticed that the main driver of the group was... Guest goes into great detail about this topic. 22:44 – Guest (continues): RuboCop offers a bunch of different structure. 24:27 – Guest (continues): We are wondering how to approach the issue of performance. The performance aspect tended to be trickier than what we had expected. The majority of developers when given the choice to either secure or make something convenient - they will choose the latter option. 25:47 – Panel: That’s why they get hit with a high AWS bill. 26:00 – Guest. 26:30 – Panel: The things you have learned with RuboCop, is it changing the direction with MRI or the design of the language at all? 26:40 – Guest: I would hope so, but I don’t have hard evidence to prove this. If you give people too many options then it could be a waste of time. I don’t care about the nuances. 30:06 – Ad: RubyMine! 30-day trial! 30:38 – Panel: Would you recommend the Rails style guide if you are building a Rails style project? Should we use that as a baseline and then customize it for your team? 30:55 – Guest: The style guide should be good. For a while I was the only editor. Not a lot of the options that are there aren’t my personal opinion, but it’s the general prescription. If you have strong preferences and you have your team agree on those then it’s okay to be modifying it. At the end of the day it’s better to have consistency within a project. You are doing great! 32:57 – Chuck asks a question. 33:44 – Chuck: Could I modify a rule? 33:53 – Guest: There are varying degrees to the rule. 35:56 – Panel: One of your conference talks you talked about the future of Rails and the future of other Ruby frameworks? 36:18 – Guest: I am worried about the future of Ruby b/c I see people talking about the maturity of the system but there isn’t a clear vision to where we are going. There are some cornerstones for Ruby 3 that he is repeating. 41:05 – Guest (continues): I think we need to commit to the module and the API. 45:42 – Chuck: All of those things make sense to me. Is there any desire for people to fork Ruby or pulling / putting some of this in? 46:00 – Guest. 48:18 – Panel: Transition that to Rails and the future of Rails? 48:27 – Panel: There are big companies that are making changes. 48:51 – Guest. 53:33 – Panel: I think that is a common pattern that most companies move towards. 54:12 – Chuck: We did an episode on ElixirMix with Chris McCord. Check that out! 54:35 – Chuck: Picks! 54:40 – Advertisement – Fresh Books! End – Cache Fly! Links: Get a Coder Job Course Ruby Rust Ruby Motion Ruby on Rails Angular Komodo Emacs RuboCop RuboCop – GitHub Stimulus reflex Messages: Share Screens Smittybilt Visual Studio Code: Introducing Visual Studio Live Share VRBO Bozhidar’s GitHub Bozhidar’s Twitter Bozhidar’s Patreon Bozhidar’s Open Collective Past EMx Episode 020 with Chris McCord! Sponsors: Sentry RubyMine Cache Fly Fresh Books Picks: Dave Tire Plugs VS Live Share Nate Share Screen using Messages on Mac Charles VRBO Find opportunities for R&R Rocket League Bozhidar Documentation for Markdown users Bear App
Panel: Mark Ericksen Josh Adams Charles Max Wood Special Guest: Bill Peregoy In this episode of Elixir Mix, the panel talks with Bill Peregoy who is a software engineer who uses Elixir and loves Graph QL. The panel talks with Bill about his Elixir background, in addition to past and current projects. Check out today’s episode to hear the panel talk about Elixir, Graph QL, code reviews, and much more! Show Topics: 0:00 – Advertisement: Get A Coder Job! 1:07 – Chuck: Tell us who you are and why you are famous? 1:16 – Guest: Here it goes...I have a diverse background. I have a background in hardware and went into software and it got me into Ruby. From there I moved to the software world and in constant contact with a Ruby project. Then I found an Elixir book and thought it was really cool. About a year ago I started working with a consulting company that uses Elixir. They have a cool entrepreneur group. Then about 3 months ago I transferred to another project. 2:41 – Panel: The MBTA? 2:49 – Guest: You thought I was using old crust technology, but they are using new technologies. 3:06 – Panel: You have this hardware background have you looked at NERVES? 3:17 – Guest: I have an interest in it. 3:34 – Let’s talk about deploying Elixir apps. Getting into Elixir might be interesting to talk about? Let’s talk about how you got into Elixir, please. 3:55 – Guest: I had an easy slide into it. The guest talks about how to structure code and how he learned about Elixir. 4:34 – Chuck: Where would have gotten into trouble if you didn’t have that? 4:39 – Guest: ...how do you organize code? It’s a bunch of modules with functions in them. 5:19 – Panel: You mentioned code reviews – and to me that’s how you learn something fast. 5:30 – Guest: I was lucky to have worked with a person who is really picky about code reviews. They were detailed and I learned a lot from him. 5:53 – Panel: I give code reviews, too. What makes a good code review from the receiving end? 6:12 – Guest answers the question. Guest: Don’t write the code for me, but...here is a general direction. 6:37 – Panel: I give the person a wrong review so they have to learn it. 7:00 – Chuck: Would have it been easier if it was a smaller project? 7:10 – Guest: I think it helped that it was a larger project. 7:29 – Chuck: We have talked about deployment and other tools that you’ve used. What I am curious about – you were using AWS and ECS can you talk about that, please? 8:00 – Guest: It was a wild ride for me. We knew we’d have to get there eventually and went for it. We never had deployed an Elixir app before. I had little knowledge with AWS, so there were thousands of new things I was learning in one week. I learned a lot from this guy and he said let’s get the app running, then let’s take it to an RDS, then let’s make sure this and that work. There is a lot going on there, but breaking it down you could figure it out when they came up. It was a lifesaver having his work b/c it would have taken me weeks instead of a few days. 9:28 – Chuck: My wife and I watched The Martian a few days ago. The character said: you solve one problem at a time. 9:47 – Guest: Yes. 10:00 – Guest: The article, “Guide to Deploy a...” 10:20 – Guest: I understood the pieces very well. 10:30 – Panel: Setting up an umbrella project. Is that how you have yours set-up? 10:48 – Guest: Single Phoenix application for me. 11:15 – Panel: Sounds like you were learning a lot of different technologies – any big “AH HA” moments? 11:30 – Guest answers the question. 12:15 – Panel: I like how the Distillery 2.0 Guide and the docker file... 12:30 – Chuck: Walk us through your structure of your talk? 12:39 – Guest: Yes, higher order functions - that’s what I was talking about. Where in the Elixir world you want to pass around functions. I had this idea that I had one task that was very similar but you had to do it multiple times. To do that I defined one piece of code that... It was a way to reuse a lot of code and... 13:51 – Panel: That is a pattern I enjoy using. Instead of using a mocking library I like a function that can direct it. The thing I enjoyed about it was that I could have a test data and a test interface in a production environment. I could create a customer... 15:06 – Guest. 15:44 – Guest: Gen state is pretty awesome. It’s not in Elixir Proper, yet. 16:55 – Chuck: I can see how that is helpful. You have to manage the pipeline on your own. 17:18 – Guest: You can upload a certain number of permits. That can be handled behind the scenes. 17:45 – Panel: Yeah the first state was manage the Q and then... 18:48 – Guest: That is what I am doing right now – one at a time right now. If I need more processing on this one node, I can... 19:20 – Panel: That’s when Elixir feels very powerful. 19:26 – Guest: That’s a talk I have a lot. Ruby is great, but when you dive into OPT in Elixir then it’s amazing. 19:54 – Chuck: We are starting to get there with Elixir. I don’t miss as much stuff with Ruby as I did before. 20:10 – Guest: What libraries I don’t need and I haven’t come across that just yet. 20:44 – Panel asks a question. 20:50 – Guest: I wasn’t directly involved. They are working with predictions for bust lines. And they grab data form many different sources. They are trying to combine all that data and it has been a good solution for them. 21:25 – Panel: Since you have a Ruby background and hardware – what is the Elixir system like for you? 21:41 – Guest: I haven’t come across too many problems. Elixir’s language tends to be smaller – which I like. I think people from JavaScript like having NEW things all of the time. Elixir is done and we are just adding small things here and there. 22:13 – Panel: Yeah, I agree. Elixir is a mature platform right now. 22:45 – Guest: Elixir is very mature – I agree. 23:10 – Panel: I think it being built with care is nice. 23:34 – Guest: I love diving into Elixir and source code. I know exactly what I need. In some Ruby libraries they are so heavily dependent on... 24:05 – Loot Crate! 25:13 – Chuck. 25:40 – Guest. 25:50 – Panel: Being explicit and concise at the same time I don’t feel so bad. 26:00- Chuck: ...I want to know that those are there. If it was – you have to go through all of this ceremony – that’s boilerplate that I feel doesn’t’ add a lot. 26:36 – Panel: Getting out a functional language...being able to see a module and it has every sort of path that I can run is nice. 27:00 – Guest. 27:37 – Panel: I did that a bit for my Rail code. People didn’t like that it wasn’t “normal.” 27:52 – Guest. 28:09 – Panel: Coming into this project where one of the developers likes using MACROS. It’s been a challenge b/c MACROS still let’s you create magic. We talked with Sasha and he queued me to this document and it’s the library guidelines. In the anti-patterns it says: avoid macros. 29:32 – Guest: ...but you should think twice before you dive into macros. 29:50 – Panel: I used macros once to enforce... 30:01 – Panel: What are your feelings on dialyzer – what do you think? 30:15 – Guest: I think it’s the way of the future - I love it. 30:58 – Panel: I am trying VS code and it does incremental dialyzer compilation. 31:27 – Guest: Of course the problem with dialyzer are the error messages. It can be frustrating. 31:40 – Panel. 31:43 – Guest: ...eventually I would figure it out. I went dialyzer front to back on my current project. A month into the project I wasn’t writing new specs, and then I realized I hadn’t done it in awhile, and of course I have a 500 error on the server. Turns out I was... 33:00 – Panel: Yes. I encourage people to... 33:07 – Guest: The way it captures things is that... 33:29 – Panel. 33:42 – Panel: We talked about that on the previous episode. It’s an RC right now, but it’s been helpful. There is a explained option. It will give me an example, I didn’t know how to fix it but... 34:14 – Guest: It can help you write simpler code. 34:47 – Panel. 34:52 – Guest: With an Elm background I think it helped me. 35:13 – Panel. 35:45 – Guest: My dream world would be... 35:55 – Panel: Josh, how does it do it? 36:03 – Panel: What is Elixir LS? 36:09 – Panel answers the question. 36:50 – Panel: I have used ATOM as an editor...how do you like visual studio code? 37:01 – Panel answers the question. 37:38 – Panel: I have used FLUTTER. 37:44 – Chuck: I like it. 38:20 – Chuck talks about Flutter and the advantages of it. 38:34 – Guest: What editors do you like, Bill? 38:36 – Guest answers the question. 38:54 – Panel. 39:00 – Guest says that it is something worth trying. 39:07 – Chuck: Try it you will like it – there is an ATOM plugin, too. 39:36 – Panel: I hate the name visual studio code. 39:43 – Panel. 40:02 – Panel: I know you have some feelings of Graph QL? 40:12 – Guest: It is love in every sense. One day in vacation... 41:14 – Panel: I like it, too. 42:01 – Guest: I haven’t much experience there. I played years ago with Graph QL and it looked encouraging and thought it was hard to build one of those things. To help debug as you are writing them is out of this world! 42:30 – Panel: I can look at the schema in Graph QL, here are the mutations I have available. 42:50 – Panel: The docs are right they can’t be wrong. 43:03 – Guest. 43:38 – Chuck: What are you working on now and what are you struggling with? 43:48 – Guest: None of them are super, super hard but today I am trying to learn how to send... 44:14 – Guest: There are a lot of new things for me like AWS, new technologies and a tight schedule. Trying to get new things done. 44:33 – Chuck: What do I learn next – that is a question that I hear a lot. 44:43 – Guest: Yeah, learning when I need them but the exception is Graph QL for me. Learn things as we go – nothing is too scary b/c there are proof of concepts out there. 45:32 – Chuck: People will ask this when they are trying to work on a project. 45:44 – Guest: I try to learn things on these side projects. I usually bail out before the really hard stuff. 46:00 – Chuck: Picks! 46:14 – Fresh Books! Links: Ruby Elixir Elm Atom.io Flutter.io JavaScript Visual Studio Code React Erlang Guide to Deploy a... YouTube Video – Bill Peregoy GenStage DockYard Article Library Guidelines Avoid Macros VS CODE Elixir LS VS CODIUM Graph QL Absinthe DIRENV HEX DOCS Bill’s GitHub Sponsors: Loot Crate Get a Coder Job! Fresh Books Cache Fly Picks: Mark Direnv Josh Flutter Bill Distillery Doc Charles Extreme Ownership
Panel: Mark Ericksen Josh Adams Charles Max Wood Special Guest: Bill Peregoy In this episode of Elixir Mix, the panel talks with Bill Peregoy who is a software engineer who uses Elixir and loves Graph QL. The panel talks with Bill about his Elixir background, in addition to past and current projects. Check out today’s episode to hear the panel talk about Elixir, Graph QL, code reviews, and much more! Show Topics: 0:00 – Advertisement: Get A Coder Job! 1:07 – Chuck: Tell us who you are and why you are famous? 1:16 – Guest: Here it goes...I have a diverse background. I have a background in hardware and went into software and it got me into Ruby. From there I moved to the software world and in constant contact with a Ruby project. Then I found an Elixir book and thought it was really cool. About a year ago I started working with a consulting company that uses Elixir. They have a cool entrepreneur group. Then about 3 months ago I transferred to another project. 2:41 – Panel: The MBTA? 2:49 – Guest: You thought I was using old crust technology, but they are using new technologies. 3:06 – Panel: You have this hardware background have you looked at NERVES? 3:17 – Guest: I have an interest in it. 3:34 – Let’s talk about deploying Elixir apps. Getting into Elixir might be interesting to talk about? Let’s talk about how you got into Elixir, please. 3:55 – Guest: I had an easy slide into it. The guest talks about how to structure code and how he learned about Elixir. 4:34 – Chuck: Where would have gotten into trouble if you didn’t have that? 4:39 – Guest: ...how do you organize code? It’s a bunch of modules with functions in them. 5:19 – Panel: You mentioned code reviews – and to me that’s how you learn something fast. 5:30 – Guest: I was lucky to have worked with a person who is really picky about code reviews. They were detailed and I learned a lot from him. 5:53 – Panel: I give code reviews, too. What makes a good code review from the receiving end? 6:12 – Guest answers the question. Guest: Don’t write the code for me, but...here is a general direction. 6:37 – Panel: I give the person a wrong review so they have to learn it. 7:00 – Chuck: Would have it been easier if it was a smaller project? 7:10 – Guest: I think it helped that it was a larger project. 7:29 – Chuck: We have talked about deployment and other tools that you’ve used. What I am curious about – you were using AWS and ECS can you talk about that, please? 8:00 – Guest: It was a wild ride for me. We knew we’d have to get there eventually and went for it. We never had deployed an Elixir app before. I had little knowledge with AWS, so there were thousands of new things I was learning in one week. I learned a lot from this guy and he said let’s get the app running, then let’s take it to an RDS, then let’s make sure this and that work. There is a lot going on there, but breaking it down you could figure it out when they came up. It was a lifesaver having his work b/c it would have taken me weeks instead of a few days. 9:28 – Chuck: My wife and I watched The Martian a few days ago. The character said: you solve one problem at a time. 9:47 – Guest: Yes. 10:00 – Guest: The article, “Guide to Deploy a...” 10:20 – Guest: I understood the pieces very well. 10:30 – Panel: Setting up an umbrella project. Is that how you have yours set-up? 10:48 – Guest: Single Phoenix application for me. 11:15 – Panel: Sounds like you were learning a lot of different technologies – any big “AH HA” moments? 11:30 – Guest answers the question. 12:15 – Panel: I like how the Distillery 2.0 Guide and the docker file... 12:30 – Chuck: Walk us through your structure of your talk? 12:39 – Guest: Yes, higher order functions - that’s what I was talking about. Where in the Elixir world you want to pass around functions. I had this idea that I had one task that was very similar but you had to do it multiple times. To do that I defined one piece of code that... It was a way to reuse a lot of code and... 13:51 – Panel: That is a pattern I enjoy using. Instead of using a mocking library I like a function that can direct it. The thing I enjoyed about it was that I could have a test data and a test interface in a production environment. I could create a customer... 15:06 – Guest. 15:44 – Guest: Gen state is pretty awesome. It’s not in Elixir Proper, yet. 16:55 – Chuck: I can see how that is helpful. You have to manage the pipeline on your own. 17:18 – Guest: You can upload a certain number of permits. That can be handled behind the scenes. 17:45 – Panel: Yeah the first state was manage the Q and then... 18:48 – Guest: That is what I am doing right now – one at a time right now. If I need more processing on this one node, I can... 19:20 – Panel: That’s when Elixir feels very powerful. 19:26 – Guest: That’s a talk I have a lot. Ruby is great, but when you dive into OPT in Elixir then it’s amazing. 19:54 – Chuck: We are starting to get there with Elixir. I don’t miss as much stuff with Ruby as I did before. 20:10 – Guest: What libraries I don’t need and I haven’t come across that just yet. 20:44 – Panel asks a question. 20:50 – Guest: I wasn’t directly involved. They are working with predictions for bust lines. And they grab data form many different sources. They are trying to combine all that data and it has been a good solution for them. 21:25 – Panel: Since you have a Ruby background and hardware – what is the Elixir system like for you? 21:41 – Guest: I haven’t come across too many problems. Elixir’s language tends to be smaller – which I like. I think people from JavaScript like having NEW things all of the time. Elixir is done and we are just adding small things here and there. 22:13 – Panel: Yeah, I agree. Elixir is a mature platform right now. 22:45 – Guest: Elixir is very mature – I agree. 23:10 – Panel: I think it being built with care is nice. 23:34 – Guest: I love diving into Elixir and source code. I know exactly what I need. In some Ruby libraries they are so heavily dependent on... 24:05 – Loot Crate! 25:13 – Chuck. 25:40 – Guest. 25:50 – Panel: Being explicit and concise at the same time I don’t feel so bad. 26:00- Chuck: ...I want to know that those are there. If it was – you have to go through all of this ceremony – that’s boilerplate that I feel doesn’t’ add a lot. 26:36 – Panel: Getting out a functional language...being able to see a module and it has every sort of path that I can run is nice. 27:00 – Guest. 27:37 – Panel: I did that a bit for my Rail code. People didn’t like that it wasn’t “normal.” 27:52 – Guest. 28:09 – Panel: Coming into this project where one of the developers likes using MACROS. It’s been a challenge b/c MACROS still let’s you create magic. We talked with Sasha and he queued me to this document and it’s the library guidelines. In the anti-patterns it says: avoid macros. 29:32 – Guest: ...but you should think twice before you dive into macros. 29:50 – Panel: I used macros once to enforce... 30:01 – Panel: What are your feelings on dialyzer – what do you think? 30:15 – Guest: I think it’s the way of the future - I love it. 30:58 – Panel: I am trying VS code and it does incremental dialyzer compilation. 31:27 – Guest: Of course the problem with dialyzer are the error messages. It can be frustrating. 31:40 – Panel. 31:43 – Guest: ...eventually I would figure it out. I went dialyzer front to back on my current project. A month into the project I wasn’t writing new specs, and then I realized I hadn’t done it in awhile, and of course I have a 500 error on the server. Turns out I was... 33:00 – Panel: Yes. I encourage people to... 33:07 – Guest: The way it captures things is that... 33:29 – Panel. 33:42 – Panel: We talked about that on the previous episode. It’s an RC right now, but it’s been helpful. There is a explained option. It will give me an example, I didn’t know how to fix it but... 34:14 – Guest: It can help you write simpler code. 34:47 – Panel. 34:52 – Guest: With an Elm background I think it helped me. 35:13 – Panel. 35:45 – Guest: My dream world would be... 35:55 – Panel: Josh, how does it do it? 36:03 – Panel: What is Elixir LS? 36:09 – Panel answers the question. 36:50 – Panel: I have used ATOM as an editor...how do you like visual studio code? 37:01 – Panel answers the question. 37:38 – Panel: I have used FLUTTER. 37:44 – Chuck: I like it. 38:20 – Chuck talks about Flutter and the advantages of it. 38:34 – Guest: What editors do you like, Bill? 38:36 – Guest answers the question. 38:54 – Panel. 39:00 – Guest says that it is something worth trying. 39:07 – Chuck: Try it you will like it – there is an ATOM plugin, too. 39:36 – Panel: I hate the name visual studio code. 39:43 – Panel. 40:02 – Panel: I know you have some feelings of Graph QL? 40:12 – Guest: It is love in every sense. One day in vacation... 41:14 – Panel: I like it, too. 42:01 – Guest: I haven’t much experience there. I played years ago with Graph QL and it looked encouraging and thought it was hard to build one of those things. To help debug as you are writing them is out of this world! 42:30 – Panel: I can look at the schema in Graph QL, here are the mutations I have available. 42:50 – Panel: The docs are right they can’t be wrong. 43:03 – Guest. 43:38 – Chuck: What are you working on now and what are you struggling with? 43:48 – Guest: None of them are super, super hard but today I am trying to learn how to send... 44:14 – Guest: There are a lot of new things for me like AWS, new technologies and a tight schedule. Trying to get new things done. 44:33 – Chuck: What do I learn next – that is a question that I hear a lot. 44:43 – Guest: Yeah, learning when I need them but the exception is Graph QL for me. Learn things as we go – nothing is too scary b/c there are proof of concepts out there. 45:32 – Chuck: People will ask this when they are trying to work on a project. 45:44 – Guest: I try to learn things on these side projects. I usually bail out before the really hard stuff. 46:00 – Chuck: Picks! 46:14 – Fresh Books! Links: Ruby Elixir Elm Atom.io Flutter.io JavaScript Visual Studio Code React Erlang Guide to Deploy a... YouTube Video – Bill Peregoy GenStage DockYard Article Library Guidelines Avoid Macros VS CODE Elixir LS VS CODIUM Graph QL Absinthe DIRENV HEX DOCS Bill’s GitHub Sponsors: Loot Crate Get a Coder Job! Fresh Books Cache Fly Picks: Mark Direnv Josh Flutter Bill Distillery Doc Charles Extreme Ownership
Panel: Charles Max Wood John Papa Special Guest: Adrian Faciu In this episode, Chuck talks with Adrian Faciu who is a developer for Visma and is a blogger. The panel talks to Adrian about his blog titled, “NgRx Tips & Tricks.” They ask Adrian in-depth questions about NgRx, among many other topics. Listen to today’s episode for more details! Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:55 – Chuck: Hi! Our guest is Adrian Faciu. 1:10 – Guest: Hello! I am Adrian and I am a developer who works for a Norwegian company, but I live in Romania! 1:35 – Chuck. 1:36 – Guest. 1:47 – Chuck: The market is so global. I have talked with many different guests from different parts of the world – it’s really neat! It’s this global phenomenon. 2:12 – Guest: It’s a great thing! 2:23 – Chuck: They have an office where you live? 2:31 – Yes. 2:37 – Chuck: How are you guys using Angular over there? 2:47 – Guest: We have several different products. We customize using them with internalized tools. 3:04 – Chuck: Real quick let’s talk about your blog post. I will admit I am not that familiar with NgRx, so I will ask newbie questions. Now do you want to explain what this is? 3:41 – Guest: Sure! The short story of the article is I saw people doing things the hard way. And after I figured out some things, people encouraged me to write about my experience. 4:37 – Chuck: John Papa just signed-in! 4:53 – Guest: Yes NgRx is... 5:02 – Chuck: You used classes for all actions what do you mean by that? 5:05 – Guest answers the question into detail. 6:31 – Chuck: Let’s say we have a class that uses a log error... 6:42 – Guest: For example you have actions that... 7:02 – Chuck: When you use the reducer... 7:10 – Guest: There are other tricks we can use like keeping all of them in the same file... 8:00 – Guest talks about the union type. 8:24 – Chuck: You learned this by doing things wrong – what happens when you do these things wrong? 8:30 – Guest: If you don’t put all of your classes in the right file then you end up with a lot of files. If you don’t create hero types then you’d have to... 10:02 – Chuck: If you import user actions then does it import all of the other types? 10:08 – Guest: Import everything from that file. 10:17 – Chuck: If you have any questions, John, feel free to chime-in! 10:29 – John: Yeah I am scanning through this. The negative I hear a lot of through actions, it’s cause we create constants – the action class creators, it seems to cause an undue amount of stress. How much actual code do you actually have to write – how do you feel about that? 11:12 – Guest: I didn’t want to write all of this code! That’s what I wanted to avoid. 11:44 – John: I wrote them, didn’t like them, I went back to them... It wasn’t just that I created a new action I had to create the constant and other things – also the place you do the union type, I’d forget to do the union type at the end! If you don’t have all of those things then it won’t work. Even on a simple project I’d have 120 lines of code for a simple task. 12:49 – Guest: Yes. Sometimes I would forget this or that. I’d have to figure out what I did wrong. I went back and created classes for a lot of things. I like the benefits. 13:19 – John: I like your ideas and your tips in your blog. How do you feel about the NAMES of those actions? 13:55 – Guest. 14:51 – John: Important part is the naming of the string inside of it – that’s the value... So you can see the actions that are being displayed. 15:25 – Guest: If you didn’t do it right that’s where the problem would be. 15:38 – John: To me it’s a love/hate relationship b/c there is so much code to it. I usually copy and paste which means that I usually forget to change something. I agree, but I don’t’ like creating it. 16:05 – Guest: I’ve been trying to figure out a solution for it eventually I gave up. 16:23 – John: Moving onto effects – inside that happens inside of the Redux cycle – if you want to do something outside of it that’s when you do effects right? 16:40 – Guest. 16:49 – John: Using the effects is good or do it a different way? 17: 20 – Guest: It makes my components cleaner. I have seen projects that DON’T use it and it’s not the best. 17:36 – John: Like getting a list of customers... (I am using my hands and nobody can see me!) It’s weird to me to NOT use the effects! 18:52 – Guest: If you implement some type of caching then it’s everything to put everything in the state. 19:07 – Chuck: I haven’t used it as much as I would like, but I haven’t do much with it. 19:23 – John: I am curious from somebody hasn’t dove into it – does effects make sense to you, Chuck? 19:39 – Chuck: It seems like effects is a side effect? Like calling out an external API... 20:10 – John: Yeah even multiple effects. John asks a question. 20:23 – Guest answers the question. 20:29 – Chuck: I like that you can make constrained assumptions and all of the complicated... 21:10 – Guest: I am using my effects like functions. 21:26 – John’s question. 21:31 – Chuck: Doing everything! You said implement the 2-payload method – that doesn’t make sense? 21:43 – Guest: Not 100% convinced you need it. What people are doing on these actions... 22:43 – Chuck: How much magic you want? 22:50 – Guest. 22:59 – John: I am confused about ERROR HANDLING. What do you advise for people to do? 23:21 – Guest: Basically, when you deal with that effect you deal with the actions, and the actions... If you get an error on it it’s done. I was trying to explain there that...do it on another stream. Try it on another stream and handle it. What happened to me – I did it on the action state and I got an error and then everything will stop. 24:27 – John: That’s not good! 24:32 – Chuck. 24:35 – John: Good tip! 24:40 – Chuck: Angular has gotten better at that. I still find, though... 25:06 – John. 25:16 – John: Hey I appreciate these blog posts that don’t always show the happy path. To show the unhappy path is a good idea. 25:32 – Chuck. 26:00 – Going down your list, Adrian, let’s talk about effects are services. I agree, but not that we have... 26:24 – Guest: I have seen cases where people forget that. They say I want to call a service, how do I do that? They forget... 26:50 – John: You have to provide your services somewhere. The old way was you could go into the... What do you do? 27:28 – Guest: Most of the applications... 28:17 – John. 28:25 – Chuck: I love deleting code! 28:32 – John: You end up in a spaghetti pool, though, if you needed that deleted code. Nooooo!!! 29:00 – Chuck. 29:01 – Guest. 29:10 – Advertisement: Get A Coder Job! 29:49 – John: Let’s talk about reducers – the smallest part of your tip sections. You say, “keep them simple” – how do you keep them simple? 30:07 – Guest: I have received this observation from several people. This is the biggest problem I had. How to keep them simple... 31:08 – John: When someone makes that type of code – where would you want them to put it? 31:23 – Guest: It depends on different types of actions. Maybe I have some sort of matter that I added to the data – an action from my application we can catch it into an effect and... Not all of the actions have to go to the reducer. 32:04 – John: I say, “Hmm...” when I see reducers like this...they are running a synchronized code inside of a reducer. And I see that a lot. 32:24 – Chuck. 32:28 – John: You go call a reaction, and...sometimes they are doing HTP there, but it’s hard to explain. 33:11 – John: What are some of the things that they can do to step-into, when they are using these? 33:16 – Guest: That’s why I only have these things about the reducers. 33:48 – Chuck: I am wondering what is the life cycle look like? What do you call a reducer from an effect from an action or vice versa? 34:09 – Guest answers the question. 34:37 – John: It can be confusing with all of these different terms. Where does it end? Your component you have to say: call this action. Perform this action and then the action says get customers – the NgRx library listens for that and helps connect to the reducer for you. Look into the action and then return that to a stream to whatever... 35:29 – Guest: Yes, it sends it to reducers. Guest goes into more detail. 36:09 – John: You never talk to the reducer directly? 36:17 – Chuck: ...is that something I should have done before – or does it call effects and the effects load the information into the state and the reducer pulls it out for the action? 36:46 – Guest. 36:58 – Chuck. 37:03 – Guest. 37:53 – John: It really depends on what you want to do, Chuck. John will give a hypothetical scenario. 38:58 – Chuck: In your scenario, let’s say... 39:14 – John: Everything is right up until the end there. It’s a little magical, honestly. I just know here is my selector and here is my data! 40:17 – Chuck: Selector is essentially I am interested in THIS state or THIS state change. 40:40 – Guest. 40:50 – Chuck: So when that changes... 40:56 – Guest. 40:59 – John. 41:05 – Chuck: A little piece of the overall store. 41:18 – Guest: My tip there was a bout the selectors... 42:30 – Chuck: So I can hand off my selector to multiple places? 42:36 – Guest: Yep. You don’t need to know anything else. 42:44 – Guest: Combine it as needed. Another benefit here is memorization. It says that each time you select pure functions it wont call the function again. 43:42 – I am seeing a trend in your tips, too. I am seeing easier way to code. You are always saying selector technique. There are a lot of terms in NgRx module. Dispatchers and states and stores...it’s nice to have a way to create the code easier. 44:21 – Guest: It does take a lot of time for someone to grasp. 44:30 – Chuck. 44:35 – John: Don’t use the store all over the place – that’s what Adrian says! 44:54 – Guest: I think it’s more like dumb components. I have a container of all of these dumb components. The container is the one that KNOWS. 46:22 – Chuck: It’s just a button. 46:28 – Guest: You click the button and it triggers. Whenever you want to use that component then you... 46:48 – Chuck: Any types of data that you wouldn’t want to use in your NgRx store? 47:07 – Guest: It depends – I am not holding any logging information there, though. 47:51 – John: I like to ask WHY. Property initialization. You are saying... 48:11 – Guest: It’s less code and it’s reasonable. If I can have less code then I’d love to have it. I think it’s cleaner b/c it’s not that much code. Most people might think blah, blah, blah, but I think it looks okay. 48:46 – John: I can see why it would be less code. 48:57 – Guest. 49:07 – John: I haven’t seen this: looking at your property initializer... Looking at your code here, Adrian... The store object itself is a reference to the NgRx store. That means you have to... To me I don’t want my app to know that NgRx is involved. I started to do this...I was creating an Angular service, which... Have you done this before? 50:33 – Guest: I have seen this function but I haven’t played with it. It makes sense. This takes it a step further. Like you say it’s perfect b/c nobody knows anything about that store, but it’s a new level. I think you have some benefits with that way of doing it, too. 51:23 – John: The one thing that sticks out is company name is your observable, then your... 52:10 – Guest: Yeah that’s good b/c it might be better! They might not even know what NgRx is, and you have a service so just use them. Yeah it’s just an observable. 52:33 – Chuck: You don’t want to see my garage. 52:44 – Guest: Some services are underrated. Like you suggested we could use them for much more. 53:01 – Guest: It was nice writing these tips. 53:19 – Chuck: What are working on now? 53:23 – Guest: Writing a new blog. 53:41 – Chuck: We will keep an eye out for it. Where do you post? 53:55 – Guest: Usually Medium, and Twitter. Search for my name and you will find me, b/c I have the same handler on all the places. 54:15 – Chuck & John: Let’s go to picks! 54:30 – Chuck is talking about future episodes and potential topics. You can vote stuff up on Trello on NgRx so we can go deeper on this topic. 55:40 – Advertisement – Fresh Books! 1:02:00 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter John Papa’s Twitter Adrian’s Medium Adrian’s Twitter Adrian’s GitHub Adrian’s Blog Post Adrian’s Article: Testing NgRx Effects Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: John NgRx Data Conferences - Don’t feel mofo Charles Discord App Adrain Angular In-depth Doc Wallaby
Panel: Charles Max Wood Special Guest: Brady Gaster In this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:56 – Chuck: Hello! We are going to talk about SignalR, which is an offering through Microsoft. 1:09 – Guest: It started in 2011 that’s when I got involved, but I wasn’t with Microsoft, yet, at that point. I was working on the technology, though. Effectively you can do real time HTMP but what they did (Damon and David) let’s create a series of abstractions but not we have for Java. They basically cam up this idea let’s do web sockets and then go back to pole / pole / pole. It’s to see what the server and the client can support. Guest talks about Socket.io, too. 6:45 – Chuck: What we are talking about real time coordination between apps. 6:56 – Guest: Web sockets, 1 million...and 2.6 million messages a second! 7:05 – Chuck: I can set that up like I usually set up web sockets? 7:17 – Guest: There is a client library for each. Effectively you have a concept called a connection. 9:48 – Chuck: How do you handle authentication on the frontend? 9:56 – Guest: We have server side things that we can attribute things. 10:09 – Chuck. 10:12 – Guest: If you authenticate to the site then the site passes the token and it basically sits on top of the same plumbing. 10:38 – Chuck. 10:42 – Guest. 10:54 – Chuck. 10:58 – Guest: We recently just had the DOT NET CONF. We had an all night, 24-hour thing. 11:48 – Chuck: Here you are, here you go. You hook it all up, JavaScript into your bundle. 12:05 – (The guest talks about how to install.) 13:12 – Chuck: I could come up with my own scheme. 13:25 – Guest: The traditional example is SEND A MESSAGE and then pass you string. Well tomorrow I do that and I just change the code – it’s great b/c I send up a ping and everybody knows what to do what that ping. It’s just a proxy. 14:17 – Chuck: I am trying to envision what you would use this for? If you are worried about it being stale then you refresh. But if you want the collaborative stuff at what point do you ask: Do I need SignalR? 15:00 – Guest: When I do my presentations on SignalR and being transparent I want to send you 1,000 messages but 1 or 2 messages will be dropped. You don’t want to transmit your order data or credit card information. Do you have a hammer and you need a screw? If you need stock tickers and other applications SignalR would work. Keeping your UI fresh it is a great thing. 19:02 – Chuck: You do that at the Hub? You set up the Hub and it passes everything back and forth. What can you do at the Hub for filtering and/or certain types of events? 19:26 – Guest: I am looking at a slide. What’s the cool thing about SignalR and the API is it’s deceptively simple on purpose. If you want to call out to clients, you can get a message to all of your clients if you select that/those feature(s). Some other features you have are OTHERS, and Clients.Group. 20:57 – Chuck: Can you set up your own? 20:58 – Guest: I don’t know. 21:12 – Chuck: Clients who belong to more than one group. 21:23 – Guest: Dynamics still give some people heartburn. (The guest talks about C#, Dev, Hub, and more!) 23:46 – Advertisement: Get A Coder Job! 24:23 – Chuck: How do people get started with this? Do they need Azure? 24:30 – Guest: You don’t need Azure you can go to Microsoft and it’s apart of the .NET team, too. 26:39 – Guest talks about how to install SignalR – see links below! 27:03 – Chuck: You don’t have to KNOW .NET. 27:11 – Guest: It was created by that team (*fair enough*) but you don’t have to know .NET. 27:57 – Guest: You can I could do JavaScript all the way. 29:04 – Chuck: Yes, we keep moving forward. It will look different what people are using. 29:21 – Guest: That was an early thing and I was reading through the old bugs from 2011/2012 and that’s one thing that kept coming up. I didn’t want to use jQuery to use SignalR – now you don’t. It’s a happy thing. 30:45 – Guest: Someone suggested using PARCEL. I have a question do you have any recommendations to have NODE-SASS workflow to have it less stressful? 31:30 – Chuck: It’s out of Ruby that’s my experience with Node-Sass. 31:40 – Guest: I haven’t used Ruby, yet. 31:46 – Guest: I haven’t heard of Phoenix what is that? 31:50 – Chuck answers. Chuck: It’s functional and very fast. Once you’ve figured out those features they almost become power features for you. Elixir has a lot of great things going for it. 32:50 – Guest: I tried picking up GO recently. 33:08 – Chuck: Lots of things going on in the programming world. 33:18 – Guest: I have always had a mental block around Java. I was PMing the Java guys and I asked: will this stuff work on... Once I got it then I thought that I needed to explore this stuff more! I want to learn Ruby, though. 34:16 – Chuck: Anything else in respect to SignalR? 34:15 – Guest: I really think I have dumped everything I know about Signal R just now. I would draw people to the DOCS pages. A guide for anything that could happen on the JavaScript side – check them out! We have tons of new ideas, too! 37:33 – Picks! 37:42 – Advertisement – Fresh Books! 47:54 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter SignalR SignalR’s Twitter GitHub SignalR Socket.io Node-SASS ASP.NET SignalR Hubs API Guide – JavaScript Client SignalR.net Real Talk JavaScript Parcel Brady Gaster’s Twitter Brady Gaster’s GitHub Brady Gaster’s LinkedIn Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Brady Team on General Session Korg SeaHawks Brady’s kids Logictech spot light AirPods Charles Express VPN Hyper Drive J5 ports and SD card readers Podwrench
Panel: Charles Max Wood John Papa Special Guest: Adrian Faciu In this episode, Chuck talks with Adrian Faciu who is a developer for Visma and is a blogger. The panel talks to Adrian about his blog titled, “NgRx Tips & Tricks.” They ask Adrian in-depth questions about NgRx, among many other topics. Listen to today’s episode for more details! Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:55 – Chuck: Hi! Our guest is Adrian Faciu. 1:10 – Guest: Hello! I am Adrian and I am a developer who works for a Norwegian company, but I live in Romania! 1:35 – Chuck. 1:36 – Guest. 1:47 – Chuck: The market is so global. I have talked with many different guests from different parts of the world – it’s really neat! It’s this global phenomenon. 2:12 – Guest: It’s a great thing! 2:23 – Chuck: They have an office where you live? 2:31 – Yes. 2:37 – Chuck: How are you guys using Angular over there? 2:47 – Guest: We have several different products. We customize using them with internalized tools. 3:04 – Chuck: Real quick let’s talk about your blog post. I will admit I am not that familiar with NgRx, so I will ask newbie questions. Now do you want to explain what this is? 3:41 – Guest: Sure! The short story of the article is I saw people doing things the hard way. And after I figured out some things, people encouraged me to write about my experience. 4:37 – Chuck: John Papa just signed-in! 4:53 – Guest: Yes NgRx is... 5:02 – Chuck: You used classes for all actions what do you mean by that? 5:05 – Guest answers the question into detail. 6:31 – Chuck: Let’s say we have a class that uses a log error... 6:42 – Guest: For example you have actions that... 7:02 – Chuck: When you use the reducer... 7:10 – Guest: There are other tricks we can use like keeping all of them in the same file... 8:00 – Guest talks about the union type. 8:24 – Chuck: You learned this by doing things wrong – what happens when you do these things wrong? 8:30 – Guest: If you don’t put all of your classes in the right file then you end up with a lot of files. If you don’t create hero types then you’d have to... 10:02 – Chuck: If you import user actions then does it import all of the other types? 10:08 – Guest: Import everything from that file. 10:17 – Chuck: If you have any questions, John, feel free to chime-in! 10:29 – John: Yeah I am scanning through this. The negative I hear a lot of through actions, it’s cause we create constants – the action class creators, it seems to cause an undue amount of stress. How much actual code do you actually have to write – how do you feel about that? 11:12 – Guest: I didn’t want to write all of this code! That’s what I wanted to avoid. 11:44 – John: I wrote them, didn’t like them, I went back to them... It wasn’t just that I created a new action I had to create the constant and other things – also the place you do the union type, I’d forget to do the union type at the end! If you don’t have all of those things then it won’t work. Even on a simple project I’d have 120 lines of code for a simple task. 12:49 – Guest: Yes. Sometimes I would forget this or that. I’d have to figure out what I did wrong. I went back and created classes for a lot of things. I like the benefits. 13:19 – John: I like your ideas and your tips in your blog. How do you feel about the NAMES of those actions? 13:55 – Guest. 14:51 – John: Important part is the naming of the string inside of it – that’s the value... So you can see the actions that are being displayed. 15:25 – Guest: If you didn’t do it right that’s where the problem would be. 15:38 – John: To me it’s a love/hate relationship b/c there is so much code to it. I usually copy and paste which means that I usually forget to change something. I agree, but I don’t’ like creating it. 16:05 – Guest: I’ve been trying to figure out a solution for it eventually I gave up. 16:23 – John: Moving onto effects – inside that happens inside of the Redux cycle – if you want to do something outside of it that’s when you do effects right? 16:40 – Guest. 16:49 – John: Using the effects is good or do it a different way? 17: 20 – Guest: It makes my components cleaner. I have seen projects that DON’T use it and it’s not the best. 17:36 – John: Like getting a list of customers... (I am using my hands and nobody can see me!) It’s weird to me to NOT use the effects! 18:52 – Guest: If you implement some type of caching then it’s everything to put everything in the state. 19:07 – Chuck: I haven’t used it as much as I would like, but I haven’t do much with it. 19:23 – John: I am curious from somebody hasn’t dove into it – does effects make sense to you, Chuck? 19:39 – Chuck: It seems like effects is a side effect? Like calling out an external API... 20:10 – John: Yeah even multiple effects. John asks a question. 20:23 – Guest answers the question. 20:29 – Chuck: I like that you can make constrained assumptions and all of the complicated... 21:10 – Guest: I am using my effects like functions. 21:26 – John’s question. 21:31 – Chuck: Doing everything! You said implement the 2-payload method – that doesn’t make sense? 21:43 – Guest: Not 100% convinced you need it. What people are doing on these actions... 22:43 – Chuck: How much magic you want? 22:50 – Guest. 22:59 – John: I am confused about ERROR HANDLING. What do you advise for people to do? 23:21 – Guest: Basically, when you deal with that effect you deal with the actions, and the actions... If you get an error on it it’s done. I was trying to explain there that...do it on another stream. Try it on another stream and handle it. What happened to me – I did it on the action state and I got an error and then everything will stop. 24:27 – John: That’s not good! 24:32 – Chuck. 24:35 – John: Good tip! 24:40 – Chuck: Angular has gotten better at that. I still find, though... 25:06 – John. 25:16 – John: Hey I appreciate these blog posts that don’t always show the happy path. To show the unhappy path is a good idea. 25:32 – Chuck. 26:00 – Going down your list, Adrian, let’s talk about effects are services. I agree, but not that we have... 26:24 – Guest: I have seen cases where people forget that. They say I want to call a service, how do I do that? They forget... 26:50 – John: You have to provide your services somewhere. The old way was you could go into the... What do you do? 27:28 – Guest: Most of the applications... 28:17 – John. 28:25 – Chuck: I love deleting code! 28:32 – John: You end up in a spaghetti pool, though, if you needed that deleted code. Nooooo!!! 29:00 – Chuck. 29:01 – Guest. 29:10 – Advertisement: Get A Coder Job! 29:49 – John: Let’s talk about reducers – the smallest part of your tip sections. You say, “keep them simple” – how do you keep them simple? 30:07 – Guest: I have received this observation from several people. This is the biggest problem I had. How to keep them simple... 31:08 – John: When someone makes that type of code – where would you want them to put it? 31:23 – Guest: It depends on different types of actions. Maybe I have some sort of matter that I added to the data – an action from my application we can catch it into an effect and... Not all of the actions have to go to the reducer. 32:04 – John: I say, “Hmm...” when I see reducers like this...they are running a synchronized code inside of a reducer. And I see that a lot. 32:24 – Chuck. 32:28 – John: You go call a reaction, and...sometimes they are doing HTP there, but it’s hard to explain. 33:11 – John: What are some of the things that they can do to step-into, when they are using these? 33:16 – Guest: That’s why I only have these things about the reducers. 33:48 – Chuck: I am wondering what is the life cycle look like? What do you call a reducer from an effect from an action or vice versa? 34:09 – Guest answers the question. 34:37 – John: It can be confusing with all of these different terms. Where does it end? Your component you have to say: call this action. Perform this action and then the action says get customers – the NgRx library listens for that and helps connect to the reducer for you. Look into the action and then return that to a stream to whatever... 35:29 – Guest: Yes, it sends it to reducers. Guest goes into more detail. 36:09 – John: You never talk to the reducer directly? 36:17 – Chuck: ...is that something I should have done before – or does it call effects and the effects load the information into the state and the reducer pulls it out for the action? 36:46 – Guest. 36:58 – Chuck. 37:03 – Guest. 37:53 – John: It really depends on what you want to do, Chuck. John will give a hypothetical scenario. 38:58 – Chuck: In your scenario, let’s say... 39:14 – John: Everything is right up until the end there. It’s a little magical, honestly. I just know here is my selector and here is my data! 40:17 – Chuck: Selector is essentially I am interested in THIS state or THIS state change. 40:40 – Guest. 40:50 – Chuck: So when that changes... 40:56 – Guest. 40:59 – John. 41:05 – Chuck: A little piece of the overall store. 41:18 – Guest: My tip there was a bout the selectors... 42:30 – Chuck: So I can hand off my selector to multiple places? 42:36 – Guest: Yep. You don’t need to know anything else. 42:44 – Guest: Combine it as needed. Another benefit here is memorization. It says that each time you select pure functions it wont call the function again. 43:42 – I am seeing a trend in your tips, too. I am seeing easier way to code. You are always saying selector technique. There are a lot of terms in NgRx module. Dispatchers and states and stores...it’s nice to have a way to create the code easier. 44:21 – Guest: It does take a lot of time for someone to grasp. 44:30 – Chuck. 44:35 – John: Don’t use the store all over the place – that’s what Adrian says! 44:54 – Guest: I think it’s more like dumb components. I have a container of all of these dumb components. The container is the one that KNOWS. 46:22 – Chuck: It’s just a button. 46:28 – Guest: You click the button and it triggers. Whenever you want to use that component then you... 46:48 – Chuck: Any types of data that you wouldn’t want to use in your NgRx store? 47:07 – Guest: It depends – I am not holding any logging information there, though. 47:51 – John: I like to ask WHY. Property initialization. You are saying... 48:11 – Guest: It’s less code and it’s reasonable. If I can have less code then I’d love to have it. I think it’s cleaner b/c it’s not that much code. Most people might think blah, blah, blah, but I think it looks okay. 48:46 – John: I can see why it would be less code. 48:57 – Guest. 49:07 – John: I haven’t seen this: looking at your property initializer... Looking at your code here, Adrian... The store object itself is a reference to the NgRx store. That means you have to... To me I don’t want my app to know that NgRx is involved. I started to do this...I was creating an Angular service, which... Have you done this before? 50:33 – Guest: I have seen this function but I haven’t played with it. It makes sense. This takes it a step further. Like you say it’s perfect b/c nobody knows anything about that store, but it’s a new level. I think you have some benefits with that way of doing it, too. 51:23 – John: The one thing that sticks out is company name is your observable, then your... 52:10 – Guest: Yeah that’s good b/c it might be better! They might not even know what NgRx is, and you have a service so just use them. Yeah it’s just an observable. 52:33 – Chuck: You don’t want to see my garage. 52:44 – Guest: Some services are underrated. Like you suggested we could use them for much more. 53:01 – Guest: It was nice writing these tips. 53:19 – Chuck: What are working on now? 53:23 – Guest: Writing a new blog. 53:41 – Chuck: We will keep an eye out for it. Where do you post? 53:55 – Guest: Usually Medium, and Twitter. Search for my name and you will find me, b/c I have the same handler on all the places. 54:15 – Chuck & John: Let’s go to picks! 54:30 – Chuck is talking about future episodes and potential topics. You can vote stuff up on Trello on NgRx so we can go deeper on this topic. 55:40 – Advertisement – Fresh Books! 1:02:00 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter John Papa’s Twitter Adrian’s Medium Adrian’s Twitter Adrian’s GitHub Adrian’s Blog Post Adrian’s Article: Testing NgRx Effects Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: John NgRx Data Conferences - Don’t feel mofo Charles Discord App Adrain Angular In-depth Doc Wallaby
Panel: Charles Max Wood Special Guest: Brady Gaster In this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:56 – Chuck: Hello! We are going to talk about SignalR, which is an offering through Microsoft. 1:09 – Guest: It started in 2011 that’s when I got involved, but I wasn’t with Microsoft, yet, at that point. I was working on the technology, though. Effectively you can do real time HTMP but what they did (Damon and David) let’s create a series of abstractions but not we have for Java. They basically cam up this idea let’s do web sockets and then go back to pole / pole / pole. It’s to see what the server and the client can support. Guest talks about Socket.io, too. 6:45 – Chuck: What we are talking about real time coordination between apps. 6:56 – Guest: Web sockets, 1 million...and 2.6 million messages a second! 7:05 – Chuck: I can set that up like I usually set up web sockets? 7:17 – Guest: There is a client library for each. Effectively you have a concept called a connection. 9:48 – Chuck: How do you handle authentication on the frontend? 9:56 – Guest: We have server side things that we can attribute things. 10:09 – Chuck. 10:12 – Guest: If you authenticate to the site then the site passes the token and it basically sits on top of the same plumbing. 10:38 – Chuck. 10:42 – Guest. 10:54 – Chuck. 10:58 – Guest: We recently just had the DOT NET CONF. We had an all night, 24-hour thing. 11:48 – Chuck: Here you are, here you go. You hook it all up, JavaScript into your bundle. 12:05 – (The guest talks about how to install.) 13:12 – Chuck: I could come up with my own scheme. 13:25 – Guest: The traditional example is SEND A MESSAGE and then pass you string. Well tomorrow I do that and I just change the code – it’s great b/c I send up a ping and everybody knows what to do what that ping. It’s just a proxy. 14:17 – Chuck: I am trying to envision what you would use this for? If you are worried about it being stale then you refresh. But if you want the collaborative stuff at what point do you ask: Do I need SignalR? 15:00 – Guest: When I do my presentations on SignalR and being transparent I want to send you 1,000 messages but 1 or 2 messages will be dropped. You don’t want to transmit your order data or credit card information. Do you have a hammer and you need a screw? If you need stock tickers and other applications SignalR would work. Keeping your UI fresh it is a great thing. 19:02 – Chuck: You do that at the Hub? You set up the Hub and it passes everything back and forth. What can you do at the Hub for filtering and/or certain types of events? 19:26 – Guest: I am looking at a slide. What’s the cool thing about SignalR and the API is it’s deceptively simple on purpose. If you want to call out to clients, you can get a message to all of your clients if you select that/those feature(s). Some other features you have are OTHERS, and Clients.Group. 20:57 – Chuck: Can you set up your own? 20:58 – Guest: I don’t know. 21:12 – Chuck: Clients who belong to more than one group. 21:23 – Guest: Dynamics still give some people heartburn. (The guest talks about C#, Dev, Hub, and more!) 23:46 – Advertisement: Get A Coder Job! 24:23 – Chuck: How do people get started with this? Do they need Azure? 24:30 – Guest: You don’t need Azure you can go to Microsoft and it’s apart of the .NET team, too. 26:39 – Guest talks about how to install SignalR – see links below! 27:03 – Chuck: You don’t have to KNOW .NET. 27:11 – Guest: It was created by that team (*fair enough*) but you don’t have to know .NET. 27:57 – Guest: You can I could do JavaScript all the way. 29:04 – Chuck: Yes, we keep moving forward. It will look different what people are using. 29:21 – Guest: That was an early thing and I was reading through the old bugs from 2011/2012 and that’s one thing that kept coming up. I didn’t want to use jQuery to use SignalR – now you don’t. It’s a happy thing. 30:45 – Guest: Someone suggested using PARCEL. I have a question do you have any recommendations to have NODE-SASS workflow to have it less stressful? 31:30 – Chuck: It’s out of Ruby that’s my experience with Node-Sass. 31:40 – Guest: I haven’t used Ruby, yet. 31:46 – Guest: I haven’t heard of Phoenix what is that? 31:50 – Chuck answers. Chuck: It’s functional and very fast. Once you’ve figured out those features they almost become power features for you. Elixir has a lot of great things going for it. 32:50 – Guest: I tried picking up GO recently. 33:08 – Chuck: Lots of things going on in the programming world. 33:18 – Guest: I have always had a mental block around Java. I was PMing the Java guys and I asked: will this stuff work on... Once I got it then I thought that I needed to explore this stuff more! I want to learn Ruby, though. 34:16 – Chuck: Anything else in respect to SignalR? 34:15 – Guest: I really think I have dumped everything I know about Signal R just now. I would draw people to the DOCS pages. A guide for anything that could happen on the JavaScript side – check them out! We have tons of new ideas, too! 37:33 – Picks! 37:42 – Advertisement – Fresh Books! 47:54 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter SignalR SignalR’s Twitter GitHub SignalR Socket.io Node-SASS ASP.NET SignalR Hubs API Guide – JavaScript Client SignalR.net Real Talk JavaScript Parcel Brady Gaster’s Twitter Brady Gaster’s GitHub Brady Gaster’s LinkedIn Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Brady Team on General Session Korg SeaHawks Brady’s kids Logictech spot light AirPods Charles Express VPN Hyper Drive J5 ports and SD card readers Podwrench
Panel: Charles Max Wood John Papa Special Guest: Adrian Faciu In this episode, Chuck talks with Adrian Faciu who is a developer for Visma and is a blogger. The panel talks to Adrian about his blog titled, “NgRx Tips & Tricks.” They ask Adrian in-depth questions about NgRx, among many other topics. Listen to today’s episode for more details! Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:55 – Chuck: Hi! Our guest is Adrian Faciu. 1:10 – Guest: Hello! I am Adrian and I am a developer who works for a Norwegian company, but I live in Romania! 1:35 – Chuck. 1:36 – Guest. 1:47 – Chuck: The market is so global. I have talked with many different guests from different parts of the world – it’s really neat! It’s this global phenomenon. 2:12 – Guest: It’s a great thing! 2:23 – Chuck: They have an office where you live? 2:31 – Yes. 2:37 – Chuck: How are you guys using Angular over there? 2:47 – Guest: We have several different products. We customize using them with internalized tools. 3:04 – Chuck: Real quick let’s talk about your blog post. I will admit I am not that familiar with NgRx, so I will ask newbie questions. Now do you want to explain what this is? 3:41 – Guest: Sure! The short story of the article is I saw people doing things the hard way. And after I figured out some things, people encouraged me to write about my experience. 4:37 – Chuck: John Papa just signed-in! 4:53 – Guest: Yes NgRx is... 5:02 – Chuck: You used classes for all actions what do you mean by that? 5:05 – Guest answers the question into detail. 6:31 – Chuck: Let’s say we have a class that uses a log error... 6:42 – Guest: For example you have actions that... 7:02 – Chuck: When you use the reducer... 7:10 – Guest: There are other tricks we can use like keeping all of them in the same file... 8:00 – Guest talks about the union type. 8:24 – Chuck: You learned this by doing things wrong – what happens when you do these things wrong? 8:30 – Guest: If you don’t put all of your classes in the right file then you end up with a lot of files. If you don’t create hero types then you’d have to... 10:02 – Chuck: If you import user actions then does it import all of the other types? 10:08 – Guest: Import everything from that file. 10:17 – Chuck: If you have any questions, John, feel free to chime-in! 10:29 – John: Yeah I am scanning through this. The negative I hear a lot of through actions, it’s cause we create constants – the action class creators, it seems to cause an undue amount of stress. How much actual code do you actually have to write – how do you feel about that? 11:12 – Guest: I didn’t want to write all of this code! That’s what I wanted to avoid. 11:44 – John: I wrote them, didn’t like them, I went back to them... It wasn’t just that I created a new action I had to create the constant and other things – also the place you do the union type, I’d forget to do the union type at the end! If you don’t have all of those things then it won’t work. Even on a simple project I’d have 120 lines of code for a simple task. 12:49 – Guest: Yes. Sometimes I would forget this or that. I’d have to figure out what I did wrong. I went back and created classes for a lot of things. I like the benefits. 13:19 – John: I like your ideas and your tips in your blog. How do you feel about the NAMES of those actions? 13:55 – Guest. 14:51 – John: Important part is the naming of the string inside of it – that’s the value... So you can see the actions that are being displayed. 15:25 – Guest: If you didn’t do it right that’s where the problem would be. 15:38 – John: To me it’s a love/hate relationship b/c there is so much code to it. I usually copy and paste which means that I usually forget to change something. I agree, but I don’t’ like creating it. 16:05 – Guest: I’ve been trying to figure out a solution for it eventually I gave up. 16:23 – John: Moving onto effects – inside that happens inside of the Redux cycle – if you want to do something outside of it that’s when you do effects right? 16:40 – Guest. 16:49 – John: Using the effects is good or do it a different way? 17: 20 – Guest: It makes my components cleaner. I have seen projects that DON’T use it and it’s not the best. 17:36 – John: Like getting a list of customers... (I am using my hands and nobody can see me!) It’s weird to me to NOT use the effects! 18:52 – Guest: If you implement some type of caching then it’s everything to put everything in the state. 19:07 – Chuck: I haven’t used it as much as I would like, but I haven’t do much with it. 19:23 – John: I am curious from somebody hasn’t dove into it – does effects make sense to you, Chuck? 19:39 – Chuck: It seems like effects is a side effect? Like calling out an external API... 20:10 – John: Yeah even multiple effects. John asks a question. 20:23 – Guest answers the question. 20:29 – Chuck: I like that you can make constrained assumptions and all of the complicated... 21:10 – Guest: I am using my effects like functions. 21:26 – John’s question. 21:31 – Chuck: Doing everything! You said implement the 2-payload method – that doesn’t make sense? 21:43 – Guest: Not 100% convinced you need it. What people are doing on these actions... 22:43 – Chuck: How much magic you want? 22:50 – Guest. 22:59 – John: I am confused about ERROR HANDLING. What do you advise for people to do? 23:21 – Guest: Basically, when you deal with that effect you deal with the actions, and the actions... If you get an error on it it’s done. I was trying to explain there that...do it on another stream. Try it on another stream and handle it. What happened to me – I did it on the action state and I got an error and then everything will stop. 24:27 – John: That’s not good! 24:32 – Chuck. 24:35 – John: Good tip! 24:40 – Chuck: Angular has gotten better at that. I still find, though... 25:06 – John. 25:16 – John: Hey I appreciate these blog posts that don’t always show the happy path. To show the unhappy path is a good idea. 25:32 – Chuck. 26:00 – Going down your list, Adrian, let’s talk about effects are services. I agree, but not that we have... 26:24 – Guest: I have seen cases where people forget that. They say I want to call a service, how do I do that? They forget... 26:50 – John: You have to provide your services somewhere. The old way was you could go into the... What do you do? 27:28 – Guest: Most of the applications... 28:17 – John. 28:25 – Chuck: I love deleting code! 28:32 – John: You end up in a spaghetti pool, though, if you needed that deleted code. Nooooo!!! 29:00 – Chuck. 29:01 – Guest. 29:10 – Advertisement: Get A Coder Job! 29:49 – John: Let’s talk about reducers – the smallest part of your tip sections. You say, “keep them simple” – how do you keep them simple? 30:07 – Guest: I have received this observation from several people. This is the biggest problem I had. How to keep them simple... 31:08 – John: When someone makes that type of code – where would you want them to put it? 31:23 – Guest: It depends on different types of actions. Maybe I have some sort of matter that I added to the data – an action from my application we can catch it into an effect and... Not all of the actions have to go to the reducer. 32:04 – John: I say, “Hmm...” when I see reducers like this...they are running a synchronized code inside of a reducer. And I see that a lot. 32:24 – Chuck. 32:28 – John: You go call a reaction, and...sometimes they are doing HTP there, but it’s hard to explain. 33:11 – John: What are some of the things that they can do to step-into, when they are using these? 33:16 – Guest: That’s why I only have these things about the reducers. 33:48 – Chuck: I am wondering what is the life cycle look like? What do you call a reducer from an effect from an action or vice versa? 34:09 – Guest answers the question. 34:37 – John: It can be confusing with all of these different terms. Where does it end? Your component you have to say: call this action. Perform this action and then the action says get customers – the NgRx library listens for that and helps connect to the reducer for you. Look into the action and then return that to a stream to whatever... 35:29 – Guest: Yes, it sends it to reducers. Guest goes into more detail. 36:09 – John: You never talk to the reducer directly? 36:17 – Chuck: ...is that something I should have done before – or does it call effects and the effects load the information into the state and the reducer pulls it out for the action? 36:46 – Guest. 36:58 – Chuck. 37:03 – Guest. 37:53 – John: It really depends on what you want to do, Chuck. John will give a hypothetical scenario. 38:58 – Chuck: In your scenario, let’s say... 39:14 – John: Everything is right up until the end there. It’s a little magical, honestly. I just know here is my selector and here is my data! 40:17 – Chuck: Selector is essentially I am interested in THIS state or THIS state change. 40:40 – Guest. 40:50 – Chuck: So when that changes... 40:56 – Guest. 40:59 – John. 41:05 – Chuck: A little piece of the overall store. 41:18 – Guest: My tip there was a bout the selectors... 42:30 – Chuck: So I can hand off my selector to multiple places? 42:36 – Guest: Yep. You don’t need to know anything else. 42:44 – Guest: Combine it as needed. Another benefit here is memorization. It says that each time you select pure functions it wont call the function again. 43:42 – I am seeing a trend in your tips, too. I am seeing easier way to code. You are always saying selector technique. There are a lot of terms in NgRx module. Dispatchers and states and stores...it’s nice to have a way to create the code easier. 44:21 – Guest: It does take a lot of time for someone to grasp. 44:30 – Chuck. 44:35 – John: Don’t use the store all over the place – that’s what Adrian says! 44:54 – Guest: I think it’s more like dumb components. I have a container of all of these dumb components. The container is the one that KNOWS. 46:22 – Chuck: It’s just a button. 46:28 – Guest: You click the button and it triggers. Whenever you want to use that component then you... 46:48 – Chuck: Any types of data that you wouldn’t want to use in your NgRx store? 47:07 – Guest: It depends – I am not holding any logging information there, though. 47:51 – John: I like to ask WHY. Property initialization. You are saying... 48:11 – Guest: It’s less code and it’s reasonable. If I can have less code then I’d love to have it. I think it’s cleaner b/c it’s not that much code. Most people might think blah, blah, blah, but I think it looks okay. 48:46 – John: I can see why it would be less code. 48:57 – Guest. 49:07 – John: I haven’t seen this: looking at your property initializer... Looking at your code here, Adrian... The store object itself is a reference to the NgRx store. That means you have to... To me I don’t want my app to know that NgRx is involved. I started to do this...I was creating an Angular service, which... Have you done this before? 50:33 – Guest: I have seen this function but I haven’t played with it. It makes sense. This takes it a step further. Like you say it’s perfect b/c nobody knows anything about that store, but it’s a new level. I think you have some benefits with that way of doing it, too. 51:23 – John: The one thing that sticks out is company name is your observable, then your... 52:10 – Guest: Yeah that’s good b/c it might be better! They might not even know what NgRx is, and you have a service so just use them. Yeah it’s just an observable. 52:33 – Chuck: You don’t want to see my garage. 52:44 – Guest: Some services are underrated. Like you suggested we could use them for much more. 53:01 – Guest: It was nice writing these tips. 53:19 – Chuck: What are working on now? 53:23 – Guest: Writing a new blog. 53:41 – Chuck: We will keep an eye out for it. Where do you post? 53:55 – Guest: Usually Medium, and Twitter. Search for my name and you will find me, b/c I have the same handler on all the places. 54:15 – Chuck & John: Let’s go to picks! 54:30 – Chuck is talking about future episodes and potential topics. You can vote stuff up on Trello on NgRx so we can go deeper on this topic. 55:40 – Advertisement – Fresh Books! 1:02:00 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter John Papa’s Twitter Adrian’s Medium Adrian’s Twitter Adrian’s GitHub Adrian’s Blog Post Adrian’s Article: Testing NgRx Effects Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: John NgRx Data Conferences - Don’t feel mofo Charles Discord App Adrain Angular In-depth Doc Wallaby
Panel: Charles Max Wood Guest: Lars Gyrup Brink Nielsen This week on My Angular Story, Charles speaks with Lars Nielsen who is a frontend developer, blogger, a tech speaker, and an OSS contributor. He has worked with many different frameworks, but he and Chuck talk in detail about Angular. Finally, they discuss Lars’ programming background and the current projects he is working on. Check out today’s episode to hear more! In particular, we dive pretty deep on: 0:53 – Guest: Hello from Denmark! 1:00 – Chuck: My great, great, great grandmother is Danish. Introduce yourself, please. 1:20 – Guest: I have been working through various companies through my career. I have focused on frontend development and right now it’s Angular and before it was Angular.js and others. I have been developing C# and started off with PHP. So I really enjoy frontend development the most. 1:58 – Chuck: I am talking with Rob Eisenberg in a few days. 2:04 – Guest: From what I’ve heard he’s a great guy. He worked on the Angular router. He branched out to Greater Zone. 2:28 – Chuck. 2:38 – Guest. 2:45 – Chuck: His episode will come out in 2 weeks! Tell us about you – what got you into programming? 3:00 – Guest: It started when I was 5 years old. My brother and I broke 3-4 computers before they bought us a Nintendo set. That was my first dive into it. Then I went to PCs and back in 1999 I wrote my first website with Notepad. Then later I decided to make a career out of it and studied in college. Then started developing full-stack. 4:53 – Chuck: You mentioned Knockout, Angular.js, and others. What have systems have you built in the backend? 5:03 – Guest: Yes, PHP in the beginning. Then I moved onto... (Guest continues answer Chuck’s question.) 6:30 – Chuck: What was about Angular that you liked? Why did you choose that framework? 6:47 – Guest: I got to choose the frontend framework (at the job I was at), and I chose NOT to use Angular. At the time, I thought it was confusing and overwhelming. Ember was stronger for me back then. But then later I got the opportunity to work with it in my current job, and now I am enjoying it. It’s always a challenge. 8:48 – Chuck: Seeing that transition and like that. I am curious though – what features do Angular have that Knockout and others don’t have for you? 9:08 – Guest: We used Coffee Script back then. Do you know it? 9:36 – Chuck: Yep I know it. 9:45 – Guest: I remember studying typescript, too. Coffee Script removed a lot of the stupid errors. 11:22 – Chuck: I think typescript is the way to go. 11:57 – Guest: It helps with those stupid errors that people make once in a while. It’s a type language. 12:45 – (Guest continues.) 13:14 – Chuck: Making the transition from Angular to Angular.js – what process did you go through? 13:25 – (Guest answers. He talks about starting from scratch to learn the new Angular.) 14:08 – Guest: I wouldn’t want to go back to Angular.js. There is so much to learn about Angular and working in-depth with it, there are still new things to explore every day, it’s a large framework. I guess that’s part of the reason why people use React and other frameworks b/c it can be overwhelming, especially for beginners. I enjoy it now b/c I read it now as a native tongue / native language. That’s what I see now, but that’s not what you see at first b/c there are so many new syntaxes. React is mostly JavaScript. 17:22 – Chuck: What features do you like about Angular over Angular.js? 17:28 – Guest: It’s the performance – it’s important! 18:20 – Chuck: What have you done in Angular that you are proud of? 18:24 – Guest: I am working on a few articles and I am about to release 2 of them. It’s a whole series. I am going to Copenhagen soon and I will be giving a talk. 20:17 – Cuck: What else are you working on? 20:23 – Guest: Yes, the articles. I am finishing those up. There will be 4-5 more in the series on that one topic. I want to focus on one topic at a time. There are 3 main concepts: container components, presentation components, and migration. Yes improving my talk for next month’s conference. I am building a small app, too. Working with new technologies and learning about offline apps and install the apps natively on most platforms now. We aren’t dependent on official App Store now, that’s a thing of the past now. 22:06 – Chuck: Where can people find you online? 22:16 – Guest: I have a few projects through GitHub. Find me there. (See links below.) Read my articles when they are published on Medium. 22:44 – Chuck. 22:48 – Guest: My first published articles will be at Angular In Depth. 23:00 – Chuck: Picks! 23:04 – Fresh Books! 27:13 – Chuck: What is the tech scene like in Denmark? 27:18 – Guest: You have to keep up the pace yourself b/c I live in a very small area. There are only a few cities in Denmark where the jobs are. I will go to Meetups and conferences and I am active on European Slack. That’s how I get to be social in the Angular community. I am mostly working at home. I have twin daughters who are 7 years old. I am mostly at the office, too, building and working there, which is 5 miles away from my home. 29:17 – Chuck: In the past episode I talked with someone from Bulgaria, it sounds similar to what you are saying Lars. I am curious are people willing to hire remote if they are outside of the city? 29:40 – Guest: It depends on the company. 30:25 – Chuck: Working remotely is definitely a skill. 30:44 – Guest: I have worked remotely for some jobs b/c I was driving several hours a day. 31:21 – Chuck: My longest commute was 30 minutes top, but I live in a heavy tech scene where I live. Do most people in Denmark know English? 31:5- Guest: My daughters have been speaking English since 3-4 years old b/c of iPads. They are also taught English and German in the school, too. 32:21 – Chuck: Anything else? Are there things that people don’t think about being a developer in Denmark? 32:40 – Guest: There aren’t that many big companies. It’s difficult to get into the right place. There are small companies in Denmark. 33:51 – Chuck: Does that change the way people find jobs in Denmark? 33:59 – Guest: If you don’t like to work for a bank then you have a problem b/c that’s half the jobs! If you don’t like certain industries that could make it harder to get a job as a programmer. 34:33 – Chuck: I am going to wrap this up – anything else? 34:44 – Guest: Create a blog post or start an open source project. That’s what I do when I get bored. When you teach a subject you have to be an expert to be able to explain it to someone else. 35:37 – (Guest lists the titles of his articles – check it out at this timestamp!) 35:50 – (Chuck discusses future episodes and future guests that he will interview.) Links: jQuery Angular JavaScript Vue C++ C# Angular In Depth Article about Model-View-Presenter with Angular Mastering Reactive JavaScript Angular Router Lars’ Medium Lars’ GitHub Chuck’s Twitter Chuck’s E-mail: chuck@devchat.tv Sponsors: Get A Coder Job Fresh Books Cache Fly Picks: Charles Azure DevOps – It’s free for up to 5-6 team members! Chat System: Mattermost Lars Angular In Depth Book: Mastering Reactive JavaScript by Erich de Souza Oliveira Angular Router Book
Panel: Charles Max Wood Guest: Lars Gyrup Brink Nielsen This week on My Angular Story, Charles speaks with Lars Nielsen who is a frontend developer, blogger, a tech speaker, and an OSS contributor. He has worked with many different frameworks, but he and Chuck talk in detail about Angular. Finally, they discuss Lars’ programming background and the current projects he is working on. Check out today’s episode to hear more! In particular, we dive pretty deep on: 0:53 – Guest: Hello from Denmark! 1:00 – Chuck: My great, great, great grandmother is Danish. Introduce yourself, please. 1:20 – Guest: I have been working through various companies through my career. I have focused on frontend development and right now it’s Angular and before it was Angular.js and others. I have been developing C# and started off with PHP. So I really enjoy frontend development the most. 1:58 – Chuck: I am talking with Rob Eisenberg in a few days. 2:04 – Guest: From what I’ve heard he’s a great guy. He worked on the Angular router. He branched out to Greater Zone. 2:28 – Chuck. 2:38 – Guest. 2:45 – Chuck: His episode will come out in 2 weeks! Tell us about you – what got you into programming? 3:00 – Guest: It started when I was 5 years old. My brother and I broke 3-4 computers before they bought us a Nintendo set. That was my first dive into it. Then I went to PCs and back in 1999 I wrote my first website with Notepad. Then later I decided to make a career out of it and studied in college. Then started developing full-stack. 4:53 – Chuck: You mentioned Knockout, Angular.js, and others. What have systems have you built in the backend? 5:03 – Guest: Yes, PHP in the beginning. Then I moved onto... (Guest continues answer Chuck’s question.) 6:30 – Chuck: What was about Angular that you liked? Why did you choose that framework? 6:47 – Guest: I got to choose the frontend framework (at the job I was at), and I chose NOT to use Angular. At the time, I thought it was confusing and overwhelming. Ember was stronger for me back then. But then later I got the opportunity to work with it in my current job, and now I am enjoying it. It’s always a challenge. 8:48 – Chuck: Seeing that transition and like that. I am curious though – what features do Angular have that Knockout and others don’t have for you? 9:08 – Guest: We used Coffee Script back then. Do you know it? 9:36 – Chuck: Yep I know it. 9:45 – Guest: I remember studying typescript, too. Coffee Script removed a lot of the stupid errors. 11:22 – Chuck: I think typescript is the way to go. 11:57 – Guest: It helps with those stupid errors that people make once in a while. It’s a type language. 12:45 – (Guest continues.) 13:14 – Chuck: Making the transition from Angular to Angular.js – what process did you go through? 13:25 – (Guest answers. He talks about starting from scratch to learn the new Angular.) 14:08 – Guest: I wouldn’t want to go back to Angular.js. There is so much to learn about Angular and working in-depth with it, there are still new things to explore every day, it’s a large framework. I guess that’s part of the reason why people use React and other frameworks b/c it can be overwhelming, especially for beginners. I enjoy it now b/c I read it now as a native tongue / native language. That’s what I see now, but that’s not what you see at first b/c there are so many new syntaxes. React is mostly JavaScript. 17:22 – Chuck: What features do you like about Angular over Angular.js? 17:28 – Guest: It’s the performance – it’s important! 18:20 – Chuck: What have you done in Angular that you are proud of? 18:24 – Guest: I am working on a few articles and I am about to release 2 of them. It’s a whole series. I am going to Copenhagen soon and I will be giving a talk. 20:17 – Cuck: What else are you working on? 20:23 – Guest: Yes, the articles. I am finishing those up. There will be 4-5 more in the series on that one topic. I want to focus on one topic at a time. There are 3 main concepts: container components, presentation components, and migration. Yes improving my talk for next month’s conference. I am building a small app, too. Working with new technologies and learning about offline apps and install the apps natively on most platforms now. We aren’t dependent on official App Store now, that’s a thing of the past now. 22:06 – Chuck: Where can people find you online? 22:16 – Guest: I have a few projects through GitHub. Find me there. (See links below.) Read my articles when they are published on Medium. 22:44 – Chuck. 22:48 – Guest: My first published articles will be at Angular In Depth. 23:00 – Chuck: Picks! 23:04 – Fresh Books! 27:13 – Chuck: What is the tech scene like in Denmark? 27:18 – Guest: You have to keep up the pace yourself b/c I live in a very small area. There are only a few cities in Denmark where the jobs are. I will go to Meetups and conferences and I am active on European Slack. That’s how I get to be social in the Angular community. I am mostly working at home. I have twin daughters who are 7 years old. I am mostly at the office, too, building and working there, which is 5 miles away from my home. 29:17 – Chuck: In the past episode I talked with someone from Bulgaria, it sounds similar to what you are saying Lars. I am curious are people willing to hire remote if they are outside of the city? 29:40 – Guest: It depends on the company. 30:25 – Chuck: Working remotely is definitely a skill. 30:44 – Guest: I have worked remotely for some jobs b/c I was driving several hours a day. 31:21 – Chuck: My longest commute was 30 minutes top, but I live in a heavy tech scene where I live. Do most people in Denmark know English? 31:5- Guest: My daughters have been speaking English since 3-4 years old b/c of iPads. They are also taught English and German in the school, too. 32:21 – Chuck: Anything else? Are there things that people don’t think about being a developer in Denmark? 32:40 – Guest: There aren’t that many big companies. It’s difficult to get into the right place. There are small companies in Denmark. 33:51 – Chuck: Does that change the way people find jobs in Denmark? 33:59 – Guest: If you don’t like to work for a bank then you have a problem b/c that’s half the jobs! If you don’t like certain industries that could make it harder to get a job as a programmer. 34:33 – Chuck: I am going to wrap this up – anything else? 34:44 – Guest: Create a blog post or start an open source project. That’s what I do when I get bored. When you teach a subject you have to be an expert to be able to explain it to someone else. 35:37 – (Guest lists the titles of his articles – check it out at this timestamp!) 35:50 – (Chuck discusses future episodes and future guests that he will interview.) Links: jQuery Angular JavaScript Vue C++ C# Angular In Depth Article about Model-View-Presenter with Angular Mastering Reactive JavaScript Angular Router Lars’ Medium Lars’ GitHub Chuck’s Twitter Chuck’s E-mail: chuck@devchat.tv Sponsors: Get A Coder Job Fresh Books Cache Fly Picks: Charles Azure DevOps – It’s free for up to 5-6 team members! Chat System: Mattermost Lars Angular In Depth Book: Mastering Reactive JavaScript by Erich de Souza Oliveira Angular Router Book
Panel: Charles Max Wood Guest: Lars Gyrup Brink Nielsen This week on My Angular Story, Charles speaks with Lars Nielsen who is a frontend developer, blogger, a tech speaker, and an OSS contributor. He has worked with many different frameworks, but he and Chuck talk in detail about Angular. Finally, they discuss Lars’ programming background and the current projects he is working on. Check out today’s episode to hear more! In particular, we dive pretty deep on: 0:53 – Guest: Hello from Denmark! 1:00 – Chuck: My great, great, great grandmother is Danish. Introduce yourself, please. 1:20 – Guest: I have been working through various companies through my career. I have focused on frontend development and right now it’s Angular and before it was Angular.js and others. I have been developing C# and started off with PHP. So I really enjoy frontend development the most. 1:58 – Chuck: I am talking with Rob Eisenberg in a few days. 2:04 – Guest: From what I’ve heard he’s a great guy. He worked on the Angular router. He branched out to Greater Zone. 2:28 – Chuck. 2:38 – Guest. 2:45 – Chuck: His episode will come out in 2 weeks! Tell us about you – what got you into programming? 3:00 – Guest: It started when I was 5 years old. My brother and I broke 3-4 computers before they bought us a Nintendo set. That was my first dive into it. Then I went to PCs and back in 1999 I wrote my first website with Notepad. Then later I decided to make a career out of it and studied in college. Then started developing full-stack. 4:53 – Chuck: You mentioned Knockout, Angular.js, and others. What have systems have you built in the backend? 5:03 – Guest: Yes, PHP in the beginning. Then I moved onto... (Guest continues answer Chuck’s question.) 6:30 – Chuck: What was about Angular that you liked? Why did you choose that framework? 6:47 – Guest: I got to choose the frontend framework (at the job I was at), and I chose NOT to use Angular. At the time, I thought it was confusing and overwhelming. Ember was stronger for me back then. But then later I got the opportunity to work with it in my current job, and now I am enjoying it. It’s always a challenge. 8:48 – Chuck: Seeing that transition and like that. I am curious though – what features do Angular have that Knockout and others don’t have for you? 9:08 – Guest: We used Coffee Script back then. Do you know it? 9:36 – Chuck: Yep I know it. 9:45 – Guest: I remember studying typescript, too. Coffee Script removed a lot of the stupid errors. 11:22 – Chuck: I think typescript is the way to go. 11:57 – Guest: It helps with those stupid errors that people make once in a while. It’s a type language. 12:45 – (Guest continues.) 13:14 – Chuck: Making the transition from Angular to Angular.js – what process did you go through? 13:25 – (Guest answers. He talks about starting from scratch to learn the new Angular.) 14:08 – Guest: I wouldn’t want to go back to Angular.js. There is so much to learn about Angular and working in-depth with it, there are still new things to explore every day, it’s a large framework. I guess that’s part of the reason why people use React and other frameworks b/c it can be overwhelming, especially for beginners. I enjoy it now b/c I read it now as a native tongue / native language. That’s what I see now, but that’s not what you see at first b/c there are so many new syntaxes. React is mostly JavaScript. 17:22 – Chuck: What features do you like about Angular over Angular.js? 17:28 – Guest: It’s the performance – it’s important! 18:20 – Chuck: What have you done in Angular that you are proud of? 18:24 – Guest: I am working on a few articles and I am about to release 2 of them. It’s a whole series. I am going to Copenhagen soon and I will be giving a talk. 20:17 – Cuck: What else are you working on? 20:23 – Guest: Yes, the articles. I am finishing those up. There will be 4-5 more in the series on that one topic. I want to focus on one topic at a time. There are 3 main concepts: container components, presentation components, and migration. Yes improving my talk for next month’s conference. I am building a small app, too. Working with new technologies and learning about offline apps and install the apps natively on most platforms now. We aren’t dependent on official App Store now, that’s a thing of the past now. 22:06 – Chuck: Where can people find you online? 22:16 – Guest: I have a few projects through GitHub. Find me there. (See links below.) Read my articles when they are published on Medium. 22:44 – Chuck. 22:48 – Guest: My first published articles will be at Angular In Depth. 23:00 – Chuck: Picks! 23:04 – Fresh Books! 27:13 – Chuck: What is the tech scene like in Denmark? 27:18 – Guest: You have to keep up the pace yourself b/c I live in a very small area. There are only a few cities in Denmark where the jobs are. I will go to Meetups and conferences and I am active on European Slack. That’s how I get to be social in the Angular community. I am mostly working at home. I have twin daughters who are 7 years old. I am mostly at the office, too, building and working there, which is 5 miles away from my home. 29:17 – Chuck: In the past episode I talked with someone from Bulgaria, it sounds similar to what you are saying Lars. I am curious are people willing to hire remote if they are outside of the city? 29:40 – Guest: It depends on the company. 30:25 – Chuck: Working remotely is definitely a skill. 30:44 – Guest: I have worked remotely for some jobs b/c I was driving several hours a day. 31:21 – Chuck: My longest commute was 30 minutes top, but I live in a heavy tech scene where I live. Do most people in Denmark know English? 31:5- Guest: My daughters have been speaking English since 3-4 years old b/c of iPads. They are also taught English and German in the school, too. 32:21 – Chuck: Anything else? Are there things that people don’t think about being a developer in Denmark? 32:40 – Guest: There aren’t that many big companies. It’s difficult to get into the right place. There are small companies in Denmark. 33:51 – Chuck: Does that change the way people find jobs in Denmark? 33:59 – Guest: If you don’t like to work for a bank then you have a problem b/c that’s half the jobs! If you don’t like certain industries that could make it harder to get a job as a programmer. 34:33 – Chuck: I am going to wrap this up – anything else? 34:44 – Guest: Create a blog post or start an open source project. That’s what I do when I get bored. When you teach a subject you have to be an expert to be able to explain it to someone else. 35:37 – (Guest lists the titles of his articles – check it out at this timestamp!) 35:50 – (Chuck discusses future episodes and future guests that he will interview.) Links: jQuery Angular JavaScript Vue C++ C# Angular In Depth Article about Model-View-Presenter with Angular Mastering Reactive JavaScript Angular Router Lars’ Medium Lars’ GitHub Chuck’s Twitter Chuck’s E-mail: chuck@devchat.tv Sponsors: Get A Coder Job Fresh Books Cache Fly Picks: Charles Azure DevOps – It’s free for up to 5-6 team members! Chat System: Mattermost Lars Angular In Depth Book: Mastering Reactive JavaScript by Erich de Souza Oliveira Angular Router Book
Panel: Aimee Knight Charles Max Wood Joe Eames AJ O’Neil Chris Ferdinandi Special Guests: Charles Lowell (New Mexico) & Taras Mankovski (Toronto) In this episode, the panel talks with two special guests Charles and Taras. Charles Lowell is a principle engineer at Frontside, and he loves to code. Taras works with Charles and joined Frontside, because of Charles’ love for coding. There are great personalities at Frontside, which are quite diverse. Check out this episode to hear about microstates, microstates with react, Redux, and much more! Show Topics: 1:20 – Chuck: Let’s talk about microstates – what is that? 1:32 – Guest: My mind is focused on the how and not the what. I will zoom my mind out and let’s talk about the purposes of microstates. It means a few things. 1.) It’s going to work no matter what framework you are using. 2.) You shouldn’t have to be constantly reinventing the wheel. React Roundup – I talked about it there at this conference. Finally, it really needs to feel JavaScript. We didn’t want you to feel like you weren’t using JavaScript. It uses computer properties off of those models. It doesn’t feel like there is anything special that you are doing. There are just a few simple rules. You can’t mutate the state in place. If you work with JavaScript you can use it very easily. Is that a high-level view? 7:13 – Panel: There are a lot of pieces. If I spoke on a few specific things I would say that it enables programming with state machines. 7:42 – Panel: We wanted it to fell like JavaScript – that’s what I heard. 7:49 – Aimee: I heard that, too. 7:59 – Guest. 8:15 – Aimee: Redux feels like JavaScript to me. 8:25 – Guest: It’s actually – a tool – that it feels natural so it’s not contrived. It’s all JavaScript. 8:49 – Panel. 9:28 – Guest: Idiomatic Ember for example. Idiomatic in the sense that it gives you object for you to work with, which are simple objects. 10:12 – Guest: You have your reducers and your...we could do those things but ultimately it’s powerful – and not action names – we use method names; the name of the method. 11:20 – Panel: I was digging through docs, and it feels like NORMAL JavaScript. It doesn’t seem like it’s tied to a certain framework or library platform? 11:45 – Guest: Yes, we felt a lot of time designing the interfaces the API and the implementation. We wanted it to feel natural but a tool that people reach for. (Guest continues to talk about WHY they created microstates.) Guest: We wanted to scale very well what you need when your needs to change. 13:39 – Chuck: I have a lot of friends who get into React and then they put in Redux then they realize they have to do a lot of work – and that makes sense to do less is more. 14:17 – Guest: To define these microstates and build them up incrementally...building smaller microstates out of larger ones. Guest continued: Will we be able to people can distribute React components a sweet array of components ready for me to use – would I be able to do the same for a small piece of state? We call them state machines, but ultimately we have some state that is driving it. Would we be able to distribute and share? 16:15 – Panel: I understand that this is tiny – but why wouldn’t I just use the native features in specific the immutability component to it? 16:42 – Guest: I’m glad you asked that question. We wanted to answer the question... Guest: With microstates you can have strict control and it gives you the benefit of doing sophisticated things very easily. 18:33 – Guest: You mentioned immutability that’s good that you did. It’s important to capture – and capturing the naturalness of JavaScript. It’s easy to build complex structures – and there is an appeal to that. We are building these graphs and these building up these trees. You brought up immutability – why through it away b/c it’s the essence of being a developer. If you have 3-4-5 levels of nesting you have to de-structure – get to the piece of data – change it – and in your state transition 80% of your code is navigating to the change and only 20% to actually make the change. You don’t have to make that tradeoff. 21:25 – Aimee: The one thing I like about the immutability b/c of the way you test it. 21:45 – Guest: There a few things you can test. 23:01 – Aimee: You did a good job of explaining it. 23:15 – Guest: It makes the things usually hard easy! With immutability you can loose control, and if that happens you can get so confused. You don’t have a way to have a way to navigate to clarity. That’s what this does is make it less confusing. It gives you order and structure. It gives you a very clear path to do things you need to do. If there is a property on your object, and if there is a way to change it... 25:29 – Guest: The only constant is change no matter what framework you are working on. 24:46 – Chuck: We are talking about the benefits and philosophy. What if I have an app – and I realize I need state management – how do I put microstates into my app? It’s using Angular or React – how do I get my data into microstates? 26:35 – Guest: I can tell you what the integration looks like for any framework. You take a type and you passed that type and some value to the create function so what you get is a microstate. (The Guest continues diving into his answer.) 28:18 – Guest: That story is very similar to Redux, basically an event emitter. The state changes on the store. Maybe this is a good time to talk about the stability benefits and the lazy benefits because microstates is both of those things. Stability – if I invoke a transition and the result is unchanged – same microstate – it doesn’t emit an event. It recognizes it internally. It will recognize that it’s the same item. Using that in Ember or Redux you’d have to be doing thousands of actions and doing all that computation, but stability at that level. Also, stability in the sense of a tree. If I change one object then that changes it won’t change an element that it doesn’t need to change. 31:33 – Advertisement: Sentry.io 32:29 – Guest: I want to go back to your question, Chuck. Did we answer it? 32:40 – Chuck: Kind of. 32:50 – Guest. 32:59 – Guest: In Angular for example you can essentially turn a microstate... 33:51 – Guest: You could implement a connect, too. Because the primitive is small – there is no limit. 34:18 – Chuck summarizes their answers into his own words. 34:42 – Guest: If you were using a vanilla React component – this dot – I will bind this. You bind all of these features and then you pass them into your template. You can take it as a property...those are those handlers. They will perform the transition, update and what needs to be updated will happen. 35:55 – Chuck: Data and transitions are 2 separate things but you melded them together to feel like 1 thing. This way it keeps clean and fast. 36:16 – Guest: Every framework helps you in each way. Microstates let’s you do a few things: the quality of your data all in one place and you can share. 38:12 – Guest: He made and integrated Microstates with Redux tools. 38:28 – Guest talks about paths, microstates to trees. 39:22 – Chuck. 39:25 – Panel: When I think about state machines I have been half listening / half going through the docs. When I think of state machines I think about discreet operations like a literal machine. Like a robot of many steps it can step through. We have been talking about frontend frameworks like React - is this applicable to the more traditional systems like mechanical control or is it geared towards Vue layered applications? 40:23 – Guest: Absolutely. We have BIG TEST and it has a Vue component. 41:15 – Guest: when you create a microstate from a type you are creating an object that you can work with. 42:11 – Guest: Joe, I know you have experience with Angular I would love to get your insight. 42:33 – Joe: I feel like I have less experience with RX.js. A lot of what we are talking about and I am a traditionalist, and I would like you to introduce you guys to this topic. From my perspective, where would someone start if they haven’t been doing Flux pattern and I hear this podcast. I think this is a great solution – where do I get started? The official documents? Or is it the right solution to that person? 43:50 – Guest: Draw out the state machine that you want to represent in your Vue. These are the states that this can be in and this is the data that is required to get from one thing to the other. It’s a rope process. The arrow corresponds to the method, and... 44:49 – Panel: It reminds me back in the day of rational rows. 44:56 – Guest: My first job we were using rational rows. 45:22 – Panelist: Think through the state transitions – interesting that you are saying that. What about that I am in the middle – do you stop and think through it or no? 46:06 – Guest: I think it’s a Trojan horse in some ways. I think what’s interesting you start to realize how you implement your state transitions. 48:00 – (Guest continues.) 48:45 – Panel: That’s interesting. Do you have that in the docs to that process of stopping and thinking through your state transitions and putting into the microstate? 49:05 – Guest: I talked about this back in 2016. I outlined that process. When this project was in the Ember community. 49:16 – Guest: The next step for us is to make this information accessible. We’ve been shedding a few topics and saying this is how to use microstates in your project. We need to write up those guides to help them benefit in their applications. 50:00 – Chuck: What’s the future look like? 50:03 – Guest: We are working on performance profiling. Essentially you can hook up microstates to a fire hose. The next thing is settling on a pattern for modeling side effects inside microstates. Microstates are STATE and it’s immutable. 52:12 – Guest: Getting documentation. We have good README but we need traditional docs, too. 52:20 – Chuck: Anything else? 52:28 – Guest: If you need help email us and gives us a shot-out. 53:03 – Chuck: Let’s do some picks! 53:05 – Advertisement for Charles Max Wood’s course! Links: Kendo UI Frontside Redux Microstates Microstates with React Taras Mankovski’s Twitter Taras Mankovski’s GitHub Taras Mankovski’s LinkedIn Taras Mankovski’s Frontside Bio Charles Lowell’s Twitter Charles Lowell’s GitHub Charles Lowell’s Frontside Bio Schedule Once Ruby on Rails Angular Get A Coder Job YouTube Talks Email: cowboyd@frontside.io Working with State Machines Twitch TV BigTest Close Brace REEF The Developer Experience YouTube Video Sponsors: Kendo UI Sentry.io – 2 months free – DEVCHAT/code Get A Coder Job Picks: Aimee ShopTalk Episode 327 Professional JavaScript for Web Developers Technical Debt Stripe Taras Twitch Channel Big Test Frontside Charles Lowell Chalkboards Sargent Art Chalk Chris Close Brace LaCroix Water Chris’s Git Hub Joe The Developer Experience Bait and Switch Good Bye Redux Recording Dungeon and Dragons AJ UtahJS Conf Start with Why The Rust Book VanillaJS w/ Chris Zero to One Charles Podwrench.com - beta getacoderjob.com
Panel: Aimee Knight Charles Max Wood Joe Eames AJ O’Neil Chris Ferdinandi Special Guests: Charles Lowell (New Mexico) & Taras Mankovski (Toronto) In this episode, the panel talks with two special guests Charles and Taras. Charles Lowell is a principle engineer at Frontside, and he loves to code. Taras works with Charles and joined Frontside, because of Charles’ love for coding. There are great personalities at Frontside, which are quite diverse. Check out this episode to hear about microstates, microstates with react, Redux, and much more! Show Topics: 1:20 – Chuck: Let’s talk about microstates – what is that? 1:32 – Guest: My mind is focused on the how and not the what. I will zoom my mind out and let’s talk about the purposes of microstates. It means a few things. 1.) It’s going to work no matter what framework you are using. 2.) You shouldn’t have to be constantly reinventing the wheel. React Roundup – I talked about it there at this conference. Finally, it really needs to feel JavaScript. We didn’t want you to feel like you weren’t using JavaScript. It uses computer properties off of those models. It doesn’t feel like there is anything special that you are doing. There are just a few simple rules. You can’t mutate the state in place. If you work with JavaScript you can use it very easily. Is that a high-level view? 7:13 – Panel: There are a lot of pieces. If I spoke on a few specific things I would say that it enables programming with state machines. 7:42 – Panel: We wanted it to fell like JavaScript – that’s what I heard. 7:49 – Aimee: I heard that, too. 7:59 – Guest. 8:15 – Aimee: Redux feels like JavaScript to me. 8:25 – Guest: It’s actually – a tool – that it feels natural so it’s not contrived. It’s all JavaScript. 8:49 – Panel. 9:28 – Guest: Idiomatic Ember for example. Idiomatic in the sense that it gives you object for you to work with, which are simple objects. 10:12 – Guest: You have your reducers and your...we could do those things but ultimately it’s powerful – and not action names – we use method names; the name of the method. 11:20 – Panel: I was digging through docs, and it feels like NORMAL JavaScript. It doesn’t seem like it’s tied to a certain framework or library platform? 11:45 – Guest: Yes, we felt a lot of time designing the interfaces the API and the implementation. We wanted it to feel natural but a tool that people reach for. (Guest continues to talk about WHY they created microstates.) Guest: We wanted to scale very well what you need when your needs to change. 13:39 – Chuck: I have a lot of friends who get into React and then they put in Redux then they realize they have to do a lot of work – and that makes sense to do less is more. 14:17 – Guest: To define these microstates and build them up incrementally...building smaller microstates out of larger ones. Guest continued: Will we be able to people can distribute React components a sweet array of components ready for me to use – would I be able to do the same for a small piece of state? We call them state machines, but ultimately we have some state that is driving it. Would we be able to distribute and share? 16:15 – Panel: I understand that this is tiny – but why wouldn’t I just use the native features in specific the immutability component to it? 16:42 – Guest: I’m glad you asked that question. We wanted to answer the question... Guest: With microstates you can have strict control and it gives you the benefit of doing sophisticated things very easily. 18:33 – Guest: You mentioned immutability that’s good that you did. It’s important to capture – and capturing the naturalness of JavaScript. It’s easy to build complex structures – and there is an appeal to that. We are building these graphs and these building up these trees. You brought up immutability – why through it away b/c it’s the essence of being a developer. If you have 3-4-5 levels of nesting you have to de-structure – get to the piece of data – change it – and in your state transition 80% of your code is navigating to the change and only 20% to actually make the change. You don’t have to make that tradeoff. 21:25 – Aimee: The one thing I like about the immutability b/c of the way you test it. 21:45 – Guest: There a few things you can test. 23:01 – Aimee: You did a good job of explaining it. 23:15 – Guest: It makes the things usually hard easy! With immutability you can loose control, and if that happens you can get so confused. You don’t have a way to have a way to navigate to clarity. That’s what this does is make it less confusing. It gives you order and structure. It gives you a very clear path to do things you need to do. If there is a property on your object, and if there is a way to change it... 25:29 – Guest: The only constant is change no matter what framework you are working on. 24:46 – Chuck: We are talking about the benefits and philosophy. What if I have an app – and I realize I need state management – how do I put microstates into my app? It’s using Angular or React – how do I get my data into microstates? 26:35 – Guest: I can tell you what the integration looks like for any framework. You take a type and you passed that type and some value to the create function so what you get is a microstate. (The Guest continues diving into his answer.) 28:18 – Guest: That story is very similar to Redux, basically an event emitter. The state changes on the store. Maybe this is a good time to talk about the stability benefits and the lazy benefits because microstates is both of those things. Stability – if I invoke a transition and the result is unchanged – same microstate – it doesn’t emit an event. It recognizes it internally. It will recognize that it’s the same item. Using that in Ember or Redux you’d have to be doing thousands of actions and doing all that computation, but stability at that level. Also, stability in the sense of a tree. If I change one object then that changes it won’t change an element that it doesn’t need to change. 31:33 – Advertisement: Sentry.io 32:29 – Guest: I want to go back to your question, Chuck. Did we answer it? 32:40 – Chuck: Kind of. 32:50 – Guest. 32:59 – Guest: In Angular for example you can essentially turn a microstate... 33:51 – Guest: You could implement a connect, too. Because the primitive is small – there is no limit. 34:18 – Chuck summarizes their answers into his own words. 34:42 – Guest: If you were using a vanilla React component – this dot – I will bind this. You bind all of these features and then you pass them into your template. You can take it as a property...those are those handlers. They will perform the transition, update and what needs to be updated will happen. 35:55 – Chuck: Data and transitions are 2 separate things but you melded them together to feel like 1 thing. This way it keeps clean and fast. 36:16 – Guest: Every framework helps you in each way. Microstates let’s you do a few things: the quality of your data all in one place and you can share. 38:12 – Guest: He made and integrated Microstates with Redux tools. 38:28 – Guest talks about paths, microstates to trees. 39:22 – Chuck. 39:25 – Panel: When I think about state machines I have been half listening / half going through the docs. When I think of state machines I think about discreet operations like a literal machine. Like a robot of many steps it can step through. We have been talking about frontend frameworks like React - is this applicable to the more traditional systems like mechanical control or is it geared towards Vue layered applications? 40:23 – Guest: Absolutely. We have BIG TEST and it has a Vue component. 41:15 – Guest: when you create a microstate from a type you are creating an object that you can work with. 42:11 – Guest: Joe, I know you have experience with Angular I would love to get your insight. 42:33 – Joe: I feel like I have less experience with RX.js. A lot of what we are talking about and I am a traditionalist, and I would like you to introduce you guys to this topic. From my perspective, where would someone start if they haven’t been doing Flux pattern and I hear this podcast. I think this is a great solution – where do I get started? The official documents? Or is it the right solution to that person? 43:50 – Guest: Draw out the state machine that you want to represent in your Vue. These are the states that this can be in and this is the data that is required to get from one thing to the other. It’s a rope process. The arrow corresponds to the method, and... 44:49 – Panel: It reminds me back in the day of rational rows. 44:56 – Guest: My first job we were using rational rows. 45:22 – Panelist: Think through the state transitions – interesting that you are saying that. What about that I am in the middle – do you stop and think through it or no? 46:06 – Guest: I think it’s a Trojan horse in some ways. I think what’s interesting you start to realize how you implement your state transitions. 48:00 – (Guest continues.) 48:45 – Panel: That’s interesting. Do you have that in the docs to that process of stopping and thinking through your state transitions and putting into the microstate? 49:05 – Guest: I talked about this back in 2016. I outlined that process. When this project was in the Ember community. 49:16 – Guest: The next step for us is to make this information accessible. We’ve been shedding a few topics and saying this is how to use microstates in your project. We need to write up those guides to help them benefit in their applications. 50:00 – Chuck: What’s the future look like? 50:03 – Guest: We are working on performance profiling. Essentially you can hook up microstates to a fire hose. The next thing is settling on a pattern for modeling side effects inside microstates. Microstates are STATE and it’s immutable. 52:12 – Guest: Getting documentation. We have good README but we need traditional docs, too. 52:20 – Chuck: Anything else? 52:28 – Guest: If you need help email us and gives us a shot-out. 53:03 – Chuck: Let’s do some picks! 53:05 – Advertisement for Charles Max Wood’s course! Links: Kendo UI Frontside Redux Microstates Microstates with React Taras Mankovski’s Twitter Taras Mankovski’s GitHub Taras Mankovski’s LinkedIn Taras Mankovski’s Frontside Bio Charles Lowell’s Twitter Charles Lowell’s GitHub Charles Lowell’s Frontside Bio Schedule Once Ruby on Rails Angular Get A Coder Job YouTube Talks Email: cowboyd@frontside.io Working with State Machines Twitch TV BigTest Close Brace REEF The Developer Experience YouTube Video Sponsors: Kendo UI Sentry.io – 2 months free – DEVCHAT/code Get A Coder Job Picks: Aimee ShopTalk Episode 327 Professional JavaScript for Web Developers Technical Debt Stripe Taras Twitch Channel Big Test Frontside Charles Lowell Chalkboards Sargent Art Chalk Chris Close Brace LaCroix Water Chris’s Git Hub Joe The Developer Experience Bait and Switch Good Bye Redux Recording Dungeon and Dragons AJ UtahJS Conf Start with Why The Rust Book VanillaJS w/ Chris Zero to One Charles Podwrench.com - beta getacoderjob.com
Panel: Charles Max Wood Special Guest: Brady Gaster In this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:56 – Chuck: Hello! We are going to talk about SignalR, which is an offering through Microsoft. 1:09 – Guest: It started in 2011 that’s when I got involved, but I wasn’t with Microsoft, yet, at that point. I was working on the technology, though. Effectively you can do real time HTMP but what they did (Damon and David) let’s create a series of abstractions but not we have for Java. They basically cam up this idea let’s do web sockets and then go back to pole / pole / pole. It’s to see what the server and the client can support. Guest talks about Socket.io, too. 6:45 – Chuck: What we are talking about real time coordination between apps. 6:56 – Guest: Web sockets, 1 million...and 2.6 million messages a second! 7:05 – Chuck: I can set that up like I usually set up web sockets? 7:17 – Guest: There is a client library for each. Effectively you have a concept called a connection. 9:48 – Chuck: How do you handle authentication on the frontend? 9:56 – Guest: We have server side things that we can attribute things. 10:09 – Chuck. 10:12 – Guest: If you authenticate to the site then the site passes the token and it basically sits on top of the same plumbing. 10:38 – Chuck. 10:42 – Guest. 10:54 – Chuck. 10:58 – Guest: We recently just had the DOT NET CONF. We had an all night, 24-hour thing. 11:48 – Chuck: Here you are, here you go. You hook it all up, JavaScript into your bundle. 12:05 – (The guest talks about how to install.) 13:12 – Chuck: I could come up with my own scheme. 13:25 – Guest: The traditional example is SEND A MESSAGE and then pass you string. Well tomorrow I do that and I just change the code – it’s great b/c I send up a ping and everybody knows what to do what that ping. It’s just a proxy. 14:17 – Chuck: I am trying to envision what you would use this for? If you are worried about it being stale then you refresh. But if you want the collaborative stuff at what point do you ask: Do I need SignalR? 15:00 – Guest: When I do my presentations on SignalR and being transparent I want to send you 1,000 messages but 1 or 2 messages will be dropped. You don’t want to transmit your order data or credit card information. Do you have a hammer and you need a screw? If you need stock tickers and other applications SignalR would work. Keeping your UI fresh it is a great thing. 19:02 – Chuck: You do that at the Hub? You set up the Hub and it passes everything back and forth. What can you do at the Hub for filtering and/or certain types of events? 19:26 – Guest: I am looking at a slide. What’s the cool thing about SignalR and the API is it’s deceptively simple on purpose. If you want to call out to clients, you can get a message to all of your clients if you select that/those feature(s). Some other features you have are OTHERS, and Clients.Group. 20:57 – Chuck: Can you set up your own? 20:58 – Guest: I don’t know. 21:12 – Chuck: Clients who belong to more than one group. 21:23 – Guest: Dynamics still give some people heartburn. (The guest talks about C#, Dev, Hub, and more!) 23:46 – Advertisement: Get A Coder Job! 24:23 – Chuck: How do people get started with this? Do they need Azure? 24:30 – Guest: You don’t need Azure you can go to Microsoft and it’s apart of the .NET team, too. 26:39 – Guest talks about how to install SignalR – see links below! 27:03 – Chuck: You don’t have to KNOW .NET. 27:11 – Guest: It was created by that team (*fair enough*) but you don’t have to know .NET. 27:57 – Guest: You can I could do JavaScript all the way. 29:04 – Chuck: Yes, we keep moving forward. It will look different what people are using. 29:21 – Guest: That was an early thing and I was reading through the old bugs from 2011/2012 and that’s one thing that kept coming up. I didn’t want to use jQuery to use SignalR – now you don’t. It’s a happy thing. 30:45 – Guest: Someone suggested using PARCEL. I have a question do you have any recommendations to have NODE-SASS workflow to have it less stressful? 31:30 – Chuck: It’s out of Ruby that’s my experience with Node-Sass. 31:40 – Guest: I haven’t used Ruby, yet. 31:46 – Guest: I haven’t heard of Phoenix what is that? 31:50 – Chuck answers. Chuck: It’s functional and very fast. Once you’ve figured out those features they almost become power features for you. Elixir has a lot of great things going for it. 32:50 – Guest: I tried picking up GO recently. 33:08 – Chuck: Lots of things going on in the programming world. 33:18 – Guest: I have always had a mental block around Java. I was PMing the Java guys and I asked: will this stuff work on... Once I got it then I thought that I needed to explore this stuff more! I want to learn Ruby, though. 34:16 – Chuck: Anything else in respect to SignalR? 34:15 – Guest: I really think I have dumped everything I know about Signal R just now. I would draw people to the DOCS pages. A guide for anything that could happen on the JavaScript side – check them out! We have tons of new ideas, too! 37:33 – Picks! 37:42 – Advertisement – Fresh Books! 47:54 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter SignalR SignalR’s Twitter GitHub SignalR Socket.io Node-SASS ASP.NET SignalR Hubs API Guide – JavaScript Client SignalR.net Real Talk JavaScript Parcel Brady Gaster’s Twitter Brady Gaster’s GitHub Brady Gaster’s LinkedIn Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Brady Team on General Session Korg SeaHawks Brady’s kids Logictech spot light AirPods Charles Express VPN J5 ports and SD card readers Podwrench
Panel: Aimee Knight Charles Max Wood Joe Eames AJ O’Neil Chris Ferdinandi Special Guests: Charles Lowell (New Mexico) & Taras Mankovski (Toronto) In this episode, the panel talks with two special guests Charles and Taras. Charles Lowell is a principle engineer at Frontside, and he loves to code. Taras works with Charles and joined Frontside, because of Charles’ love for coding. There are great personalities at Frontside, which are quite diverse. Check out this episode to hear about microstates, microstates with react, Redux, and much more! Show Topics: 1:20 – Chuck: Let’s talk about microstates – what is that? 1:32 – Guest: My mind is focused on the how and not the what. I will zoom my mind out and let’s talk about the purposes of microstates. It means a few things. 1.) It’s going to work no matter what framework you are using. 2.) You shouldn’t have to be constantly reinventing the wheel. React Roundup – I talked about it there at this conference. Finally, it really needs to feel JavaScript. We didn’t want you to feel like you weren’t using JavaScript. It uses computer properties off of those models. It doesn’t feel like there is anything special that you are doing. There are just a few simple rules. You can’t mutate the state in place. If you work with JavaScript you can use it very easily. Is that a high-level view? 7:13 – Panel: There are a lot of pieces. If I spoke on a few specific things I would say that it enables programming with state machines. 7:42 – Panel: We wanted it to fell like JavaScript – that’s what I heard. 7:49 – Aimee: I heard that, too. 7:59 – Guest. 8:15 – Aimee: Redux feels like JavaScript to me. 8:25 – Guest: It’s actually – a tool – that it feels natural so it’s not contrived. It’s all JavaScript. 8:49 – Panel. 9:28 – Guest: Idiomatic Ember for example. Idiomatic in the sense that it gives you object for you to work with, which are simple objects. 10:12 – Guest: You have your reducers and your...we could do those things but ultimately it’s powerful – and not action names – we use method names; the name of the method. 11:20 – Panel: I was digging through docs, and it feels like NORMAL JavaScript. It doesn’t seem like it’s tied to a certain framework or library platform? 11:45 – Guest: Yes, we felt a lot of time designing the interfaces the API and the implementation. We wanted it to feel natural but a tool that people reach for. (Guest continues to talk about WHY they created microstates.) Guest: We wanted to scale very well what you need when your needs to change. 13:39 – Chuck: I have a lot of friends who get into React and then they put in Redux then they realize they have to do a lot of work – and that makes sense to do less is more. 14:17 – Guest: To define these microstates and build them up incrementally...building smaller microstates out of larger ones. Guest continued: Will we be able to people can distribute React components a sweet array of components ready for me to use – would I be able to do the same for a small piece of state? We call them state machines, but ultimately we have some state that is driving it. Would we be able to distribute and share? 16:15 – Panel: I understand that this is tiny – but why wouldn’t I just use the native features in specific the immutability component to it? 16:42 – Guest: I’m glad you asked that question. We wanted to answer the question... Guest: With microstates you can have strict control and it gives you the benefit of doing sophisticated things very easily. 18:33 – Guest: You mentioned immutability that’s good that you did. It’s important to capture – and capturing the naturalness of JavaScript. It’s easy to build complex structures – and there is an appeal to that. We are building these graphs and these building up these trees. You brought up immutability – why through it away b/c it’s the essence of being a developer. If you have 3-4-5 levels of nesting you have to de-structure – get to the piece of data – change it – and in your state transition 80% of your code is navigating to the change and only 20% to actually make the change. You don’t have to make that tradeoff. 21:25 – Aimee: The one thing I like about the immutability b/c of the way you test it. 21:45 – Guest: There a few things you can test. 23:01 – Aimee: You did a good job of explaining it. 23:15 – Guest: It makes the things usually hard easy! With immutability you can loose control, and if that happens you can get so confused. You don’t have a way to have a way to navigate to clarity. That’s what this does is make it less confusing. It gives you order and structure. It gives you a very clear path to do things you need to do. If there is a property on your object, and if there is a way to change it... 25:29 – Guest: The only constant is change no matter what framework you are working on. 24:46 – Chuck: We are talking about the benefits and philosophy. What if I have an app – and I realize I need state management – how do I put microstates into my app? It’s using Angular or React – how do I get my data into microstates? 26:35 – Guest: I can tell you what the integration looks like for any framework. You take a type and you passed that type and some value to the create function so what you get is a microstate. (The Guest continues diving into his answer.) 28:18 – Guest: That story is very similar to Redux, basically an event emitter. The state changes on the store. Maybe this is a good time to talk about the stability benefits and the lazy benefits because microstates is both of those things. Stability – if I invoke a transition and the result is unchanged – same microstate – it doesn’t emit an event. It recognizes it internally. It will recognize that it’s the same item. Using that in Ember or Redux you’d have to be doing thousands of actions and doing all that computation, but stability at that level. Also, stability in the sense of a tree. If I change one object then that changes it won’t change an element that it doesn’t need to change. 31:33 – Advertisement: Sentry.io 32:29 – Guest: I want to go back to your question, Chuck. Did we answer it? 32:40 – Chuck: Kind of. 32:50 – Guest. 32:59 – Guest: In Angular for example you can essentially turn a microstate... 33:51 – Guest: You could implement a connect, too. Because the primitive is small – there is no limit. 34:18 – Chuck summarizes their answers into his own words. 34:42 – Guest: If you were using a vanilla React component – this dot – I will bind this. You bind all of these features and then you pass them into your template. You can take it as a property...those are those handlers. They will perform the transition, update and what needs to be updated will happen. 35:55 – Chuck: Data and transitions are 2 separate things but you melded them together to feel like 1 thing. This way it keeps clean and fast. 36:16 – Guest: Every framework helps you in each way. Microstates let’s you do a few things: the quality of your data all in one place and you can share. 38:12 – Guest: He made and integrated Microstates with Redux tools. 38:28 – Guest talks about paths, microstates to trees. 39:22 – Chuck. 39:25 – Panel: When I think about state machines I have been half listening / half going through the docs. When I think of state machines I think about discreet operations like a literal machine. Like a robot of many steps it can step through. We have been talking about frontend frameworks like React - is this applicable to the more traditional systems like mechanical control or is it geared towards Vue layered applications? 40:23 – Guest: Absolutely. We have BIG TEST and it has a Vue component. 41:15 – Guest: when you create a microstate from a type you are creating an object that you can work with. 42:11 – Guest: Joe, I know you have experience with Angular I would love to get your insight. 42:33 – Joe: I feel like I have less experience with RX.js. A lot of what we are talking about and I am a traditionalist, and I would like you to introduce you guys to this topic. From my perspective, where would someone start if they haven’t been doing Flux pattern and I hear this podcast. I think this is a great solution – where do I get started? The official documents? Or is it the right solution to that person? 43:50 – Guest: Draw out the state machine that you want to represent in your Vue. These are the states that this can be in and this is the data that is required to get from one thing to the other. It’s a rope process. The arrow corresponds to the method, and... 44:49 – Panel: It reminds me back in the day of rational rows. 44:56 – Guest: My first job we were using rational rows. 45:22 – Panelist: Think through the state transitions – interesting that you are saying that. What about that I am in the middle – do you stop and think through it or no? 46:06 – Guest: I think it’s a Trojan horse in some ways. I think what’s interesting you start to realize how you implement your state transitions. 48:00 – (Guest continues.) 48:45 – Panel: That’s interesting. Do you have that in the docs to that process of stopping and thinking through your state transitions and putting into the microstate? 49:05 – Guest: I talked about this back in 2016. I outlined that process. When this project was in the Ember community. 49:16 – Guest: The next step for us is to make this information accessible. We’ve been shedding a few topics and saying this is how to use microstates in your project. We need to write up those guides to help them benefit in their applications. 50:00 – Chuck: What’s the future look like? 50:03 – Guest: We are working on performance profiling. Essentially you can hook up microstates to a fire hose. The next thing is settling on a pattern for modeling side effects inside microstates. Microstates are STATE and it’s immutable. 52:12 – Guest: Getting documentation. We have good README but we need traditional docs, too. 52:20 – Chuck: Anything else? 52:28 – Guest: If you need help email us and gives us a shot-out. 53:03 – Chuck: Let’s do some picks! 53:05 – Advertisement for Charles Max Wood’s course! Links: Kendo UI Frontside Redux Microstates Microstates with React Taras Mankovski’s Twitter Taras Mankovski’s GitHub Taras Mankovski’s LinkedIn Taras Mankovski’s Frontside Bio Charles Lowell’s Twitter Charles Lowell’s GitHub Charles Lowell’s Frontside Bio Schedule Once Ruby on Rails Angular Get A Coder Job YouTube Talks Email: cowboyd@frontside.io Working with State Machines Twitch TV BigTest Close Brace REEF The Developer Experience YouTube Video Sponsors: Kendo UI Sentry.io – 2 months free – DEVCHAT/code Get A Coder Job Picks: Aimee ShopTalk Episode 327 Professional JavaScript for Web Developers Technical Debt Stripe Taras Twitch Channel Big Test Frontside Charles Lowell Chalkboards Sargent Art Chalk Chris Close Brace LaCroix Water Chris’s Git Hub Joe The Developer Experience Bait and Switch Good Bye Redux Recording Dungeon and Dragons AJ UtahJS Conf Start with Why The Rust Book VanillaJS w/ Chris Zero to One Charles Podwrench.com - beta getacoderjob.com
Panel: Charles Max Wood Special Guest: Brady Gaster In this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:56 – Chuck: Hello! We are going to talk about SignalR, which is an offering through Microsoft. 1:09 – Guest: It started in 2011 that’s when I got involved, but I wasn’t with Microsoft, yet, at that point. I was working on the technology, though. Effectively you can do real time HTMP but what they did (Damon and David) let’s create a series of abstractions but not we have for Java. They basically cam up this idea let’s do web sockets and then go back to pole / pole / pole. It’s to see what the server and the client can support. Guest talks about Socket.io, too. 6:45 – Chuck: What we are talking about real time coordination between apps. 6:56 – Guest: Web sockets, 1 million...and 2.6 million messages a second! 7:05 – Chuck: I can set that up like I usually set up web sockets? 7:17 – Guest: There is a client library for each. Effectively you have a concept called a connection. 9:48 – Chuck: How do you handle authentication on the frontend? 9:56 – Guest: We have server side things that we can attribute things. 10:09 – Chuck. 10:12 – Guest: If you authenticate to the site then the site passes the token and it basically sits on top of the same plumbing. 10:38 – Chuck. 10:42 – Guest. 10:54 – Chuck. 10:58 – Guest: We recently just had the DOT NET CONF. We had an all night, 24-hour thing. 11:48 – Chuck: Here you are, here you go. You hook it all up, JavaScript into your bundle. 12:05 – (The guest talks about how to install.) 13:12 – Chuck: I could come up with my own scheme. 13:25 – Guest: The traditional example is SEND A MESSAGE and then pass you string. Well tomorrow I do that and I just change the code – it’s great b/c I send up a ping and everybody knows what to do what that ping. It’s just a proxy. 14:17 – Chuck: I am trying to envision what you would use this for? If you are worried about it being stale then you refresh. But if you want the collaborative stuff at what point do you ask: Do I need SignalR? 15:00 – Guest: When I do my presentations on SignalR and being transparent I want to send you 1,000 messages but 1 or 2 messages will be dropped. You don’t want to transmit your order data or credit card information. Do you have a hammer and you need a screw? If you need stock tickers and other applications SignalR would work. Keeping your UI fresh it is a great thing. 19:02 – Chuck: You do that at the Hub? You set up the Hub and it passes everything back and forth. What can you do at the Hub for filtering and/or certain types of events? 19:26 – Guest: I am looking at a slide. What’s the cool thing about SignalR and the API is it’s deceptively simple on purpose. If you want to call out to clients, you can get a message to all of your clients if you select that/those feature(s). Some other features you have are OTHERS, and Clients.Group. 20:57 – Chuck: Can you set up your own? 20:58 – Guest: I don’t know. 21:12 – Chuck: Clients who belong to more than one group. 21:23 – Guest: Dynamics still give some people heartburn. (The guest talks about C#, Dev, Hub, and more!) 23:46 – Advertisement: Get A Coder Job! 24:23 – Chuck: How do people get started with this? Do they need Azure? 24:30 – Guest: You don’t need Azure you can go to Microsoft and it’s apart of the .NET team, too. 26:39 – Guest talks about how to install SignalR – see links below! 27:03 – Chuck: You don’t have to KNOW .NET. 27:11 – Guest: It was created by that team (*fair enough*) but you don’t have to know .NET. 27:57 – Guest: You can I could do JavaScript all the way. 29:04 – Chuck: Yes, we keep moving forward. It will look different what people are using. 29:21 – Guest: That was an early thing and I was reading through the old bugs from 2011/2012 and that’s one thing that kept coming up. I didn’t want to use jQuery to use SignalR – now you don’t. It’s a happy thing. 30:45 – Guest: Someone suggested using PARCEL. I have a question do you have any recommendations to have NODE-SASS workflow to have it less stressful? 31:30 – Chuck: It’s out of Ruby that’s my experience with Node-Sass. 31:40 – Guest: I haven’t used Ruby, yet. 31:46 – Guest: I haven’t heard of Phoenix what is that? 31:50 – Chuck answers. Chuck: It’s functional and very fast. Once you’ve figured out those features they almost become power features for you. Elixir has a lot of great things going for it. 32:50 – Guest: I tried picking up GO recently. 33:08 – Chuck: Lots of things going on in the programming world. 33:18 – Guest: I have always had a mental block around Java. I was PMing the Java guys and I asked: will this stuff work on... Once I got it then I thought that I needed to explore this stuff more! I want to learn Ruby, though. 34:16 – Chuck: Anything else in respect to SignalR? 34:15 – Guest: I really think I have dumped everything I know about Signal R just now. I would draw people to the DOCS pages. A guide for anything that could happen on the JavaScript side – check them out! We have tons of new ideas, too! 37:33 – Picks! 37:42 – Advertisement – Fresh Books! 47:54 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter SignalR SignalR’s Twitter GitHub SignalR Socket.io Node-SASS ASP.NET SignalR Hubs API Guide – JavaScript Client SignalR.net Real Talk JavaScript Parcel Brady Gaster’s Twitter Brady Gaster’s GitHub Brady Gaster’s LinkedIn Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Brady Team on General Session Korg SeaHawks Brady’s kids Logictech spot light AirPods Charles Express VPN J5 ports and SD card readers Podwrench
Panel: Charles Max Wood Special Guest: Brady Gaster In this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:56 – Chuck: Hello! We are going to talk about SignalR, which is an offering through Microsoft. 1:09 – Guest: It started in 2011 that’s when I got involved, but I wasn’t with Microsoft, yet, at that point. I was working on the technology, though. Effectively you can do real time HTMP but what they did (Damon and David) let’s create a series of abstractions but not we have for Java. They basically cam up this idea let’s do web sockets and then go back to pole / pole / pole. It’s to see what the server and the client can support. Guest talks about Socket.io, too. 6:45 – Chuck: What we are talking about real time coordination between apps. 6:56 – Guest: Web sockets, 1 million...and 2.6 million messages a second! 7:05 – Chuck: I can set that up like I usually set up web sockets? 7:17 – Guest: There is a client library for each. Effectively you have a concept called a connection. 9:48 – Chuck: How do you handle authentication on the frontend? 9:56 – Guest: We have server side things that we can attribute things. 10:09 – Chuck. 10:12 – Guest: If you authenticate to the site then the site passes the token and it basically sits on top of the same plumbing. 10:38 – Chuck. 10:42 – Guest. 10:54 – Chuck. 10:58 – Guest: We recently just had the DOT NET CONF. We had an all night, 24-hour thing. 11:48 – Chuck: Here you are, here you go. You hook it all up, JavaScript into your bundle. 12:05 – (The guest talks about how to install.) 13:12 – Chuck: I could come up with my own scheme. 13:25 – Guest: The traditional example is SEND A MESSAGE and then pass you string. Well tomorrow I do that and I just change the code – it’s great b/c I send up a ping and everybody knows what to do what that ping. It’s just a proxy. 14:17 – Chuck: I am trying to envision what you would use this for? If you are worried about it being stale then you refresh. But if you want the collaborative stuff at what point do you ask: Do I need SignalR? 15:00 – Guest: When I do my presentations on SignalR and being transparent I want to send you 1,000 messages but 1 or 2 messages will be dropped. You don’t want to transmit your order data or credit card information. Do you have a hammer and you need a screw? If you need stock tickers and other applications SignalR would work. Keeping your UI fresh it is a great thing. 19:02 – Chuck: You do that at the Hub? You set up the Hub and it passes everything back and forth. What can you do at the Hub for filtering and/or certain types of events? 19:26 – Guest: I am looking at a slide. What’s the cool thing about SignalR and the API is it’s deceptively simple on purpose. If you want to call out to clients, you can get a message to all of your clients if you select that/those feature(s). Some other features you have are OTHERS, and Clients.Group. 20:57 – Chuck: Can you set up your own? 20:58 – Guest: I don’t know. 21:12 – Chuck: Clients who belong to more than one group. 21:23 – Guest: Dynamics still give some people heartburn. (The guest talks about C#, Dev, Hub, and more!) 23:46 – Advertisement: Get A Coder Job! 24:23 – Chuck: How do people get started with this? Do they need Azure? 24:30 – Guest: You don’t need Azure you can go to Microsoft and it’s apart of the .NET team, too. 26:39 – Guest talks about how to install SignalR – see links below! 27:03 – Chuck: You don’t have to KNOW .NET. 27:11 – Guest: It was created by that team (*fair enough*) but you don’t have to know .NET. 27:57 – Guest: You can I could do JavaScript all the way. 29:04 – Chuck: Yes, we keep moving forward. It will look different what people are using. 29:21 – Guest: That was an early thing and I was reading through the old bugs from 2011/2012 and that’s one thing that kept coming up. I didn’t want to use jQuery to use SignalR – now you don’t. It’s a happy thing. 30:45 – Guest: Someone suggested using PARCEL. I have a question do you have any recommendations to have NODE-SASS workflow to have it less stressful? 31:30 – Chuck: It’s out of Ruby that’s my experience with Node-Sass. 31:40 – Guest: I haven’t used Ruby, yet. 31:46 – Guest: I haven’t heard of Phoenix what is that? 31:50 – Chuck answers. Chuck: It’s functional and very fast. Once you’ve figured out those features they almost become power features for you. Elixir has a lot of great things going for it. 32:50 – Guest: I tried picking up GO recently. 33:08 – Chuck: Lots of things going on in the programming world. 33:18 – Guest: I have always had a mental block around Java. I was PMing the Java guys and I asked: will this stuff work on... Once I got it then I thought that I needed to explore this stuff more! I want to learn Ruby, though. 34:16 – Chuck: Anything else in respect to SignalR? 34:15 – Guest: I really think I have dumped everything I know about Signal R just now. I would draw people to the DOCS pages. A guide for anything that could happen on the JavaScript side – check them out! We have tons of new ideas, too! 37:33 – Picks! 37:42 – Advertisement – Fresh Books! 47:54 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter SignalR SignalR’s Twitter GitHub SignalR Socket.io Node-SASS ASP.NET SignalR Hubs API Guide – JavaScript Client SignalR.net Real Talk JavaScript Parcel Brady Gaster’s Twitter Brady Gaster’s GitHub Brady Gaster’s LinkedIn Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Brady Team on General Session Korg SeaHawks Brady’s kids Logictech spot light AirPods Charles Express VPN J5 ports and SD card readers Podwrench
Panel: Mark Ericksen Josh Adams Charles Max Wood Special Guest: Sasa Juric In this episode of Elixir Mix, the panel talks with Sasa Juric who is the author of Elixir in Action (2nd edition) and uses Elixir, Erlang, and OTP. He is from Zagreb, Croatia and you can check out his blog here! The panel talks about his book, past and current projects, in addition to configurations, and Elixir. Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Chuck: Panel. Our guest is Sasa Juric. Introduce yourself to us please. 1:12 – Guest: I am known for writing my book and my blogs. I am president to the Elixir forum and helping people out. I have been using Elixir for 5 years; in the past I have used C++ and others. 1:46 – Chuck: App env and configuration and sounds like we could talk about more. Let’s start there, though. 1:59 – Guest. 2:03 – Panel: A little background with configuration b/c it’s been a topic in the community. There is a lot of discussion around it. What is the right way? And there is a change in how we deploy software. We have more docker containers and multiple stages of deployment and tons of configurations through environment settings. Anything you can talk about that? 2:51 – (Guest answers those questions. He discusses in detail about docker configurations. Also, the guest talks about the various settings per the different environments.) 7:25 – Panel: That was a thorough summary. 7:29 – Guest: I can talk more. 7:35 – Panel: So we have background on configuration is setup and the goals we have. What are some of the ways that a person with Elixir – how do they start? Tips / advice? They have their app and trying to go to production? 8:22 – (Guest answers the question.) Guest: 90% of the time, this is what you want to do. This is what you do...build it and put it in the folder structure, and you are good to go. Why is this good? You don’t have to have a bunch of... If you are using Phoenix than you need Node.js and you don’t want to have that on your production. You can easily run side-by-side different versions of Erlang and Phoenix. 11:40 – Panel: You can do that in a single docker file? 11:47 – Guest. 11:51 – Panel: You just copy the files... 11:56 – Panel: I learned I could do that by the distiller 2.0...I hadn’t encountered that before. 12:11 – Guest: Look into the distillery. I want to give compliments to Paul and the team is great. Go to Distillery and see the tutorials. 12:37 – Panel: People think I don’t want to use docker there is an option.... 13:01 – Guest. 13:04 – Chuck: Different types of configuration? 13:13 – Guest: Right this discussion too which is probably talking about my blog post, and I have this wild thought about configurations. We can discuss the issues and different solutions. We have these configurations files and they contain these time various configurations and... There is usually more than 1 configuration file. 17:53 – Panel: You only get agreement. I have had that problem, too, saying what is this configuration? What are THE Settings that are present and yeah that is a problem? You identify these problems in your blog, where it’s not checked in and the code will not... I have had to work around that in my projects. We are going to create a sample project and it will have defaults. So we can improve the situation. 18:45 – Panel: Class based configurations – I get angry. 19:05 – Guest: I try to challenge this status quo. Some people agree and others disagree. Some say this blanket statement. 19:54 – Loot Crate! 20:47 – Guest: Another thing to note is that configurations are free form key values. Remember, my point is that it boils down to some function being involved with these values. (Guest continues...) 23:36 – What is your direction that you are proposing? 23:40 – Guest: We are going to discuss other issues. 23:49 – Panel: As background, as apart of that whole configuration in those distillery docs... 24:41 – What is the next step in the discussion? 24:48 – Guest: Let’s take a step back. (Guest talks about Distillery 2.0.) 27:09 – Guest continues... 29:50 – Panel: That makes sense and flexible. 29:58 – Guest: The other complaint is that the Phoenix generator is pushing the community in the wrong direction by forcing a lot of things by default. When you generate your project with... My team we have used the configuration b/c it seems the right way to do, but what constitutes this? Should this go here and what is a configuration? 30:52 – Panel: I don’t have a synced answer – I don’t have a boundary to say what does or doesn’t’ go in there. 31:13 – Guest: Like the operator might decide to change the HPP port or maybe you want to...? You have to make the decision – what will those things be? 31:32 – Panel: React to a configuration change, it’s very clear to... 31:57 – Guest: It is very arbitrary by its nature. One of the main things (in the blog post) my coworker said it felt like a configuration. What does that mean? Should we have some sort of rules? What is a configuration and what isn’t? 32:33 – Panel comments. 32:55 – Guest: Now I am swinging in a new extreme. You started with parameters nothing more and there is nothing more than functions and parameters. 34:41 – Chuck: You keep bringing up JSON is there a reason why? 34:55 – Guest: I am not a super fan of JSON for various reasons but we decided on JSON b/c it’s fairly easy. Most of our clients and admin can add it. 35:18 – Chuck: Asks a question. 35:30 – Guest: Getting a configuration... 36:35 – Panel. 36:39 – Guest: With Distillery 2.0... 36:47 – Chuck: What formats do you like if you don’t like JSON? 36:58 – Guest: I am not sure. I would like to run everything in Elixir directly. 37:47 – Panel: I have been using Kubernetes. I like that I can have comments. 38:00 – Panel. 38:10 – Panel. 38:17 – JSON is terrible but you can use it and everyone can, too. 38:27 – Guest: I would probably pick JSON between those two. It’s the lesser of 2 evils. 38:40 – Panel. 39:03 – Guest: The key is to clean up this configuration in the first place. My impression is... 39:30 – Panel: I wrote a library, and there was configuration but it doesn’t belong – it’s not a configuration setting nor...so where should those kinds of settings be? I know they are just parameters, but...so we can pull out our configuration files? 40:11 – Guest: It should be grouped by scope. Take Phoenix application... 41:54 – Panel: That’s your exposed configuration – conceivably – but it should be hard coded. 42:04 – Guest: It won’t be hard coded, and the server will be different in production than your machine. 42:17 – Panel. 42:30 – Guest: Precisely. You have to ask: is this a configured parameter or not? 42:43 – Chuck: Can you talk about how to encrypt and/or protect these secrets? 42:56 – Guest: There are these secrets that are broad secrets via...and it depends on you how you’re going to protect them. Use some encryption scheme. 43:20 – Panel. 43:28 – Guest: Right. 43:31 – Chuck: In Rails it has a secret file, too and you have to provide the key to the app. Then your KEY is a secret. It feels like this circular problem. 43:53 – Guest. 44:54 – Panel: When you are dealing with that sort of thing...library will absolutely assume...and it limits flexibility. 45:17 – Guest: It’s not just an Elixir thing I have seen it in Erlang, too. 47:32 – Chuck: Any stories of people getting this wrong or right? I guess people don’t talk about that; any good stories? 47:54 – Guest: A lot of stories, actually! 49:52 – Panel: Being that Elixir is a more functional language, how do I put in a configuration that will be available at runtime and available very early. I think that is why we stick things up there by putting it in there. 50:35 – Panel. 50:43 – Panel: If it is a library and passes it to a configuration - where does it put it? 50:53 – Panel: A library and not an application... 51:05 – Guest. 51:45 – Panel: Where do I put it? 52:03 – Guest: There are some libraries that have to be configured before we start. The only case that needs some setting before we start is LOGGER. 53:00 – Panel. 53:15 – Guest. 54:00 – (Guest mentions à la Carte – check it out here! It’s just a factory.) 55:38 – Chuck: Let’s do picks! 55:46 – Fresh Books! Links: Ruby Elixir JavaScript React Erlang Kubernetes JSON Logger Docker Config Rethinking App Env Distillery Documentation Elixir in Action Elixir in Action – Book – 2nd edition Elixir – Library Guidelines Elixir Forum The 12-Factor App Distillery’s Documentation GitHub: Toml-Elixir GitHub: Riak_Ensemble GitHub: Elm – Beam GitHub: CodeC-Beam Library Guidelines – Elixir Configuring Elixir Libraries Handling Configurations Etcher Tweet Mashup Sasa’s YouTube Video Sasa’s Twitter Sasa’s GitHub Sasa’s Information at Elixir Conf Sasa’s LinkedIn Josh Adams’ Email: josh@smoothterminal.com Sponsors: Loot Crate Fresh Books Cache Fly Get a Coder Job! Picks: Sasa Run-time Library Guidelines Elixir in Action – Book – 2nd edition The Erlangelist Solid Ground Chuck Tweet Mashup My JavaScript Story Channel Shush App Mark Etcher.io Josh Elm Beam
Panel: Mark Ericksen Josh Adams Charles Max Wood Special Guest: Sasa Juric In this episode of Elixir Mix, the panel talks with Sasa Juric who is the author of Elixir in Action (2nd edition) and uses Elixir, Erlang, and OTP. He is from Zagreb, Croatia and you can check out his blog here! The panel talks about his book, past and current projects, in addition to configurations, and Elixir. Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Chuck: Panel. Our guest is Sasa Juric. Introduce yourself to us please. 1:12 – Guest: I am known for writing my book and my blogs. I am president to the Elixir forum and helping people out. I have been using Elixir for 5 years; in the past I have used C++ and others. 1:46 – Chuck: App env and configuration and sounds like we could talk about more. Let’s start there, though. 1:59 – Guest. 2:03 – Panel: A little background with configuration b/c it’s been a topic in the community. There is a lot of discussion around it. What is the right way? And there is a change in how we deploy software. We have more docker containers and multiple stages of deployment and tons of configurations through environment settings. Anything you can talk about that? 2:51 – (Guest answers those questions. He discusses in detail about docker configurations. Also, the guest talks about the various settings per the different environments.) 7:25 – Panel: That was a thorough summary. 7:29 – Guest: I can talk more. 7:35 – Panel: So we have background on configuration is setup and the goals we have. What are some of the ways that a person with Elixir – how do they start? Tips / advice? They have their app and trying to go to production? 8:22 – (Guest answers the question.) Guest: 90% of the time, this is what you want to do. This is what you do...build it and put it in the folder structure, and you are good to go. Why is this good? You don’t have to have a bunch of... If you are using Phoenix than you need Node.js and you don’t want to have that on your production. You can easily run side-by-side different versions of Erlang and Phoenix. 11:40 – Panel: You can do that in a single docker file? 11:47 – Guest. 11:51 – Panel: You just copy the files... 11:56 – Panel: I learned I could do that by the distiller 2.0...I hadn’t encountered that before. 12:11 – Guest: Look into the distillery. I want to give compliments to Paul and the team is great. Go to Distillery and see the tutorials. 12:37 – Panel: People think I don’t want to use docker there is an option.... 13:01 – Guest. 13:04 – Chuck: Different types of configuration? 13:13 – Guest: Right this discussion too which is probably talking about my blog post, and I have this wild thought about configurations. We can discuss the issues and different solutions. We have these configurations files and they contain these time various configurations and... There is usually more than 1 configuration file. 17:53 – Panel: You only get agreement. I have had that problem, too, saying what is this configuration? What are THE Settings that are present and yeah that is a problem? You identify these problems in your blog, where it’s not checked in and the code will not... I have had to work around that in my projects. We are going to create a sample project and it will have defaults. So we can improve the situation. 18:45 – Panel: Class based configurations – I get angry. 19:05 – Guest: I try to challenge this status quo. Some people agree and others disagree. Some say this blanket statement. 19:54 – Loot Crate! 20:47 – Guest: Another thing to note is that configurations are free form key values. Remember, my point is that it boils down to some function being involved with these values. (Guest continues...) 23:36 – What is your direction that you are proposing? 23:40 – Guest: We are going to discuss other issues. 23:49 – Panel: As background, as apart of that whole configuration in those distillery docs... 24:41 – What is the next step in the discussion? 24:48 – Guest: Let’s take a step back. (Guest talks about Distillery 2.0.) 27:09 – Guest continues... 29:50 – Panel: That makes sense and flexible. 29:58 – Guest: The other complaint is that the Phoenix generator is pushing the community in the wrong direction by forcing a lot of things by default. When you generate your project with... My team we have used the configuration b/c it seems the right way to do, but what constitutes this? Should this go here and what is a configuration? 30:52 – Panel: I don’t have a synced answer – I don’t have a boundary to say what does or doesn’t’ go in there. 31:13 – Guest: Like the operator might decide to change the HPP port or maybe you want to...? You have to make the decision – what will those things be? 31:32 – Panel: React to a configuration change, it’s very clear to... 31:57 – Guest: It is very arbitrary by its nature. One of the main things (in the blog post) my coworker said it felt like a configuration. What does that mean? Should we have some sort of rules? What is a configuration and what isn’t? 32:33 – Panel comments. 32:55 – Guest: Now I am swinging in a new extreme. You started with parameters nothing more and there is nothing more than functions and parameters. 34:41 – Chuck: You keep bringing up JSON is there a reason why? 34:55 – Guest: I am not a super fan of JSON for various reasons but we decided on JSON b/c it’s fairly easy. Most of our clients and admin can add it. 35:18 – Chuck: Asks a question. 35:30 – Guest: Getting a configuration... 36:35 – Panel. 36:39 – Guest: With Distillery 2.0... 36:47 – Chuck: What formats do you like if you don’t like JSON? 36:58 – Guest: I am not sure. I would like to run everything in Elixir directly. 37:47 – Panel: I have been using Kubernetes. I like that I can have comments. 38:00 – Panel. 38:10 – Panel. 38:17 – JSON is terrible but you can use it and everyone can, too. 38:27 – Guest: I would probably pick JSON between those two. It’s the lesser of 2 evils. 38:40 – Panel. 39:03 – Guest: The key is to clean up this configuration in the first place. My impression is... 39:30 – Panel: I wrote a library, and there was configuration but it doesn’t belong – it’s not a configuration setting nor...so where should those kinds of settings be? I know they are just parameters, but...so we can pull out our configuration files? 40:11 – Guest: It should be grouped by scope. Take Phoenix application... 41:54 – Panel: That’s your exposed configuration – conceivably – but it should be hard coded. 42:04 – Guest: It won’t be hard coded, and the server will be different in production than your machine. 42:17 – Panel. 42:30 – Guest: Precisely. You have to ask: is this a configured parameter or not? 42:43 – Chuck: Can you talk about how to encrypt and/or protect these secrets? 42:56 – Guest: There are these secrets that are broad secrets via...and it depends on you how you’re going to protect them. Use some encryption scheme. 43:20 – Panel. 43:28 – Guest: Right. 43:31 – Chuck: In Rails it has a secret file, too and you have to provide the key to the app. Then your KEY is a secret. It feels like this circular problem. 43:53 – Guest. 44:54 – Panel: When you are dealing with that sort of thing...library will absolutely assume...and it limits flexibility. 45:17 – Guest: It’s not just an Elixir thing I have seen it in Erlang, too. 47:32 – Chuck: Any stories of people getting this wrong or right? I guess people don’t talk about that; any good stories? 47:54 – Guest: A lot of stories, actually! 49:52 – Panel: Being that Elixir is a more functional language, how do I put in a configuration that will be available at runtime and available very early. I think that is why we stick things up there by putting it in there. 50:35 – Panel. 50:43 – Panel: If it is a library and passes it to a configuration - where does it put it? 50:53 – Panel: A library and not an application... 51:05 – Guest. 51:45 – Panel: Where do I put it? 52:03 – Guest: There are some libraries that have to be configured before we start. The only case that needs some setting before we start is LOGGER. 53:00 – Panel. 53:15 – Guest. 54:00 – (Guest mentions à la Carte – check it out here! It’s just a factory.) 55:38 – Chuck: Let’s do picks! 55:46 – Fresh Books! Links: Ruby Elixir JavaScript React Erlang Kubernetes JSON Logger Docker Config Rethinking App Env Distillery Documentation Elixir in Action Elixir in Action – Book – 2nd edition Elixir – Library Guidelines Elixir Forum The 12-Factor App Distillery’s Documentation GitHub: Toml-Elixir GitHub: Riak_Ensemble GitHub: Elm – Beam GitHub: CodeC-Beam Library Guidelines – Elixir Configuring Elixir Libraries Handling Configurations Etcher Tweet Mashup Sasa’s YouTube Video Sasa’s Twitter Sasa’s GitHub Sasa’s Information at Elixir Conf Sasa’s LinkedIn Josh Adams’ Email: josh@smoothterminal.com Sponsors: Loot Crate Fresh Books Cache Fly Get a Coder Job! Picks: Sasa Run-time Library Guidelines Elixir in Action – Book – 2nd edition The Erlangelist Solid Ground Chuck Tweet Mashup My JavaScript Story Channel Shush App Mark Etcher.io Josh Elm Beam
Panel: Charles Max Wood Chris Fritz Divya Sasidharan Joe Eames John Papa Special Guest: Mike Hartington and Michael Tintiuc In this episode, the panel talks with Mike and Michael who are developers of Ionic. The panel and the guests talk about the ins-and-outs of the framework and talk about the pros and cons, too. Listen to today’s episode to hear how they discuss how Ionic is compatible with Vue and Angular. Finally, they talk about various topics, such as Cordova and Capacitor. Show Topics: 1:19 – Mike H. gives his background. He uses JavaScript every day. 1:30 – Michael T. gives his background. 1:53 – Chuck: Yes, today we are talking about Ionic. Why are we talking about that on a Vue Podcast? 2:08 – Let’s talk about what Ionic is first? 2:16 – Guest gives us the definition / background of what IONIC is. 2:32 – Guest: We have been tied to Angular (back in the day), which were Ember and jQuery bindings. We have come a far way. (He talks about web components.) Guest: We spent a year diving into web components and interweaving that with Angular. Now we are exploring other framework options. Now we are looking at Ionic with Vue. 3:34 – Chuck: I have played with Ionic, and it’s fairly to use. It’s exciting to see it come this way. I’m curious what does that look like b/c Angular and Vue aren’t the same. 4:10 – Guest explains and answers Chuck’s question. 4:50 – Chuck: Is it like using...under the hood? 4:58 – Guest: No. (He goes into detail.) 5:08 – I didn’t know that Stencil was built by that team. 5:19 – Guest: We built a 2nd project. 5:28 – Guest: There are 24 hours in a day. 5:39 – Panel: How is Ionic different than other options? 5:59 – Guest: It’s comparable to Frameworks 7. The components that you generate are all web0based. The component that you put in is the same for the web or Android. You can have 100% code reuse. 6:35 – Panel: It’s actual CSS? 6:41 – Guest: It’s full-blown CSS. If you wanted to do CSS animations then whatever the browser can support. 6:56 – Panel: Advantages or disadvantages? 7:04 – Guest: It’s easier to maintain. If you are making the next Photo Shop...(super heavy graphics) maybe web and web APIs aren’t the right way to go. 8:23 – You have access to less intense stuff? 8:34 – Guest: Yes. 8:39 – Question. 8:46 – Guest: 2 different approaches to this. 1 approach is CORDOVA and the other is CAPACITOR. 9:42 – Anything that has been built with Ionic? 9:47 – Guest: App called Untapped? Or the fitness app, SWORKIT! MarketWatch is another one. We have a whole showcase page that you can check out. 10:57 – Few apps out there that use Ionic for everything. 11:06 – Panel: I have done work with Ionic in the past. I found a sweet spot for business apps. There are things behind enterprise walls that customers can use but necessarily others. We have decided to go native and found that Ionic wasn’t a good fit. How do you feel? 11:51 – Guest: We do hear that a lot. People want to make a quick app and then... 12:20 – Panel: We chose Ionic in this project b/c we had to get it out in less than 6 weeks and the team knew JavaScript. Nobody knew Ionic besides me. After that, nothing broke and that’s a huge praise. 12:55 – Guest: I will take that good praise. 13:01 – Panel: How is it used with Vue? 13:07 – Guest: The Vue work that we’ve been doing...here are the core components. Recently we have been working with Michael and integration. They have been working on opensource. 13:45 – Michael: It was one of the first apps in Beta and Vue. It all started out as a passionate project for the opensource initiative. We wanted to build something new and use the emerging Vue.js. At the time I had no idea. It sounded cool, though, and at the time I wrote a small CUI program. I decided to make an app out of that. I wanted to meet the clients’ needs and the new tech. I went online and I saw some tutorials and I thought they had figured it out. I thought we were screwed but I guess not. Most of the things are out of the box. But the problem is that the routing was sketchy and it wouldn’t update the URL and it had to be delegated to the framework. The app is called BEEP. I cannot disclose what it means. Joking. I added to the state that everything... I tore through the screen to figure out how it works. Then it clicked. You have to extend the Vue’s official router...and then you’re done. You do a MPM install and then you call a couple of APIs and then you are done. Not even a single line of code. You have Ionic’s out of the box animations, and in our app we have a dancing... You spend a week and you’re done so I won’t use anything else. 17:35 – Panel: That’s an impressive turnaround! 17:42 – Panel: It just goes to show you that the code in Vue is so approachable to anyone. If you know a little bit of JavaScript then you know what is kind of going on. It’s pretty clean. Especially the Vue Router. 18:11 – Panel: Vue Core – some parts that can be hairy. 18:43 – We are component authors. We just need to know here is a component and here are some methods that it needs to know. 19:04 – Oh yeah, totally – I was talking more about... 19:14 – That’s what I thought for those 2 weeks cause I was looking at... 19:24 – Chuck: How do you get the Vue stuff in that and not the Angular? 19:41 – Guest answers the question. 20:20 – Panel: What was the hardest part to integrate? 20:28 – Michael: I wrote my own router. It was too much for me to write. I thought it was going to take me ages. So it took the longest to come to the idea to extending Vue’s router. I thought writing less code is the best. It took me 2 weeks to come to that conclusion. It was related to how... 22:21 – Question. 22:28 – Michael: You can use Vue router like if you used a different package. 22:40 – Panel: It is using the other router history or if you are using Hash API; since it’s all web technology? 23:03 – Guest: People don’t see the URL. 23:10 – We can teach them to pass... 23:25 – Panel: I have been interested in Ionic...when you sprinkle in some native stuff. Local databases. Getting that wasn’t too bad to work. The trick was testing that. 24:04 – Guest: A lot of manual work, unfortunately. It’s a lot of set-up work. You can do test functions but actually have that end-to-end test...can I make sure that is working correctly? A lot of manual testing. There are some cloud base platforms but I haven’t checked them out for an easier way. 25:06 – It was an Ionic issue it was... I think some of the Cloud services to better nowadays. 25:25 – Guest: It was painful to get it setup. Why do I need Clouds? 25:42 – Advertisement – Get A Coder Job! 26:19 – Let’s talk about native features. How does one do that in Vue? 26:29 – Guest talks about Vue, Capacitor, and Cordova. 27:27 – Guest: Let’s talk back to the Beep app. Lots of this stuff is really easy, as Mike was saying. That’s what I like to do – being a both a developer and a library writer. 28:00 – Panel: Imagine Slash from Guns and Roses. 28:14 – Chuck: They get this idea that it’s Java so I can share. Chuck asks a question. 28:30 – Guest: All of it. You might want to change some of the UIs. If it looks good on mobile then you can adapt that as the main app and swap that out for the traditional designs and something else. 29:03 – Panel: I can’t just drop in the same dibs for my styles on my desktop and magically look like a mobile app. 29:23 – Guest: That’s where you are wrong. Ionic does this really well. We have painstakingly made this be a thing. The guest talks about screen width, layouts, and other topics. 30:10 – Guest: It’s the same code. 30:18 – Panelist gives a hypothetical situation for the guests. 30:36 – Guest answers the question. Guest: You will have to refactor from desktop to mobile. 31:54 – Chuck. 32:10 – Michael: It’s about continuity. 32:39 – Panel: Building a Vue app we can use the Ionic Vue project to reuse that work that you did to get that back button working. 32:59 – Michael: That’s the whole point. So you guys don’t even have to think about it. So you don’t have to fiddle around with bugs. 33:17 – Panelist. 33:22 – Michael. 33:33 – Mike: Eventually we want to do a full fledge Vue project they just install Ionic Vue and it will integrate the package. 33:55 – Michael: You use the UPI and that’s it. 34:03 – Panel: Beyond the hardcore 3D sky room games are there any other reasons why I wouldn’t want to use Ionic? 34:30 – Mike: I can’t think of anything. More important question is what is your team’s experience? I wouldn’t go to a bunch of C+ devs and say: Here ya go! I wouldn’t do that. You have to figure out the team that knows Java and they don’t know native, so they will be able to reuse those skills. 35:25 – Panel: I am wondering if there is anything technically impossible because of the way Ionic works? 36:00 – Guest: If there are, I haven’t seen it, yet. There are 20,000,000 downloads so far, so I don’t think so. 36:28 – Panel: When people report an issue what do they complain about? 36:39 – Guest: Being a couple pixels off (CSS), API signatures, etc. We are seeing fewer issues on the... People are looking at functionality issues. Whenever there are issues we take care of it right away. 37:26 – Panelist asks a question. 37:32 – It’s really done well. 37:46 – Panel: Are people able to drop that into an Ionic app? 38:09 – Guest: I haven’t tried that, yet. 38:20 – Panel: I have another question: How big are Ionic apps compared to other native apps. When you are using C+ or writing in Java or Swift. 39:09 – Guest: Twitter native was a couple 100 MB app. But the apps built with Ionic are 50 MB category. They can be small or full native apps with plugins. 40:00 – Panel: Does that mean that in some cases users will have to be connected to the Internet to use the app? 40:29 – Guest answers. 41:02 – Guest: I have some good news for you all. (Guest goes into detail.) 41:39 – Chuck. 41:44 – Guest: Another comparison is my app I use for my Home Goods store is 80 MB and it’s not doing a whole lot. 42:21 – Chuck: Let’s talk data for a minute. You can get large that way if you are DL files through the app – how do you manage memory? 42:42 – Guest: That is run by the browser run-time. Sometimes too good of a job. When you are doing production cases your... 43:27 – Panel: Do you have access to Sequel Light or do you have to use in-browser storage? 43:27 – Guest: Either one. 44:16 – Sequel Light. 44:20 – Guest. 44:24 – Within Ionic you can use Sequel Light there is a plugin. 44:55 – Panelist comments. 45:23 – Michael: I want to add some clarification. You can write your own propriety files... 45:23 – I like that it sounds like it’s different than other frameworks. Instead of there being a framework way to do it there is a lot of different pieces you can plugin to different parts that is agnostic to Ionic. 46:10 – Guest talks about batteries included. 46:42 – Panel: I really like that b/c it’s the Vue approach, too. 47:21 – The guest talks about transitions. 48:07 – Chuck: If I get stuck what is the community around it? 48:25 – Guest: It’s still early right now. If you went to the code base you wouldn’t see much. We are working on the code getting into the package. The good thing is that the way it’s structure, once their APIs are set then it’s the same through Angular and Vue. Once you have that API set it’s the same thing between those 3 things. 49:13 – Guest: Let me blow your minds guys... There are 7 controllers and 99% you would go to the Ionic site. The rest is identical and that’s the cool part. If you are coming from Angular you can reuse a lot of that knowledge. 50:00 – Panel: If they wanted to build an app right now what would you recommend as their first step? 50:16 – Guest: Ionic and Vue – check out the docs and the components overviews to see what the vanilla components are like. 50:52 – Panel: Is there an example repo? 50:59 – Guest: That would be the BEEP app. 51:08 – Panel: Vue specific docs? 51:18 – Guest: Files that you can drop into your browser. 51:27 – Panel: How soon is soon? 51:31 – Guest: Most likely within the next few months. Final touches that we want to complete. 52:11 – Chuck: What about testing? 52:17 – Guest: Same way you would test a Vue app there is nothing specific for Ionic (at least for the unit tests). If you are doing integration tests that would work the same way in typical Vue setup the only quirks are... 52:56 – Question: Does Ionic offer a collection of mocks for APIs? 53:11 – Guest: Yes, but just for Angular. It’s the only framework to support. This is a good call for community members to contribute. 53:35 – Panel: Would that be a new repo for Vue? 53:44 – Guest: Contribute to the Ionic Teams’ Main Repository and open an issue – and Ping me. 54:02 – Twitter names are given. 54:13 – Panel: How do they reach you? 54:19 – Michael: My whole name slurred together. 54:39 – Panel: Anything else they should know? 54:46 – Guest: Ping us and we will get you working with Ionic. 54:54 – Guest: The cookbook examples are a good starting part. We work very hard with Ionic. 56:01 – Panel: If they have questions where should they post them – chat, or form? 56:20 – Guest: Yes, ask away – any questions. 56:41 – Panel: How do you make money? 57:00 – Guest: If you want to build the Android portion, but you don’t want to take the time, we have a hosted platform that will handle that for you. Help you create your build so you don’t have to create all of the native stuff. 57:29 – Picks! 57:35 – Chuck: I have more stuff to play with – dang it! I am happy to outsource to you, Chris! 58:00 – Sarcasm. 58:26 – Chuck: Thank you for sharing your stories, Michael and Mike! 58:38 – Advertisement – Fresh Books! DEVCHAT code. 30-day trial. Links: Vue React Angular JavaScript DevChat TV Ionic – Vue Ionic Star Track Onsen UI Beep Have I been Pawned? Michael T.’s LinkedIn Mike H.’s Twitter Michael T.’s Twitter Sponsors: Fresh Books Cache Fly Kendo UI Picks: John NMP Library – DoteNV The 12 Factor App Divya Post by Sara S. Headspace – daily meditation Chris Library called CUID Library – MapBox Netflix – The Originals Chuck Friends of Scouting – good cause to give money Michael AIRBNB Lottie Steam Support Mike Blog Post – GitHub Integration Infinity War Joe Movie Peppermint Burn After Reading Goodbye Redux
Panel: Charles Max Wood Chris Fritz Divya Sasidharan Joe Eames John Papa Special Guest: Mike Hartington and Michael Tintiuc In this episode, the panel talks with Mike and Michael who are developers of Ionic. The panel and the guests talk about the ins-and-outs of the framework and talk about the pros and cons, too. Listen to today’s episode to hear how they discuss how Ionic is compatible with Vue and Angular. Finally, they talk about various topics, such as Cordova and Capacitor. Show Topics: 1:19 – Mike H. gives his background. He uses JavaScript every day. 1:30 – Michael T. gives his background. 1:53 – Chuck: Yes, today we are talking about Ionic. Why are we talking about that on a Vue Podcast? 2:08 – Let’s talk about what Ionic is first? 2:16 – Guest gives us the definition / background of what IONIC is. 2:32 – Guest: We have been tied to Angular (back in the day), which were Ember and jQuery bindings. We have come a far way. (He talks about web components.) Guest: We spent a year diving into web components and interweaving that with Angular. Now we are exploring other framework options. Now we are looking at Ionic with Vue. 3:34 – Chuck: I have played with Ionic, and it’s fairly to use. It’s exciting to see it come this way. I’m curious what does that look like b/c Angular and Vue aren’t the same. 4:10 – Guest explains and answers Chuck’s question. 4:50 – Chuck: Is it like using...under the hood? 4:58 – Guest: No. (He goes into detail.) 5:08 – I didn’t know that Stencil was built by that team. 5:19 – Guest: We built a 2nd project. 5:28 – Guest: There are 24 hours in a day. 5:39 – Panel: How is Ionic different than other options? 5:59 – Guest: It’s comparable to Frameworks 7. The components that you generate are all web0based. The component that you put in is the same for the web or Android. You can have 100% code reuse. 6:35 – Panel: It’s actual CSS? 6:41 – Guest: It’s full-blown CSS. If you wanted to do CSS animations then whatever the browser can support. 6:56 – Panel: Advantages or disadvantages? 7:04 – Guest: It’s easier to maintain. If you are making the next Photo Shop...(super heavy graphics) maybe web and web APIs aren’t the right way to go. 8:23 – You have access to less intense stuff? 8:34 – Guest: Yes. 8:39 – Question. 8:46 – Guest: 2 different approaches to this. 1 approach is CORDOVA and the other is CAPACITOR. 9:42 – Anything that has been built with Ionic? 9:47 – Guest: App called Untapped? Or the fitness app, SWORKIT! MarketWatch is another one. We have a whole showcase page that you can check out. 10:57 – Few apps out there that use Ionic for everything. 11:06 – Panel: I have done work with Ionic in the past. I found a sweet spot for business apps. There are things behind enterprise walls that customers can use but necessarily others. We have decided to go native and found that Ionic wasn’t a good fit. How do you feel? 11:51 – Guest: We do hear that a lot. People want to make a quick app and then... 12:20 – Panel: We chose Ionic in this project b/c we had to get it out in less than 6 weeks and the team knew JavaScript. Nobody knew Ionic besides me. After that, nothing broke and that’s a huge praise. 12:55 – Guest: I will take that good praise. 13:01 – Panel: How is it used with Vue? 13:07 – Guest: The Vue work that we’ve been doing...here are the core components. Recently we have been working with Michael and integration. They have been working on opensource. 13:45 – Michael: It was one of the first apps in Beta and Vue. It all started out as a passionate project for the opensource initiative. We wanted to build something new and use the emerging Vue.js. At the time I had no idea. It sounded cool, though, and at the time I wrote a small CUI program. I decided to make an app out of that. I wanted to meet the clients’ needs and the new tech. I went online and I saw some tutorials and I thought they had figured it out. I thought we were screwed but I guess not. Most of the things are out of the box. But the problem is that the routing was sketchy and it wouldn’t update the URL and it had to be delegated to the framework. The app is called BEEP. I cannot disclose what it means. Joking. I added to the state that everything... I tore through the screen to figure out how it works. Then it clicked. You have to extend the Vue’s official router...and then you’re done. You do a MPM install and then you call a couple of APIs and then you are done. Not even a single line of code. You have Ionic’s out of the box animations, and in our app we have a dancing... You spend a week and you’re done so I won’t use anything else. 17:35 – Panel: That’s an impressive turnaround! 17:42 – Panel: It just goes to show you that the code in Vue is so approachable to anyone. If you know a little bit of JavaScript then you know what is kind of going on. It’s pretty clean. Especially the Vue Router. 18:11 – Panel: Vue Core – some parts that can be hairy. 18:43 – We are component authors. We just need to know here is a component and here are some methods that it needs to know. 19:04 – Oh yeah, totally – I was talking more about... 19:14 – That’s what I thought for those 2 weeks cause I was looking at... 19:24 – Chuck: How do you get the Vue stuff in that and not the Angular? 19:41 – Guest answers the question. 20:20 – Panel: What was the hardest part to integrate? 20:28 – Michael: I wrote my own router. It was too much for me to write. I thought it was going to take me ages. So it took the longest to come to the idea to extending Vue’s router. I thought writing less code is the best. It took me 2 weeks to come to that conclusion. It was related to how... 22:21 – Question. 22:28 – Michael: You can use Vue router like if you used a different package. 22:40 – Panel: It is using the other router history or if you are using Hash API; since it’s all web technology? 23:03 – Guest: People don’t see the URL. 23:10 – We can teach them to pass... 23:25 – Panel: I have been interested in Ionic...when you sprinkle in some native stuff. Local databases. Getting that wasn’t too bad to work. The trick was testing that. 24:04 – Guest: A lot of manual work, unfortunately. It’s a lot of set-up work. You can do test functions but actually have that end-to-end test...can I make sure that is working correctly? A lot of manual testing. There are some cloud base platforms but I haven’t checked them out for an easier way. 25:06 – It was an Ionic issue it was... I think some of the Cloud services to better nowadays. 25:25 – Guest: It was painful to get it setup. Why do I need Clouds? 25:42 – Advertisement – Get A Coder Job! 26:19 – Let’s talk about native features. How does one do that in Vue? 26:29 – Guest talks about Vue, Capacitor, and Cordova. 27:27 – Guest: Let’s talk back to the Beep app. Lots of this stuff is really easy, as Mike was saying. That’s what I like to do – being a both a developer and a library writer. 28:00 – Panel: Imagine Slash from Guns and Roses. 28:14 – Chuck: They get this idea that it’s Java so I can share. Chuck asks a question. 28:30 – Guest: All of it. You might want to change some of the UIs. If it looks good on mobile then you can adapt that as the main app and swap that out for the traditional designs and something else. 29:03 – Panel: I can’t just drop in the same dibs for my styles on my desktop and magically look like a mobile app. 29:23 – Guest: That’s where you are wrong. Ionic does this really well. We have painstakingly made this be a thing. The guest talks about screen width, layouts, and other topics. 30:10 – Guest: It’s the same code. 30:18 – Panelist gives a hypothetical situation for the guests. 30:36 – Guest answers the question. Guest: You will have to refactor from desktop to mobile. 31:54 – Chuck. 32:10 – Michael: It’s about continuity. 32:39 – Panel: Building a Vue app we can use the Ionic Vue project to reuse that work that you did to get that back button working. 32:59 – Michael: That’s the whole point. So you guys don’t even have to think about it. So you don’t have to fiddle around with bugs. 33:17 – Panelist. 33:22 – Michael. 33:33 – Mike: Eventually we want to do a full fledge Vue project they just install Ionic Vue and it will integrate the package. 33:55 – Michael: You use the UPI and that’s it. 34:03 – Panel: Beyond the hardcore 3D sky room games are there any other reasons why I wouldn’t want to use Ionic? 34:30 – Mike: I can’t think of anything. More important question is what is your team’s experience? I wouldn’t go to a bunch of C+ devs and say: Here ya go! I wouldn’t do that. You have to figure out the team that knows Java and they don’t know native, so they will be able to reuse those skills. 35:25 – Panel: I am wondering if there is anything technically impossible because of the way Ionic works? 36:00 – Guest: If there are, I haven’t seen it, yet. There are 20,000,000 downloads so far, so I don’t think so. 36:28 – Panel: When people report an issue what do they complain about? 36:39 – Guest: Being a couple pixels off (CSS), API signatures, etc. We are seeing fewer issues on the... People are looking at functionality issues. Whenever there are issues we take care of it right away. 37:26 – Panelist asks a question. 37:32 – It’s really done well. 37:46 – Panel: Are people able to drop that into an Ionic app? 38:09 – Guest: I haven’t tried that, yet. 38:20 – Panel: I have another question: How big are Ionic apps compared to other native apps. When you are using C+ or writing in Java or Swift. 39:09 – Guest: Twitter native was a couple 100 MB app. But the apps built with Ionic are 50 MB category. They can be small or full native apps with plugins. 40:00 – Panel: Does that mean that in some cases users will have to be connected to the Internet to use the app? 40:29 – Guest answers. 41:02 – Guest: I have some good news for you all. (Guest goes into detail.) 41:39 – Chuck. 41:44 – Guest: Another comparison is my app I use for my Home Goods store is 80 MB and it’s not doing a whole lot. 42:21 – Chuck: Let’s talk data for a minute. You can get large that way if you are DL files through the app – how do you manage memory? 42:42 – Guest: That is run by the browser run-time. Sometimes too good of a job. When you are doing production cases your... 43:27 – Panel: Do you have access to Sequel Light or do you have to use in-browser storage? 43:27 – Guest: Either one. 44:16 – Sequel Light. 44:20 – Guest. 44:24 – Within Ionic you can use Sequel Light there is a plugin. 44:55 – Panelist comments. 45:23 – Michael: I want to add some clarification. You can write your own propriety files... 45:23 – I like that it sounds like it’s different than other frameworks. Instead of there being a framework way to do it there is a lot of different pieces you can plugin to different parts that is agnostic to Ionic. 46:10 – Guest talks about batteries included. 46:42 – Panel: I really like that b/c it’s the Vue approach, too. 47:21 – The guest talks about transitions. 48:07 – Chuck: If I get stuck what is the community around it? 48:25 – Guest: It’s still early right now. If you went to the code base you wouldn’t see much. We are working on the code getting into the package. The good thing is that the way it’s structure, once their APIs are set then it’s the same through Angular and Vue. Once you have that API set it’s the same thing between those 3 things. 49:13 – Guest: Let me blow your minds guys... There are 7 controllers and 99% you would go to the Ionic site. The rest is identical and that’s the cool part. If you are coming from Angular you can reuse a lot of that knowledge. 50:00 – Panel: If they wanted to build an app right now what would you recommend as their first step? 50:16 – Guest: Ionic and Vue – check out the docs and the components overviews to see what the vanilla components are like. 50:52 – Panel: Is there an example repo? 50:59 – Guest: That would be the BEEP app. 51:08 – Panel: Vue specific docs? 51:18 – Guest: Files that you can drop into your browser. 51:27 – Panel: How soon is soon? 51:31 – Guest: Most likely within the next few months. Final touches that we want to complete. 52:11 – Chuck: What about testing? 52:17 – Guest: Same way you would test a Vue app there is nothing specific for Ionic (at least for the unit tests). If you are doing integration tests that would work the same way in typical Vue setup the only quirks are... 52:56 – Question: Does Ionic offer a collection of mocks for APIs? 53:11 – Guest: Yes, but just for Angular. It’s the only framework to support. This is a good call for community members to contribute. 53:35 – Panel: Would that be a new repo for Vue? 53:44 – Guest: Contribute to the Ionic Teams’ Main Repository and open an issue – and Ping me. 54:02 – Twitter names are given. 54:13 – Panel: How do they reach you? 54:19 – Michael: My whole name slurred together. 54:39 – Panel: Anything else they should know? 54:46 – Guest: Ping us and we will get you working with Ionic. 54:54 – Guest: The cookbook examples are a good starting part. We work very hard with Ionic. 56:01 – Panel: If they have questions where should they post them – chat, or form? 56:20 – Guest: Yes, ask away – any questions. 56:41 – Panel: How do you make money? 57:00 – Guest: If you want to build the Android portion, but you don’t want to take the time, we have a hosted platform that will handle that for you. Help you create your build so you don’t have to create all of the native stuff. 57:29 – Picks! 57:35 – Chuck: I have more stuff to play with – dang it! I am happy to outsource to you, Chris! 58:00 – Sarcasm. 58:26 – Chuck: Thank you for sharing your stories, Michael and Mike! 58:38 – Advertisement – Fresh Books! DEVCHAT code. 30-day trial. Links: Vue React Angular JavaScript DevChat TV Ionic – Vue Ionic Star Track Onsen UI Beep Have I been Pawned? Michael T.’s LinkedIn Mike H.’s Twitter Michael T.’s Twitter Sponsors: Fresh Books Cache Fly Kendo UI Picks: John NMP Library – DoteNV The 12 Factor App Divya Post by Sara S. Headspace – daily meditation Chris Library called CUID Library – MapBox Netflix – The Originals Chuck Friends of Scouting – good cause to give money Michael AIRBNB Lottie Steam Support Mike Blog Post – GitHub Integration Infinity War Joe Movie Peppermint Burn After Reading Goodbye Redux
Panel: Charles Max Wood Chris Fritz Special Guest: Kyle Holmberg & Alex Regan In this episode, the panel talks with two guests Kyle and Alex who work together in opensource. Kyle is a software engineer at AutoGravity interested in full-stack web development, graphic design, integrated systems, data visualizations, and soccer. Alex writes code and works with Parametric Studios, and he also loves puppies. Check out today’s episode where the panel and the two guests talk about the different frameworks and contributing to opensource. Show Topics: 3:03 – We got together because Alex mentioned his project. He was looking for something to get up running nice and easy. Boot Strap 4. That is a nice choice and I was contributing as a core team member at the time. He started with how do I get started with Boot Strap Vue. At the time I asked how do you do this...? And that’s how we got started. 4:03 – Guest continues more with this conversation. 4:30 – Chris: How did you start contributing within your company? 4:44 – Guest: There is a lot of autonomy with the last company I was working with (3 people there). I needed more fine tooth hooks and modals. Someone says X and you try to figure it out. So I was looking at the transitions, and there was a bug there. They hadn’t implemented any hooks, and I thought I could figure this out. From there, if you want a change I can help out. I don’t know if that change got implemented first. I started contributing some things to the library. I really got involved where someone (the creator of the library said you could be a core member. He took a trust in me. I started a lot in test coverage. That might not be the normal path to take. 6:39 – How long have you been developing? 6:42 – Guest: A year and a half. 7:00 – Chris: Any tips to opensource for beginners. 7:10 – Guest: Yes, having a thick skin. Everyone is anonymous on the Internet. People say things that they normally wouldn’t say in person. I figure if you put something out there someone will correct you. How can I get feedback? If you put yourself out there it’s like: failure to success. That process is what makes you better. 8:21 – Chris: Issues and chat like that. There is a lot of context that gets lost. When you just see the text it may seem angry 8:43 – Guest: I have a tendency towards sarcasm, and I have to save that to last. People come from different languages, and I’m not talking about software languages. English isn’t everyone’s first language. Good thing to keep in-mind. 9:14 – Internet is an international community. 9:22 – Guest continues this talk. Opensource is good to work on to get started with contributions. Especially with Operation Code it’s geared towards beginners; less complex. 10:30 – That is a good difference to show. 11:01 – Question. 11:05 – Guest. If you are a person with a lot of skin in their projects – I take pride in my work – I think if you have that mentality that you will want to submit to every request. Find some way to test every request against a...is this my concern or their concern? Figure out the boundaries. You will make mistakes and that’s fine. 11:54 – Panelist. 12:02 – Guest: Coming up with good interface boundaries for your libraries. 12:11 – Chuck: Once we figured out what really mattered than it makes it easier to say: yes or no. 12:26 - Guest: Conventional Commits. 13:06 – So Kyle what did you getting into opensource look like? 13:19 – Alex: Boot Strap. Operation Code. 15:07 – Chuck chimes-in about Aimee Knight and other people. Serving people and their country. You are helping people who have sacrificed. 15:58 – It is totally volunteer-based. 16:05 – Chris: What kind of questions did you ask Alex? How did you decide what to put in an issue? 16:25 – Alex: I tend to go to Stack Overflow. If it is in regards to a library I go to GitHub. Real time texts. Next.js – I just contributed to this this week. 19:21 – Chris: This question is for either one of you. For Questions and Answers – do you have any suggestions on what NOT to do when seeking help? 19:46 – Stay away from only asking a question in one sentence. There is so much information/context that you are leaving out, and that can often lead to more questions. Reasonable amount of contexts can go a long way. Code samples. Please Google the details for the markdown if it is a huge code. Context, context, context! 20:44 – I have an error, please fix it. Maybe that needs more context? 20:53 – Guest: What were you doing? There is a bigger overarching element. The problem they can see in front of them and what is the thing that you are TRYING to solve? 21:44 – More contexts that can help with a helpful answer. 21:53 – Guest: If someone used some learning tool... 22:13 – Chuck chimes-in. Chuck: It is something different that it could do something that you didn’t expect. 22:47 – Alex: Those are great moments. I love it when Kyle sees... That snowflake of your problem can help with documentation caveats. 23:44 – People are probably copying pasting. 24:05 – It can be the difference between understanding the page and not especially What not to do and what to do – any other tips? Can you have too much information? 24:32 – Guest: I am guilty of this sometimes. You can have too much information. The ability to converse in a real-time conversation is better. That’s my route to go. Maybe your problem is documented but documented poorly. Go to a real-time conversation to hash things out. 26:15 – Guest: If you do your homework with the different conversations: questions vs. concerns. Real-time conversation. He talks about GitHub issues and Stack Overflow. 27:48 – Chuck: My password is 123... If they can duplicate... Alex: Yeah too much information isn’t good. Some places mandate recreation like a JS Fiddle. Like Sandbox are cool tools. 29:32 – Is there a way to do the code wrong? 29:38 – Advertisement. 30:25 – Guest chimes-in with his answer. 31:31 – Question. If it’s opensource should they share? 31:33 – Absolutely. The difference that makes it for me is great. I can spot things that the machine can help me find. One small tip is when you provide code samples and GitHub issues use... The further you go out to recreate the problem there is a high payoff because they can get something working. The big difference is that it’s a huge pain to the person trying to convey the issue. If I do the simple version...I think you have to weigh your options. What tools are out there? Generate your data structure – there are costs to recreate the issue. 33:35 – Chris: 500 files, apps within the app – intercommunicating. All you do is download this, install this, it takes you ½ a day and how does this all work? 34:03 – Guest: You have to rein it in. Provide the easiest environment for it to occur. If you are having someone download a table and import it, and use a whole stack – you can try it – but I would advise to work really hard to find... 34:50 – In creating a demo keep it simple? 35:52 – Guests reply. 36:02 – Chuck. 36:07 – Chris: I learned about your experiences coming to opensource. Anything else that you would like to share with new contributors? 36:25 – Guest: Start with something that you have a genuine interest in. Something like a curiosity light bulb is on. It makes it more interesting. It’s a nice way to give back. Something that interests you. I have not found a case yet that I’m not compelled to help someone. Putting yourself out there you might be given a plate you don’t know what to do with. My learning experience is how welcoming opensource is. Maybe things are changing? 38:31 – Chuck: I have seen those communities but generally if they are there people frown down upon it. The newer opensource communities are very friendly. These projects are trying to gain adoptions, which is for the newer users. 39:17 – Guest: Final statements on opensource. Even if you think it is a small contribution it still helps. 40:55 – Guest chimes-in. It is important to have a platter for newcomers. 41:15 – Chris: I am curious to talk to you about how you’ve written React applications among others. Any advice? What resources should they 41:46 – Guest: Yeah. If you are making your new React application (from Vue land) there are many things that are similar and things that are different. As for preparing yourself, I am a huge fan of this one course. I had been coding (plus school) so 5 years, it’s okay to dive-into community courses. Dive-into a tutorial. Understand the huge core differences. He goes into those differences between React, Angular, and Vue. 43:30 – Guest talks about this, too. 45:50 – React doesn’t have an official router. Vue provides (he likes Vue’s mentality) other things. There is a library called One Loader. 46:50 – Guest: I was at a Meetup. One guy was doing C-sharp and game development. His wife had a different background, and I think they were sampling Angular, Vue, and React - all these different frameworks. That was interesting to talk with them. I relayed to them that Vue has free tutorials. Jeffry had an awesome Vue Cast. I think that’s what got me started in Vue. I learned from this tool and so can you! 48:11 – Chris: You aren’t starting from scratch if you know another framework? Do they translate well? 48:33 – Guest: I think so. There are a lot of ways to translate those patterns. 49:34 – Guest: React Rally – I just went to one. 49:50 – Chris chimes-in. Slots is mentioned 50:27 – Guest mentions the different frameworks. Guest: I went into functional components in Vue. I learned about the way... It helps you translate ideas. I don’t recommend it to everyone, but if you want to dig deep then it can help bridge the gap between one frameworks to another. 51:24 – Chris adds to this conversation. 51:36 – Guest: They are translatable. They are totally map-able. 5:46 – Chuck: Say someone was going to be on a Summit where they could meet with the React Core Team. What things would you suggest with them – and say these things are working here and these are working there. 52:12 – Guest: I would love to see... 53:03 – React doesn’t have a reactivity system you’d have to tell it more to... 53:15 – Guest chimes-in. Panel and guests go back-and-forth with this topic. 54:16 – Tooling. 55:38 – Guest: With React coming out with time slicing features how does that map to Vue and what can you say from one team to another. What is there to review? There is a lot of great things you can do with... 56:44 – Conversation continues. 57:59 – React has some partial answers to that, too. Progress. 58:10 – When Vue came onto the scene everyone felt like why do we need another framework? We have Ember, and... But with Vue it felt cohesive. It had an opportunity to learn from all the other frameworks. In terms of progress everyone is on the frontlines and learning from each other. Everyone has a different view on it. How can se learn from this and...? 59:12 – Chris: I am grateful for the different frameworks. Anyone comes out with a new tool then it’s the best. Creating something that is even better than before. 59:38 – Guest. 59:49 – Chuck: There are good frameworks out there why do I need another one. That’s the point. Someone will come along and say: I like what’s out there but I want to make... That’s what Vue was right? In some ways Vue was a leap forward and some ways it wasn’t – that’s how I feel. We need something to make things a bit easier to save 10 hours a week. 1:01:11 – Even Vue’s... 1:02:20 – Guest: In terms of why do we need another framework conversation – I don’t think we need another reason. Go ahead, what if it is groundbreaking it makes everyone do things differently and keep up. I love the idea that JavaScript is saying: what is the new framework today? The tradeoff there is that there are so many different ways to do things. It is hard for beginners. 1:03:88 – Chuck: How to find you online? 1:03:49 – Kyle states his social media profiles, so does Alex, too. 1:04:06 – Chuck: Let’s do some picks! 1:04:10 – Code Badges’ Advertisement Links: JSON Generator Ember.js Vue React Angular JavaScript Udemy One-Loader YouTube Talk: Beyond React 16 by Dan Abramov Badgr Kickstarter: CodeBadge.org Alex Sasha Regan’s Twitter Kyle Holmberg’s Twitter Kyle’s website Dev.to – Alex’s information DevChat TV GitHub Meetup Operation Code Sponsors: Kendo UI Digital Ocean Code Badge Cache Fly Picks: Chris Home decorating shows Charles TerraGenesis GetaCoderJob.com Swag.devchat.tv Codebadge.org Kyle OperationCode Yet Another React vs.Vue Article Hacktoberfest Alex Uplift Standing Desk System 76 Rust
Panel: Charles Max Wood Chris Fritz Special Guest: Kyle Holmberg & Alex Regan In this episode, the panel talks with two guests Kyle and Alex who work together in opensource. Kyle is a software engineer at AutoGravity interested in full-stack web development, graphic design, integrated systems, data visualizations, and soccer. Alex writes code and works with Parametric Studios, and he also loves puppies. Check out today’s episode where the panel and the two guests talk about the different frameworks and contributing to opensource. Show Topics: 3:03 – We got together because Alex mentioned his project. He was looking for something to get up running nice and easy. Boot Strap 4. That is a nice choice and I was contributing as a core team member at the time. He started with how do I get started with Boot Strap Vue. At the time I asked how do you do this...? And that’s how we got started. 4:03 – Guest continues more with this conversation. 4:30 – Chris: How did you start contributing within your company? 4:44 – Guest: There is a lot of autonomy with the last company I was working with (3 people there). I needed more fine tooth hooks and modals. Someone says X and you try to figure it out. So I was looking at the transitions, and there was a bug there. They hadn’t implemented any hooks, and I thought I could figure this out. From there, if you want a change I can help out. I don’t know if that change got implemented first. I started contributing some things to the library. I really got involved where someone (the creator of the library said you could be a core member. He took a trust in me. I started a lot in test coverage. That might not be the normal path to take. 6:39 – How long have you been developing? 6:42 – Guest: A year and a half. 7:00 – Chris: Any tips to opensource for beginners. 7:10 – Guest: Yes, having a thick skin. Everyone is anonymous on the Internet. People say things that they normally wouldn’t say in person. I figure if you put something out there someone will correct you. How can I get feedback? If you put yourself out there it’s like: failure to success. That process is what makes you better. 8:21 – Chris: Issues and chat like that. There is a lot of context that gets lost. When you just see the text it may seem angry 8:43 – Guest: I have a tendency towards sarcasm, and I have to save that to last. People come from different languages, and I’m not talking about software languages. English isn’t everyone’s first language. Good thing to keep in-mind. 9:14 – Internet is an international community. 9:22 – Guest continues this talk. Opensource is good to work on to get started with contributions. Especially with Operation Code it’s geared towards beginners; less complex. 10:30 – That is a good difference to show. 11:01 – Question. 11:05 – Guest. If you are a person with a lot of skin in their projects – I take pride in my work – I think if you have that mentality that you will want to submit to every request. Find some way to test every request against a...is this my concern or their concern? Figure out the boundaries. You will make mistakes and that’s fine. 11:54 – Panelist. 12:02 – Guest: Coming up with good interface boundaries for your libraries. 12:11 – Chuck: Once we figured out what really mattered than it makes it easier to say: yes or no. 12:26 - Guest: Conventional Commits. 13:06 – So Kyle what did you getting into opensource look like? 13:19 – Alex: Boot Strap. Operation Code. 15:07 – Chuck chimes-in about Aimee Knight and other people. Serving people and their country. You are helping people who have sacrificed. 15:58 – It is totally volunteer-based. 16:05 – Chris: What kind of questions did you ask Alex? How did you decide what to put in an issue? 16:25 – Alex: I tend to go to Stack Overflow. If it is in regards to a library I go to GitHub. Real time texts. Next.js – I just contributed to this this week. 19:21 – Chris: This question is for either one of you. For Questions and Answers – do you have any suggestions on what NOT to do when seeking help? 19:46 – Stay away from only asking a question in one sentence. There is so much information/context that you are leaving out, and that can often lead to more questions. Reasonable amount of contexts can go a long way. Code samples. Please Google the details for the markdown if it is a huge code. Context, context, context! 20:44 – I have an error, please fix it. Maybe that needs more context? 20:53 – Guest: What were you doing? There is a bigger overarching element. The problem they can see in front of them and what is the thing that you are TRYING to solve? 21:44 – More contexts that can help with a helpful answer. 21:53 – Guest: If someone used some learning tool... 22:13 – Chuck chimes-in. Chuck: It is something different that it could do something that you didn’t expect. 22:47 – Alex: Those are great moments. I love it when Kyle sees... That snowflake of your problem can help with documentation caveats. 23:44 – People are probably copying pasting. 24:05 – It can be the difference between understanding the page and not especially What not to do and what to do – any other tips? Can you have too much information? 24:32 – Guest: I am guilty of this sometimes. You can have too much information. The ability to converse in a real-time conversation is better. That’s my route to go. Maybe your problem is documented but documented poorly. Go to a real-time conversation to hash things out. 26:15 – Guest: If you do your homework with the different conversations: questions vs. concerns. Real-time conversation. He talks about GitHub issues and Stack Overflow. 27:48 – Chuck: My password is 123... If they can duplicate... Alex: Yeah too much information isn’t good. Some places mandate recreation like a JS Fiddle. Like Sandbox are cool tools. 29:32 – Is there a way to do the code wrong? 29:38 – Advertisement. 30:25 – Guest chimes-in with his answer. 31:31 – Question. If it’s opensource should they share? 31:33 – Absolutely. The difference that makes it for me is great. I can spot things that the machine can help me find. One small tip is when you provide code samples and GitHub issues use... The further you go out to recreate the problem there is a high payoff because they can get something working. The big difference is that it’s a huge pain to the person trying to convey the issue. If I do the simple version...I think you have to weigh your options. What tools are out there? Generate your data structure – there are costs to recreate the issue. 33:35 – Chris: 500 files, apps within the app – intercommunicating. All you do is download this, install this, it takes you ½ a day and how does this all work? 34:03 – Guest: You have to rein it in. Provide the easiest environment for it to occur. If you are having someone download a table and import it, and use a whole stack – you can try it – but I would advise to work really hard to find... 34:50 – In creating a demo keep it simple? 35:52 – Guests reply. 36:02 – Chuck. 36:07 – Chris: I learned about your experiences coming to opensource. Anything else that you would like to share with new contributors? 36:25 – Guest: Start with something that you have a genuine interest in. Something like a curiosity light bulb is on. It makes it more interesting. It’s a nice way to give back. Something that interests you. I have not found a case yet that I’m not compelled to help someone. Putting yourself out there you might be given a plate you don’t know what to do with. My learning experience is how welcoming opensource is. Maybe things are changing? 38:31 – Chuck: I have seen those communities but generally if they are there people frown down upon it. The newer opensource communities are very friendly. These projects are trying to gain adoptions, which is for the newer users. 39:17 – Guest: Final statements on opensource. Even if you think it is a small contribution it still helps. 40:55 – Guest chimes-in. It is important to have a platter for newcomers. 41:15 – Chris: I am curious to talk to you about how you’ve written React applications among others. Any advice? What resources should they 41:46 – Guest: Yeah. If you are making your new React application (from Vue land) there are many things that are similar and things that are different. As for preparing yourself, I am a huge fan of this one course. I had been coding (plus school) so 5 years, it’s okay to dive-into community courses. Dive-into a tutorial. Understand the huge core differences. He goes into those differences between React, Angular, and Vue. 43:30 – Guest talks about this, too. 45:50 – React doesn’t have an official router. Vue provides (he likes Vue’s mentality) other things. There is a library called One Loader. 46:50 – Guest: I was at a Meetup. One guy was doing C-sharp and game development. His wife had a different background, and I think they were sampling Angular, Vue, and React - all these different frameworks. That was interesting to talk with them. I relayed to them that Vue has free tutorials. Jeffry had an awesome Vue Cast. I think that’s what got me started in Vue. I learned from this tool and so can you! 48:11 – Chris: You aren’t starting from scratch if you know another framework? Do they translate well? 48:33 – Guest: I think so. There are a lot of ways to translate those patterns. 49:34 – Guest: React Rally – I just went to one. 49:50 – Chris chimes-in. Slots is mentioned 50:27 – Guest mentions the different frameworks. Guest: I went into functional components in Vue. I learned about the way... It helps you translate ideas. I don’t recommend it to everyone, but if you want to dig deep then it can help bridge the gap between one frameworks to another. 51:24 – Chris adds to this conversation. 51:36 – Guest: They are translatable. They are totally map-able. 5:46 – Chuck: Say someone was going to be on a Summit where they could meet with the React Core Team. What things would you suggest with them – and say these things are working here and these are working there. 52:12 – Guest: I would love to see... 53:03 – React doesn’t have a reactivity system you’d have to tell it more to... 53:15 – Guest chimes-in. Panel and guests go back-and-forth with this topic. 54:16 – Tooling. 55:38 – Guest: With React coming out with time slicing features how does that map to Vue and what can you say from one team to another. What is there to review? There is a lot of great things you can do with... 56:44 – Conversation continues. 57:59 – React has some partial answers to that, too. Progress. 58:10 – When Vue came onto the scene everyone felt like why do we need another framework? We have Ember, and... But with Vue it felt cohesive. It had an opportunity to learn from all the other frameworks. In terms of progress everyone is on the frontlines and learning from each other. Everyone has a different view on it. How can se learn from this and...? 59:12 – Chris: I am grateful for the different frameworks. Anyone comes out with a new tool then it’s the best. Creating something that is even better than before. 59:38 – Guest. 59:49 – Chuck: There are good frameworks out there why do I need another one. That’s the point. Someone will come along and say: I like what’s out there but I want to make... That’s what Vue was right? In some ways Vue was a leap forward and some ways it wasn’t – that’s how I feel. We need something to make things a bit easier to save 10 hours a week. 1:01:11 – Even Vue’s... 1:02:20 – Guest: In terms of why do we need another framework conversation – I don’t think we need another reason. Go ahead, what if it is groundbreaking it makes everyone do things differently and keep up. I love the idea that JavaScript is saying: what is the new framework today? The tradeoff there is that there are so many different ways to do things. It is hard for beginners. 1:03:88 – Chuck: How to find you online? 1:03:49 – Kyle states his social media profiles, so does Alex, too. 1:04:06 – Chuck: Let’s do some picks! 1:04:10 – Code Badges’ Advertisement Links: JSON Generator Ember.js Vue React Angular JavaScript Udemy One-Loader YouTube Talk: Beyond React 16 by Dan Abramov Badgr Kickstarter: CodeBadge.org Alex Sasha Regan’s Twitter Kyle Holmberg’s Twitter Kyle’s website Dev.to – Alex’s information DevChat TV GitHub Meetup Operation Code Sponsors: Kendo UI Digital Ocean Code Badge Cache Fly Picks: Chris Home decorating shows Charles TerraGenesis GetaCoderJob.com Swag.devchat.tv Codebadge.org Kyle OperationCode Yet Another React vs.Vue Article Hacktoberfest Alex Uplift Standing Desk System 76 Rust
Talking about dating in today’s world from a females POV. Guest “There’s something about Mary”
This Week’s Guest: There are three “M”s in transforming your business: mentors, modeling, and masterminds. In this episode, we’ll hear about all three from the remarkable Roland Frasier. Roland is a principal partner at DigitalMarketer.com, which produces the Traffic & Conversion Summit. If you don’t recognize DigitalMarketer.com in that context, you may recognize it because we’ve had two guests from the company on previous episodes of this podcast: Molly Pitman and Christine Hass. But let’s get back to Roland. He started in real estate at 18 years old, then went on to found one of the top law firms in San Diego. From there, he transitioned into marketing. Now, he’s a principal at Idea Incubator, which owns DigitalMarketer.com and NativeCommerce.com. He and his business partners, Ryan Deiss and Perry Belcher, have four companies on the Inc 5000 list. Find Out More About Roland Here: Roland FrasierRoland Frasier on Facebook@RolandFrasier on TwitterRoland Frasier on LinkedIn In This Episode: [01:52] - We hear about how Roland got started in online marketing, and how he made the transition from law. He also discusses getting to know Ryan Deiss and Perry Belcher (CHECK AND LINK NAMES) [08:04] - Roland talks about the War Room, a high-end mastermind for people who are doing business. The minimum to join is doing 7 figures a year in business, he explains, then goes into more depth about the group itself. [14:13] - Stephan reveals that he hasn’t participated in the War Room yet, but has been involved with Tony Robbins’ Platinum Partnership. [15:00] - What makes the War Room different from other high-level masterminds? [17:50] - Stephan steps in for a moment to talk about Tony Robbins. [19:03] - Network and perspective are major foundations, Roland says, and explains that the perspective offered in the War Room is invaluable. [20:10] - We hear about the fee for being in the War Room. Stephan then spends some time talking about The Society. [24:20] - What did the evolution of working with mentors look like for Roland? [28:49] - Roland talks about how to incentivize a mentor to work with you. He also explores the difference between coaches, mentors, and masterminds. [33:22] - Roland is mentoring his sons, but also tends to be fairly available to help people who ask. He doesn’t have any formal mentees, but has quite a few people to whom he provides ongoing support. [34:42] - We hear more about Roland’s business relationship with his 25-year-old son, who was interested in what Roland did from the time he was a teenager. [38:14] - Stephan discusses the importance of not giving handouts to people (particularly your children) too easily. Roland agrees, and elaborates on the point. [39:26] - Does Roland have his son pay to take part in War Room events? It’s a trade, Roland answers, and explains the arrangement they have. [40:50] - In response to Roland’s talk about his son, Stephan talks about his daughter, Chloe Spencer, who has actually been on Marketing Speak. [42:59] - Roland explains how his son found a business contact. [44:14] - We learn about Roland’s relationship with Frank Kern, who has become one of his closest friends. [46:31] - Stephan and Roland talk about the idea that you’re the average of the five people you hang out with the most. [48:27] - One of the key things Stephan uses when he’s deciding whether to hire someone is the “honesty test,” which he explains here. [49:40] - Roland offers some final advice. Links and Resources: Roland FrasierRoland Frasier on Facebook@RolandFrasier on TwitterTraffic & Conversion SummitWar Room MastermindPlatinum PartnershipGenius NetworkTime Collapsing AcademyFlight Club MastermindMaverick1000The SocietyThe Socratic methodChloe Spencer (on Marketing Speak)