POPULARITY
Why is Big Mike getting out of a car in what seems to be an abandoned lot? What was Emmett’s original relationship with Chuck? What’s Pups & ‘Puters? Find out the answers to these, and more, this week on GCY as we dive into Season 2's "Declassified Scenes." Chris helms the ship as his loose cannon co-host goes noteless for the first time in GCY history, while Erin comes up with her next film festival gamut and our hosts learn about the perfect fingernail length thanks to one of Chuck's former flames. Plus: our hosts take Buzzfeed's unofficial "Which Chuck Character Are You?" quiz! Just because season two is over doesn’t mean we can’t spend over an hour discussing Chuck! Find us on Twitter @gochuckpodcast or email us at gochuckyourselfpodcast@gmail.com. Theme music: “Warm Up” by Hadokowa via freemusicarchive.org. Cover Art by Molly Gillespie @ www.mollyegillespie.com.
Sponsors: KendoUI Sentry use the code "devchat" for $100 credit Clubhouse Panel: Charles Max Wood Special Guests: Ed Thomson In this episode, the Charles speaks with Ed Thomson who is a Program Manager at Azure through Microsoft, Developer, and Open Source Maintainer. Ed and Chuck discuss in full detail about Azure DevOps! Check out today’s episode to hear its new features and other exciting news! Show Topics: 0:59 – Live at Microsoft Ignite 1:03 – Ed: Hi! I am a Program Manager at Azure. 1:28 – Rewind 2 episodes to hear more about Azure DevOps! 1:51 – Ed: One of the moves from Pipelines to DevOps – they could still adopt Pipelines. Now that they are separate services – it’s great. 2:38 – Chuck talks about features he does and doesn’t use. 2:54 – Ed. 3:00 – Chuck: Repos and Pipelines. I am going to dive right in. Let’s talk about Repos. Microsoft just acquired GitHub. 3:18 – Ed: Technically we have not officially acquired GitHub. 3:34 – Chuck: It’s not done. It’s the end of September now. 3:55 – Ed: They will remain the same thing for a while. GitHub is the home for open source. Repos – we use it in Microsoft. Repositories are huge. There are 4,000 engineers working in these repositories. Everyone works in his or her own little area, and you have to work together. You have to do all this engineering to get there. We bit a tool and it basically if you run clone... Ed continues to talk about this topic. He is talking about One Drive and these repositories. 6:28 – Ed: We aren’t going to be mixing and matching. I used to work through GitHub. It’s exciting to see those people work close to me. 6:54 – Chuck. 6:59 – Ed: It has come a long way. 7:07 – Chuck: Beyond the FSF are we talking about other features or? 7:21 – Ed: We have unique features. We have branch policies. You can require that people do pole request. You have to use pole request and your CI has to pass and things like that. I think there is a lot of richness in our auditing. We have enterprise focus. At its core it still is Git. We can all interoperate. 8:17 – Chuck. 8:37 – Ed: You just can’t set it up with Apache. You have to figure it out. 8:51 – Chuck: The method of pushing and pulling. 9:06 – Chuck: You can try DevOps for free up to 5 users and unlimited private repos. People are interested in this because GitHub makes you pay for that. 9:38 – Ed and Chuck continue to talk. 9:50 – Ed: Pipelines is the most interesting thing we are working on. We have revamped the entire experience. Build and release. It’s easy to get started. We have a visual designer. Super helpful – super straightforward. Releases once your code is built – get it out to production say for example Azure. It’s the important thing to get your code out there. 10:55 – Chuck: How can someone start with this? 11:00 – Ed: Depends on where your repository is. It will look at your code. “Oh, I know what that is, I know how to build that!” Maybe everyone isn’t doing everything with JavaScript. If you are using DotNet then it will know. 12:05 – Chuck: What if I am using both a backend and a frontend? 12:11 – Ed: One repository? That’s when you will have to do a little hand packing on the... There are different opportunities there. If you have a bash script that does it for you. If not, then you can orchestrate it. Reduce the time it takes. If it’s an open source project; there’s 2 – what are you going to do with the other 8? You’d be surprised – people try to sneak that in there. 13:30 – Chuck: It seems like continuous integration isn’t a whole lot complicated. 13:39 – Ed: I am a simple guy that’s how I do it. You can do advanced stuff, though. The Cake Build system – they are doing some crazy things. We have got Windows, Lennox, and others. Are you building for Raspberries Pies, then okay, do this... It’s not just running a script. 15:00 – Chuck: People do get pretty complicated if they want. It can get complicated. Who knows? 15:26 – Chuck: How much work do you have to do to set-up a Pipeline like that? 15:37 – Ed answers the question in detail. 16:03 – Chuck asks a question. 16:12 – Ed: Now this is where it gets contentious. If one fails... Our default task out of the box... 16:56 – Chuck: If you want 2 steps you can (like me who is crazy). 17:05 – Ed: Yes, I want to see if it failed. 17:17 – Chuck: Dude, writing code is hard. Once you have it built and tested – continuous deployment. 17:33 – Ed: It’s very easy. It’s super straightforward, it doesn’t have to be Azure (although I hope it is!). Ed continues this conversation. 18:43 – Chuck: And it just pulls it? 18:49 – Ed: Don’t poke holes into your firewall. We do give you a lot of flexibility 19:04 – Chuck: VPN credentials? 19:10 – Ed: Just run the... 19:25 – Chuck comments. 19:36 – Ed: ...Take that Zip... 20:02 – Ed: Once the planets are finely aligned then...it will just pull from it. 20:25 – Chuck: I host my stuff on Digital Ocean. 20:46 – Ed: It’s been awhile since I played with... 20:55 – Chuck. 20:59 – Ed and Chuck go back and forth with different situations and hypothetical situations. 21:10 – Ed: What is Phoenix? 21:20 – Chuck explains it. 21:25 – Ed: Here is what we probably don’t have is a lot of ERLANG support. 22:41 – Advertisement. 23:31 – Chuck: Let’s just say it’s a possibility. We took the strip down node and... 23:49 – Ed: I think it’s going to happen. 23:55 – Ed: Exactly. 24:02 – Chuck: Testing against Azure services. So, it’s one thing to run on my machine but it’s another thing when other things connect nicely with an Azure set-up. Does it connect natively once it’s in the Azure cloud? 24:35 – Ed: It should, but there are so many services, so I don’t want to say that everything is identical. We will say yes with an asterisk. 25:07 – Chuck: With continuous deployment... 25:41 – Ed: As an example: I have a CD Pipeline for my website. Every time I merge into master... Ed continues this hypothetical situation with full details. Check it out! 27:03 – Chuck: You probably can do just about anything – deploy by Tweet! 27:15 – Ed: You can stop the deployment if people on Twitter start complaining. 27:40 – Chuck: That is awesome! IF it is something you care about – and if it’s worth the time – then why not? If you don’t have to think about it then great. I have mentioned this before: Am I solving interesting problems? What projects do I want to work on? What kinds of contributions do I really want to contribute to open source? That’s the thing – if you have all these tools that are set-up then your process, how do you work on what, and remove the pain points then you can just write code so people can use! That’s the power of this – because it catches the bug before I have to catch it – then that saves me time. 30:08 – Ed: That’s the dream of computers is that the computers are supposed to make OUR lives easier. IF we can do that and catch those bugs before you catch it then you are saving time. Finding bugs as quickly as possible it avoids downtime and messy deployments. 31:03 – Chuck: Then you can use time for coding style and other things. I can take mental shortcuts. 31:37 – Ed: The other thing you can do is avoiding security problems. If a static code analysis tool catches an integer overflow then... 32:30 – Chuck adds his comments. Chuck: You can set your policy to block it or ignore it. Then you are running these tools to run security. There are third-party tools that do security analysis on your code. Do you integrate with those? 33:00 – Ed: Yep. My favorite is WhiteSource. It knows all of the open source and third-party tools. It can scan your code and... 34:05 – Chuck: It works with a lot of languages. 34:14 – Ed. 34:25 – Chuck: A lot of JavaScript developers are getting into mobile development, like Ionic, and others. You have all these systems out there for different stages for writing for mobile. Android, windows Phone, Blackberry... 35:04 – Ed: Let’s throw out Blackberry builds. We will ignore it. Mac OS dies a fine job. That’s why we have all of those. 35:29 – Chuck: But I want to run my tests, too! 35:36 – Ed: I really like to use App Center. It is ultimately incredible to see all the tests you can run. 36:29 – Chuck: The deployment is different, though, right? 36:40 – Ed: I have a friend who clicks a button in... Azure DevOps. 37:00 – Chuck: I like to remind people that this isn’t a new product. 37:15 – Ed: Yes, Azure DevOps. 37:24 – Chuck: Any new features that are coming out? 37:27 – Ed: We took a little break, but... 37:47 – Ed: We will pick back up once Ignite is over. We have a timeline on our website when we expect to launch some new features, and some are secret, so keep checking out the website. 39:07 – Chuck: What is the interplay between Azure DevOps and Visual Studio Code? Because they have plugins for freaking everything. I am sure there is something there that... 39:30 – Ed: I am a VI guy and I’m like 90% sure there is something there. You are an eMac’s guy? The way I think about it is through Git right out of the box. Yes, I think there are better things out there for integration. I know we have a lot of great things in Visual Code, because I worked with it. 40:45 – Chuck: Yes, people can look for extensions and see what the capabilities are. Chuck talks about code editor and tools. 41:28 – Ed: ... we have been pulling that out as quickly as possible. We do have IE extensions, I am sure there is something for VS Code – but it’s not where I want to spend my time. 42:02 – Chuck: Yes, sure. 42:07 – Ed: But everyone is different – they won’t work the way that I work. So there’s that. 42:30 – Ed: That Chuck. 42:36 – Chuck: Where do people get news? 42:42 – Ed: Go to here! 42:54 – Chuck: Where do people find you? 43:00 – Ed: Twitter! 43:07 – Chuck: Let’s do Picks! 43:20 – Advertisement – Fresh Books! Links: GitHub Microsoft’s Azure Microsoft’s Pipeline Azure DevOps Erlang WhiteSource Chuck’s Twitter Ed Thomson’s Twitter Ed Thomson’s GitHub Ed Thomson’s Website Ed Thomson’s LinkedIn Picks: Ed Podcast - All Things Git
Sponsors: KendoUI Sentry use the code "devchat" for $100 credit Clubhouse Panel: Charles Max Wood Special Guests: Ed Thomson In this episode, the Charles speaks with Ed Thomson who is a Program Manager at Azure through Microsoft, Developer, and Open Source Maintainer. Ed and Chuck discuss in full detail about Azure DevOps! Check out today’s episode to hear its new features and other exciting news! Show Topics: 0:59 – Live at Microsoft Ignite 1:03 – Ed: Hi! I am a Program Manager at Azure. 1:28 – Rewind 2 episodes to hear more about Azure DevOps! 1:51 – Ed: One of the moves from Pipelines to DevOps – they could still adopt Pipelines. Now that they are separate services – it’s great. 2:38 – Chuck talks about features he does and doesn’t use. 2:54 – Ed. 3:00 – Chuck: Repos and Pipelines. I am going to dive right in. Let’s talk about Repos. Microsoft just acquired GitHub. 3:18 – Ed: Technically we have not officially acquired GitHub. 3:34 – Chuck: It’s not done. It’s the end of September now. 3:55 – Ed: They will remain the same thing for a while. GitHub is the home for open source. Repos – we use it in Microsoft. Repositories are huge. There are 4,000 engineers working in these repositories. Everyone works in his or her own little area, and you have to work together. You have to do all this engineering to get there. We bit a tool and it basically if you run clone... Ed continues to talk about this topic. He is talking about One Drive and these repositories. 6:28 – Ed: We aren’t going to be mixing and matching. I used to work through GitHub. It’s exciting to see those people work close to me. 6:54 – Chuck. 6:59 – Ed: It has come a long way. 7:07 – Chuck: Beyond the FSF are we talking about other features or? 7:21 – Ed: We have unique features. We have branch policies. You can require that people do pole request. You have to use pole request and your CI has to pass and things like that. I think there is a lot of richness in our auditing. We have enterprise focus. At its core it still is Git. We can all interoperate. 8:17 – Chuck. 8:37 – Ed: You just can’t set it up with Apache. You have to figure it out. 8:51 – Chuck: The method of pushing and pulling. 9:06 – Chuck: You can try DevOps for free up to 5 users and unlimited private repos. People are interested in this because GitHub makes you pay for that. 9:38 – Ed and Chuck continue to talk. 9:50 – Ed: Pipelines is the most interesting thing we are working on. We have revamped the entire experience. Build and release. It’s easy to get started. We have a visual designer. Super helpful – super straightforward. Releases once your code is built – get it out to production say for example Azure. It’s the important thing to get your code out there. 10:55 – Chuck: How can someone start with this? 11:00 – Ed: Depends on where your repository is. It will look at your code. “Oh, I know what that is, I know how to build that!” Maybe everyone isn’t doing everything with JavaScript. If you are using DotNet then it will know. 12:05 – Chuck: What if I am using both a backend and a frontend? 12:11 – Ed: One repository? That’s when you will have to do a little hand packing on the... There are different opportunities there. If you have a bash script that does it for you. If not, then you can orchestrate it. Reduce the time it takes. If it’s an open source project; there’s 2 – what are you going to do with the other 8? You’d be surprised – people try to sneak that in there. 13:30 – Chuck: It seems like continuous integration isn’t a whole lot complicated. 13:39 – Ed: I am a simple guy that’s how I do it. You can do advanced stuff, though. The Cake Build system – they are doing some crazy things. We have got Windows, Lennox, and others. Are you building for Raspberries Pies, then okay, do this... It’s not just running a script. 15:00 – Chuck: People do get pretty complicated if they want. It can get complicated. Who knows? 15:26 – Chuck: How much work do you have to do to set-up a Pipeline like that? 15:37 – Ed answers the question in detail. 16:03 – Chuck asks a question. 16:12 – Ed: Now this is where it gets contentious. If one fails... Our default task out of the box... 16:56 – Chuck: If you want 2 steps you can (like me who is crazy). 17:05 – Ed: Yes, I want to see if it failed. 17:17 – Chuck: Dude, writing code is hard. Once you have it built and tested – continuous deployment. 17:33 – Ed: It’s very easy. It’s super straightforward, it doesn’t have to be Azure (although I hope it is!). Ed continues this conversation. 18:43 – Chuck: And it just pulls it? 18:49 – Ed: Don’t poke holes into your firewall. We do give you a lot of flexibility 19:04 – Chuck: VPN credentials? 19:10 – Ed: Just run the... 19:25 – Chuck comments. 19:36 – Ed: ...Take that Zip... 20:02 – Ed: Once the planets are finely aligned then...it will just pull from it. 20:25 – Chuck: I host my stuff on Digital Ocean. 20:46 – Ed: It’s been awhile since I played with... 20:55 – Chuck. 20:59 – Ed and Chuck go back and forth with different situations and hypothetical situations. 21:10 – Ed: What is Phoenix? 21:20 – Chuck explains it. 21:25 – Ed: Here is what we probably don’t have is a lot of ERLANG support. 22:41 – Advertisement. 23:31 – Chuck: Let’s just say it’s a possibility. We took the strip down node and... 23:49 – Ed: I think it’s going to happen. 23:55 – Ed: Exactly. 24:02 – Chuck: Testing against Azure services. So, it’s one thing to run on my machine but it’s another thing when other things connect nicely with an Azure set-up. Does it connect natively once it’s in the Azure cloud? 24:35 – Ed: It should, but there are so many services, so I don’t want to say that everything is identical. We will say yes with an asterisk. 25:07 – Chuck: With continuous deployment... 25:41 – Ed: As an example: I have a CD Pipeline for my website. Every time I merge into master... Ed continues this hypothetical situation with full details. Check it out! 27:03 – Chuck: You probably can do just about anything – deploy by Tweet! 27:15 – Ed: You can stop the deployment if people on Twitter start complaining. 27:40 – Chuck: That is awesome! IF it is something you care about – and if it’s worth the time – then why not? If you don’t have to think about it then great. I have mentioned this before: Am I solving interesting problems? What projects do I want to work on? What kinds of contributions do I really want to contribute to open source? That’s the thing – if you have all these tools that are set-up then your process, how do you work on what, and remove the pain points then you can just write code so people can use! That’s the power of this – because it catches the bug before I have to catch it – then that saves me time. 30:08 – Ed: That’s the dream of computers is that the computers are supposed to make OUR lives easier. IF we can do that and catch those bugs before you catch it then you are saving time. Finding bugs as quickly as possible it avoids downtime and messy deployments. 31:03 – Chuck: Then you can use time for coding style and other things. I can take mental shortcuts. 31:37 – Ed: The other thing you can do is avoiding security problems. If a static code analysis tool catches an integer overflow then... 32:30 – Chuck adds his comments. Chuck: You can set your policy to block it or ignore it. Then you are running these tools to run security. There are third-party tools that do security analysis on your code. Do you integrate with those? 33:00 – Ed: Yep. My favorite is WhiteSource. It knows all of the open source and third-party tools. It can scan your code and... 34:05 – Chuck: It works with a lot of languages. 34:14 – Ed. 34:25 – Chuck: A lot of JavaScript developers are getting into mobile development, like Ionic, and others. You have all these systems out there for different stages for writing for mobile. Android, windows Phone, Blackberry... 35:04 – Ed: Let’s throw out Blackberry builds. We will ignore it. Mac OS dies a fine job. That’s why we have all of those. 35:29 – Chuck: But I want to run my tests, too! 35:36 – Ed: I really like to use App Center. It is ultimately incredible to see all the tests you can run. 36:29 – Chuck: The deployment is different, though, right? 36:40 – Ed: I have a friend who clicks a button in... Azure DevOps. 37:00 – Chuck: I like to remind people that this isn’t a new product. 37:15 – Ed: Yes, Azure DevOps. 37:24 – Chuck: Any new features that are coming out? 37:27 – Ed: We took a little break, but... 37:47 – Ed: We will pick back up once Ignite is over. We have a timeline on our website when we expect to launch some new features, and some are secret, so keep checking out the website. 39:07 – Chuck: What is the interplay between Azure DevOps and Visual Studio Code? Because they have plugins for freaking everything. I am sure there is something there that... 39:30 – Ed: I am a VI guy and I’m like 90% sure there is something there. You are an eMac’s guy? The way I think about it is through Git right out of the box. Yes, I think there are better things out there for integration. I know we have a lot of great things in Visual Code, because I worked with it. 40:45 – Chuck: Yes, people can look for extensions and see what the capabilities are. Chuck talks about code editor and tools. 41:28 – Ed: ... we have been pulling that out as quickly as possible. We do have IE extensions, I am sure there is something for VS Code – but it’s not where I want to spend my time. 42:02 – Chuck: Yes, sure. 42:07 – Ed: But everyone is different – they won’t work the way that I work. So there’s that. 42:30 – Ed: That Chuck. 42:36 – Chuck: Where do people get news? 42:42 – Ed: Go to here! 42:54 – Chuck: Where do people find you? 43:00 – Ed: Twitter! 43:07 – Chuck: Let’s do Picks! 43:20 – Advertisement – Fresh Books! Links: GitHub Microsoft’s Azure Microsoft’s Pipeline Azure DevOps Erlang WhiteSource Chuck’s Twitter Ed Thomson’s Twitter Ed Thomson’s GitHub Ed Thomson’s Website Ed Thomson’s LinkedIn Picks: Ed Podcast - All Things Git
Panel: Charles Max Woods Special Guests: Donovan Brown In this episode, the Charles speaks with Donovan Brown. He is a principal DevOps Manager with Microsoft with a background in application development. He also runs one of the nation’s fastest growing online registration sites for motorsports events DLBRACING.com. When he is not writing software, he races cars for fun. Listen to today’s episode where Chuck and Donovan talk about DevOps, Azure, Python, Angular, React, Vue, and much, much more! Show Topics: 1:41 – Chuck: The philosophies around DevOps. Just to give you an idea, I have been thinking about what I want to do with the podcasts. Freedom to work on what we want or freedom to work where we want, etc. Then that goes into things we don’t want to do, like fix bugs, etc. How does Microsoft DevOps to choose what they want to do? 2:37 – Guest: We want to automate as much as we can so the developer has less work. As a developer I want to commit code, do another task, rinse and repeating. Minutes and not even hours later then people are tweeting about the next best thing. Do what you want, where you want. Code any language you want. 4:15 – Chuck: What has changed? 4:19 – Guest: The branding changed. The name wasn’t the most favorite among the people. The word “visual” was a concerned. What we have noticed that Azure will let me run my code no matter where I am. If you want to run Python or others it can run in Azure. People didn’t need all of it. It comes with depositories, project management, and so much more! People could feel clumsy because there is so much stuff. We can streamline that now, and you can turn off that feature so you don’t have a heart attack. Maybe you are using us for some features not all of them – cool. 7:40 – Chuck: With deployments and other things – we don’t talk about the process for development a lot. 8:00 – Guest talks about the things that can help out with that. Guest: Our process is going to help guide you. We have that all built into the Azure tab feature. They feel and act differently. I tell all the people all the time that it’s brilliant stuff. There are 3 different templates. The templates actually change over the language. You don’t have to do mental math. 9:57 – Chuck: Just talking about the process. Which of these things we work on next when I’ve got a bug, or a ... 10:20 – Guest: The board system works like for example you have a bug. The steps to reproduce that bug, so that there is no question what go into this specific field. Let the anatomy of the feature do it itself! 11:54 – Chuck comments. 12:26 – Chuck: Back to the feature. Creating the user stories is a different process than X. 12:44 – Guest – You have a hierarchy then, right? Also what is really cool is we have case state management. I can click on this and I expect this to happen... These are actual tasks that I can run. 13:52 – Chuck: Once you have those tests written can you pull those into your CI? 14:00 – Guest: “Manual tests x0.” Guest dives into the question. 14:47 – I expect my team to write those test cases. The answer to your question is yes and no. We got so good at it that we found something that didn’t even exist, yet. 16:19 – Guest: As a developer it might be mind 16:29 – Chuck: I fixed this bug 4x, I wished I had CI to help me. 16:46 – Guest: You get a bug, then you fix a code, etc., etc. You don’t know that this original bug just came back. Fix it again. Am I in Groundhog Day? They are related to each other. You don’t have a unit test to tell you. When you get that very first bug – write a unit test. It will make you quicker at fixing it. A unit test you can write really fast over, and over, again. The test is passing. What do you do? Test it. Write the code to fix that unit test. You can see that how these relate to each other. That’s the beauty in it. 18:33 – Chuck: 90% of the unit tests I write – even 95% of the time they pass. It’s the 5% you would have no idea that it’s related. I can remember broad strokes of the code that I wrote, but 3 months down the road I can’t remember. 19:14 – Guest: If you are in a time crunch – I don’t have time for this unit test. Guest gives us a hypothetical situation to show how unit tests really can help. 20:25 – Make it muscle memory to unit test. I am a faster developer with the unit tests. 20:45 – Chuck: In the beginning it took forever. Now it’s just how I write software now. It guides my thought process. 21:06 – Guest: Yes! I agree. 22:00 – Guest: Don’t do the unit tests 22:10 – Chuck: Other place is when you write a new feature,...go through the process. Write unit tests for the things that you’ve touched. Expand your level of comfort. DevOps – we are talking about processes. Sounds like your DevOps is a flexible tool. Some people are looking for A METHOD. Like a business coach. Does Azure DevOps do that? 23:13 – Guest: Azure DevOps Projects. YoTeam. Note.js, Java and others are mentioned by the Guest. 25:00 – Code Badges’ Advertisement 25:48 – Chuck: I am curious – 2 test sweets for Angular or React or Vue. How does that work? 26:05 – Guest: So that is Jasmine or Mocha? So it really doesn’t matter. I’m a big fan of Mocha. It tests itself. I install local to my project alone – I can do it on any CI system in the world. YoTeam is not used in your pipeline. Install 2 parts – Yo and Generator – Team. Answer the questions and it’s awesome. I’ve done conferences in New Zealand. 28:37 – Chuck: Why would I go anywhere else? 28:44 – Guest: YoTeam was the idea of... 28:57 – Check out Guest 29:02 – Guest: I want Donovan in a box. If I weren’t there then the show wouldn’t exist today. 29:40 – Chuck: Asks a question. 29:46 – Guest: 5 different verticals. Check out this timestamp to see what Donovan says the 5 different verticals are. Pipelines is 1 of the 5. 30:55 – Chuck: Yep – it works on my Mac. 31:04 – Guest: We also have Test Plant and Artifacts. 31:42 – Chuck: Can you resolve that on your developer machine? 31:46 – Guest: Yes, absolutely! There is my private repository and... 33:14 – Guest: *People not included in box.* 33:33 – Guest: It’s people driven. We guide you through the process. The value is the most important part and people is the hardest part, but once on 33:59 – Chuck: I am listening to this show and I want to try this out. I want a demo setup so I can show my boss. How do I show him that it works? 34:27 – Azure.com/devops – that is a great landing page. How can I get a demo going? You can say here is my account – and they can put a demo into your account. I would not do a demo that this is cool. We start you for free. Create an account. Let the CI be the proof. It’s your job to do this, because it will make you more efficient. You need me to be using these tools. 36:11 – Chuck comments. 36:17 – Guest: Say you are on a team of developers and love GitHub and things that integration is stupid, but how many people would disagree about... 38:02 – The reports prove it for themselves. 38:20 – Chuck: You can get started for free – so when do you have to start paying for it? 38:31 – Guest: Get 4 of your buddies and then need more people it’s $6 a month. 39:33 – Chuck adds in comments. If this is free? 39:43 – Guest goes into the details about plans and such for this tool. 40:17 – Chuck: How easy it is to migrate away from it? 40:22 – Guest: It’s GITHub. 40:30 – Chuck: People are looing data on their CI. 40:40 – Guest: You can comb that information there over the past 4 years but I don’t know if any system would let you export that history. 41:08 – Chuck: Yeah, you are right. 41:16 – Guest adds more into this topic. 41:25 – Chuck: Yeah it’s all into the machine. 41:38 – Chuck: Good deal. 41:43 – Guest: It’s like a drug. I would never leave it. I was using TFS before Microsoft. 42:08 – Chuck: Other question: continuous deployment. 42:56 – When I say every platform, I mean every platform: mobile devices, AWS, Azure, etc. Anything you can do from a command line you can do from our build and release system. PowerShell you don’t have to abandon it. 45:20 – Guest: I can’t remember what that tool is called! 45:33 – Guest: Anything you can do from a command line. Before firewall. Anything you want. 45:52 – Guest: I love my job because I get to help developers. 46:03 – Chuck: What do you think the biggest mistake people are doing? 46:12 – Guest: They are trying to do it all at once. Fix that one little thing. It’s instant value with no risks whatsoever. Go setup and it takes 15 minutes total. Now that we have this continuous build, now let’s go and deploy it. Don’t dream up what you think your pipeline should look like. Do one thing at a time. What hurts the most that it’s “buggy.” Let’s add that to the pipeline. It’s in your pipeline today, what hurts the most, and don’t do it all at once. 49:14 – Chuck: I thought you’d say: I don’t have the time. 49:25 – Guest: Say you work on it 15 minutes a day. 3 days in – 45 minutes in you have a CSI system that works forever. Yes I agree because people think they don’t “have the time.” 50:18 – Guest continues this conversation. How do you not have CI? Just install it – don’t ask. Just do the right thing. 50:40 – Chuck: I free-lanced and setup CI for my team. After a month, getting warned, we had a monitor up on the screen and it was either RED or GREEN. It was basically – hey this hurts and now we know. Either we are going to have pain or not have pain. 51:41 – Guest continues this conversation. Have pain – we should only have pain once or twice a year. Rollback. If you only have it every 6 months, that’s not too bad. The pain will motivate you. 52:40 – Azure.com/devops. Azure DevOps’ Twitter 53:22 – Picks! 53:30 – Advertisement – Get a Coder Job Links: Donovan Brown’s GitHub Donovan Brown’s Twitter Donovan Brown Donovan Brown – Channel 9 Donovan Brown – Microsoft Azure YoTeam Azure.com/devops GitHub Azure DevOps’ Twitter Sponsors: Angular Boot Camp Digital Ocean Get a Coder Job course Picks: Charles Jet Blue Beta Testers Donovan YoTeam VSTeam Powershell Module
Panel: Charles Max Woods Special Guests: Donovan Brown In this episode, the Charles speaks with Donovan Brown. He is a principal DevOps Manager with Microsoft with a background in application development. He also runs one of the nation’s fastest growing online registration sites for motorsports events DLBRACING.com. When he is not writing software, he races cars for fun. Listen to today’s episode where Chuck and Donovan talk about DevOps, Azure, Python, Angular, React, Vue, and much, much more! Show Topics: 1:41 – Chuck: The philosophies around DevOps. Just to give you an idea, I have been thinking about what I want to do with the podcasts. Freedom to work on what we want or freedom to work where we want, etc. Then that goes into things we don’t want to do, like fix bugs, etc. How does Microsoft DevOps to choose what they want to do? 2:37 – Guest: We want to automate as much as we can so the developer has less work. As a developer I want to commit code, do another task, rinse and repeating. Minutes and not even hours later then people are tweeting about the next best thing. Do what you want, where you want. Code any language you want. 4:15 – Chuck: What has changed? 4:19 – Guest: The branding changed. The name wasn’t the most favorite among the people. The word “visual” was a concerned. What we have noticed that Azure will let me run my code no matter where I am. If you want to run Python or others it can run in Azure. People didn’t need all of it. It comes with depositories, project management, and so much more! People could feel clumsy because there is so much stuff. We can streamline that now, and you can turn off that feature so you don’t have a heart attack. Maybe you are using us for some features not all of them – cool. 7:40 – Chuck: With deployments and other things – we don’t talk about the process for development a lot. 8:00 – Guest talks about the things that can help out with that. Guest: Our process is going to help guide you. We have that all built into the Azure tab feature. They feel and act differently. I tell all the people all the time that it’s brilliant stuff. There are 3 different templates. The templates actually change over the language. You don’t have to do mental math. 9:57 – Chuck: Just talking about the process. Which of these things we work on next when I’ve got a bug, or a ... 10:20 – Guest: The board system works like for example you have a bug. The steps to reproduce that bug, so that there is no question what go into this specific field. Let the anatomy of the feature do it itself! 11:54 – Chuck comments. 12:26 – Chuck: Back to the feature. Creating the user stories is a different process than X. 12:44 – Guest – You have a hierarchy then, right? Also what is really cool is we have case state management. I can click on this and I expect this to happen... These are actual tasks that I can run. 13:52 – Chuck: Once you have those tests written can you pull those into your CI? 14:00 – Guest: “Manual tests x0.” Guest dives into the question. 14:47 – I expect my team to write those test cases. The answer to your question is yes and no. We got so good at it that we found something that didn’t even exist, yet. 16:19 – Guest: As a developer it might be mind 16:29 – Chuck: I fixed this bug 4x, I wished I had CI to help me. 16:46 – Guest: You get a bug, then you fix a code, etc., etc. You don’t know that this original bug just came back. Fix it again. Am I in Groundhog Day? They are related to each other. You don’t have a unit test to tell you. When you get that very first bug – write a unit test. It will make you quicker at fixing it. A unit test you can write really fast over, and over, again. The test is passing. What do you do? Test it. Write the code to fix that unit test. You can see that how these relate to each other. That’s the beauty in it. 18:33 – Chuck: 90% of the unit tests I write – even 95% of the time they pass. It’s the 5% you would have no idea that it’s related. I can remember broad strokes of the code that I wrote, but 3 months down the road I can’t remember. 19:14 – Guest: If you are in a time crunch – I don’t have time for this unit test. Guest gives us a hypothetical situation to show how unit tests really can help. 20:25 – Make it muscle memory to unit test. I am a faster developer with the unit tests. 20:45 – Chuck: In the beginning it took forever. Now it’s just how I write software now. It guides my thought process. 21:06 – Guest: Yes! I agree. 22:00 – Guest: Don’t do the unit tests 22:10 – Chuck: Other place is when you write a new feature,...go through the process. Write unit tests for the things that you’ve touched. Expand your level of comfort. DevOps – we are talking about processes. Sounds like your DevOps is a flexible tool. Some people are looking for A METHOD. Like a business coach. Does Azure DevOps do that? 23:13 – Guest: Azure DevOps Projects. YoTeam. Note.js, Java and others are mentioned by the Guest. 25:00 – Code Badges’ Advertisement 25:48 – Chuck: I am curious – 2 test sweets for Angular or React or Vue. How does that work? 26:05 – Guest: So that is Jasmine or Mocha? So it really doesn’t matter. I’m a big fan of Mocha. It tests itself. I install local to my project alone – I can do it on any CI system in the world. YoTeam is not used in your pipeline. Install 2 parts – Yo and Generator – Team. Answer the questions and it’s awesome. I’ve done conferences in New Zealand. 28:37 – Chuck: Why would I go anywhere else? 28:44 – Guest: YoTeam was the idea of... 28:57 – Check out Guest 29:02 – Guest: I want Donovan in a box. If I weren’t there then the show wouldn’t exist today. 29:40 – Chuck: Asks a question. 29:46 – Guest: 5 different verticals. Check out this timestamp to see what Donovan says the 5 different verticals are. Pipelines is 1 of the 5. 30:55 – Chuck: Yep – it works on my Mac. 31:04 – Guest: We also have Test Plant and Artifacts. 31:42 – Chuck: Can you resolve that on your developer machine? 31:46 – Guest: Yes, absolutely! There is my private repository and... 33:14 – Guest: *People not included in box.* 33:33 – Guest: It’s people driven. We guide you through the process. The value is the most important part and people is the hardest part, but once on 33:59 – Chuck: I am listening to this show and I want to try this out. I want a demo setup so I can show my boss. How do I show him that it works? 34:27 – Azure.com/devops – that is a great landing page. How can I get a demo going? You can say here is my account – and they can put a demo into your account. I would not do a demo that this is cool. We start you for free. Create an account. Let the CI be the proof. It’s your job to do this, because it will make you more efficient. You need me to be using these tools. 36:11 – Chuck comments. 36:17 – Guest: Say you are on a team of developers and love GitHub and things that integration is stupid, but how many people would disagree about... 38:02 – The reports prove it for themselves. 38:20 – Chuck: You can get started for free – so when do you have to start paying for it? 38:31 – Guest: Get 4 of your buddies and then need more people it’s $6 a month. 39:33 – Chuck adds in comments. If this is free? 39:43 – Guest goes into the details about plans and such for this tool. 40:17 – Chuck: How easy it is to migrate away from it? 40:22 – Guest: It’s GITHub. 40:30 – Chuck: People are looing data on their CI. 40:40 – Guest: You can comb that information there over the past 4 years but I don’t know if any system would let you export that history. 41:08 – Chuck: Yeah, you are right. 41:16 – Guest adds more into this topic. 41:25 – Chuck: Yeah it’s all into the machine. 41:38 – Chuck: Good deal. 41:43 – Guest: It’s like a drug. I would never leave it. I was using TFS before Microsoft. 42:08 – Chuck: Other question: continuous deployment. 42:56 – When I say every platform, I mean every platform: mobile devices, AWS, Azure, etc. Anything you can do from a command line you can do from our build and release system. PowerShell you don’t have to abandon it. 45:20 – Guest: I can’t remember what that tool is called! 45:33 – Guest: Anything you can do from a command line. Before firewall. Anything you want. 45:52 – Guest: I love my job because I get to help developers. 46:03 – Chuck: What do you think the biggest mistake people are doing? 46:12 – Guest: They are trying to do it all at once. Fix that one little thing. It’s instant value with no risks whatsoever. Go setup and it takes 15 minutes total. Now that we have this continuous build, now let’s go and deploy it. Don’t dream up what you think your pipeline should look like. Do one thing at a time. What hurts the most that it’s “buggy.” Let’s add that to the pipeline. It’s in your pipeline today, what hurts the most, and don’t do it all at once. 49:14 – Chuck: I thought you’d say: I don’t have the time. 49:25 – Guest: Say you work on it 15 minutes a day. 3 days in – 45 minutes in you have a CSI system that works forever. Yes I agree because people think they don’t “have the time.” 50:18 – Guest continues this conversation. How do you not have CI? Just install it – don’t ask. Just do the right thing. 50:40 – Chuck: I free-lanced and setup CI for my team. After a month, getting warned, we had a monitor up on the screen and it was either RED or GREEN. It was basically – hey this hurts and now we know. Either we are going to have pain or not have pain. 51:41 – Guest continues this conversation. Have pain – we should only have pain once or twice a year. Rollback. If you only have it every 6 months, that’s not too bad. The pain will motivate you. 52:40 – Azure.com/devops. Azure DevOps’ Twitter 53:22 – Picks! 53:30 – Advertisement – Get a Coder Job Links: Donovan Brown’s GitHub Donovan Brown’s Twitter Donovan Brown Donovan Brown – Channel 9 Donovan Brown – Microsoft Azure YoTeam Azure.com/devops GitHub Azure DevOps’ Twitter Sponsors: Angular Boot Camp Digital Ocean Get a Coder Job course Picks: Charles Jet Blue Beta Testers Donovan YoTeam VSTeam Powershell Module
Panel: Mark Ericksen Charles Max Wood Special Guest: Kamil Lelonek In this episode of Elixir Mix, the panel talks with Kamil Lelonek who is a full-stack developer and programmer. Chuck, Mark, and Kamil talk about Elixir, Postgrex, databases, and so much more! Check it out! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:48 – Chuck: Hello! Our panel today is Mark and myself. Friendly reminder to listeners: check out my show the DevRev. Our guest today is Kamil Lelonek! 1:23 – Guest. 1:43 – Chuck: Today, we are talking about databases. 1:55 – Guest. 3:10 – Mark: We have your blog that you wrote in our show notes. Talk about your experience with exploring these features? 3:39 – Chuck. 3:46 – Mark: I didn’t know those features are in Postgrex. Can you talk about your experience and your journey? 4:10 – Guest. 6:17 – Mark: I am curious, what problem were you trying to solve? 6:31 – Guest. 8:12 – Mark: I like you saying: rather than modifying the application code itself, you created a separate application. I think Elixir is a good fit for that – what’s your experience with this? 8:40 – Guest: I agree with this, but let’s think about it in the other way. 9:48 – Mark: Yeah I can see that. It’s good to be aware of the upsides and downsides. It’s an interesting idea. 10:40 – Guest. 11:38 – Chuck: My experience is mostly in Rails. The other way I have solved this problem is “pulling” but this way is more elegant. Before we have talked with Chris McCord about LiveVue. Is there a way to hook this handler up to LiveVue to stream the changes all the way up to the frontend of web application with Phoenix? 12:20 – Guest. 12:55 – Mark talks about Elixir and GenServer. 13:29 – Guest. 13:49 – Mark: Please go and read Kamil’s blog post because it’s simple and it’s written well! Mark: I think Elixir is a great usage for GenServers. 14:28 – Guest. 14:35 – Chuck: You setup a store procedure, which I don’t see a lot of people doing within the communities. How necessary is that store procedure that you’ve created there? 15:00 – Guest. 16:16 – Chuck: What if you want to do targeted notifications? 16:28 – Guest. 17:33 – Mark: I am curious if you have experimented with the practical limitations of this? Like at one point does it start to break down? 18:00 – Guest. 20:00 – Chuck: I will be honest I am kind of lazy. Outside of the general use I don’t go looking for these, but when I hear about them I say: wow! 20:09 – Guest. 20:57 – Chuck. 21:15 – Guest talks about solutions that he’s found. 22:08 – FreshBooks! 23:17 – Mark: What other kind of databases have you had experience with for comparison reasons? 23:40 – Guest. 24:56 – Mark: You talked about defaults and I want to come back to this topic. 25:08 – Mark asks Chuck a question. 25:12 – Chuck: I don’t know. 25:23 – Mark talks about the databases that his work utilizes. 26:45 – Mark and Chuck go back-and-forth. 27:49 – Guest mentions a solution to the before-mentioned problem that Mark gave. 28:47 – Mark: It can get messy. I don’t repose this as a permanent solution, but it allows you do a staged-migration. 29:15 – Chuck: Do you run into problems with Postgrex? Most technologies if you don’t run into problems you aren’t pushing it enough (at least that’s my experience). 29:29 – Guest answers the question. 30:26 – Mark talks about active, active, active. 31:14 – Guest. 33:25 – Mark: In Elixir, we talk about the things that are in the box and one thing that comes up is “mnesia.” Can you talk about this please? 33:47 – Guest talks about mnesia. 35:17 – Mark talks about mnesia some more. Mark: It is an available option (mnesia), but I don’t know if it’s something that people want when they are looking for something more traditional. 37:04 – Guest. 37:30 – Mark: Yeah something people should be aware of. If you are encountering problems it’s good to know the different tools that are out there and available. 38:42 – Mark: One question: What are some of your favorite features of Postgrex? 38:57 – Guest. 41:08 – Mark talks about Postgrex’s features. 42:14 – Guest. 43:10 – Mark: I had a case where Elixir and Erlang and you can convert term to binary and binary to term. I took some data structure and converted it to a binary and using Ecto and tell it: serialize this and when it loads back out it is a native Elixir type. It’s not always the right solution, but in my cases it actually worked. 43:59 – Guest talks about a library that he wrote back-in-the-day. 44:40 – Chuck: Anything else? Nope? Okay – Picks! 44:52 – Ad: Lootcrate.com END – CacheFly! Links: Ruby Elixir Elixir: GenServer GenServers Elm JavaScript Visual Studio Code React “How to use LISTEN and NOTIFY PostgreSQL commands in Elixir?" By Kamil Lelonek Guest’s Medium Blog Postgrex.Notifications Redis.io Event Store PostgreSQL MongoDB Erlang: mnesia GitHub: cachex GitHub: meh / amnesia PostGIS When to use Ecto, when to use Mnesia PostgreSQL Ecto.Type GitHub: Exnumerator YouTube: Entreprogrammers Kamil’s Twitter Sponsors: Loot Crate Get a Coder Job! Fresh Books CacheFly Picks: Mark Being professionally proactive! Chuck Get A Coder Job eBook Challenge: Pomodoro Technique Kamil Book: Thinking, Fast and Slow by Daniel Kahneman My Blog My Site
Panel: Charles Max Wood Special Guests: Ed Thomson In this episode, the Charles speaks with Ed Thomson who is a Program Manager at Azure through Microsoft, Developer, and Open Source Maintainer. Ed and Chuck discuss in full detail about Azure DevOps! Check out today’s episode to hear its new features and other exciting news! Show Topics: 0:59 – Live at Microsoft Ignite 1:03 – Ed: Hi! I am a Program Manager at Azure. 1:28 – Rewind 2 episodes to hear more about Azure DevOps! 1:51 – Ed: One of the moves from Pipelines to DevOps – they could still adopt Pipelines. Now that they are separate services – it’s great. 2:38 – Chuck talks about features he does and doesn’t use. 2:54 – Ed. 3:00 – Chuck: Repos and Pipelines. I am going to dive right in. Let’s talk about Repos. Microsoft just acquired GitHub. 3:18 – Ed: Technically we have not officially acquired GitHub. 3:34 – Chuck: It’s not done. It’s the end of September now. 3:55 – Ed: They will remain the same thing for a while. GitHub is the home for open source. Repos – we use it in Microsoft. Repositories are huge. There are 4,000 engineers working in these repositories. Everyone works in his or her own little area, and you have to work together. You have to do all this engineering to get there. We bit a tool and it basically if you run clone... Ed continues to talk about this topic. He is talking about One Drive and these repositories. 6:28 – Ed: We aren’t going to be mixing and matching. I used to work through GitHub. It’s exciting to see those people work close to me. 6:54 – Chuck. 6:59 – Ed: It has come a long way. 7:07 – Chuck: Beyond the FSF are we talking about other features or? 7:21 – Ed: We have unique features. We have branch policies. You can require that people do pole request. You have to use pole request and your CI has to pass and things like that. I think there is a lot of richness in our auditing. We have enterprise focus. At its core it still is Git. We can all interoperate. 8:17 – Chuck. 8:37 – Ed: You just can’t set it up with Apache. You have to figure it out. 8:51 – Chuck: The method of pushing and pulling. 9:06 – Chuck: You can try DevOps for free up to 5 users and unlimited private repos. People are interested in this because GitHub makes you pay for that. 9:38 – Ed and Chuck continue to talk. 9:50 – Ed: Pipelines is the most interesting thing we are working on. We have revamped the entire experience. Build and release. It’s easy to get started. We have a visual designer. Super helpful – super straightforward. Releases once your code is built – get it out to production say for example Azure. It’s the important thing to get your code out there. 10:55 – Chuck: How can someone start with this? 11:00 – Ed: Depends on where your repository is. It will look at your code. “Oh, I know what that is, I know how to build that!” Maybe everyone isn’t doing everything with JavaScript. If you are using DotNet then it will know. 12:05 – Chuck: What if I am using both a backend and a frontend? 12:11 – Ed: One repository? That’s when you will have to do a little hand packing on the... There are different opportunities there. If you have a bash script that does it for you. If not, then you can orchestrate it. Reduce the time it takes. If it’s an open source project; there’s 2 – what are you going to do with the other 8? You’d be surprised – people try to sneak that in there. 13:30 – Chuck: It seems like continuous integration isn’t a whole lot complicated. 13:39 – Ed: I am a simple guy that’s how I do it. You can do advanced stuff, though. The Cake Build system – they are doing some crazy things. We have got Windows, Lennox, and others. Are you building for Raspberries Pies, then okay, do this... It’s not just running a script. 15:00 – Chuck: People do get pretty complicated if they want. It can get complicated. Who knows? 15:26 – Chuck: How much work do you have to do to set-up a Pipeline like that? 15:37 – Ed answers the question in detail. 16:03 – Chuck asks a question. 16:12 – Ed: Now this is where it gets contentious. If one fails... Our default task out of the box... 16:56 – Chuck: If you want 2 steps you can (like me who is crazy). 17:05 – Ed: Yes, I want to see if it failed. 17:17 – Chuck: Dude, writing code is hard. Once you have it built and tested – continuous deployment. 17:33 – Ed: It’s very easy. It’s super straightforward, it doesn’t have to be Azure (although I hope it is!). Ed continues this conversation. 18:43 – Chuck: And it just pulls it? 18:49 – Ed: Don’t poke holes into your firewall. We do give you a lot of flexibility 19:04 – Chuck: VPN credentials? 19:10 – Ed: Just run the... 19:25 – Chuck comments. 19:36 – Ed: ...Take that Zip... 20:02 – Ed: Once the planets are finely aligned then...it will just pull from it. 20:25 – Chuck: I host my stuff on Digital Ocean. 20:46 – Ed: It’s been awhile since I played with... 20:55 – Chuck. 20:59 – Ed and Chuck go back and forth with different situations and hypothetical situations. 21:10 – Ed: What is Phoenix? 21:20 – Chuck explains it. 21:25 – Ed: Here is what we probably don’t have is a lot of ERLANG support. 22:41 – Advertisement. 23:31 – Chuck: Let’s just say it’s a possibility. We took the strip down node and... 23:49 – Ed: I think it’s going to happen. 23:55 – Ed: Exactly. 24:02 – Chuck: Testing against Azure services. So, it’s one thing to run on my machine but it’s another thing when other things connect nicely with an Azure set-up. Does it connect natively once it’s in the Azure cloud? 24:35 – Ed: It should, but there are so many services, so I don’t want to say that everything is identical. We will say yes with an asterisk. 25:07 – Chuck: With continuous deployment... 25:41 – Ed: As an example: I have a CD Pipeline for my website. Every time I merge into master... Ed continues this hypothetical situation with full details. Check it out! 27:03 – Chuck: You probably can do just about anything – deploy by Tweet! 27:15 – Ed: You can stop the deployment if people on Twitter start complaining. 27:40 – Chuck: That is awesome! IF it is something you care about – and if it’s worth the time – then why not? If you don’t have to think about it then great. I have mentioned this before: Am I solving interesting problems? What projects do I want to work on? What kinds of contributions do I really want to contribute to open source? That’s the thing – if you have all these tools that are set-up then your process, how do you work on what, and remove the pain points then you can just write code so people can use! That’s the power of this – because it catches the bug before I have to catch it – then that saves me time. 30:08 – Ed: That’s the dream of computers is that the computers are supposed to make OUR lives easier. IF we can do that and catch those bugs before you catch it then you are saving time. Finding bugs as quickly as possible it avoids downtime and messy deployments. 31:03 – Chuck: Then you can use time for coding style and other things. I can take mental shortcuts. 31:37 – Ed: The other thing you can do is avoiding security problems. If a static code analysis tool catches an integer overflow then... 32:30 – Chuck adds his comments. Chuck: You can set your policy to block it or ignore it. Then you are running these tools to run security. There are third-party tools that do security analysis on your code. Do you integrate with those? 33:00 – Ed: Yep. My favorite is WhiteSource. It knows all of the open source and third-party tools. It can scan your code and... 34:05 – Chuck: It works with a lot of languages. 34:14 – Ed. 34:25 – Chuck: A lot of JavaScript developers are getting into mobile development, like Ionic, and others. You have all these systems out there for different stages for writing for mobile. Android, windows Phone, Blackberry... 35:04 – Ed: Let’s throw out Blackberry builds. We will ignore it. Mac OS dies a fine job. That’s why we have all of those. 35:29 – Chuck: But I want to run my tests, too! 35:36 – Ed: I really like to use App Center. It is ultimately incredible to see all the tests you can run. 36:29 – Chuck: The deployment is different, though, right? 36:40 – Ed: I have a friend who clicks a button in... Azure DevOps. 37:00 – Chuck: I like to remind people that this isn’t a new product. 37:15 – Ed: Yes, Azure DevOps. 37:24 – Chuck: Any new features that are coming out? 37:27 – Ed: We took a little break, but... 37:47 – Ed: We will pick back up once Ignite is over. We have a timeline on our website when we expect to launch some new features, and some are secret, so keep checking out the website. 39:07 – Chuck: What is the interplay between Azure DevOps and Visual Studio Code? Because they have plugins for freaking everything. I am sure there is something there that... 39:30 – Ed: I am a VI guy and I’m like 90% sure there is something there. You are an eMac’s guy? The way I think about it is through Git right out of the box. Yes, I think there are better things out there for integration. I know we have a lot of great things in Visual Code, because I worked with it. 40:45 – Chuck: Yes, people can look for extensions and see what the capabilities are. Chuck talks about code editor and tools. 41:28 – Ed: ... we have been pulling that out as quickly as possible. We do have IE extensions, I am sure there is something for VS Code – but it’s not where I want to spend my time. 42:02 – Chuck: Yes, sure. 42:07 – Ed: But everyone is different – they won’t work the way that I work. So there’s that. 42:30 – Ed: That Chuck. 42:36 – Chuck: Where do people get news? 42:42 – Ed: Go to here! 42:54 – Chuck: Where do people find you? 43:00 – Ed: Twitter! 43:07 – Chuck: Let’s do Picks! 43:20 – Advertisement – Fresh Books! Links: GitHub Microsoft’s Azure Microsoft’s Pipeline Azure DevOps Erlang WhiteSource Chuck’s Twitter Ed Thomson’s Twitter Ed Thomson’s GitHub Ed Thomson’s Website Ed Thomson’s LinkedIn Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Picks: Ed Podcast - All Things Git
Panel: Charles Max Wood Guest: Kerri Miller This week on My Ruby Story, Chuck talks with Kerri Miller who is a developer who resides in Seattle! Chuck and Kerri talk about her background, how she got into programming, software, and much more. Check it out! In particular, we dive pretty deep on: 0:00 – Get A Coder Job! 0:52 – Chuck: Hello! Our guest is Kerri Miller – say Hi! 1:00 – Guest: Hi! 1:06 – Chuck: Tell us who you are and where you work? 1:13 – Guest: I live in Seattle. 1:36 – Chuck: We had you on past episodes RR 191 and RR 261. Tell us about your work! 2:10 – Guest: I have been a remote-worker for about 5 years now. 2:30 – Chuck: Let’s focus on you and how you got into programming and what you’ve contributed into the community. How did you get into programming? 2:45 – Guest: I had early access to computers. We also had the Thermal Printer! I went into theater and dance and then came back into programming. Kerri talks about sound boards that were using computers through her art world. 4:20 – Chuck: I love how people come from different backgrounds. 5:01 – Guest: Yeah you need to have other skillsets outside of being a computer programmer. What do you bring in and what do you have at the very beginning of your career and then you fill in those blanks as you go along. 5:33 – Chuck: Yep exactly. 5:47 – Guest: I am interested to see how my stage career helps my developer career! 7:35 – Chuck. 7:39 – Guest: Some people need walk-up music. 7:51 – Chuck: How did you get into Ruby? 8:00 – Guest: I was the only person that had heard about the Internet, so that’s how I got the job! I went to Barnes & Noble and read books; kids: that is an actual place! 9:24 – Chuck: You are still using Ruby right? 9:26 – Guest: Yes I am! I have explored GO and other languages, too, b/c that helps my skills with Ruby. 10:14 – Chuck: What made you switch? How do you decide to make that switch? 10:26 – Guest: This book really helped me: “Why’s (Poignant) Guide to Ruby.” It invigorated my love for programming. 11:15 – Chuck: How long ago was that? 11:20 – Guest: About 7 years ago. 11:37 – Chuck: Some of the things you’ve done is conference organizing and speaking. Anything else? 11:50 – Guest answers the question. 13:17 – Chuck: What were your favorite talks to give and where? 13:30 – Guest: It really is hard to choose. I liked the one in Bath, UK last year: “Is Ruby Dead?” 15:00 – Chuck: Where do you see Ruby going? What’s the future like for Ruby? 15:10 – Guest: I think there are neat things that are happening in Ruby 3. 16:08 – Chuck: What other conferences are you involved with? 16:14 – Guest: Open Source & Feelings. (The guest goes into detail about what this conference has to offer!) 17:36 – Chuck: What should I be looking for there at CES (2019)? 17:52 – Guest answers. 18:39 – Guest: I have 6 Echos & Alexas in the house – do I need those many – probably not. 19:21 – Chuck: I think the same thing about giving / not giving my fingerprint to the government vs. Apple. 19:43 – Guest. 20:06 – Chuck: What are you working on now? 20:10 – Guest: If you have a problem with Ruby – I help with the Q&A and bug-support. Working on 2019 conferences, too! 20:43 – Chuck: Picks! 20:50 – Advertisement – Fresh Books! END – CacheFly Links: Ruby Elixir Rails Rust Python PHP RR 191 Episode with Kerri Miller RR 261 Episode with Kerri Miller Kerri Miller’s GitHub Kerri Miller’s Twitter Kerri Miller’s Website Sponsors: Get a Coder Job Cache Fly Fresh Books Picks: Kerri Motorcycle-riding Bear app Chuck Marathon – St. George Utah – October 5th Friend – John Sonmez Garmin Watch V.02 McKirdy Trained
Panel: Charles Max Wood Guest: A.J. O’Neal This week on My JavaScript Story, Charles talks with A.J. O’Neal who is a panelist on My JavaScript Jabber usually, but today he is a guest! The guys talk about AJ’s background and past/current projects. Today’s topics include: JavaScript, Ruby, jQuery, Rails, Node, Python, and more. In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:23 – Chuck: Introduce yourself, please. 1:27 – AJ: I brief introduction: I am a quirky guy who is ADD and I love to figure out why/how things work. I like self-hosting or owning things in technology. 2:00 – Chuck: Where do you work now? 2:02 – AJ: I work in UTAH at Big Squid! 3:29 – AJ: I have my own company, too! 3:41 – Chuck: Yeah we’ve talked about that before. Where can we go? 3:54: AJ: We have 2 products that are both Node. Greenlock for Node.js is one of them! The other one is Telebit. 5:44 – Chuck: This interview is all about your background. How did you get into programming? 6:04 – AJ: I was in middle school but before that my grandmother was a secretary at the Pentagon. She worked on getting people paid and she wrote a program to assist these paychecks to be printed with fewer errors. Because of that she had a computer at home. I remember playing games on her computer. The guest talks about his background in more detail. 15:21 – Chuck: No it’s interesting! I’ve done a couple hundred interviews and they all say either: I went to school for it OR I did it for my free time. It’s interesting to see the similarities! 16:00 – AJ: Yep that’s pretty much how I got into it! I went on a church service mission to Albania and really didn’t do any computer work during those 2 years. 19:39 – Chuck: You went to BYU and your mission trip. A lot of that stuff I can relate to and identify with b/c I went to BYU and went on missions trip, too! And then you got into Ruby and that’s how we met was through Ruby! 20:25 – AJ: Yep that’s it. Then that’s when I learned about Node, too. There was a guy with a funny hate – do you remember that? (No.) 21:03 – Chuck: Maybe? 21:07 – AJ continues. 27:53 – Chuck: What made you make the transition? People come into and out of different technologies all the time. 28:18 – AJ: Yeah it started with me with jQuery! Rails has layers upon layers upon layers. AJ talks about different technologies their similarities/differences and mentions: JavaScript, Rails, Python, Node, Ruby, and much more. 31:05 – Chuck: Node went out of their way on certain platforms that Rails didn’t prioritize. 31:11 – AJ continues to talk about different technologies and platforms. 33:00 – Chuck: You get into Node and then at what point does this idea of a home-server and Node and everything start to come together? How much of this do you want to talk bout? At one point did they start to gel? 33:33 – AJ: It’s been a very long process and started back in high school. It started with me trying to think: How do I get this picture on my phone to my mom? I thought of uploading it to Flickr or could I do this or that? What about sending it to someone in China? 39:57 – Chuck. 40:01 – AJ continues and talks about libraries and certificate standards. 42:00 – AJ continues with the topic: certificates. 42:44 – Chuck: I am going to go to PICKS! Where can people find you? 42:55 – AJ: Twitter! Blog! GitHub! Anywhere! 43:55 – Chuck: Picks! 43:58 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly Links: React Angular JavaScript Webpack.js Serverless jQuery Node AJ’s Twitter Chuck’s Twitter Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: A.J. JC Penny! Stafford Shirts Express for Men Chris Ferdinandi’s GOMAKETHINGS. COM Chuck Wordpress – Plugin KingSumo Getdrip.com Softcover.io
Panel: Charles Max Wood Guest: Sharon DiOrio This week on My Angular Story, Charles speaks with Sharon DiOrio who is a lead software engineer at Achievement Network (ANet) and lives in Massachusetts! Chuck and Sharon talk about how she got into programming, her education, career highlights, and more! Check it out. In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:41 – Chuck: Say “hello!” You were on episode 2 back in the day! 1:16 – Chuck: Can you tell people what you are up to? 1:19 – Sharon: The Angular landscape has changed quite a bit in the past 4 years. I am still using Angular! 1:37 – Chuck: It’s nice to hear people’s backgrounds and their thought process. Let’s talk about your story. To start out how did you get into programming? 2:03 – Sharon: I have a Bachelor’s of Fine Arts. The web wasn’t a thing, yet, and it wasn’t an option. 4:04 – Chuck: How did you go from there to Angular and JavaScript? 4:12 – Sharon: I have a soft spot in my heart for Code Fusion. I did Code Fusion and PHP and that paid the bills for a long time. In the mid-2000’s that some of this stuff was going away and the idea of “old is new.” What is going to be my evolution of a developer? The frameworks (at this time) were starting to mature. 8:01 – Chuck: You run an Angular Meetup, so how did that get started? 8:05 – Sharon shares her story. 9:25 – Chuck: I would like to find a group that does this or that – and people find their niche and get together. If it grows great – if not then you begin some great friendships. I would like room for more intimate Meetups. 10:18 – Chuck. 10:23 – Sharon. 10:27 – Chuck: You spoke at NG-Conf in 2014 and what are your tips for people who want to speak at these conferences. 10:50 – Sharon: Get experience talking in front of large audiences before the ACTUAL conference! Also, start with Meetups! 12:29 – Chuck: Just the practice of building good habits and making sure that you are really prepared. Don’t they offer coaching now? 12:45 – Sharon: Yep! 12:53 – Chuck: What other things have you done with Angular? 13:01 – Sharon: I have been mostly in applications. Then I moved into educational technology. 13:55 – Chuck: Yep I identify with that a lot – getting a better career, making a better life for yourself, etc. 14:15 – Sharon: Yep! 15:34 – Chuck: I have seen things like Common Core and seeing what my kids are doing in school. 16:00 – Sharon: Most of the criticisms that people have about Common Core are... 16:35 – Sharon: I have been working in the educational space, too, yes! I have been here for 3 years now and I have “tenure” in technology. 17:18 – Chuck: What are the things that you are most proud of? 17:21 – Sharon answers the question. 19:37 – Chuck: We have shows on React, Angular and others. It’s interesting to see how people are assessing these things. 19:56 – Sharon: Yeah the landscaping is so different from not that long ago! 20:10 – Chuck. 21:03 – Sharon: Yeah our management is using version 6. I am going to do it and not tell them. 21:35 – Chuck: Anything else that you want to shout-out about? 21:37 – Sharon: How you get answers to questions will shift in your life. Learning how to ask a question well is underestimated – it’s an art. What to provide, so you know exactly what to provide to him/her. 22:21 – Chuck: Yeah my brothers 22:47 – Sharon: My father told me the same thing: you need to speak well and write well. No matter what field you are going into. Also, empathy and soft skills are great skills to have, too. 23:35 – Chuck: It is easy to work on the technology b/c it’s either right or wrong. 23:48 – Sharon: I would love to see people wanting those skills within job posts. 24:20 – Chuck: I agree! It makes a big difference. Let’s do picks! 24:35 – Fresh Books! END – CacheFly Links: jQuery Angular JavaScript Vue React Chuck’s Twitter Chuck’s E-mail: chuck@devchat.tv JSJ 335 episode AiA 002 episode Sponsors: Get A Coder Job Fresh Books Cache Fly Picks: Chuck Interview Cake – use our code, please. Marathon (John Sonmez, friend) – St. George Marathon McKirdy Trained Garmin Watches Sharon Brave Browser DevChat TV Programming for people who didn’t go the traditional way!
Panel: Charles Max Wood Guest: A.J. O’Neal This week on My JavaScript Story, Charles talks with A.J. O’Neal who is a panelist on My JavaScript Jabber usually, but today he is a guest! The guys talk about AJ’s background and past/current projects. Today’s topics include: JavaScript, Ruby, jQuery, Rails, Node, Python, and more. In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:23 – Chuck: Introduce yourself, please. 1:27 – AJ: I brief introduction: I am a quirky guy who is ADD and I love to figure out why/how things work. I like self-hosting or owning things in technology. 2:00 – Chuck: Where do you work now? 2:02 – AJ: I work in UTAH at Big Squid! 3:29 – AJ: I have my own company, too! 3:41 – Chuck: Yeah we’ve talked about that before. Where can we go? 3:54: AJ: We have 2 products that are both Node. Greenlock for Node.js is one of them! The other one is Telebit. 5:44 – Chuck: This interview is all about your background. How did you get into programming? 6:04 – AJ: I was in middle school but before that my grandmother was a secretary at the Pentagon. She worked on getting people paid and she wrote a program to assist these paychecks to be printed with fewer errors. Because of that she had a computer at home. I remember playing games on her computer. The guest talks about his background in more detail. 15:21 – Chuck: No it’s interesting! I’ve done a couple hundred interviews and they all say either: I went to school for it OR I did it for my free time. It’s interesting to see the similarities! 16:00 – AJ: Yep that’s pretty much how I got into it! I went on a church service mission to Albania and really didn’t do any computer work during those 2 years. 19:39 – Chuck: You went to BYU and your mission trip. A lot of that stuff I can relate to and identify with b/c I went to BYU and went on missions trip, too! And then you got into Ruby and that’s how we met was through Ruby! 20:25 – AJ: Yep that’s it. Then that’s when I learned about Node, too. There was a guy with a funny hate – do you remember that? (No.) 21:03 – Chuck: Maybe? 21:07 – AJ continues. 27:53 – Chuck: What made you make the transition? People come into and out of different technologies all the time. 28:18 – AJ: Yeah it started with me with jQuery! Rails has layers upon layers upon layers. AJ talks about different technologies their similarities/differences and mentions: JavaScript, Rails, Python, Node, Ruby, and much more. 31:05 – Chuck: Node went out of their way on certain platforms that Rails didn’t prioritize. 31:11 – AJ continues to talk about different technologies and platforms. 33:00 – Chuck: You get into Node and then at what point does this idea of a home-server and Node and everything start to come together? How much of this do you want to talk bout? At one point did they start to gel? 33:33 – AJ: It’s been a very long process and started back in high school. It started with me trying to think: How do I get this picture on my phone to my mom? I thought of uploading it to Flickr or could I do this or that? What about sending it to someone in China? 39:57 – Chuck. 40:01 – AJ continues and talks about libraries and certificate standards. 42:00 – AJ continues with the topic: certificates. 42:44 – Chuck: I am going to go to PICKS! Where can people find you? 42:55 – AJ: Twitter! Blog! GitHub! Anywhere! 43:55 – Chuck: Picks! 43:58 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly Links: React Angular JavaScript Webpack.js Serverless jQuery Node AJ’s Twitter Chuck’s Twitter Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: A.J. JC Penny! Stafford Shirts Express for Men Chris Ferdinandi’s GOMAKETHINGS. COM Chuck Wordpress – Plugin KingSumo Getdrip.com Softcover.io
Panel: Chris Fritz Charles Max Wood In this episode, the panel consists of Chris and Charles who talk about developer freedom. Chuck talks about his new show called The DevRev. The guys also talk about time management, answering e-mails, being self-employed, and their goals/hopes/dreams that they want to achieve in life. Check it out! Show Topics: 0:00 – Advertisement – Kendo UI 0:30 – Chuck: Hi! Today our panel is Chris and myself. My new show is The DevRev. There is a lot of aspect of our job that boil down to freedom. Figure out what they like to do and eliminate the things that they don’t like to do. I think it will be 5x a week and I will have a guest every week. What does freedom mean to you? What is your ideal coding situation where you don’t starve? 2:10 – Chris: Let me take a step-back. Why I got into coding it was even before that and it was education. I wanted to work with schools and not necessarily tied to only one school. As a programmer I cannot be asked to do things that I don’t agree with. 3:21 – Chuck: A lot of this thought-process came up b/c of my initial steps into my self-employment. I wanted to go to my son’s activities. I saw freelancing as an option and then had to do that b/c I got laid-off. I hate being told what to do. I have an HOA in my neighborhood and I hate it. They tell me when and how to mow my lawn. This is how I operate it. I hate that they tell me to mow my lawn. I want to talk to people who I want to talk to – that’s my idea of freedom. Everyone’s different idea of what “freedom” is will be different. 5:36 – Chris: I want more time to create more free stuff. Chris talks about DEV experience. 6:28 – Chuck: How did you get to that point of figuring out what you want to do? 6:44 – Chris: I still am figuring that out. I do have a lot of opportunities that are really exciting for me. It’s deciding what I like at that moment and choosing what I want to do vs. not what is going to wear me down. I don’t want to die with regret. There is a distinction between bad tired and good tired. You weren’t true to what you thought was right – and so you don’t settle easy. You toss and turn. I want to end with “good tired” both for the end of the day and for the end of my life. 8:00 – Chuck: I agree with that and I really identify with that. 8:44 – Chris: How do you measure yourself? 8:54 – Chuck: It’s hard to quantify it in only one idea. It’s hard to measure. I list out 5 things I need to do to get me closer to my [one] big goal. I have to get those 5 things done. Most of the time I can make it and I keep grinding on it before I can be done. 9:51 – Chris: My bar is pretty low. Is there more joy / more happiness in the world today in the world b/c of what I’ve done today? I know I will make mistakes in code – and that hurts, no day will be perfect. I try to have a net positive affect everyday. 10:53 – Chris: I can fall easily into depression if I have too many bad days back-to-back. 11:03 – Chuck: I agree and I have to take time off if that happens. 11:13 – Chris talks about open source work and he mentions HOPE IN SOURCE, also Babel. 12:23 – Chuck: When I got to church and there is this component of being together and working towards the same goals. It’s more than just community. There is a real – something in common that we have. 12:57 – Chris: Do you think it’s similar to open source? 13:05 – Chuck: You can watch a podcast in-lieu of an actual in-person sermon. In my church community it’s – Building Each Other Up. It’s not the same for when I contribute to open source. 13:43 – Chris: I ask myself: Is it of value? If I were to die would that work help progress the humankind? By the time I die - I will be completely useless b/c everything in my head is out there in other peoples’ heads. 14:35 – Chuck: When I am gone – I want someone to step into my void and continue that. These shows should be able to go on even if I am not around. I want to make sure that these shows can keep going. 15:48 – Chris: How can we build each other up? We want to have opportunities to grow. I try to provide that for members of the team and vice versa. The amount of respect that I have seen in my communities is quite amazing. I admire Thorsten on the Vue team a lot. (Thorsten’s Twitter.) He talked about compassion and how to communicate with each other and code with compassion. That’s better community and better software. You are forced to thin from multiple perspectives. You want to learn from these various perspectives. 17:44 – Chuck: The ideas behind the camaraderie are great. 17:56 – Chris: And Sarah Drasner! 18:38 – Chuck: She probably feels fulfilled when she helps you out (Sarah). 18:54 – Chuck: We all have to look for those opportunities and take them! 19:08 – Chuck: We have been talking about personal fulfillment. For me writing some awesome code in Vue there is Boiler Plate or running the tests. 19:52 – Chuck: What tools light you up? 20:02 – Chris: I am a bit of a weirdo. I feel pretty good when I am hitting myself against a wall for 9 hours. I like feeling obsessed about something and defeating it. I love it. 21:21 – Chuck: The things that make you bang your head against the wall is awful for me. I like writing code that helps someone. (Chris: I like the challenge.) We will be charged up for different things. You like the challenge and it empowers me to help others out. 22:21 – Chris: I like learning more about how something works. I want to save people a lot of work. There has to be a social connection or I will have a hard time even attempting it. 22:52 – Chris: I also play video games where there are no social connections. I played the Witness a few months ago and I loved the puzzles. 23:45 – Chuck: What other tools are you using? 23:57 – Chris: Webpack is the best took for creating the ideal development scenario. 24:47 – Chuck mentions Boiler Plate. 25:00 – Chris: It was built to help large teams and/or large applications. I built some other projects like: Hello Vue Components & (with John Papa) Vue Monolith Example. 27:07 – Chuck: Anything else that you consider to be “freeing?” 27:13 – Chris: I like working from home. I like having my routines – they make me happy and productive. Having full control over that makes me happy. The only thing I have is my wife and my cat. 28:12 – Chuck: Yeah I don’t miss driving through traffic. 28:44 – Chris: I don’t like to be around people all day. 30:40 – Advertisement: Get A Coder Job! 31:05 – Chris: Online I get a couple dozen people reaching out to me for different things: completely out-of-the-blue. I want to respond to most of those people but... 33:12 – Chuck: If it’s not on my calendar it won’t happen. I will get those e-mails that can be very time consuming. 33:35 – Chris: When they are asking for something “simple” – it’s not always simple. 34:30 – Chuck: I want to help everybody and that can be a problem. 35:02 – Chris: They are reaching out to me and I want to help. 35:56 – Chuck and Chris go back-and-forth. 36:18 – Chris: How do you figure out how to write a short enough response to the email – to only do 30 minutes? 36:44 – Chuck: Can I answer it in one minute? Nope – so it will go into another pile later in the week. I’ve replied saying: Here is my short-answer and for the long-answer see these references. I star those e-mails that will take too long to respond. 37:50 – Chris and Chuck go back-and-forth. 38:06 – Chuck: Your question is so good – here is the link to the blog that I wrote. 38:37 – Chris: I want to document to point people HERE to past blogs that I’ve written or to someone else’s blog. I feel guilty when I have to delegate. 39:35 – Chuck: I don’t have a problem delegating b/c that’s why I’m paying them. Everyone has his or her own role. 40:40 – Chris: Yeah that makes sense when it’s their job. 41:30 – Chuck: I know working together as a team will free me up in my areas of excellence. 41:49 – Chris: I am having a hard time with this right now. 43:36 – Chuck: We are looking for someone to fill this role and this is the job description. This way you can be EXCELLENT at what you do. You aren’t being pulled too thin. 44:19 – Chris: I have been trying to delegate more. 45:04 – Chuck: Yeah I have been trying to do more with my business, too. What do I want to do in the community? What is my focus? What is my mission and values for the business? Then you knock it out of the park! 45:51 – Chris: As a teacher it is really helpful and really not helpful. You are leading and shaping their experiences. You don’t have options to delegate. 46:27 – Chuck: Yeah my mother is a math teacher. 46:37 – Chuck: Yeah she has 10 kids, so she helps to delegate with force. She is the department head for mathematics and she does delegate some things. It’s you to teach the course. 47:18 – Chris: What promoted you to start this podcast? Is it more personal? 47:30 – Chuck talks about why he is starting this new podcast. 48:10 – Chuck: My business coach said to me: write a mission statement. When I did that things started having clarity for me. Chuck talks about the plan for the DevRev! 55:20 – Chris: I am looking forward to it! 55:34 – Chuck: It will be recorded via video through YouTube, too, in addition to iTunes (hopefully). 55:52 – Chris & Chuck: Picks! 55:58 – Advertisement – Fresh Books! DEVCHAT code. 30-day trial. Links: Vue React JavaScript C# C++ C++ Programming / Memory Management Angular Blazor JavaScript DevChat TV VueCLI Boiler Plate Hello Vue Components Vue Monolith Example Thorsten’s Twitter Sarah’s Twitter Ben Hong’s Twitter Jacob Schatz’ Twitter Vue Vixens The DevRev Sponsors: Fresh Books Cache Fly Kendo UI Get A Coder Job! Picks: Chris Vue Vixens Charles repurpose.io MFCEO Project Podcast Game - Test Version
Panel: Charles Max Wood Guest: Gareth McCumskey This week on My JavaScript Story, Charles talks with Gareth McCumskey who is a senior web developer for RunwaySale! They talk about Gareth’s background, current projects and his family. Check out today’s episode to hear all about it and much more! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:53 – Chuck: Hey everyone! Welcome! We are talking today with Gareth McCumseky! 1:05 – Gareth: Hi! 1:22 – Chuck: Are you from Cape Town, Africa? (Guest: Yes!) 1:35 – Gareth and Chuck talk about his name, Gareth, and why it’s popular. 1:49 – Chuck: I am in my late 40’s. You were here for JSJ’s Episode 291! It’s still a hot topic and probably should revisit that topic. 2:20 – Guest: Yes! 2:30 – Chuck: It’s interesting. We had a long talk about it and people should go listen to it! 2:45 – Guest: I am a backend developer for the most part. 3:03 – Chuck: Yeah I started off as an ops guy. It probably hurt me. 3:21 – Guest: Yeah, if you poke it a certain way. 3:29 – Chuck: Let’s talk about YOU! How did you get into programming? 3:39 – Guest: South Africa is a different culture to grow-up in vs. U.S. and other places. I remember the computer that my father had back in the day. He led me drive his car about 1km away and I was about 11 years old. We would take home the computer from his office – played around with it during the weekend – and put it back into his office Monday morning. This was way before the Internet. I was fiddling with it for sure. The guest talks about BASIC. 6:20 – Chuck: How did you transfer from building BASIC apps to JavaScript apps? 6:30 – Guest: Yeah that’s a good story. When I was 19 years old...I went to college and studied geology and tried to run an IT business on the side. I started to build things for HTML and CSS and build things for the Web. The guest goes into-detail about his background! 9:26 – Chuck: Yeah, jQuery was so awesome! 9:34 – Guest: Yeah today I am working on an app that uses jQuery! You get used to it, and it’s pretty powerful (jQuery) for what it is/what it does! It has neat tricks. 10:11 – Chuck: I’ve started a site with it b/c it was easy. 10:19 – Guest: Sometimes you don’t need the full out thing. Maybe you just need to load a page here and there, and that’s it. 10:39 – Chuck: It’s a different world – definitely! 10:48 – Guest: Yeah in 2015/2016 is when I picked up JavaScript again. It was b/c around that time we were expecting our first child and that’s where we wanted to be to raise her. Guest: We use webpack.js now. It opened my eyes to see how powerful JavaScript is! 12:10 – Chuck talks about Node.js. 12:21 – Guest: Even today, I got into AWS Cognito! 13:45 – Chuck: You say that your problems are unique – and from the business end I want something that I can resolve quickly. Your solution sounds good. I don’t like messing around with the headaches from Node and others. 14:22 – Guest: Yeah that’s the biggest selling point that I’ve had. 15:47 – Chuck: How did you get into serverless? 15:49 – Guest: Funny experience. I am not the expert and I only write the backend stuff. Guest: At the time, we wanted to improve the reliability of the machine and the site itself. He said to try serverless.com. At the time I wasn’t impressed but then when he suggested it – I took the recommendation more seriously. My company that I work for now... 17:39 – Chuck: What else are you working on? 17:45 – Guest: Some local projects – dining service that refunds you. You pay for a subscription, but find a cheaper way to spend money when you are eating out. It’s called: GOING OUT. Guest: My 3-year-old daughter and my wife is expecting our second child. 18:56 – Chuck and Gareth talk about family and their children. 22:17 – Chuck: Picks! 22:29 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly Links: React Angular JavaScript Webpack.js Serverless jQuery Node AWS Cognito Gareth’s Website Gareth’s GitHub Gareth’s Twitter Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Charles Max Wood Podcasts: MFCEO Project & Gary Vaynerchuk Pokémon Go! Gareth McCumskey Serverless.com Ingress Prime
Panel: Charles Max Wood Guest: Gareth McCumskey This week on My JavaScript Story, Charles talks with Gareth McCumskey who is a senior web developer for RunwaySale! They talk about Gareth’s background, current projects and his family. Check out today’s episode to hear all about it and much more! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:53 – Chuck: Hey everyone! Welcome! We are talking today with Gareth McCumseky! 1:05 – Gareth: Hi! 1:22 – Chuck: Are you from Cape Town, Africa? (Guest: Yes!) 1:35 – Gareth and Chuck talk about his name, Gareth, and why it’s popular. 1:49 – Chuck: I am in my late 40’s. You were here for JSJ’s Episode 291! It’s still a hot topic and probably should revisit that topic. 2:20 – Guest: Yes! 2:30 – Chuck: It’s interesting. We had a long talk about it and people should go listen to it! 2:45 – Guest: I am a backend developer for the most part. 3:03 – Chuck: Yeah I started off as an ops guy. It probably hurt me. 3:21 – Guest: Yeah, if you poke it a certain way. 3:29 – Chuck: Let’s talk about YOU! How did you get into programming? 3:39 – Guest: South Africa is a different culture to grow-up in vs. U.S. and other places. I remember the computer that my father had back in the day. He led me drive his car about 1km away and I was about 11 years old. We would take home the computer from his office – played around with it during the weekend – and put it back into his office Monday morning. This was way before the Internet. I was fiddling with it for sure. The guest talks about BASIC. 6:20 – Chuck: How did you transfer from building BASIC apps to JavaScript apps? 6:30 – Guest: Yeah that’s a good story. When I was 19 years old...I went to college and studied geology and tried to run an IT business on the side. I started to build things for HTML and CSS and build things for the Web. The guest goes into-detail about his background! 9:26 – Chuck: Yeah, jQuery was so awesome! 9:34 – Guest: Yeah today I am working on an app that uses jQuery! You get used to it, and it’s pretty powerful (jQuery) for what it is/what it does! It has neat tricks. 10:11 – Chuck: I’ve started a site with it b/c it was easy. 10:19 – Guest: Sometimes you don’t need the full out thing. Maybe you just need to load a page here and there, and that’s it. 10:39 – Chuck: It’s a different world – definitely! 10:48 – Guest: Yeah in 2015/2016 is when I picked up JavaScript again. It was b/c around that time we were expecting our first child and that’s where we wanted to be to raise her. Guest: We use webpack.js now. It opened my eyes to see how powerful JavaScript is! 12:10 – Chuck talks about Node.js. 12:21 – Guest: Even today, I got into AWS Cognito! 13:45 – Chuck: You say that your problems are unique – and from the business end I want something that I can resolve quickly. Your solution sounds good. I don’t like messing around with the headaches from Node and others. 14:22 – Guest: Yeah that’s the biggest selling point that I’ve had. 15:47 – Chuck: How did you get into serverless? 15:49 – Guest: Funny experience. I am not the expert and I only write the backend stuff. Guest: At the time, we wanted to improve the reliability of the machine and the site itself. He said to try serverless.com. At the time I wasn’t impressed but then when he suggested it – I took the recommendation more seriously. My company that I work for now... 17:39 – Chuck: What else are you working on? 17:45 – Guest: Some local projects – dining service that refunds you. You pay for a subscription, but find a cheaper way to spend money when you are eating out. It’s called: GOING OUT. Guest: My 3-year-old daughter and my wife is expecting our second child. 18:56 – Chuck and Gareth talk about family and their children. 22:17 – Chuck: Picks! 22:29 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly Links: React Angular JavaScript Webpack.js Serverless jQuery Node AWS Cognito Gareth’s Website Gareth’s GitHub Gareth’s Twitter Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Charles Max Wood Podcasts: MFCEO Project & Gary Vaynerchuk Pokémon Go! Gareth McCumskey Serverless.com Ingress Prime
Panel: Charles Max Wood Guest: Joel Tanzi This week on My Angular Story, Charles speaks with Joel Tanzi who is a software engineer who currently resides in the Kansas City, Missouri metropolis. He has a degree from KU in computer engineering. They discuss how Joel made a career change in his mid-thirties and hasn’t looked back since! Listen to today’s episode to hear more about Joel’s background and current projects! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:51 – Chuck: I am talking with Joel – introduce yourself, please! 1:00 – Joel: I am an Angular developer on the front end. I am employed with a company and working on a new app that has to do with security. I am building the front end to that product. I was studying computer engineering at KU, and Angular is my favorite. 2:00 – Chuck: How did you get into programming? 2:04 – Joel: I have always been fascinated with computers. I struggled with mathematics and science in primary school and so I steered away from those topics; therefore my first degree is English literature. Then I fell intro IT support accidentally. Back in 2006 I went through my 2nd layoff in my career. My friend asked whether or not I would go back to school, so I did! I went to get my engineering degree and relocated to KU. It took 9 years to get my 2nd degree, because I was working fulltime. When I was graduating I talked to an instructor; he mentioned JavaScript at that time. It was exploding in the world at that time. Then I got my first job downtown Kansas City. I haven’t looked back ever since. Have you heard about Knockout? I don’t get the impression that Knockout is popular anymore? (Chuck: No it’s not popular anymore.) I learned Angular and what I like the most about it is that I love how flexible and robust it was/is. 6:32 – Chuck: You found JavaScript and then found Angular – first people to get to Ionic from Angular. How did you get to that point? 6:54 – Joel: Good question! I was fairly new to that job. People already had exposure to it throughout the team/team members. 7:57 – Chuck: How was your transition from Angular 1 to Angular 2? 8:04 – Joel: I was never married to it. I do think that Angular 2 was a major step-up for me and was an important change that needed to happen. It was based on the same concepts. 8:39 – Chuck: What work in Angular are you most proud of? 8:42 – Joel: I think the application I am working on now b/c it looks THE best! Among other things, too. I volunteer through an organization that puts together tech projects for local governments. I got involved with them b/c I wanted more real world experience. It revolves around city streetlights. 11:03 – Chuck: Yeah, Code for America I’ve heard before! Sounds neat! 11:18 – Joel: I would recommend it especially if you are trying to break-into the field. I think community outreach is honorable and it shows initiative. 12:06 – Chuck: Yeah I need to put this into my Get A Coder job 12:23 – Joel: I have met coders within this realm and it’s a great networking opportunity! 12:35 – Chuck: What are you working on now? 12:37 – Joel: WordPress development! 13:46 – Joel (continues): Most lawyers don’t have a website b/c they don’t want to dabble with the technology. 13:59 – Chuck: Cool! I think it’s important to note that your 1st degree was literature and you went back to school. For my mom she went back, too. Were you older than the other students? 14:35 – Joel: I have a lot of things that went my way, which I was very blessed. The law firm that I worked for they had a huge support for people getting their degrees. They also gave me the flex hours, too! I am glad that I had that set-up and I know I was extremely blessed to have that support. It’s hard for people to work fulltime and to go to school – it’s definitely a challenge! I am stoked about veterans getting into the coder field and people with diverse backgrounds into this field; it’s very neat! 18:23 – Chuck: How old were you when you made that career change? 18:36 – Joel: In my mid/late thirties! 18:39 – Chuck: People think that they CAN’T go back to school b/c they are too “old” – when that’s not the case! I encourage people to give it a shot. 19:33 – Joel: There is never a better time to get into this work than now. 20:39 – Chuck: Where can people find you online? 20:45 – Joel: At my website – Stringly Typed! My LinkedIn! 21:45 – Fresh Books! END – CacheFly Links: jQuery Angular JavaScript Vue React Chuck’s Twitter Chuck’s E-mail: chuck@devchat.tv Joel’s LinkedIn Stringly Typed Sponsors: Get A Coder Job Fresh Books Cache Fly Picks: Joel Tanzi Code America Operation Code RxJS Chuck Max Wood Mastodon HubSpot
Panel: Lucas Reis Charles Max Wood Justin Bennett Special Guest: Soumyajit Pathak In this episode, the panelists talk with Soumyajit Pathak (India) who is a full-stack developer and cybersecurity enthusiast. The panel and the guest talk about design patterns and designing simpler code for clarity and less confusion. Check out today’s episode! Show Topics: 0:00 – Kendo UI 0:31 – Chuck: Our panelists are and our guest is Soumyajit! Introduce yourself please! Are you doing React on the side? 1:02 – Guest: I am a master’s student and I am doing freelancing. 1:42 – Panel. 1:49 – Guest. 2:10 – Chuck: I am feeling very up-to-date. Woo! Universities are teaching this and that and they are focused on theory. The flipside is that they are going to write real code for real systems. 3:10 – Panel: I like your well-written blog posts. You talk about design patterns. 3:50 – Guest: The design patterns at the university had to do with real JavaScript applications. 4:09 – Chuck: I am curious you are talking about the design patterns – how can people from React find/use it? 4:45 – Panel: It depends on your definition of design patterns. 5:35 – Lucas: Maybe you are using one or two here and reading through the design patterns is like going through your toolbox. You only need a screwdriver but you bought the whole toolbox. Get familiar with it and from time to time solve problems and thing: what tool can help me here? It’s clear to me with this toolbox analogy. I understand now – that tool I saw 2 months ago could help me. 7:00 – Guest: I have an interesting story with this about design patterns. Let me share! 7:36 – Justin: It was a similar thing but I wasn’t in JavaScript at the time. I’ve used a lot of C++ code. Design patterns became very useful. I saw it the same way Lucas! 9:23 – Justin continues: How and why to use a certain tool. That’s important. 10:28 – Chuck: Okay this is the default pattern and that’s where we can go for the fallback. Here is the fallback if this doesn’t work here or there. 10:49 – Lucas: This is important to remember. It’s not how to use the tool but it’s why am I using this tool here or there? 11:57 – Justin: It’s so much information in general. People get information overload and they have to just start! One of the challenges we do is that we over-engineer things. Do what you need to know. Look it up but play with it. 12:40 – Lucas: It’s interesting by another blog post that you wrote Soumyajit – and you are using a render prop. You showed a problem and showed the solution. 13:30 – Guest: Yeah I’ve written a lot of blog posts about this topic. 13:48 – Panel: Often times – it’s hard for people just to dive-in. People need to see you solving a problem and it really helps with the learning process. 15:03 – Chuck: What patterns do you find most useful? 15:11 – Panel: Functional components have changed my world! 16:23 – Guest: Around these functional components... 17:17 – Panel: I will go with the patterns that are not useful. Don’t make your code pattern-oriented. This is my favorite pattern now and going back to basics. 18:53 – Panelists go back-and-forth. 19:01 – Lucas. 19:41 – Chuck: You talk about over-engineering things and that’s what I found myself doing sometimes with my new project. When I figure out how to make it simpler I get excited and it’s easy to follow. 20:15 – Panel: We celebrate the person who deleted the most lines of code. 20:28 – Panel: I am going to steal that idea. 21:04 – Guest: I have an interesting story of over-engineering something – let me share! 21:53 – FreshBooks! 22:59 – Panel: Building too much is b/c I don’t have a clear understanding of what I am doing. I get excited about problems. What’s the more simple way / most naïve way possible! 24:36 – Lucas: If you are going to change something you will be changing it in several different places. 25:50 – Chuck: When I heard the concept, all the codes that change together should be together. 26:08 – Lucas comments. 26:53 – Panel: Keeping things contained in one place. We have our presentational component and higher-level component, so you can see it all. 28:28 – Lucas: Different people working on different technologies. 29:15 – Panel: Can I break this down to smaller parts, which makes sense to me? 29:48 – Guest: Looking for keywords will cause a distraction. Finding a balance is good. 30:04 – Chuck: If you have a large rile there could be a smaller component that is there own concern. That feels like the real answer to me. It has a lot less than the length of the file versus... Chuck: If I cannot follow it then I need to keep the concept simple. 30:51 – Lucas: The quantity of lines and the line count – I think it’s better how many indentations you have. 32:43 – Guest. 32:48 – Lucas: Yes, so in the horizontal scrolling you have to keep things in your mind. 33:41 – Panel: There are so many different metrics that you can use and the different line count or different characters. There are more scientific terms that we could plugin here. If you have a lot of these abstract relations that can...write it 34:23 – Chuck: So true. 34:52 – Chuck: I want to move onto a different problem so it’s an attention thing for me too. 35:06 – Panel: We have to get okay with not always writing the best code in that it just needs to do what it needs to do. 35:30 – Chuck. 35:57 – Panel: We write it once – then it falls apart and then we write it again and learn from the process. Learning is the key here – you see where it works and where it doesn’t work well. 36:31 – Panel. 36:47 – Chuck mentions service-side rendering. Chuck: Should we schedule another episode? 37:11 – Panel: I think it’s own episode b/c it’s a complex problem overall. 39:33 – Lucas: Try to find memory leaks in the file components and server-side rendering. Where we have lost a lot of sleep and a higher level of complication. Sometimes it’s necessary. 41:42 – Chuck: Yeah let’s do another episode on this topic. Sounds like there is a lot to dive into this topic. Soumyajit, how do people find you? 42:10 – Guest: Twitter and GitHub! 42:28 – Picks! 42:30 – Advertisement – Get A Coder Job! End – Cache Fly Links: Ruby on Rails Angular JavaScript Elm Phoenix GitHub Get A Coder Job React Patterns on GitHub Calibre Book: Engineering a Safer World Designers’ Secret Source Monster Hunter Guest’s GitHub Guest’s Twitter Sponsors: Get a Coder Job Cache Fly Fresh Books Kendo UI Picks: Justin https://reactpatterns.com/ Calibre App Lucas Engineering a Safer World Soumyajit Blog Muzli - Chrome Extension Charles Monster Hunters International Series Metabase Stripe Work for DevChat TV
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 Joe Eames John Papa Alyssa Nicoll Special Guest: Michael Giambalvo In this episode, Chuck talks with special guest Michael Giambalvo who is an author of the book titled, “Testing Angular Applications.” This book can be purchased through Amazon, Manning Publications, among other sites, too. The panelists and the guest talk about different types of tests, such as end-to-end testing and unit testing. They also talk about Angular, Java, Mocha, Test Café, and much more! Check it out! Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:53 – Chuck: Our panel is John Papa, Joe Eames, Alyssa Nicoll, and myself. My new show is the DevRev – check it out, please! 1:26 – Guest: I am a contributing author to our new book, which is about Angular. 1:56 – Chuck: How is it like to write with multiple people? 2:04 – Guest: Yep it’s hard b/c we are in different areas. Back in the 2.0 days, Jesse was writing a book. He was talking about typescript and components. Craig made friends with Jesse and they were talking about the book he was writing. Then we all jumped in to get in finished. We all had areas that we were specialists in! 3:21 – Alyssa: If you break it up that makes sense. 3:31 – Guest. 3:40 – Panel: Pick different words and go around the room. 3:51 – Panel: You write the first ½ of a sentence and then you write the other ½ of the sentence! 4:10 – Guest: You have these big word documents and go back-and-forth. 4:36 – Alyssa: Editing and then pass it back-and-forth – how does that work? 4:46 – Guest: It’s like 8 pass backs-and-forth. 5:35 – Guest: The editing was the main issue – it took forever! 5:50 – Chuck: We were going to co-author a book and we didn’t. Chuck: If you could break down the book in 4 core topics what would they be? Elevator pitch? What is the starting knowledge? 6:18 – Guest: We expect you to know Angular Intro and that’s it! 6:43 – Chuck: What are the principles? 6:50 – Guest: We talk about the testing component. We highlight the benefits of using Angular vs. Angular.js. That shows up in the book a lot. It’s very example driven. 7:28 – Chuck: We have been talking about testing quite a bit on the show lately. 8:22 – Chuck: Do you see people using the testing in regards to the pyramid? 8:33 – Guest: I am not a huge fan of the pyramid. Some questions I ask are: Does it run quickly? Is it reliable? To give you some background I work on Google Club Platform. 10:21 – The guest talks about “Page Level Integration Tests.” 11:31 – Alyssa. 11:50 – Chuck: After your explanation after writing your book I’m sure it’s a breeze now. Knowing these tests and having the confidence is great. 12:13 – Guest: Tools like Cypress is very helpful. Web Driver Testing, too. 12:43 – Chuck: Where do people start? What do you recommend? Do they start at Protractor or do they come down to unit tests? 13:02 – Guest: Finding the balance is important. 14:30 – Chuck: Check out a past episode that we’ve done. 14:40 – Panel asks a question about tools such as Test Café and Cypress. 14:50 – Guest: I really don’t know Test Café. There is a long story in how all of these fit together. The guest talks about Selenium, Cypress, Safari, Edge, Chrome, Firefox, and Puppeteer! 19:24 – Chuck: Does it work in Electron as well, too? 19:26 – Guest: Good question but I don’t know the answer. 19:39 – Chuck: Maybe a listener could write a comment and tell us. 19:43 – Panel: I’ve used Protractor for many years. I like the explanation that you just gave. The great thing about Protractor is that you can... 20:29 – Guest: We wanted to explain the difficulty of Protractor in this book. Guest: You have this test running in Node but then you have your app running in the browser. You have these 2 different run times. You might have to run them separately and there is tons of complexity. 21:15 – Panel: As I am coding you have this visual browser on one side, and then on the other side you have... 22:22 – Guest asks the panelists a question. 22:32 – Panel: I have only used it for a few months and a few several apps but haven’t had those issues, yet. 22:55 – Guest: I haven’t heard of Test Café at all. 23:05 – Alyssa: Is the book online? 23:13 – Guest: It’s available through Manning Publications and Amazon. I think we have some codes to giveaway! 23:34 – Chuck: Yeah, we are working on those codes and giveaways. We have mentioned about 5 or 6 tools – are you worried about your book going out of date? 24:05 – Guest: Sure that is something we are worried about. When editing took a long time to get through that was one of my thoughts. The guest talks about Selenium, control flow, Protractor, 25:45 – Guest (continues): These new features were coming out while the book was coming out – so there’s that. What’s this thing about control flow and why this matters to you, etc. We were able to add that into the book, which is good. We were able to get those instructions out there. Books have a delay to them. 26:47 – Chuck: We talked about this in JavaScript Jabber. This guest talked about this and he is from Big Nerd Ranch. At what point do you have this breaking point: This isn’t a good fit for Test Café or Selenium BUT a good fit for Mocha or Jest? 27:27 – Advertisement: Get A Coder Job! 28:04 – Guest: Do you have a reason why you would switch testing tools? 28:12 – Chuck. 28:41 – Guest: That’s the tradeoff as you move down the ladder. 29:43 – Panel: If you want to trigger an action that isn’t triggerable? 29:50 – Guest answers the question. 30:07 – Panel. 30:20 – Chuck. 30:33 – Guest: You can access code. Usually something in a workflow will make it happen. You have to fall back on some type of UI sort of thing. It’s almost like doing Tetris! I’ve never had to directly call something. I am not the best one to answer that. 31:16 – Panel: It’s like a weird mix of tests. 31:29 – Panelist is talking about unit testing and other tests. 31:55 – Chuck asks a question. 32:02 – Guest: It depends on the scale of your project. 32:28 – Chuck: Do you guys use a test coverage tool or on the side of: everything should run and then test if there is a bug. 32:43 – Guest: Coverage isn’t the full story. 33:26 – Panel: You said you weren’t a fan of the testing pyramid – can you explain why? 33:43 – Guest: I think it turns too much prescriptive. Guest: I think there are bigger concerns out there and the test pyramid is an over-simplification. 35:22 – Panel: What’s the difference between fast and slow testing? 35:28 – Guest: It really depends on your level of knowledge. If your test suite runs more than twenty minutes to an hour that is probably too slow! 36:03 – Alyssa. 36:09 – Chuck. 36:16 – Alyssa: There is no way that 20 minutes equals that! 36:26 – Guest: 20 minutes is the extreme limit. 36:51 – Chuck. 37:11 – Panel: Any new Twitter news on Trump? 37:21 – Panelist talks about test suites! 37:40 – Panelists and guests go back-and-forth. 38:11 – Chuck: Do you have any recommendations for the unit testing? Keeping it small or not so much? 38:29 – Guest: Think: What is this test asking? Don’t write tests that won’t fail if some other tests could have caught them. 39:04 – Alyssa: That’s smart! 39:09 – Guest continues. 39:28 – Chuck: What else to jump on? Chuck: Do you write your tests in typescript or in Java? 39:48 – Guest answers the question. He mentions Python, typescript, and more! 40:17 – Alyssa. 40:22 – Guest continues. 40:46 – Alyssa: How many people worked on that project? 40:50 – Guest: 2 or 3 framework engineers who did the tooling. About 20 people total for tooling to make sure everything worked. 41:18 – Panelist asks a question. 41:22 – Guest: About 20 minutes! 42:35 – Guest wants to talk about the topic: end-to-end testing! 44:59 – Chuck: Let’s do picks! 45:09 – Fresh Books! END – CacheFly! Links: Vue jQuery Angular JavaScript Python React Cypress Puppeteer – GitHub Protractor Test Mocha.js Selenium C# GitHub: testcafe Istanbul “Protractor: A New Hope” – YouTube Video – Michael Giambalvo & Craig Nishina Book: “Testing Angular Applications” – Manning Publications Michael’s GitHub Michael’s Twitter Sponsors: Angular Boot Camp Cache Fly Picks: Alyssa Fantastic Beasts Joe Skyward War of the Spider Queen Luxur - board game Testing Angular with Cypress.io Space Cadets Sonar Family Charles The DevRev Podcast Gary Vee Audio Experience Michael Scale Captain Sonar
Panel: Charles Max Wood Joe Eames John Papa Alyssa Nicoll Special Guest: Michael Giambalvo In this episode, Chuck talks with special guest Michael Giambalvo who is an author of the book titled, “Testing Angular Applications.” This book can be purchased through Amazon, Manning Publications, among other sites, too. The panelists and the guest talk about different types of tests, such as end-to-end testing and unit testing. They also talk about Angular, Java, Mocha, Test Café, and much more! Check it out! Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:53 – Chuck: Our panel is John Papa, Joe Eames, Alyssa Nicoll, and myself. My new show is the DevRev – check it out, please! 1:26 – Guest: I am a contributing author to our new book, which is about Angular. 1:56 – Chuck: How is it like to write with multiple people? 2:04 – Guest: Yep it’s hard b/c we are in different areas. Back in the 2.0 days, Jesse was writing a book. He was talking about typescript and components. Craig made friends with Jesse and they were talking about the book he was writing. Then we all jumped in to get in finished. We all had areas that we were specialists in! 3:21 – Alyssa: If you break it up that makes sense. 3:31 – Guest. 3:40 – Panel: Pick different words and go around the room. 3:51 – Panel: You write the first ½ of a sentence and then you write the other ½ of the sentence! 4:10 – Guest: You have these big word documents and go back-and-forth. 4:36 – Alyssa: Editing and then pass it back-and-forth – how does that work? 4:46 – Guest: It’s like 8 pass backs-and-forth. 5:35 – Guest: The editing was the main issue – it took forever! 5:50 – Chuck: We were going to co-author a book and we didn’t. Chuck: If you could break down the book in 4 core topics what would they be? Elevator pitch? What is the starting knowledge? 6:18 – Guest: We expect you to know Angular Intro and that’s it! 6:43 – Chuck: What are the principles? 6:50 – Guest: We talk about the testing component. We highlight the benefits of using Angular vs. Angular.js. That shows up in the book a lot. It’s very example driven. 7:28 – Chuck: We have been talking about testing quite a bit on the show lately. 8:22 – Chuck: Do you see people using the testing in regards to the pyramid? 8:33 – Guest: I am not a huge fan of the pyramid. Some questions I ask are: Does it run quickly? Is it reliable? To give you some background I work on Google Club Platform. 10:21 – The guest talks about “Page Level Integration Tests.” 11:31 – Alyssa. 11:50 – Chuck: After your explanation after writing your book I’m sure it’s a breeze now. Knowing these tests and having the confidence is great. 12:13 – Guest: Tools like Cypress is very helpful. Web Driver Testing, too. 12:43 – Chuck: Where do people start? What do you recommend? Do they start at Protractor or do they come down to unit tests? 13:02 – Guest: Finding the balance is important. 14:30 – Chuck: Check out a past episode that we’ve done. 14:40 – Panel asks a question about tools such as Test Café and Cypress. 14:50 – Guest: I really don’t know Test Café. There is a long story in how all of these fit together. The guest talks about Selenium, Cypress, Safari, Edge, Chrome, Firefox, and Puppeteer! 19:24 – Chuck: Does it work in Electron as well, too? 19:26 – Guest: Good question but I don’t know the answer. 19:39 – Chuck: Maybe a listener could write a comment and tell us. 19:43 – Panel: I’ve used Protractor for many years. I like the explanation that you just gave. The great thing about Protractor is that you can... 20:29 – Guest: We wanted to explain the difficulty of Protractor in this book. Guest: You have this test running in Node but then you have your app running in the browser. You have these 2 different run times. You might have to run them separately and there is tons of complexity. 21:15 – Panel: As I am coding you have this visual browser on one side, and then on the other side you have... 22:22 – Guest asks the panelists a question. 22:32 – Panel: I have only used it for a few months and a few several apps but haven’t had those issues, yet. 22:55 – Guest: I haven’t heard of Test Café at all. 23:05 – Alyssa: Is the book online? 23:13 – Guest: It’s available through Manning Publications and Amazon. I think we have some codes to giveaway! 23:34 – Chuck: Yeah, we are working on those codes and giveaways. We have mentioned about 5 or 6 tools – are you worried about your book going out of date? 24:05 – Guest: Sure that is something we are worried about. When editing took a long time to get through that was one of my thoughts. The guest talks about Selenium, control flow, Protractor, 25:45 – Guest (continues): These new features were coming out while the book was coming out – so there’s that. What’s this thing about control flow and why this matters to you, etc. We were able to add that into the book, which is good. We were able to get those instructions out there. Books have a delay to them. 26:47 – Chuck: We talked about this in JavaScript Jabber. This guest talked about this and he is from Big Nerd Ranch. At what point do you have this breaking point: This isn’t a good fit for Test Café or Selenium BUT a good fit for Mocha or Jest? 27:27 – Advertisement: Get A Coder Job! 28:04 – Guest: Do you have a reason why you would switch testing tools? 28:12 – Chuck. 28:41 – Guest: That’s the tradeoff as you move down the ladder. 29:43 – Panel: If you want to trigger an action that isn’t triggerable? 29:50 – Guest answers the question. 30:07 – Panel. 30:20 – Chuck. 30:33 – Guest: You can access code. Usually something in a workflow will make it happen. You have to fall back on some type of UI sort of thing. It’s almost like doing Tetris! I’ve never had to directly call something. I am not the best one to answer that. 31:16 – Panel: It’s like a weird mix of tests. 31:29 – Panelist is talking about unit testing and other tests. 31:55 – Chuck asks a question. 32:02 – Guest: It depends on the scale of your project. 32:28 – Chuck: Do you guys use a test coverage tool or on the side of: everything should run and then test if there is a bug. 32:43 – Guest: Coverage isn’t the full story. 33:26 – Panel: You said you weren’t a fan of the testing pyramid – can you explain why? 33:43 – Guest: I think it turns too much prescriptive. Guest: I think there are bigger concerns out there and the test pyramid is an over-simplification. 35:22 – Panel: What’s the difference between fast and slow testing? 35:28 – Guest: It really depends on your level of knowledge. If your test suite runs more than twenty minutes to an hour that is probably too slow! 36:03 – Alyssa. 36:09 – Chuck. 36:16 – Alyssa: There is no way that 20 minutes equals that! 36:26 – Guest: 20 minutes is the extreme limit. 36:51 – Chuck. 37:11 – Panel: Any new Twitter news on Trump? 37:21 – Panelist talks about test suites! 37:40 – Panelists and guests go back-and-forth. 38:11 – Chuck: Do you have any recommendations for the unit testing? Keeping it small or not so much? 38:29 – Guest: Think: What is this test asking? Don’t write tests that won’t fail if some other tests could have caught them. 39:04 – Alyssa: That’s smart! 39:09 – Guest continues. 39:28 – Chuck: What else to jump on? Chuck: Do you write your tests in typescript or in Java? 39:48 – Guest answers the question. He mentions Python, typescript, and more! 40:17 – Alyssa. 40:22 – Guest continues. 40:46 – Alyssa: How many people worked on that project? 40:50 – Guest: 2 or 3 framework engineers who did the tooling. About 20 people total for tooling to make sure everything worked. 41:18 – Panelist asks a question. 41:22 – Guest: About 20 minutes! 42:35 – Guest wants to talk about the topic: end-to-end testing! 44:59 – Chuck: Let’s do picks! 45:09 – Fresh Books! END – CacheFly! Links: Vue jQuery Angular JavaScript Python React Cypress Puppeteer – GitHub Protractor Test Mocha.js Selenium C# GitHub: testcafe Istanbul “Protractor: A New Hope” – YouTube Video – Michael Giambalvo & Craig Nishina Book: “Testing Angular Applications” – Manning Publications Michael’s GitHub Michael’s Twitter Sponsors: Angular Boot Camp Cache Fly Picks: Alyssa Fantastic Beasts Joe Skyward War of the Spider Queen Luxur - board game Testing Angular with Cypress.io Space Cadets Sonar Family Charles The DevRev Podcast Gary Vee Audio Experience Michael Scale Captain Sonar
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: Dave Kimura Charles Max Wood Nate Hopkins Special Guest: Josh Justice In this episode of Ruby Rogues, the panelists talk with Josh Justice who is a developer, writer, and speaker. Josh streams JavaScript and web development on Friday’s at 2:00 PM (ET) here! The panelists and the guest talk about Josh’s background and frontend testing in Ruby. Check it out! Show Topics: 0:00 – Advertisement: Sentry.io 1:04 – Chuck: Hi! Dave, Nate, and myself are on the panel and our special guest is Josh Justice! I am developing a show about developer freedom and it’s called The DevRev. It will be streamed through YouTube, and I will record Friday afternoons. Check out Facebook, too! 2:11 – Josh: Thanks! I am happy to be here! 2:18 – Chuck: Introduce yourself, please! 2:24 – Josh: I have been a developer for about 14 years. I have used PHP and then got into Ruby and then frontend development. 2:46 – Chuck: You work for Big Nerd Ranch in Atlanta? 2:56 – Josh: Yep for the last 3-4 years! 3:15 – Chuck: Can you introduce the topic? 3:25 – The guest talks about Big Nerd Ranch and frontend development. Learn TDD is mentioned, too! Check it out here! 5:06 – Panel: How much bouncing do you do between React and Vue? 5:11 – Guest. 5:47 – Chuck: We need to get you on our podcast shows for React and Vue! It’s an approach that I am familiar with in Ruby – and Selenium what a pain! 6:16 – Guest: I’ve had a good experience with Cypress, actually! 7:47 – Guest: Panelist, can you share your experiences? 7:57 – Panel: Not bad experiences with testing, but now I am trying to minimize my use with JavaScript. 8:30 – Guest: I think there is a big push towards considering more server site rendering. 9:35 – Panel: What’s your recommendation to setup Cypress? 9:40 – Guest: Their docs are really great! They had some conference talks on how to set it up! 10:15 – Guest: Check out my talks about this topic. (Connect Tech 2018). 10:29 – Panel: I think Cypress is a pretty cool solution but one thing that left me confused is that you have to have an environment that is already stood-up and running. Is that accurate or has that changed? 11:00 – Guest: Can you clarify what you mean by a “running environment”? 11:04 – Panelist clarifies. 11:44 – Guest: Luckily for me I have something to say b/c I tried a week ago! 12:01 – Guest mentions Vue CLI 3. 14:38 – Panel: How can you test your code coverage? I want to know how much of my code coverage am I hitting? The applications are up and running, it’s not going through the files (per se), and is there anything that would indicate how good your coverage is with the Cypress test? 15:10 – Guest: Let me as a follow-up question: How do you approach it on the frontend? 15:24 – Panelist answers the guest’s question. 16:06 – The guest mentions Vue CLI 2 & 3. 18:31 – Chuck: Are you using the tool Istanbul? 18:36 – Guest: Yep Istanbul is the one! 18:54 – Chuck: I’ve heard some similar rumors, but can’t say. 19:02 – Panelist talks. 20:13 – Chuck: I have been working on a project and what doesn’t get test-coverage gets a candidate to get pulled-out. 20:40 – Guest: Talking about test-driven development... Guest: Have you read the original book? 21:02 – Guest: The book: “Effective Testing with RSpec 3” is updated information – check it out! The guest mentions his live stream on Friday’s. Check out the links found below! 23:57 – Panel: How is the stability with tests like Cypress with end-to-end tests? If you are testing with a login then the user has to be already created. Or what about a Twitter app – the user has to be created and not followed? How do you handle that? 24:22 – Guest: I think we are spoiled in the Rails world b/c of those... 24:53 – The guest answers the panelist’s question! 26:59 – Fresh Books! 28:07 – Guest: Does that help? 28:10 – Panel. 28:21 – Guest: I have been thinking about this, though, recently. Thinking about the contracts through the business. I have dabbled with native development and I see the cost that runs a native app. 30:21 – Panel: It’s refreshing to hear the new market’s demands. I truly haven’t seen an application that requires that. I have built some extensive applications and also very simple ones, too; the need for productivity. 31:17 – Guest mentions a talk at a conference. See here for that information! 31:43 – Guest: I have a friend who was a new developer and he really knows his stuff. He said that he didn’t know if he could be a full stack developer in the next 5-10 years. Wait a minute?! Guest: The freedom to create something that stands alone. Guest: Tom Dale is mentioned by the Guest. 33:35 – Panel: To choose Rails as a new developer (today) it’s not as easy as it was back in the day. Today you have Active Job, Action Cable and so many other components. It’s more complicated today then it was in the past. It could be overwhelming to a new developer. 35:00 – Chuck: I think a lot of that is the community’s fault and not Rails’ fault. 35:57 – Panel. 36:04 – Panel: The counter-argument could say that’s where server-less come in. 36:27 – Chuck: To some degree you can get away with it. You don’t have to worry about the infrastructure or anything else. 36:44 – Panel: Have you tried messing around with server-less functions with AWS? I have and...it’s not easy. There is not a good flow or good work flow in a server-less environment. 38:01 – Chuck: You can go to this website. It makes the setup easier b/c you are adding your Azure or AWS features. 38:30 – Panel: This topic, though, does tie back to the testing topic we were talking about earlier! 39:14 – Panel: Yeah that is why I haven’t gotten into server-less things. The Rails holistic approach is so appealing. 40:14 – Panel continues: I want to take smaller steps when it comes to technology! I want to move into things that we are laying down the tracks to make it easier travelable. That way we can consider the things we’ve learned in the past and help those in the future. 41:07 – Chuck: What are lacking then? What is the friction that is left? Seems like Cypress helped removed that but maybe not? 42:02 – Panelist mentions Cypress, Jest, Mocha, and others! 43:10 – Panel (continues): I am all about experimenting but I want to know all the reasons. What has changed and what hasn’t’ changed? 43:29 – Panel: There is an article written that talks about this topic. 43:59 – Guest mentions the video “Is TDD Dead?” (See links below.) 44:29 – Guest: I like brining thoughts together and taking his or her input and come up with my own thoughts. 46:32 – Guest (continues): The testing trophy is heavier on the top (picture of a trophy). Guest: I think the thing that draws me to unit testing is that... 47:37 – Guest: I am obsessed with testing. The guest gives a summary here! 48:15 – Chuck: We talked with Quincy Larson last week and it’s a really good take on what we are doing and what we are trying to accomplish with our tests. Check it out – it’s coming out soon! 49:05 – Panel: When you are younger into your career – the way you think about structuring your code – when you are comfortable you really don’t need that guidance. 50:00 – Guest: I would encourage folks who were new to coding to do the following... 51:36 – Guest: Think about WHY you are doing (what you are doing) and being able to articulate well what you are doing and why. 52:03 – Panel: There is no question – every time I test I am surprised how much it shapes my thinking about the code and how many bugs that I catch even in code that I thought was operating well. When you go too far though there is a fallacy there. 52:54 – Panel: Yes, testing is very important. I am a test-after-the-fact programmer. That is my self-key term. Don’t write 500-line methods b/c you won’t be able to test that. Don’t make it too abstract so have a common pattern that you will use. Have a lot of private methods that aren’t exposed to the API. 54:03 – Guest: Yes thinking about how to structure your code can be challenging at first but it gets easier. 55:58 – Chuck: I have had talks with Corey Haines about topics like this! 56:47 – Guest: Yes it can be helpful in consultancy now. 59:23 – Guest: Think about this: choosing what level to test at. 1:00:14 – Panel: It’s hard b/c it changes all the time per function or something else. There are tradeoffs with everything we do. 1:00:41 – Chuck: You are the consultant it depends doesn’t it? 1:00:51 – Picks! 1:00:55 – Advertisement: Get A Coder Job! End – Cache Fly! Links: Get a Coder Job Course Ruby Ruby on Rails Angular Cypress Vue React VUE CLI 3 Jest.io Mocha.js GitHub: Istanbul The RSpec Book RR 068 Episode Ember CLI GitHub: Factory_Bot GitHub: VCR Big Nerd Ranch Big Nerd Ranch: Josh Justice / Team Manager The Bike Shed Keynote: Tom Dale @ EmberFest 2018 JSJ 291 Episode Serverless Article: Test-Induced Design Damage Video: Is TDD Dead? Music: Sub Conscious – Electronic / 2004 Music: Interloper / 2015 Disney Heroes: Battle Mode Google Play: Disney Heroes / Battle Mode Book Authoring Playlist Tom Dale’s Twitter Corey Haines’ Twitter Coding It Wrong Josh’s Twitter Josh’s GitHub Josh’s LinkedIn Josh’s Vimeo Video Sponsors: Sentry CacheFly Fresh Books Picks: Nate Phutureprimitive - Sub Conscious Carbon Based Lifeforms - Interloper Dave Dust collections system in Wood Shop Doctor Who - Theme Music Charles Authoring music Disney Hero Battles Josh Effecting Testing with RSpec 3 Growing Object-Oriented Software, Guided by Test XUnit Test Patterns Spectacle App Alfred App
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: Charles Max Wood Guest: Mark Bates This week on My Ruby Story, Chuck talks with Mark Bates who is a consultant, trainer, entrepreneur, co-founder of PaperCall, and an author! Chuck and Mark talk about PaperCall, GO, Ruby, JavaScript, and helping others within the community. Check out today’s episode to hear more! In particular, we dive pretty deep on: 0:00 – Get A Coder Job! 0:59 – Chuck: Hi! I saw we were on Episode 198! We talked about Ruby and different communities. 1:25 – Guest: Yes, we were talking about the conference we were trying to start, which never took-off! 1:50 – Chuck: You talked about how you are working with GO now. You are an author, too! 2:06 – Guest: That came out in 2009. My 2nd son was born the day before that went to print. 2:42 – Chuck: How many kids do you have? 2:47 – Guest: I have 2 kids. 3:00 – Chuck: Happy Birthday buddy! Let’s talk about your journey into and out of Ruby! 3:15 – Guest: I will be happy to. 3:23 – Chuck: 3:27 – Guest: I have a degree in music and studied guitar in England. I came back in 1999 and needed a job. If you could spell HTML then it was good – then if you could work with it then it was even better! The guest mentions Liverpool, England. 4:20 – Guest: I got a job and transitioned into other things. Fell in-love with Java at the time – and then moved into straight development. I needed money, I had skills into it, and then I fell in-love with 5:10 – Chuck: What aspect in music are you into? 5:14 – Guest: I am a singer/songwriter, and yes into guitar. 5:57 – Chuck: Yeah, they used to have jam sections at conferences. 6:37 – Chuck: I find in interesting how much crossover there is between music and programming/coding. I hear them say: I found I needed to build a site for the band and whatnot. 7:25 – Guest: Yeah, I can do view source and I can figure out that I am missing a tag. That put me ahead in 1997 and 1998! I had done some work that. 8:57 – Chuck: You don’t even have to generate a JavaScript project with that – can I find the template and can I go? 9:14 – Guest: Yes programming has come a long way. 9:22 – Chuck: It is interesting, though. When we talk about those things – it was a different time but I don’t know if it was easier/harder for people to come into the career field now. 9:52 – Guest: Yes, I am into the educational side of it, too. There was a lack of books on the subject back-in-the-day. There is almost too much material now. Guest: I do a Google search that will give me something that is most recent. There is no reason to have to dig through material that isn’t relevant anymore. Guest: I used NOTEPAD to write websites. 11:29 – Chuck: Yes, and then Notepad plus, plus! 11:39 – Guest: Those days are gone. If you want to build a website you go to a company that does that now. The guest refers to Kubernetes, Ruby, HTML, Sequel and much more! 12:55 – Guest: I see the new developers getting overwhelmed in the beginning they need to learn 10 languages at once. I am fortunate to have come into the industry when I did. I don’t envy them. 13:56 – Chuck: Talking about how complicated the Web is getting. What led you to Ruby on Rails? 14:12 – Guest: In 2004 – I just finished a Java project that had roughly 100,000 lines of configuration!! Everything in Java at that point was XML configuration. I didn’t like debugging XML – and it wasn’t fun. I was refiguring out my career. Everything at the time was XML and more XML! I didn’t want to be in that world. I quit developing completely for 2 years. I worked as an internship in a recording studio for a while. I got to work with a lot of great people, but there was a lack of money and lack of general employment. We wanted to have kids and at the end of 2005 a friend mentioned Ruby on Rails. He told me that it’s NOT Java and that I would love it. I installed it and found an old cookbook tutorial and immediately I said: THAT’s what I want programming to be. When did you pick up Ruby on Rails? 18:14 – Chuck: I picked it up when I worked for...and I was doing Q&A customer service. 19:05 – Guest: Yeah, he hooked me for sure – that jerk! I really got into this book! Check it out! It changed my career and web development entirely. For all the grief we give Rails it did change the world. 20:40 – Chuck: What have you done in Ruby that you are particularly proud of? 20:50 – Guest: Most proud running Boston RB. We had so many people show up! 22:49 – Chuck: You talk about those things and that’s why I ask the question in the first place. And it turns out that: I did THIS thing in the community! I like talking to people and helping people. 23:31 – Guest: Yes, I get to work and help people all around the world. Sweet! I get to go in and help people. It gives me the time to contribute to open source and go to Slack. I have a career based around: Helping People! I like the code that I created, but I like the community stuff I have done over the years. 24:31 – Chuck: Yep my career coach wanted me to create a vision/mission statement for DevChat T.V. We make a difference and people make career changes b/c they are getting help and information 25:23 – Guest: Making a living off of helping people is a great feeling! 25:44 – Guest: The contents of the book are wildly out-of-date, but the origin story is hysterical. I went to a conference in 2008 and was just laid-off in October 2008. I got into a hot tub in Orlando and someone started talking to me about my recent talk. By the way, never write a book – don’t do it! 28:18 – Chuck: Sounds like a movie plot to me! 28:25 – Guest: Oh no – that’s not a good movie idea! 28:50 – Chuck and Guest go back-and-forth with a pretend movie: who would play you? 29:15 – Chuck: Let’s talk about PaperCall? 29:23 – Guest: I hated that (for conferences) you had to enter in a lot of different forms (2-3 proposals) for one conference. This bothered me and was very time-consuming. 31:45 – Guest & Chuck talking about saving time. 32:37 – Chuck: What are you doing now? 32:42 – Guest: Yeah, I get to go around and help engineers and open source exclusively. 33:48 – Chuck: How did you get into GO? 33:53 – Guest: In about 2012 I started looking into GO. The guest talks about the benefits and why he likes GO! 36:28 – Guest: What you see is what you get in GO, which is what I like! 39:13 – Chuck: It is an interesting language, and I haven’t played around with it as much as I would like to. I love trying new things, and see how it solves problems. 40:30 – Guest. 42:00 – Chuck: Picks! 42:06 – Advertisement – Fresh Books! END – CacheFly Links: Ruby Elixir Rails Rust Python PHP Kubernetes React Native Ruby Motion Mark’s GitHub Mark’s Twitter PaperCall.io Sponsors: Get a Coder Job Cache Fly Fresh Books Picks: Chuck Book: Ultra Marathon Man Mark GO! GoBuffalo.io Boston RB Jim Weirich – In Memory of... Jim’s Bio
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: 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: 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: Charles Max Wood Guest: Michael King This week on My Ruby Story, Chuck talks with Michael King who is a developer, an enthusiast for natural languages, developing, and mathematics. Charles and Michael talk about his background, and past/current projects that Michael is working on right now. Other topics of discussion include Ruby, Rails, Audacity, PHP, RubyMotion, and React Native. Check it out! In particular, we dive pretty deep on: 0:00 – Get A Coder Job! 0:58 – Chuck: Say “hi” Michael! Introduce yourself. 1:12 – Michael: I am a big language learner: Spanish, Portuguese and Chinese. I learned through T.V. and music. I decided to build an app that helped with languages. I started doing it. 1:50 – Chuck: You hired a developer and had no idea what the developer what was doing. How do you make that transition? They just go with it – right? How did you decide: no, I have to understand THIS. 2:25 – Guest: It’s either I am really into it or I am NOT into it. I have been always very good with mathematics. The computer broke when I was in school and the only option we had were these...He was writing all these variables and I loved variables. The guest talks about Ruby, Rails, and Audacity! 4:08 – Chuck: You talk about natural languages – I see the correlation sometimes and sometimes I don’t. I learned French in school, and then I became fluent in Italian during my Mormon missionary trips. 4:56 – Guest: I am reading this book right now and you have to understand the technicians’ role in order to help lead him. The guest talks about the differences between coding, natural languages, and mathematics. 5:50 – Chuck: Did you let your developer go? Or did you keep him around? 6:03 – Guest: I let him go actually b/c he was on for a part-time basis. I started coding myself. I got help from friends and I got help from a lot of other people. I would ask them tons of questions and form a friendly relationship with them. From there, it snowed-ball from there! 6:57 – Guest: From that experience, I learned a lot. If I had to REDO what I did originally, then I would have done the following things differently... 7:44 – Chuck: I can identify with that – I was a freelancer for 8-9 years. I would build something and then they say: that’s not what we hired you to build. 8:10 – Guest: They wonder why they are getting this feedback? 8:22- Chuck: Why Ruby on Rails? 8:27 – Guest: I didn’t know the difference between mobile frameworks and web frameworks. 9:01 – Chuck: Yeah I don’t like the word “dumb” either. 9:09 – Guest: Ruby was very smooth and I liked it. I got addicted to the process through the Rails way and the Ruby syntax. 9:46 – Chuck: Same for me. I have done PHP before but when I got into Rails it naturally flowed into the way I wanted to work on stuff. I get it. 10:12 – Chuck: What are you working on now? 10:19 – Guest: This project that I have been working on now for 1.5 years. 11:41 – Chuck: You talked about how you picked up React Native. 11:52 – Guest: Yes, yes. 12:39 – Chuck: How did you settle on React Native? 12:50 – Guest talks about the Spanish and English languages. 13:25 – Chuck: I am curious – why didn’t you go with RubyMotion? 13:34 – Guest: I didn’t know anyone that could help me honestly. Also, I didn’t think it was going to be EASY to learn for me. 14:02 – Chuck: Is Reactive Native your main focus? 14:08 – Guest: No building just designing and putting it in front of people. I want to get a prototype to get more funding. I want to know EXACTLY what we are building. 14:40 – Chuck: For entrepreneurs, any advice for anything to get this rolling? 14:56 – Guest: If I had to do it again I would draw it out on paper and figure out how to get to MVP right away. I would try to get validation right away from not building too much 15:47 – Chuck: I am working on a service to help podcasters. They see that that I run 15 shows through DevChat.TV. If I can solve those three problems then I am golden: monetization and/or production. For scheduling guests it’s a pain point for most podcasters. 17:36 – Chuck: Some of the validation for me is talking to people through conferences and other venues. Main question is: What are you doing for scheduling? It takes a bunch of time. Post to where people will get your content. Have your guests promote it, too! 20:05 – Guest: Inviting people to the show. 20:13 – Chuck: This is the 16th interview this week so far! To give you an idea! 21:16 – Guest: You lost me along the way only b/c I don’t do podcasting. You know the problem b/c you are doing it, and you are within the field. 21:42 – Chuck: The more I talk to people the more I get ideas and such. 22:00 – Guest. 22:06 – Chuck: They are worried that their ideas are going to get stolen. 22:15 – Chuck: It’s interesting to see where it goes. I have 2 more interviews after this. Michael, you see and say: what solutions can I provide? 23:03 – Chuck: Did we get into your mobile app then? 23:14 – Guest: It was really hard for me, but now I love coding. Getting it in front of people and testing it. I am trying to keep my education going. I learn by doing and learning by being thrown in to the fire. I am doing a free code camp now. Any suggestions, Chuck that you could offer? 24:35 – Chuck: Learning how to prioritize. What are you aiming at, and what goal are you trying to achieve? I want to make a video course on HOW to stay current? 25:12 – Chuck: Where can people find you? 25:18 – Guest: Twitter! There really isn’t an easy way to find me online – something I should probably fix. 25:28 – Advertisement – Fresh Books! END – CacheFly Links: Ruby Elixir Rails Rust Python PHP React Native Ruby Motion Sponsors: Get a Coder Job Cache Fly Fresh Books Picks: Chuck Vue.js – frontend framework John Papa – Slots in Google Calendar (saying goodbye to Schedule Once) Michael Michael’s Prototype
Panel: Charles Max Wood Guest: James Adams This week on My JavaScript Story, Charles speaks with James Adams who is a web and a full stack developer who currently resides in Melbourne, Australia. Chuck and James talk about James’ background, current projects, JavaScript, Ruby, Meetups, and much more! Check out today’s episode to hear all of the details. In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:55 – Chuck: Welcome to My Java Script story! You are the 4th person I have talk to today. I have only talked to one person in the U.S. Other people were from Denmark, Tennessee (USA), and Bulgaria. 1:39 – Guest: I am in Australia! 1:48 – Chuck: I try to open it up for different times and different locations. I started making my own program. I want one tool to manage my podcast company. 2:20 – Guest. 2:26 – Chuck: Introduce yourself, please! 2:33 – Guest: I have been working in JavaScript for 2 years now, and I just FOUND it. I could have been put anywhere but working with a large company. I discovered React.js. I went to study Math and Chemistry originally. 3:24 – Chuck: What was it – why did you change from mathematics to programming? 3:38 – Guest: I like solving problems and that has been true my whole life. 4:25 – Chuck: I identify with that – you’re right – for me, it’s more tangible and it’s neat to see something being built. White line on a black floor is mentioned. 5:30 – Guest: I had a great education, but seems like the education in the U.S. is more fun. We didn’t get to program and stuff like that. 5:51 – Chuck: My experience was that I got to do really interesting things in High School. 6:20 – Guest: I think you reap benefits by diving into one topic. 6:36 – Chuck: We were building little circuits that were turning on/off LED. We then went to building robots and then computer chips. How did you get into JavaScript? 7:01 – Guest: We didn’t touch JavaScript until my 3rd year. I went to a school in Jerusalem for a while. 9:05 – Chuck: How did you get your first programming job? 9:10 – Guest: I wasn’t really applying – I thought I would travel for a year or so. It was weird I didn’t think I had to apply to jobs right away. I applied to a few jobs, and my friend started sharing my resume around and I ended up doing some contract work for that company. I used RUBY for that team. 10:18 – Chuck: First few jobs I got were through the “spray-and-pray” method. The best jobs I got are because I KNEW somebody. 10:30 – Guest and Chuck go back-and-forth. 11:31 – Guest mentions networking. 11:41 – Chuck: What have you done with JavaScript that you are especially proud of? 11:45 – Guest. 13:43 – Chuck: I didn’t know that honestly. I never really thought of integrating React Native into a native app. 14:00 – Guest: Yeah, it’s really cool. I didn’t think about it before either! 14:24 – Chuck: What are you working on now? 14:28 – Guest: Actually, I am working on some integration with different parties. Now we are routing everything back to the backend. 15:46 – Chuck: I think I have heard of Pro... 15:52 – Guest: Yeah, they are located in the U.S. 16:01 – Chuck: Every community/country is different, but what is it like to be a programmer in Melbourne, Australia? 16:16 – Guest: It’s cool and I think it has a way to go. We have a React Meetup. 16:55 – Chuck: Sounds like you have a healthy community down there. So in Denmark if you get away from the bigger cities then you have a harder time finding a community in the rural areas. 17:30 – Guest: Do you spend more time online? 17:50 – Chuck: Yeah, I don’t know. I live in Utah. It is hard because there is a community North in Logan, UT. 18:13 – Guest: You have 5-6 main cities in Australia. We don’t have medium-sized cities. In the U.S. you have a mixture out there. 18:42 – Chuck talks about the population throughout Utah. 19:03 – Guest asks a question to Chuck. 19:09 – Chuck: Yes, Facebook is putting in Data Center about 20 minutes away from my house. They have built satellite offices here. The startup scene is picking up, too. 19:49 – Chuck: We are fairly large land wise. We can spread-out more. 20:07 – Guest talks about the population density in Australia vs. U.S. 20:20 – Chuck: It’s interesting to see what the differences are. If you are in a community that HAS a tech community you are set. 20:39 – Guest: I find it really interesting. 21:25 – Guest: Humans are a funny species – you can put out your hand, shake it, and you start talking. 21:45 – Chuck talks about the tech hubs in Fort Lauderdale, Florida in U.S. 22:17 – Guest: Yeah, if you aren’t interested than you aren’t interested. 22:28 – Chuck. 22:37 – Guest. 22:53 – Chuck: Join the mailing list, get involved and there are online groups, too. 23:11 – Guest: I really didn’t get into functional programming at first. I got to talk about this at a React Meetup. 24:25 – Chuck: The logic is the same. 24:32 – Guest: You put these functions together and there you go! 24:40 – Chuck: Go ahead. 24:48 – The guest is talking about React’s integrations. 24:56 – Chuck: Anything that is shared and put in some functional component, hook it up, and that’s it. Picks! 25:09 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly 29:55 – Guest: Shout-out to my mentors. I am really blessed to have these mentors in my life and I wouldn’t be here today if it wasn’t for them. Lucas is one of them who work with Prettier. Links: React Angular Vue.js JavaScript Ember Elm jQuery Node Tweet Mash Up Guest’s Twitter React Melbourne ReactJS Melbourne JavaScript Meetups in Melbourne Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Chuck Presser switch for my Furnace – Goggle Search James Tweet Mash Up
Panel: Charles Max Wood Guest: James Shore This week on My Angular Story, Charles speaks with James Shore who is the author of the book, “The Art of Agile.” James is a thought leader in the Agile software development community. He combines deep technical expertise with whole-system thinking to help development teams worldwide achieve great things! Check out his complete biography here! Chuck and James talk about Agile development, James’ background, and future projects! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:48 – Chuck: Welcome! James was on a past episode, which was show 205! Give us an introduction, please! 1:05 – James: I have been involved with the software industry since 1991. I have written a book and it’s fairly evergreen. 1:30 – Chuck: Yeah, I remember that’s when the Agile development was getting really, really hot! 2:09 – James: Yeah in the early 2000s there was this energy to do software really well, and it seems like it’s turned into this bureaucracy. I find that to be depressing a tiny bit. 2:50 – Chuck: Yeah, I agree. 3:01 – James: Going back to a perspective where excellence is no longer the priority; excellence in your craft. 3:31 – Chuck. 3:34 – James: Yeah that was Bob Marten. James talks about the Agile movement. 4:22 – Chuck: This show is a walk back throughout your story. Let’s talk about HOW you got into this stuff. 4:40 – James talks about his background. 4:58 – Chuck talks about his Grandpa and his experience with technology when he was young. 5:10 – James: ...it had a whopping 2K of memory! That’s really how I got involved into programming. Later on I got a Trash 80 then an Apple 2, so I had programming in through my blood. 6:01 – Chuck. 6:08 – James talks about switching between computer and antenna, and his black and white T.V. He also talks about the electrical engineering program at the university. 7:16 – Chuck: I studied ad received my computer science degree. 7:28 – James. 7:34 – Chuck: You have been in the industry since 2001 and you are a bit older than me. 7:50 – James: My first job was in 1994. Then I wrote some things with Fido Net. Fido Net was this early online form thing. Sort of like Used Net / Used Groups (online bulletin web forms) via the telephone dial-up. They were hobbyists running this out from their home. It was basically chat forms. Once you have some experience (doesn’t matter your degree) – it’s...have you done this before? 9:30 – Chuck: This is RIGHT in-line with what I say in my eBook that I am developing now. 10:00 – James: I didn’t even post that I was looking for a job, but I got very lucky. 10:15 – Chuck: What is your journey look like and how did you get into Agile development? 10:30 – James talks about his Kickstarter, knowledge in JavaScript, programming experience, and more here – check it out! 13:16 – Chuck: How did you get to Agile development? 13:31 – James: I was programming throughout my teens. I was working on a really complicated project. I still play Dungeons and Dragons (D&D). It was the most complicated program that I built at that point. I had it in my head and then I didn’t understand it anymore. The program collapsed. To me that was really transformative b/c it’s not writing the algorithms but how it all works together. Then this taught me how to communicate the design to the other members on the team to make it work. 15:50 – James: Have you heard of Rational Rose? You don’t hear about it anymore b/c it was a complete flop. 17:20 – Chuck: Wow! 17:33 – James: It was actually detrimental to get it done. It really was a crisis of faith. I ran into this book: Object Modeling in Color by Peter Coad. Extreme Programming is mentioned, too, by James’ coworker! 21:10 – Chuck: It’s so interesting to me. We focus so much on the technological side, we forget to talk about the people, and the other sides to this. It’s easy to overlook this other stuff. 21:47 – James: There is so much silver bullet thinking within this industry. The original communication from person-to-person is so crucial. It’s so important to software development. Ultimately, the computer doesn’t care, but the collaboration is the real trick and the real challenge. 23:10 – Chuck talks about his brother and his computer science courses experience. 24:27 – James: It could be that 1 team could solve a problem but nowadays it’s working with multiple teams. People want to water things down to help facilitate – but don’t do that. There is a huge large scale Agile that is large interdependent teams. 25:19 – Chuck: MFCEO is a podcast that I am listening to now. He says that nobody wants to sit down and dictate what each member will be responsible for. Chuck reads a quote from an episode from MFCEO – check it out! 26:54 – James: It’s something that people have lost track of. I still program daily even though I do this Agile stuff as well. I have been programming for 25 years and Extreme Programming was the most effective thing for me throughout my career. James: I think XP is the time (now) to have a comeback! 29:41 – Chuck: That was my experience, too. We pushed one team to go to Agile, and then we went to our boss. Chuck: We’d sit down every two weeks and have an Agile-Perspective (what is working and what isn’t working). We are talking about HOW we are writing the software, and that is really what we are after. 30:54 – James: You are building the TEAM that builds the project. Of course, you need to have consistencies across the team, and every team is different b/c every member has different personalities. Mod Programming is we are going to work as a whole group around a screen. Personally, that is not my style but I would TRY it. If it worked for that team then I would do it. 32:00 – Chuck: That is the beauty of it. With this set of programmers x, y, and z may or may not work, and that is O.K. 32:25 – James: I heard about Extreme Programming and I thought it was nuts!! 32:40 – Chuck. 32:44 – James: The more I tried it, and the more it worked. Try Extreme Programming b/c it’s totally a different experience. It’s my book that I wrote 10 years ago but it still is applicable today. Try it for a few months (3 months) or so, b/c it takes time to figure out the different terms and such. Go try out a bunch of new different things, but figuring out HOW to make it work for me. 34:05 – Chuck: Yeah, you need data. Look at the data. Go experiment. 34:47 – James: Try it for real. Check out this essay: “We tried baseball, and it didn’t work.” James: Many things only work in context! What we do is we change the context in Agile. 35:58 – Chuck: What are you working on now? 36:00 – James: I am actually working on AgileFluency.org. It’s a set of tools for coaches and leaders to CHANGE their context. How can you find those constraints and invest on changing those. 36:31 – Chuck: Where do they go to find you? 36:40 – James: My website - it’s the ugliest website, but it’s been working since 2003. 36:54 – Picks! 37:05 – Fresh Books! END – CacheFly Links: jQuery Angular JavaScript Vue React Slack Zone.js GitHub – Zone.js Chuck’s Twitter Chuck’s E-mail: chuck@devchat.tv Timex Sinclair FidoNet VHDL Book: Java Modeling Color with UML Pivotal Labs Book: The ART OF AGILE DEVELOPMENT BY JAMES SHORE James Shore’s Website Sponsors: Get A Coder Job Fresh Books Cache Fly Picks: Chuck Podcast: MFCEO James Package Management Tool: Nix.org
Panel: Charles Max Wood Guest: James Adams This week on My JavaScript Story, Charles speaks with James Adams who is a web and a full stack developer who currently resides in Melbourne, Australia. Chuck and James talk about James’ background, current projects, JavaScript, Ruby, Meetups, and much more! Check out today’s episode to hear all of the details. In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:55 – Chuck: Welcome to My Java Script story! You are the 4th person I have talk to today. I have only talked to one person in the U.S. Other people were from Denmark, Tennessee (USA), and Bulgaria. 1:39 – Guest: I am in Australia! 1:48 – Chuck: I try to open it up for different times and different locations. I started making my own program. I want one tool to manage my podcast company. 2:20 – Guest. 2:26 – Chuck: Introduce yourself, please! 2:33 – Guest: I have been working in JavaScript for 2 years now, and I just FOUND it. I could have been put anywhere but working with a large company. I discovered React.js. I went to study Math and Chemistry originally. 3:24 – Chuck: What was it – why did you change from mathematics to programming? 3:38 – Guest: I like solving problems and that has been true my whole life. 4:25 – Chuck: I identify with that – you’re right – for me, it’s more tangible and it’s neat to see something being built. White line on a black floor is mentioned. 5:30 – Guest: I had a great education, but seems like the education in the U.S. is more fun. We didn’t get to program and stuff like that. 5:51 – Chuck: My experience was that I got to do really interesting things in High School. 6:20 – Guest: I think you reap benefits by diving into one topic. 6:36 – Chuck: We were building little circuits that were turning on/off LED. We then went to building robots and then computer chips. How did you get into JavaScript? 7:01 – Guest: We didn’t touch JavaScript until my 3rd year. I went to a school in Jerusalem for a while. 9:05 – Chuck: How did you get your first programming job? 9:10 – Guest: I wasn’t really applying – I thought I would travel for a year or so. It was weird I didn’t think I had to apply to jobs right away. I applied to a few jobs, and my friend started sharing my resume around and I ended up doing some contract work for that company. I used RUBY for that team. 10:18 – Chuck: First few jobs I got were through the “spray-and-pray” method. The best jobs I got are because I KNEW somebody. 10:30 – Guest and Chuck go back-and-forth. 11:31 – Guest mentions networking. 11:41 – Chuck: What have you done with JavaScript that you are especially proud of? 11:45 – Guest. 13:43 – Chuck: I didn’t know that honestly. I never really thought of integrating React Native into a native app. 14:00 – Guest: Yeah, it’s really cool. I didn’t think about it before either! 14:24 – Chuck: What are you working on now? 14:28 – Guest: Actually, I am working on some integration with different parties. Now we are routing everything back to the backend. 15:46 – Chuck: I think I have heard of Pro... 15:52 – Guest: Yeah, they are located in the U.S. 16:01 – Chuck: Every community/country is different, but what is it like to be a programmer in Melbourne, Australia? 16:16 – Guest: It’s cool and I think it has a way to go. We have a React Meetup. 16:55 – Chuck: Sounds like you have a healthy community down there. So in Denmark if you get away from the bigger cities then you have a harder time finding a community in the rural areas. 17:30 – Guest: Do you spend more time online? 17:50 – Chuck: Yeah, I don’t know. I live in Utah. It is hard because there is a community North in Logan, UT. 18:13 – Guest: You have 5-6 main cities in Australia. We don’t have medium-sized cities. In the U.S. you have a mixture out there. 18:42 – Chuck talks about the population throughout Utah. 19:03 – Guest asks a question to Chuck. 19:09 – Chuck: Yes, Facebook is putting in Data Center about 20 minutes away from my house. They have built satellite offices here. The startup scene is picking up, too. 19:49 – Chuck: We are fairly large land wise. We can spread-out more. 20:07 – Guest talks about the population density in Australia vs. U.S. 20:20 – Chuck: It’s interesting to see what the differences are. If you are in a community that HAS a tech community you are set. 20:39 – Guest: I find it really interesting. 21:25 – Guest: Humans are a funny species – you can put out your hand, shake it, and you start talking. 21:45 – Chuck talks about the tech hubs in Fort Lauderdale, Florida in U.S. 22:17 – Guest: Yeah, if you aren’t interested than you aren’t interested. 22:28 – Chuck. 22:37 – Guest. 22:53 – Chuck: Join the mailing list, get involved and there are online groups, too. 23:11 – Guest: I really didn’t get into functional programming at first. I got to talk about this at a React Meetup. 24:25 – Chuck: The logic is the same. 24:32 – Guest: You put these functions together and there you go! 24:40 – Chuck: Go ahead. 24:48 – The guest is talking about React’s integrations. 24:56 – Chuck: Anything that is shared and put in some functional component, hook it up, and that’s it. Picks! 25:09 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly 29:55 – Guest: Shout-out to my mentors. I am really blessed to have these mentors in my life and I wouldn’t be here today if it wasn’t for them. Lucas is one of them who work with Prettier. Links: React Angular Vue.js JavaScript Ember Elm jQuery Node Tweet Mash Up Guest’s Twitter React Melbourne ReactJS Melbourne JavaScript Meetups in Melbourne Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Chuck Presser switch for my Furnace – Goggle Search James Tweet Mash Up
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: Charles Max Wood Special Guests: Ed Thomson In this episode, the React Round Up Charles speaks with Ed Thomson who is a Program Manager at Azure through Microsoft, Developer, and Open Source Maintainer. Ed and Chuck discuss in full detail about Azure DevOps! Check out today’s episode to hear its new features and other exciting news! Show Topics: 0:59 – Live at Microsoft Ignite 1:03 – Ed: Hi! I am a Program Manager at Azure. 1:28 – Rewind 2 episodes to hear more about Azure DevOps! 1:51 – Ed: One of the moves from Pipelines to DevOps – they could still adopt Pipelines. Now that they are separate services – it’s great. 2:38 – Chuck talks about features he does and doesn’t use. 2:54 – Ed. 3:00 – Chuck: Repos and Pipelines. I am going to dive right in. Let’s talk about Repos. Microsoft just acquired GitHub. 3:18 – Ed: Technically we have not officially acquired GitHub. 3:34 – Chuck: It’s not done. It’s the end of September now. 3:55 – Ed: They will remain the same thing for a while. GitHub is the home for open source. Repos – we use it in Microsoft. Repositories are huge. There are 4,000 engineers working in these repositories. Everyone works in his or her own little area, and you have to work together. You have to do all this engineering to get there. We bit a tool and it basically if you run clone... Ed continues to talk about this topic. He is talking about One Drive and these repositories. 6:28 – Ed: We aren’t going to be mixing and matching. I used to work through GitHub. It’s exciting to see those people work close to me. 6:54 – Chuck. 6:59 – Ed: It has come a long way. 7:07 – Chuck: Beyond the FSF are we talking about other features or? 7:21 – Ed: We have unique features. We have branch policies. You can require that people do pole request. You have to use pole request and your CI has to pass and things like that. I think there is a lot of richness in our auditing. We have enterprise focus. At its core it still is Git. We can all interoperate. 8:17 – Chuck. 8:37 – Ed: You just can’t set it up with Apache. You have to figure it out. 8:51 – Chuck: The method of pushing and pulling. 9:06 – Chuck: You can try DevOps for free up to 5 users and unlimited private repos. People are interested in this because GitHub makes you pay for that. 9:38 – Ed and Chuck continue to talk. 9:50 – Ed: Pipelines is the most interesting thing we are working on. We have revamped the entire experience. Build and release. It’s easy to get started. We have a visual designer. Super helpful – super straightforward. Releases once your code is built – get it out to production say for example Azure. It’s the important thing to get your code out there. 10:55 – Chuck: How can someone start with this? 11:00 – Ed: Depends on where your repository is. It will look at your code. “Oh, I know what that is, I know how to build that!” Maybe everyone isn’t doing everything with JavaScript. If you are using DotNet then it will know. 12:05 – Chuck: What if I am using both a backend and a frontend? 12:11 – Ed: One repository? That’s when you will have to do a little hand packing on the... There are different opportunities there. If you have a bash script that does it for you. If not, then you can orchestrate it. Reduce the time it takes. If it’s an open source project; there’s 2 – what are you going to do with the other 8? You’d be surprised – people try to sneak that in there. 13:30 – Chuck: It seems like continuous integration isn’t a whole lot complicated. 13:39 – Ed: I am a simple guy that’s how I do it. You can do advanced stuff, though. The Cake Build system – they are doing some crazy things. We have got Windows, Lennox, and others. Are you building for Raspberries Pies, then okay, do this... It’s not just running a script. 15:00 – Chuck: People do get pretty complicated if they want. It can get complicated. Who knows? 15:26 – Chuck: How much work do you have to do to set-up a Pipeline like that? 15:37 – Ed answers the question in detail. 16:03 – Chuck asks a question. 16:12 – Ed: Now this is where it gets contentious. If one fails... Our default task out of the box... 16:56 – Chuck: If you want 2 steps you can (like me who is crazy). 17:05 – Ed: Yes, I want to see if it failed. 17:17 – Chuck: Dude, writing code is hard. Once you have it built and tested – continuous deployment. 17:33 – Ed: It’s very easy. It’s super straightforward, it doesn’t have to be Azure (although I hope it is!). Ed continues this conversation. 18:43 – Chuck: And it just pulls it? 18:49 – Ed: Don’t poke holes into your firewall. We do give you a lot of flexibility 19:04 – Chuck: VPN credentials? 19:10 – Ed: Just run the... 19:25 – Chuck comments. 19:36 – Ed: ...Take that Zip... 20:02 – Ed: Once the planets are finely aligned then...it will just pull from it. 20:25 – Chuck: I host my stuff on Digital Ocean. 20:46 – Ed: It’s been awhile since I played with... 20:55 – Chuck. 20:59 – Ed and Chuck go back and forth with different situations and hypothetical situations. 21:10 – Ed: What is Phoenix? 21:20 – Chuck explains it. 21:25 – Ed: Here is what we probably don’t have is a lot of ERLANG support. 22:41 – Advertisement. 23:31 – Chuck: Let’s just say it’s a possibility. We took the strip down node and... 23:49 – Ed: I think it’s going to happen. 23:55 – Ed: Exactly. 24:02 – Chuck: Testing against Azure services. So, it’s one thing to run on my machine but it’s another thing when other things connect nicely with an Azure set-up. Does it connect natively once it’s in the Azure cloud? 24:35 – Ed: It should, but there are so many services, so I don’t want to say that everything is identical. We will say yes with an asterisk. 25:07 – Chuck: With continuous deployment... 25:41 – Ed: As an example: I have a CD Pipeline for my website. Every time I merge into master... Ed continues this hypothetical situation with full details. Check it out! 27:03 – Chuck: You probably can do just about anything – deploy by Tweet! 27:15 – Ed: You can stop the deployment if people on Twitter start complaining. 27:40 – Chuck: That is awesome! IF it is something you care about – and if it’s worth the time – then why not? If you don’t have to think about it then great. I have mentioned this before: Am I solving interesting problems? What projects do I want to work on? What kinds of contributions do I really want to contribute to open source? That’s the thing – if you have all these tools that are set-up then your process, how do you work on what, and remove the pain points then you can just write code so people can use! That’s the power of this – because it catches the bug before I have to catch it – then that saves me time. 30:08 – Ed: That’s the dream of computers is that the computers are supposed to make OUR lives easier. IF we can do that and catch those bugs before you catch it then you are saving time. Finding bugs as quickly as possible it avoids downtime and messy deployments. 31:03 – Chuck: Then you can use time for coding style and other things. I can take mental shortcuts. 31:37 – Ed: The other thing you can do is avoiding security problems. If a static code analysis tool catches an integer overflow then... 32:30 – Chuck adds his comments. Chuck: You can set your policy to block it or ignore it. Then you are running these tools to run security. There are third-party tools that do security analysis on your code. Do you integrate with those? 33:00 – Ed: Yep. My favorite is WhiteSource. It knows all of the open source and third-party tools. It can scan your code and... 34:05 – Chuck: It works with a lot of languages. 34:14 – Ed. 34:25 – Chuck: A lot of JavaScript developers are getting into mobile development, like Ionic, and others. You have all these systems out there for different stages for writing for mobile. Android, windows Phone, Blackberry... 35:04 – Ed: Let’s throw out Blackberry builds. We will ignore it. Mac OS dies a fine job. That’s why we have all of those. 35:29 – Chuck: But I want to run my tests, too! 35:36 – Ed: I really like to use App Center. It is ultimately incredible to see all the tests you can run. 36:29 – Chuck: The deployment is different, though, right? 36:40 – Ed: I have a friend who clicks a button in... Azure DevOps. 37:00 – Chuck: I like to remind people that this isn’t a new product. 37:15 – Ed: Yes, Azure DevOps. 37:24 – Chuck: Any new features that are coming out? 37:27 – Ed: We took a little break, but... 37:47 – Ed: We will pick back up once Ignite is over. We have a timeline on our website when we expect to launch some new features, and some are secret, so keep checking out the website. 39:07 – Chuck: What is the interplay between Azure DevOps and Visual Studio Code? Because they have plugins for freaking everything. I am sure there is something there that... 39:30 – Ed: I am a VI guy and I’m like 90% sure there is something there. You are an eMac’s guy? The way I think about it is through Git right out of the box. Yes, I think there are better things out there for integration. I know we have a lot of great things in Visual Code, because I worked with it. 40:45 – Chuck: Yes, people can look for extensions and see what the capabilities are. Chuck talks about code editor and tools. 41:28 – Ed: ... we have been pulling that out as quickly as possible. We do have IE extensions, I am sure there is something for VS Code – but it’s not where I want to spend my time. 42:02 – Chuck: Yes, sure. 42:07 – Ed: But everyone is different – they won’t work the way that I work. So there’s that. 42:30 – Ed: That Chuck. 42:36 – Chuck: Where do people get news? 42:42 – Ed: Go to here! 42:54 – Chuck: Where do people find you? 43:00 – Ed: Twitter! 43:07 – Chuck: Let’s do Picks! 43:20 – Advertisement – Fresh Books! Links: GitHub Microsoft’s Azure Microsoft’s Pipeline Azure DevOps Erlang WhiteSource Chuck’s Twitter Ed Thomson’s Twitter Ed Thomson’s GitHub Ed Thomson’s Website Ed Thomson’s LinkedIn Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Picks: Ed Podcast - All Things Git
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: Charles Max Wood Guest: Chris McKnight This week on My JavaScript Story, Charles speaks with Chris McKnight who is a software developer who knows Angular, Ruby, Node.js, and iOS. He went to college at Louisiana State University and graduated with a computer science degree from LSU. They talk about Chris’ background, past/current projects, among other things. Check out today’s episode to hear the panel talk about JavaScript, Angular, C and C++, Node, React, and much more! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:12 – Chuck: Hello! Introduce yourself, please! 1:15 – Guest: I am a software engineer outside of Nashville, Tennessee. I work for a medium consultancy company. I know JavaScript, Angular, NativeScript, and JS, too. 1:41 – Chuck: Cool! Tell us your story and how you got into programming? 2:00 – Guest: I was a really big nerd in high school and grew up in Louisiana, USA. There was one other person in the school that knew what I was talking about. I was learning C++ and Visual Studio in 2003. That was really back in the day and Microsoft Foundation class was a thing. I moved onto PHP and started working for a company in Baton Rouge after graduating college. I have a computer science degree with a secondary discipline in mathematics. I graduated from LSU and got a job offer before I graduated. Doing some part-time work for them b/c they were swamped. I was writing PHP and they said that they used jQuery a lot. 4:47 – Chuck: You got started and you said you used C and C++, why those languages? 5:05 – Guest: I did a little bit of Java, but it was the “new kid on the block.” I wanted to get into a program that was user-friendlier. 6:21 – Chuck: I took C and C++ classes in college. Eventually I did Ruby on Rails. I totally understand why you went that way. 6:44 – Guest: I picked-up Rails, because a company (that I worked for at the time) used it. I usually reached for jQuery among other options. 7:31 – Chuck: When did you start taking JavaScript seriously? 7:40 – Guest: 2012-2013. Frustrations of not using JavaScript as good as I could. For jQuery you have to call when you have an issue. Then you run into all of these bugs, and... 9:18 – Chuck: It sounds like it was more out of necessity. 9:30 – Guest: Yep, exactly. Those pain points have been reduced b/c I have been using Type Script and Angular and now version 6 and version 7. You try to call a number method on a string and vice versa, and app development time. 10:03 – Chuck: ...it has a process running with it. 10:13 – Guest: Catching a lot of those easy mistakes (bugs) and it’s a 5-10 minute fix. It takes a lot of that away. Sometimes you can say: I want to ignore it. Or it doesn’t give you runtime guarantees. Some other libraries out there have been on the forefront of fixing those problems. REST TYPE is an example of that. 11:39 – Chuck: When I talk to people about JavaScript a lot of times I get basically that they are saying: I started doing more things in Node or React – I fell in love with the language. Your reasons for starting JavaScript are because “I hated running into these problems.” Did you start loving to work in JavaScript? 12:11 – Guest: I did start loving it but it took a while. I could write a short amount of code and then at the end I get a result. Another thing that bothers me is FILTER. What does it return? It’s actually FIND and FIND INDEX and you use the pattern of filter and run this expression and give me index zero. 14:16 – Chuck: What work have you done that you are proud of? 14:20 – Guest: I started a new job last month; beforehand I worked at a mortgage company. I was proud of the Angular application and applications that I worked on. 16:55 – Chuck: How did you get into Angular? 17:00 – Guest: Interesting story. October of 2016 – at this time I was all against Angular. However someone came to me and said we have to... At the time I wasn’t impressed with the language. I learned about Angular at the time, though, and learned through Egghead. I learned a lot in 2 days, and I got pretty decent at it. I was writing Angular applications pretty quickly, and it made sense to me. 20:53 – Chuck: I am a fan of the CLI b/c that’s what we have in Rails. It’s really nice. What are you working on these days? 21:13 – Guest: Less on Angular b/c of the new job. I will do Angular on my free time. I work on Angular at nighttime. I build some things in React these past few weeks. 23:07 – Chuck: Any part of your experience that could help people? 23:17 – Guest: Learn what’s happening under the hood of libraries such as jQuery. Explore and find resources to help you. Keep learning and keep at it. Tools are so god now – such as Prettier and Lint – they will tell me “you don’t want to do this.” Use the tooling and learn the fundamentals. Also, use Babel! Those are my tips of advice. 25:55 – Chuck: That’s solid. Yes, the fundamentals and the poly-fills will fill in the gaps. So now it’s: what do I want to stack on top of this? Once you know the fundamentals. 26:55 – Guest: Learn what the frameworks and libraries are doing. Don’t get overwhelmed. That’s my advice. 28:16 – Chuck: Where can people find you? 28:24 – Guest: GitHub and Twitter. I’ve been working on a website, but not ready, yet. 29:08 – Chuck: Picks! 29:15 – Advertisement – Fresh Books! 30-Day Trial! 35:45 – Cache Fly Links: React Angular Vue.js JavaScript Ember Elm jQuery Node Find and Find Index NativeScript Lint Babel Prettier Christopher’s GitHub Christopher’s Twitter Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Chris Angular Explorer VS Code Finance – Staying out of Debt – Swish App Chuck Discord DomiNations
Panel: Charles Max Wood Guest: Paweł Dąbrowski This week on My Ruby Story, Chuck talks with Paweł Dąbrowski who is a coder and author who resides in Poland. He is a blogger and writes about the Ruby language, Ruby on Rails, and related technologies. To read more about Paweł, please visit his ABOUT ME via his blog. Today, Chuck and Paweł talk about Ruby, Paweł’s background, and much more! Check it out. In particular, we dive pretty deep on: 0:00 – Get A Coder Job! 0:55 – Chuck: This week I am talking with Paweł Dąbrowski who was on episode 366. Give us a brief description of who you are, please. 1:25 – Guest: I run a company and I am here b/c of the article I wrote. It was a nice introduction to...programming. I write in my blog and have written a few gems. I created a course how to build Ruby Flow. Also, I create Ruby code every day. I think that’s it. 2:19 – Chuck: I am curious, how did you get into programming? 2:30 – Guest: It all started in school when he asked me to create a website using HTML code. I fell in-love with it. I didn’t want to give up and figured it all boils down to: “how bad do you want it?” 4:33 – Chuck: Yeah it was PHP for me, too. I could do dynamic things with this. I was a computer science major, and to build something REAL was amazing. 5:04 – Guest: Yes, when something works it’s amazing. 5:25 – Chuck: Yeah, when you realize you left out a semi-colon – oh no! In some ways, PHP was a friendly-way to do web development. 6:05 – Guest. 6:22 – Chuck: How old were you when you got paid for web development? 6:32 – Guest: I think I was sixteen years old and $50.00 was a fortune for me. I felt like a millionaire. It felt great to make money for something you love to do. It wasn’t work; I just enjoyed doing it. 7:07 – Chuck: That’s the magic! 7:14 – Guest: If you are doing something you love, then it’s great! 7:24 – Chuck: How did you go from PHP to one-page apps to Ruby? 7:35 – Guest: I didn’t like PHP at some point. I fell in-love with Ruby’s syntax. I was afraid that I wasn’t going to find a job. I wrote a programmer and told him that I have “no experience and no technical training...” I didn’t think it was possible, and he said that it was possible based on the work that I put in. I remember writing code in Ruby. 9:42 – Chuck: What drew you to Ruby? 9:48 – Guest: The community and the syntax. I love writing in Ruby, and I don’t know if I will switch my languages in the future. I want to create a more active Ruby community in Poland. I want to get junior developers involved. 10:29 – Chuck: Tell us about your blog! 10:40 – Guest: I started writing every day. I started in January and kept going for three months. I thought that was crazy, and so I wrote less frequently. I thought it was a game-changing decision for me b/c it took me to a new level. I wrote more, learned more, and it has given me visibility. 11:47 – Chuck: I have talked to people in various parts of the world. People say that it could be a barrier of only English-written blogs. 12:15 – Guest: I learned English once I got serious about coding/programming. I think it’s a disadvantage if you don’t know English. 12:35 – Chuck: What are you working on now? 12:40 – Guest: I am starting this project and decided to turn-it-up b/c at first it was experimental. I wanted to move people more in the Polish community. I write about soft skills and that developers should have those skills, too. 13:22 – Chuck: This episode won’t come out for a few months. If you want to plug that – you can if you are comfortable with it. 13:44 – Guest: I want to set-up interviews, and create a dictionary so people can check single words and their meaning and see what it looks like in another language. Also, working on the content of blogs, and maybe recording a video on HOW to code. I was involved in a webinar and starting my first conference. Give the 14:56 – Chuck: Where can people find you? How about your blog? 15:05 – Guest: Twitter! GitHub! Blog! LinkedIn! 15:27 – Chuck: Any recommendations for people who are getting into programming? 15:42 – Guest answers the question. Guest: DOING and creating the stuff, and ultimately getting the experience. You can eventually find your dream job! 16:30 – Picks! 16:35 – Advertisement – Fresh Books! END – CacheFly Links: Ruby Elixir Rails Rust Python ButterCMS Solnic.Codes Guest’s Blog Guest’s Twitter Guest’s GitHub Sponsors: Get a Coder Job Cache Fly Fresh Books Picks: Paweł Butter CMS Blog Solnic.Codes Chuck Book: Get A Coder Job Video Course: Get A Coder Job PodWrench – Tool Self-Publishing Tool Developer Freedom
Panel: Charles Max Wood Guest: Jia Li This week on My Angular Story, Charles speaks with Jia Li who is a passionate programmer, a Zone.js guy, and a full-stack developer at Sylabs.io. Chuck and Jia talk about Zone.js, Jia’s background, and the current projects that Jia is working on right now. Check out today’s episode! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:51 – Chuck: You were on the past AiA Episode 210. Why are you famous? 1:04 – Jia: I have been working on Angular JS for 4 years, and I am from China. I have been working on Zone.js for the past 2½ years. I basically handle everything with Zone.js. That kind of makes me famous in the community. 1:50 – Chuck: It’s the library that... 1:58 – Jia: Yes that is correct. 2:19 – Chuck: Let’s rollback a little bit and talk about your journey into programming? 2:32 – Jia: My major is not Computer Science it’s Communication. My first job, my classmate introduced me to a company that had 5 employees, which was a software company. About 15 years ago, back in China, they were using old software. The founder is using new technologies. So this is cool. That’s how I entered into the development world. 4:15 – Chuck asks a question. 4:22 – Jia: My focus, at the time, was the frontend. 5:10 – Chuck: How did you get into Angular? 5:12 – Angular, React, and jQuery are mentioned by Jia. 6:20 – Jia: We did a big project for 1½ years with a huge team of 500 people. We used...to build the applications. 6:51 – Chuck: How was the transition from Angular to Angular 2? 6:58 – Jia: At first the company had some reservations b/c everything is new. Jia talks about an architect of the company and the knowledge that he offered, at the time, to help. 8:17 – Chuck: You have contributed to Zone.js. People think that they have to be a genius in order to contribute. How did you start contributing to it? 8:44 – Jia: Between Angular 1 to Angular 2 was about a few months in-between. Jia continues to talk. 9:28 – Jia: We get a request from the client and get a certain zone. Each request is managed. Jia talks about his contributions to Zone.js and how he offered his insights, in the beginning, during his spare time. 12:12 – Chuck: This is a project that is used across thousands of Angular applications. And here we are talking about your journey to this open-source. You started off with a bug fix and this leads to helping with code, and finally you are one of the major contributors now! People think they cannot contribute to open-source b/c they aren’t a “genius.” They think that they “aren’t that good.” 13:16 – Jia: I never thought I could do it – meaning contributing to open-source work. I thought you had to have very strong coding skills, but it’s really just starting with the first step. True, you need to start with the code, but you don’t have to have a very strong background. I didn’t have (at the time) a strong JavaScript background, and look...I was able to do it! If you really love it – you can contribute to it. 15:11 – Chuck: You fixed a bug b/c you were using it. There is a difference between people writing it vs. people who are using it. You were fixing a bug b/c you were actually using it. “It should work this way under these circumstances.” If you are using the library then you will find those bugs. 16:35 – Jia: Yes, exactly. Some people are using Zone.js, but they don’t know what it does. 17:24 – Chuck: What are you currently working on now and/or what are you proud of? 17:29 – Jia: I am still working on the Zone.js project. I just changed my job a few months ago. I am starting a startup company to help with technological solutions. I am working (right now) on frontend. It’s very interesting to do some Cloud stuff. 18:50 – Chuck: Where can we find you? 18:55 – Jia. 20:50 – Chuck: What social media platforms do you use? 21:00 – Jia: Twitter! Blog! Jia talks about his current proposal that he is working on. 24:20 – Chuck: Let’s go to Picks! 24:26 – Fresh Books! 25:30 – Picks END – CacheFly Links: jQuery Angular JavaScript Vue React Slack Zone.js GitHub – Zone.js Chuck’s Twitter Chuck’s E-mail: chuck@devchat.tv AiA 210 – Past Episode with Jia Li Jia Li LinkedIn Jia Li Twitter Jia Li Blog Sponsors: Get A Coder Job Fresh Books Cache Fly Picks: Charles Podcast: MFCEO Audible: Extreme Ownership by Willink and Babin Audible: Traveler’s Gift by by Andy Andrews Jia Slack group – posts on Angular – check them out! Angular In-Depth
Panel: Aimee Knight AJ O’Neal Charles Max Wood Special Guest: PJ Evans In this episode, the panel talks with PJ Evans who is a course developer and an instructor through Manning’s course titled, “Node.js in Motion.” This course is great to learn the fundamentals of Node, which you can check out here! The panel and PJ talk about this course, his background, and current projects that PJ is working on. Check out today’s episode to hear more! Show Topics: 0:00 – Advertisement: KENDO UI 0:36 – Chuck: Welcome and our panel consists of Aimee, AJ, myself, and our special guest is PJ Evans. Tell us about yourself and your video course! NODE JS in Motion is the title of the course. Can you tell us more? 1:29 – PJ: It’s a fantastic course. 2:25 – Chuck: You built this course and there is a lot to talk about. 2:36 – Aimee: Let’s talk about Node and the current state. 2:50 – Chuck: Here’s the latest features, but let’s talk about where do you start with this course? How do you get going with Node? What do people need to know with Node? 3:20 – Aimee. 3:24 – PJ talks about Node and his course! 4:02 – PJ: The biggest headache with Node is the... 4:13 – Chuck. 4:19 – PJ: I am sure a lot of the listeners are familiar with callback hell. 4:50 – Aimee: Let’s talk about the complexities of module support in Node! 5:10 – PJ: It’s a horrible mess. 5:17 – Aimee: Maybe not the tech details but let’s talk about WHAT the problem is? 5:31 – PJ: You are talking about Proper Native ES6 right? They are arguing about how to implement it. 6:11 – PJ: My advice is (if you are a professional) is to stick with the LT6 program. No matter how tensing those new features are! 6:46 – Aimee: It could be outdated but they had to come back and say that there were tons of complexities and we have to figure out how to get there. 7:06 – PJ: They haven’t found an elegant way to do it. 7:15 – Panel: If it’s a standard why talk about it? Seriously – if this is a standard why not implement THE standard? 7:38 – PJ. 8:11 – Panel. 8:17 – Aimee: I would love to talk about this, though! 8:24 – Chuck: I want to talk about the course, please. 8:30 – PJ. 8:54 – Chuck: We will keep an eye on it. 9:05 – PJ. 9:16 – PJ: How is it on the browser-side? 9:33 – Aimee: I don’t want to misspeak. 9:41 – Chuck: I don’t know how complete the forms are. 9:49 – Aimee: I don’t want to misspeak. 9:56 – PJ: I just found the page that I wanted and they are calling it the .MJS or aka the Michael Jackson Script. You can do an import from... Some people think it’s FINE and others think that it’s a TERRIBLE idea. 10:42 – Chuck: “It sounds like it’s a real THRILLER!” 10:52 – Panel. 11:25 – Panel: When you start calling things the Michael Jackson Solution you know things aren’t well. 11:44 – Aimee: Just to clarify for users... 11:57 – Chuck: I want to point us towards the course: NODE.JS. Chuck asks two questions. 12:34 – PJ: The concepts aren’t changing, but the information is changing incredibly fast. The fundamentals are fairly settled. 13:22 – Chuck: What are those things? 13:28 – PJ talks about how he structured the course and he talks about the specifics. 15:33 – Chuck: Most of my backend stuff is done in Ruby. Aimee and AJ do more Java then I do. 15:55 – Panel: I think there is something to understanding how different Node is. I think that Node is a very fast moving train. Node has a safe place and that it’s good for people to know about this space. 16:34 – Aimee: Not everyone learns this way, but for me I like to understand WHY I would want to use Node and not another tool. For me, this talk in the show notes really helped me a lot. That’s the core and the nature of NODE. 17:21 – PJ: Yes, absolutely. Understanding the event loop and that’s aimed more towards people from other back ends. Right from the beginning we go over that detail: Here is how it works, we give them examples, and more. 18:08 – Aimee: You can do more than just create APIs. Aimee mentions Vanilla Node. 18:50 – PJ: To get into frameworks we do a 3-line server. We cover express, and also Sequelize ORM. 19:45 – Advertisement – Sentry.io 20:43 – Chuck: I never used Pug. 20:45 – PJ: PUG used to be called JADE. 20:56 – Aimee. 21:14 – PJ: Express does that for you and I agree with you. I advocate a non-scripted approach, I like when frameworks have a light touch. 22:05 – Aimee: That’s what I liked about it. No offense, Chuck, but for me I didn’t like NOT knowing a lot of what was not happening under the hood. I didn’t want to reinvent the wheel, but I wanted to build at a lower level. 22:40 – PJ: I had the same experience. I wanted to figure out why something wasn’t working. 23:24 – Panel: I had a friend who used Rails...he was cautious to make a switch. This past year he was blown away with how much simpler it was and how fast things were. 24:05 – Aimee: I feel like if you want to learn JavaScript then Node might be easier on the frontend. 24:21 – Chuck: No pun intended. No, but I agree. I like about Rails is that you had well-understood patterns. But the flipside is that you have abstractions... To a certain degree: what did I do wrong? And you didn’t follow the pattern properly. 25:57 – Panel: With Node you get a little bit of both. To me it’s a more simple approach, but the downside is that you have 100’s of 1,000’s of modules that almost identical things. When you start reaching out to NPM that... 26:29 – PJ: Yes the module system of NPM is the best/worst thing about NODE. I don’t have an answer, honestly. There is a great article written that made me turn white. Here is the article! 28:12 – Panel: The same thing happened with the ESLint. That was the very problem that he was describing in the article. 28:50 – PJ: Yep, I put that in the chat there – go ahead and read it! It’s not a problem that’s specific to Node, there are others. It’s the way we do things now. 29:23 – Chuck: We have the NODE Security project. A lot of stuff go into NPM everyday. 29:43 – PJ: We cover those things in the course. 29:53 – Chuck: It’s the reality. Is there a place that people get stuck? 30:00 – PJ answers the question. 30:23 – Aimee. 30:55 – PJ: I am coding very similar to my PHP days. 31:20 – Aimee. 32:02 – PJ: To finish off my point, I hope people don’t loose sight. 32:18 – Aimee. 32:20 – PJ: I am working on a project that has thousands of requests for... 32:53 – Chuck: Anything you WANTED to put into the course, but didn’t have time to? 33:05 – PJ: You can get pretty technical. It’s not an advanced course, and it won’t turn you into a rock star. This is all about confidence building. It’s to understand the fundamentals. It’s a runtime of 6 hours and 40 minutes – you aren’t just watching a video. You have a transcript, too, running off on the side. You can sit there and type it out w/o leaving – so it’s a very interactive course. 34:26 – Chuck: You get people over the hump. What do you think people need to know to be successful with Node? 34:38 – PJ answers the question. PJ: I think it’s a lot of practice and the student to go off and be curious on their own terms. 35:13 – Chuck: You talked about callbacks – I am thinking that one is there to manage the other? 35:31 – PJ answers the question. PJ: You do what works for you – pick your style – do it as long as people can follow you. Take the analogy of building a bridge. 36:53 – Chuck: What are you working on now? 37:00 – PJ: Educational tool called SCHOOL PLANNER launched in Ireland, so teachers can do their lesson planning for the year and being built with Express. Google Classroom and Google Calendar. 39:01 – PJ talks about Pi and 4wd. See links below. 40:09 – Node can be used all over the place! 40:16 - Chuck: Yes, the same can be said for other languages. Yes, Node is in the same space. 40:31 – PJ: Yep! 40:33 – Chuck: If people want to find you online where can they find you? 40:45 – PJ: Twitter! Blog! 41:04 – Picks! 41:05 – Advertisement – eBook: Get a coder job! Links: JavaScript jQuery React Elixir Elm Vue ESLint Node.js Node Security Project Node Security Project - Medium Manning Publications: Course by PJ Evans PUG JSConf EU – talk with Philip Roberts Medium Article by David Gilbertson Hackster.io – Pi Car Pi Moroni Holding a Program in One’s Head PJ Evans’ Twitter Sponsors: Kendo UI Sentry Cache Fly Get a Coder Job Picks: Aimee Paul Graham - Blog AJ Rust Charles Tweet Mash-up The Diabetes Code PJ Music - Max Richter
Panel: Aimee Knight AJ O’Neal Charles Max Wood Special Guest: PJ Evans In this episode, the panel talks with PJ Evans who is a course developer and an instructor through Manning’s course titled, “Node.js in Motion.” This course is great to learn the fundamentals of Node, which you can check out here! The panel and PJ talk about this course, his background, and current projects that PJ is working on. Check out today’s episode to hear more! Show Topics: 0:00 – Advertisement: KENDO UI 0:36 – Chuck: Welcome and our panel consists of Aimee, AJ, myself, and our special guest is PJ Evans. Tell us about yourself and your video course! NODE JS in Motion is the title of the course. Can you tell us more? 1:29 – PJ: It’s a fantastic course. 2:25 – Chuck: You built this course and there is a lot to talk about. 2:36 – Aimee: Let’s talk about Node and the current state. 2:50 – Chuck: Here’s the latest features, but let’s talk about where do you start with this course? How do you get going with Node? What do people need to know with Node? 3:20 – Aimee. 3:24 – PJ talks about Node and his course! 4:02 – PJ: The biggest headache with Node is the... 4:13 – Chuck. 4:19 – PJ: I am sure a lot of the listeners are familiar with callback hell. 4:50 – Aimee: Let’s talk about the complexities of module support in Node! 5:10 – PJ: It’s a horrible mess. 5:17 – Aimee: Maybe not the tech details but let’s talk about WHAT the problem is? 5:31 – PJ: You are talking about Proper Native ES6 right? They are arguing about how to implement it. 6:11 – PJ: My advice is (if you are a professional) is to stick with the LT6 program. No matter how tensing those new features are! 6:46 – Aimee: It could be outdated but they had to come back and say that there were tons of complexities and we have to figure out how to get there. 7:06 – PJ: They haven’t found an elegant way to do it. 7:15 – Panel: If it’s a standard why talk about it? Seriously – if this is a standard why not implement THE standard? 7:38 – PJ. 8:11 – Panel. 8:17 – Aimee: I would love to talk about this, though! 8:24 – Chuck: I want to talk about the course, please. 8:30 – PJ. 8:54 – Chuck: We will keep an eye on it. 9:05 – PJ. 9:16 – PJ: How is it on the browser-side? 9:33 – Aimee: I don’t want to misspeak. 9:41 – Chuck: I don’t know how complete the forms are. 9:49 – Aimee: I don’t want to misspeak. 9:56 – PJ: I just found the page that I wanted and they are calling it the .MJS or aka the Michael Jackson Script. You can do an import from... Some people think it’s FINE and others think that it’s a TERRIBLE idea. 10:42 – Chuck: “It sounds like it’s a real THRILLER!” 10:52 – Panel. 11:25 – Panel: When you start calling things the Michael Jackson Solution you know things aren’t well. 11:44 – Aimee: Just to clarify for users... 11:57 – Chuck: I want to point us towards the course: NODE.JS. Chuck asks two questions. 12:34 – PJ: The concepts aren’t changing, but the information is changing incredibly fast. The fundamentals are fairly settled. 13:22 – Chuck: What are those things? 13:28 – PJ talks about how he structured the course and he talks about the specifics. 15:33 – Chuck: Most of my backend stuff is done in Ruby. Aimee and AJ do more Java then I do. 15:55 – Panel: I think there is something to understanding how different Node is. I think that Node is a very fast moving train. Node has a safe place and that it’s good for people to know about this space. 16:34 – Aimee: Not everyone learns this way, but for me I like to understand WHY I would want to use Node and not another tool. For me, this talk in the show notes really helped me a lot. That’s the core and the nature of NODE. 17:21 – PJ: Yes, absolutely. Understanding the event loop and that’s aimed more towards people from other back ends. Right from the beginning we go over that detail: Here is how it works, we give them examples, and more. 18:08 – Aimee: You can do more than just create APIs. Aimee mentions Vanilla Node. 18:50 – PJ: To get into frameworks we do a 3-line server. We cover express, and also Sequelize ORM. 19:45 – Advertisement – Sentry.io 20:43 – Chuck: I never used Pug. 20:45 – PJ: PUG used to be called JADE. 20:56 – Aimee. 21:14 – PJ: Express does that for you and I agree with you. I advocate a non-scripted approach, I like when frameworks have a light touch. 22:05 – Aimee: That’s what I liked about it. No offense, Chuck, but for me I didn’t like NOT knowing a lot of what was not happening under the hood. I didn’t want to reinvent the wheel, but I wanted to build at a lower level. 22:40 – PJ: I had the same experience. I wanted to figure out why something wasn’t working. 23:24 – Panel: I had a friend who used Rails...he was cautious to make a switch. This past year he was blown away with how much simpler it was and how fast things were. 24:05 – Aimee: I feel like if you want to learn JavaScript then Node might be easier on the frontend. 24:21 – Chuck: No pun intended. No, but I agree. I like about Rails is that you had well-understood patterns. But the flipside is that you have abstractions... To a certain degree: what did I do wrong? And you didn’t follow the pattern properly. 25:57 – Panel: With Node you get a little bit of both. To me it’s a more simple approach, but the downside is that you have 100’s of 1,000’s of modules that almost identical things. When you start reaching out to NPM that... 26:29 – PJ: Yes the module system of NPM is the best/worst thing about NODE. I don’t have an answer, honestly. There is a great article written that made me turn white. Here is the article! 28:12 – Panel: The same thing happened with the ESLint. That was the very problem that he was describing in the article. 28:50 – PJ: Yep, I put that in the chat there – go ahead and read it! It’s not a problem that’s specific to Node, there are others. It’s the way we do things now. 29:23 – Chuck: We have the NODE Security project. A lot of stuff go into NPM everyday. 29:43 – PJ: We cover those things in the course. 29:53 – Chuck: It’s the reality. Is there a place that people get stuck? 30:00 – PJ answers the question. 30:23 – Aimee. 30:55 – PJ: I am coding very similar to my PHP days. 31:20 – Aimee. 32:02 – PJ: To finish off my point, I hope people don’t loose sight. 32:18 – Aimee. 32:20 – PJ: I am working on a project that has thousands of requests for... 32:53 – Chuck: Anything you WANTED to put into the course, but didn’t have time to? 33:05 – PJ: You can get pretty technical. It’s not an advanced course, and it won’t turn you into a rock star. This is all about confidence building. It’s to understand the fundamentals. It’s a runtime of 6 hours and 40 minutes – you aren’t just watching a video. You have a transcript, too, running off on the side. You can sit there and type it out w/o leaving – so it’s a very interactive course. 34:26 – Chuck: You get people over the hump. What do you think people need to know to be successful with Node? 34:38 – PJ answers the question. PJ: I think it’s a lot of practice and the student to go off and be curious on their own terms. 35:13 – Chuck: You talked about callbacks – I am thinking that one is there to manage the other? 35:31 – PJ answers the question. PJ: You do what works for you – pick your style – do it as long as people can follow you. Take the analogy of building a bridge. 36:53 – Chuck: What are you working on now? 37:00 – PJ: Educational tool called SCHOOL PLANNER launched in Ireland, so teachers can do their lesson planning for the year and being built with Express. Google Classroom and Google Calendar. 39:01 – PJ talks about Pi and 4wd. See links below. 40:09 – Node can be used all over the place! 40:16 - Chuck: Yes, the same can be said for other languages. Yes, Node is in the same space. 40:31 – PJ: Yep! 40:33 – Chuck: If people want to find you online where can they find you? 40:45 – PJ: Twitter! Blog! 41:04 – Picks! 41:05 – Advertisement – eBook: Get a coder job! Links: JavaScript jQuery React Elixir Elm Vue ESLint Node.js Node Security Project Node Security Project - Medium Manning Publications: Course by PJ Evans PUG JSConf EU – talk with Philip Roberts Medium Article by David Gilbertson Hackster.io – Pi Car Pi Moroni Holding a Program in One’s Head PJ Evans’ Twitter Sponsors: Kendo UI Sentry Cache Fly Get a Coder Job Picks: Aimee Paul Graham - Blog AJ Rust Charles Tweet Mash-up The Diabetes Code PJ Music - Max Richter
Panel: Charles Max Wood (DevChat T.V.) Special Guests: Aaron Gustafson In this episode, the Chuck talks with Aaron Gustafson who is a web-standards and accessibility advocate working at Microsoft. Aaron and Chuck talk about PWAs and the ins and outs of these progressive web apps. Check out today’s episode to hear more! Show Topics: 0:36 – Chuck: Our guest is Aaron, say HI! 0:41 – Aaron: Hi! I have been working on the web for 20 plus years. I am working on the Edge team for accessibility among other things. I have done every job that you can do on the web. 1:08 – Chuck: That is one of OUR publications? 1:14 – Aaron: No the communities. I joined the staff as editor in chief for 1.5 year now. It’s a nice side project to do. 1:36 – Chuck: I thought it was a commercial thing. 1:40 – Aaron: No it’s volunteer. 1:52 – Chuck: Talk about your web background? 2:02 – Aaron: I remember the first book I got (title mentioned). My first job on the web (cash) I was the content manager in Florida and this was in 1999. Gel Macs just came out. I relocated from FL to CT and worked for other companies. I got into CSS among other things. It’s been a wild ride and done it all. 3:52 – Chuck: Let’s talk about web standards? 4:05 – Aaron: It depends on the organization and what the spec is and where it originates. It’s interesting to see how HTML developed back in the day. When standardization started working then everything started to converge. Everything is a little different now. Some specs come out from companies that... (Apple, Responsive Images, and Grid are mentioned among other things.) 7:37 – Chuck: We set up to talk about PWAs. Where did PWAs come from? 7:57 – Aaron: Modern web design, best web applications. Being secure. One of the underpinnings came out from Google and they have been supporters of that. Firefox is working on installation as well. The Chrome implementation is weird right now, but it becomes an orphaned app. It’s like the old chrome apps where in Windows you can install from the Microsoft store. But the case of Chrome you don’t have to go through the store. 10:14 – Chuck asks a question. 10:24 – Aaron answers. 11:53 – Chuck: What makes it a progressive web app rather than a regular website? 12:05 – Aaron: The definition is running on HTPS and... Aaron defines the terms that Chuck asks at 11:53. 12:43 – Aaron: Of course you can push forward if it makes sense from the baseline. 12:56 – Chuck: We have an Angular podcast, and we talked about PWAs and nobody had a good definition for it. 13:18 – Aaron. 13:22 – Chuck: What are the pros of having a PWA? Let’s start with the basics first. 13:33 – Aaron: The ability to control how you react to the network. We development is challenging maybe in other areas because of the lack of control and how your code gets to your users. Any special needs that YOU might have. Aaron goes into detail on this topic. 17:14 – Chuck: Is the service worker the star for PWAs? 17:20 – Aaron: In a way, kind of. Aaron goes into detail on this topic. Share 2 is mentioned, too. 19:42 – Chuck: If the service worker intermediates between the browser and the page / Internet would it make sense to have your worker have it load and then load everything else? Cause you have those Web Pack now. 20:14 – Aaron: Some people would consider it but I wouldn’t necessarily. I am not a fan for that. If anything goes wrong then nothing loads. I remember back when... 22:23 – Aaron: That is a lot of overhead. 22:34 – Chuck: I am wondering what is the best practice? How do you decide to pull in a service worker and then move into more complicated issues? 22:53 – Aaron: Progressive Web App where they talk about their evolution about this. 25:17 – Advertisement – Fresh Books! Code: DEVCHAT. 26:25 – Chuck: In order to be a PWA you don’t need to have a push notification. 26:38 – Aaron: I don’t think anyone would want a push notification from me. 27:12 – Chuck: What features do PWAs have? 27:18 – Aaron: Features? None of them really, other than push notifications, it’s just standard it’s going to make an App feel more App “y”. If that’s something you want to do. It’s up to you to determine that. There is going to be like push notifications – sending person new updates about the order. If you were a new site you want to make sure you are not doing a push notifications on everything cause that would be too much. Exercising care with the capabilities with what the users are doing on your computer. This is a person that you are dealing with. We need to seem less needy. Give users control of how they want to use it. For example, Twitter will give you that control per user. 30:56 – Chuck: Could you also do it for different parts of the page? 31:01 – Aaron: It’s different scopes. Your servicer worker has different scopes and it needs to be in the root folder or the JavaScript folder. You can have different workers but they will come from different scopes. 31:32 – Chuck gives a hypothetical example. 31:50 – You can do a bunch of different service workers. 32:11 – Chuck: This is why we create different hierarchies in our code. 32:26 – Chuck: Is there a good point where people can be more informed with PWAs? 32:40 – Aaron: PWA stats website and Twitter account with Cloud 4. 33:22 – Chuck asks a question. 33:26 – Aaron: Yes. If you are a photographer you don’t want to cash all of your photos on someone’s hard drive. We have to be good stewards of what is operating on people’s hard drives. Even something as simple as a blog can benefit from being a PWA. 35:01 – Chuck: Are there new things that are being added to a PWA? 35:12 – Aaron: A new feature is the background sync. Aaron: What is native and what is web? 36:33 – Chuck: Yeah it can detect a feature in your machine. Dark mode is... 36:48 – Aaron: It would be nice to see things standardized across the board. 37:00 – Chuck: How does this play into Electron or Android or...? Do those need to be PWAs? 37:16 – Aaron: It depends on what you are building. So I talked with people through Slack and they want total control. If you r desire is to shift the same experience then Electron can make a lot of sense. They will have to pay a premium, though, your users. If you are aware of that then go the Electron route. But for most cases then Electron might be overkill for you. You don’t need that extra overhead. 39:55 – Aaron continues. Aaron: I think the major benefit of PWA is... 41:15 – Chuck: The other angle to that is that in an Electron app does it make sense to use a PWA things? 41:23 – Aaron: Yes that makes sense. 41:34 – Unless for some reason you need to unlock into an older version, which I hope is not the case b/c of security reasons. 41:55 – Aaron continues. 42:34 – Chuck: Where can we find you? 42:35 – Aaron mentions Twitter and other sites. See Links! 43:02 – Advertisement – Get A Coder Job! Links: Ruby on Rails Angular PWA States Website PWA Twitter Electron Aaron’s Website Aaron’s LinkedIn Aaron’s Twitter Aaron’s GitHub Aaron’s YouTube Channel Aaron’s Medium Get A Coder Job Charles Max Wood’s Twitter Sponsors: Get a Coder Job Cache Fly Fresh Books Kendo UI Picks: Aaron Home Going by Yaa Gyasi Zeitoun What is the What Affect Conf. Charles Armada
Panel: Charles Max Wood (DevChat T.V.) Special Guests: Aaron Gustafson In this episode, the Chuck talks with Aaron Gustafson who is a web-standards and accessibility advocate working at Microsoft. Aaron and Chuck talk about PWAs and the ins and outs of these progressive web apps. Check out today’s episode to hear more! Show Topics: 0:36 – Chuck: Our guest is Aaron, say HI! 0:41 – Aaron: Hi! I have been working on the web for 20 plus years. I am working on the Edge team for accessibility among other things. I have done every job that you can do on the web. 1:08 – Chuck: That is one of OUR publications? 1:14 – Aaron: No the communities. I joined the staff as editor in chief for 1.5 year now. It’s a nice side project to do. 1:36 – Chuck: I thought it was a commercial thing. 1:40 – Aaron: No it’s volunteer. 1:52 – Chuck: Talk about your web background? 2:02 – Aaron: I remember the first book I got (title mentioned). My first job on the web (cash) I was the content manager in Florida and this was in 1999. Gel Macs just came out. I relocated from FL to CT and worked for other companies. I got into CSS among other things. It’s been a wild ride and done it all. 3:52 – Chuck: Let’s talk about web standards? 4:05 – Aaron: It depends on the organization and what the spec is and where it originates. It’s interesting to see how HTML developed back in the day. When standardization started working then everything started to converge. Everything is a little different now. Some specs come out from companies that... (Apple, Responsive Images, and Grid are mentioned among other things.) 7:37 – Chuck: We set up to talk about PWAs. Where did PWAs come from? 7:57 – Aaron: Modern web design, best web applications. Being secure. One of the underpinnings came out from Google and they have been supporters of that. Firefox is working on installation as well. The Chrome implementation is weird right now, but it becomes an orphaned app. It’s like the old chrome apps where in Windows you can install from the Microsoft store. But the case of Chrome you don’t have to go through the store. 10:14 – Chuck asks a question. 10:24 – Aaron answers. 11:53 – Chuck: What makes it a progressive web app rather than a regular website? 12:05 – Aaron: The definition is running on HTPS and... Aaron defines the terms that Chuck asks at 11:53. 12:43 – Aaron: Of course you can push forward if it makes sense from the baseline. 12:56 – Chuck: We have an Angular podcast, and we talked about PWAs and nobody had a good definition for it. 13:18 – Aaron. 13:22 – Chuck: What are the pros of having a PWA? Let’s start with the basics first. 13:33 – Aaron: The ability to control how you react to the network. We development is challenging maybe in other areas because of the lack of control and how your code gets to your users. Any special needs that YOU might have. Aaron goes into detail on this topic. 17:14 – Chuck: Is the service worker the star for PWAs? 17:20 – Aaron: In a way, kind of. Aaron goes into detail on this topic. Share 2 is mentioned, too. 19:42 – Chuck: If the service worker intermediates between the browser and the page / Internet would it make sense to have your worker have it load and then load everything else? Cause you have those Web Pack now. 20:14 – Aaron: Some people would consider it but I wouldn’t necessarily. I am not a fan for that. If anything goes wrong then nothing loads. I remember back when... 22:23 – Aaron: That is a lot of overhead. 22:34 – Chuck: I am wondering what is the best practice? How do you decide to pull in a service worker and then move into more complicated issues? 22:53 – Aaron: Progressive Web App where they talk about their evolution about this. 25:17 – Advertisement – Fresh Books! Code: DEVCHAT. 26:25 – Chuck: In order to be a PWA you don’t need to have a push notification. 26:38 – Aaron: I don’t think anyone would want a push notification from me. 27:12 – Chuck: What features do PWAs have? 27:18 – Aaron: Features? None of them really, other than push notifications, it’s just standard it’s going to make an App feel more App “y”. If that’s something you want to do. It’s up to you to determine that. There is going to be like push notifications – sending person new updates about the order. If you were a new site you want to make sure you are not doing a push notifications on everything cause that would be too much. Exercising care with the capabilities with what the users are doing on your computer. This is a person that you are dealing with. We need to seem less needy. Give users control of how they want to use it. For example, Twitter will give you that control per user. 30:56 – Chuck: Could you also do it for different parts of the page? 31:01 – Aaron: It’s different scopes. Your servicer worker has different scopes and it needs to be in the root folder or the JavaScript folder. You can have different workers but they will come from different scopes. 31:32 – Chuck gives a hypothetical example. 31:50 – You can do a bunch of different service workers. 32:11 – Chuck: This is why we create different hierarchies in our code. 32:26 – Chuck: Is there a good point where people can be more informed with PWAs? 32:40 – Aaron: PWA stats website and Twitter account with Cloud 4. 33:22 – Chuck asks a question. 33:26 – Aaron: Yes. If you are a photographer you don’t want to cash all of your photos on someone’s hard drive. We have to be good stewards of what is operating on people’s hard drives. Even something as simple as a blog can benefit from being a PWA. 35:01 – Chuck: Are there new things that are being added to a PWA? 35:12 – Aaron: A new feature is the background sync. Aaron: What is native and what is web? 36:33 – Chuck: Yeah it can detect a feature in your machine. Dark mode is... 36:48 – Aaron: It would be nice to see things standardized across the board. 37:00 – Chuck: How does this play into Electron or Android or...? Do those need to be PWAs? 37:16 – Aaron: It depends on what you are building. So I talked with people through Slack and they want total control. If you r desire is to shift the same experience then Electron can make a lot of sense. They will have to pay a premium, though, your users. If you are aware of that then go the Electron route. But for most cases then Electron might be overkill for you. You don’t need that extra overhead. 39:55 – Aaron continues. Aaron: I think the major benefit of PWA is... 41:15 – Chuck: The other angle to that is that in an Electron app does it make sense to use a PWA things? 41:23 – Aaron: Yes that makes sense. 41:34 – Unless for some reason you need to unlock into an older version, which I hope is not the case b/c of security reasons. 41:55 – Aaron continues. 42:34 – Chuck: Where can we find you? 42:35 – Aaron mentions Twitter and other sites. See Links! 43:02 – Advertisement – Get A Coder Job! Links: Ruby on Rails Angular PWA States Website PWA Twitter Electron Aaron’s Website Aaron’s LinkedIn Aaron’s Twitter Aaron’s GitHub Aaron’s YouTube Channel Aaron’s Medium Get A Coder Job Charles Max Wood’s Twitter Sponsors: Get a Coder Job Cache Fly Fresh Books Kendo UI Picks: Aaron Home Going by Yaa Gyasi Zeitoun What is the What Affect Conf. Charles Armada
Panel: Chris Fritz Eric Hatchet Divya Sasidharan Charles Max Wood Special Guest: Benjamin Hong In this episode, the panel talks with Benjamin Hong who is a Senior Fullstack Engineer at GitLab, Inc. who currently resides in the Washington D.C. metro area. Ben and the panel talk about Politico and the current projects that Ben is working on. The panelists talk about topics, such as Vue, Vuex, VuePress, Nuxt, among others. Check out today’s episode! Show Topics: 0:00 – Advertisement – Kendo UI 0:32 – Panel: Hi! Welcome – our panel today is live at Park City, UT. 1:34 – Benjamin introduces himself. 1:41 – Panel: Politico is a well trafficked website and it’s well known. What are your thoughts about working on a well trafficked website? 2:22 – Guest. 2:44 – Panel: Why did you settle on Vue? 2:50 – Guest: ...I came onto the team and was passionate about helping. We built out the component types. I thought Vue was better suited for the team. 3:36 – Panel: That’s a large team – that’s a lot of people 3:45 – Guest: Yeah, at one time I was writing everything. A lot of people on the team right now didn’t know a lot of JavaScript – but having Vue helps everyone to move the project forward. 4:29 – Panel: They can write just HTML, etc. 4:38 – Guest: Yep, exactly. It helps with communication. 4:55 – Panel asks a question. 5:00 – Guest: I use an event bust. 5:20 – Chuck: Did you have to move from an event bust to Vuex and what was that like? 5:30 – Guest: We had to move into module-esque anyways. 5:42 – Panel: You probably have Vuex with modules and...? 5:54 – Guest: We are using your enterprise broiler plate! 6:05 – Panel: Yeah, every team uses their own patterns. What files would I see used within your team? 6:16 – Guest answers the question. 6:55 – Panel asks a question. 7:01 – Guest: We can keep with the recommended packages fairly well! 7:21 – Panel. 7:26 – Guest: Funny enough at London...we are starting to get a lot with our co-coverage. We have a hard time balancing with unit tests and...eventually we want to look at Cypress. 8:12 – Panel. 8:15 – Guest. 8:19 – Chuck. 8:38 – Panel: I always encourage people to test the unit tests. 9:00 – Chuck: As you adopted Vue what was it like to get buy-in from management. Usually they have a strong backend with Rails, and someone comes in and says let’s use X. How do you sell them on: we are going to use this new technology. 9:30 – Guest: We could really use the user-experience better, and also to offload things from the backend developers. Our desire was to control more things like animation and to specialize those things. That was my selling point. 10:32 – Chuck: I tend to do both on the apps that I’m working on. I told Chris that I was going to switch a lot of things to Vue – some of the things you said I am not interested in the backend b/c it’s too painful. 11:01 – Panel. 11:08 – Chuck: There are things that are really, really good on the backend, but... 11:18 – Panel. 11:24 – Panel: You get the benefits of rendering... 11:43 – Chuck: What are your challenges into Vue? 11:50 – Guest: It’s definitely the scale, because we were a team of 5 and now we are a team of 15. Also, the different time changes b/c we have some people who live in India. Getting that workflow and we are looking at STORYBOOK to help with that. 12:30 – Chuck: Every person you add doubles the complexity of the group. 12:40 – Panel: I think that is conservative! 12:49 – Chuck. 12:56 – Panel: I get to see Chuck in person so this is different! 13:09 – Panel: Challenge accepted! 13:18 – Panel: This is the roast! 13:25 – Panel: Are you working, Benjamin, on a component library? Are you working on that alongside your current project? How do you manage that/ 13:38 – Guest: Unfortunately, we have a lot of deadlines and everything is running in parallel! 14:00 – Panel: How do you implement expectations throughout your team? 14:13 – Panel. 14:16 – Guest: It’s for everyone to understand their own expectations and the team’s expectations. I have to be able to parse it out w/o giving them too much guidance. 15:20 – Panel. 15:25 – Guest: Yep! 15:30 – Panel: ...having to edit the same files and the same lines... 15:36 – Guest: We have been able to keep those in their own lanes! 15:44 – Panel: Yeah that’s no fun – I’ve been there! 15:53 – Chuck: You are working in the development branch – and then their thing breaks my thing, etc. 16:08 – Panel: You are doing dimensional travel! It’s almost like reorganizing a complete novel. 16:30 – Guest: You don’t want your work to drag on too long b/c you don’t want to poorly affect the other team members. 16:53 – Panel: Does that mean you use internal docs to help with the workflow? 17:03 – Guest: Yes, we use the common team board. 17:30 – Panel asks a question. 17:39 – Guest: Yes, that’s a challenge. I have setup an internal product called Politico Academy. 18:29 – Chuck: How do you fit into what Politico is doing? 18:45 – Guest: They are giving out cutting edge information regarding policies and that sort of thing. We have tools like compass to track your notes within the team and also bills. Politico Pro is like for lobbyists and those fees are very expensive. 19:23 – Panel: Do you have to create graphs and D3 and stuff like that? 19:35 – Guest: I am itching to do that and we haven’t really done that, yet. I would love to do that, though! 19:42 – Panel: Chris will be talking about that which will air on YouTube! 20:02 – Panel: Ben, you make decisions based on architecture – do the members of the team get to contribute to that or no? 20:27 – Guest: Yeah, I have a democratic approach. I want people to show their opinion, so that way they know that their voice is getting heard. I don’t make all the decisions, but I do give some guidelines. 21:11 – Chris: I like to time box it. I do the same thing, too. 21:49 – Chuck: Yeah someone would propose something to a new feature (or whatnot) and we would want to see if we want to explore it now or later. 21:55 – Panel goes back-and-forth. 23:26 – Panel: On that note- you want to make sure that each developer has submitted a pole request per day. What is universal in regards to coding practices, and code comments, and stuff like that and code style? 23:55 – Guest: We do PREMIER across the board right now. 24:55 – Panel asks a question. 25:08 – Guest: I like having more...if it can show WHY you did it a certain way. 25:33 – Panel: It’s good not to save the data. 25:40 – Chris: Sometimes a SQUASH can be helpful. 25:50 – Divya: I try to commit often and my work is a work in-progress. 26:08 – Chris. 26:13 – Chuck comments. 26:24 – Panel goes back-and-forth! 26:43 – Guest: They will write their code and then use Prettier and it will look terrifying b/c it’s like what did you just do. I want them to see the 2 lines they changed rather than the whole file. 27:13 – Panelist talks about Linting. 27:34 – Chuck. 27:39 – Chris: If it’s not the default then... 27:55 – Divya: When you manually setup your project you can run a prettier pre-commit. 28:00 – Chris: My pre-commits are much more thorough. 28:37 – Panel goes back-and-forth! 29:26 – Advertisement – Get A Coder Job! 30:02 – Panel: Can you talk about VuePress, please? 30:06 – Guest: Yeah! The guest talks about VuePress in-detail! 31:21 – Chuck. 31:25 – Panel. 31:44 – Chuck: I am curious about this – what’s the difference between VuePress and Nuxt? 31:58 – Guest answers the question. 32:19 – Chris adds his comments into this topic (VuePress and Nuxt). 32:47 – Guest. 33:02 – Divya. 34:24 – Chuck: If they are fluent in English and native in another language and it’s easy to figure where to put everything. 34:41 – Chris: Yeah they have a clear path for to clear up any documentation potential problems. 35:04 – Chris: ...the core docs and the impending libraries and the smaller ones, too. 35:17 – Divya: When you are creating the docs and you are thinking about NTN it’s important to think about the English docs. They say that it’s best to think of the language if that doc was to be translated into another language. 35:50 – Chris: Definition: “A function that returns another function” = higher function. 36:19 – Chuck: We are running out of time, and let’s talk about user-scripts. You have co-organized a group in Washington D.C. I tell people to go to a group to help like Meetups. What do you recommend? 37:00 – Guest: A lot of it is to be that community leader and show-up. To figure out let’s go ahead and meet. I know a lot of people worry about the “venue,” but go to a public library or ask an office for space, that’s an option, too. 38:15 – Panel: We have these different Meetups and right now in my area we don’t have one for Vue. 38:37 – Guest: Yeah, I recommend just getting it going. 39:04 – Chris: Yeah, just forming a community. 39:16 – Chuck: D.C. is a large area, so I can see where the larger market it would be easier. But even for the smaller communities there can be 10 or so people but that’s a great start! 39:48 – Guest: Yeah, once it gets started it flows. 40:02 – Chuck: What are the topics then at these meetings? 40:05 – Guest: I like to help people to code, so that’s my inspiration. 40:50 – Divya: I help with the Chicago Meetup and tons of people sign-up but not a lot of people to show – that’s our challenge right now! How do you get people to actually GO! 41:44 – Guest: I tell people that it’s a free event and really the show up rate is about 30%. I let the people to know that there is a beginning section, too, that there is a safe place for them. I find that that is helpful. 42:44 – Chris: Yeah, even the language/vocabulary that you use can really deter people or make people feel accepted. 43:48 – Chuck: Let’s talk about the idea of ‘new developers.’ They would ask people for the topics that THEY wanted to talk about. 44:37 – Divya: From an organizer’s perspective... 46:10 – Chuck: If you want people to show-up to your Meetups just do this...a secret pattern! I did a talk about a block chain and we probably had 3x to 4x a better turnout. 46:55 – Panel. 47:00 – Divya: The one event that was really successful was having Evan and Chris come to Chicago. That event was eventually $25.00 and then when Evan couldn’t come the price dropped to $5.00. 48:00 – Panel goes back-and-forth. 48:22 – Chuck: Where can they find you? 48:30 – Guest: BenCodeZen! 48:40 – Advertisement – Fresh Books! DEVCHAT code. 30-day trial. Links: Vue React Angular JavaScript DevChat TV Graph QL VuePress Nuxt Meetup 1 Chicago Meetup for Fullstack JavaScript Ben’s LinkedIn Ben’s Website Ben’s Twitter DevChat TV Past Episode with Benjamin Hong (MJS 082) Sponsors: Fresh Books Cache Fly Kendo UI Get A Coder Job! Picks: Divya Creator Summit Chris “Chuck” Take a break when traveling to conferences and such Vue.js in Action Eric Stackblitz Charles The One Thing Self Publishing School Ben Ted Talk by Elizabeth Gilbert Vue.js Meetups
Panel: Charles Max Wood Guest: Jérémie Bonal This week on My Ruby Story, Chuck talks with Jérémie Bonal who works at Ekylibre. He is a web developer and he has been using Ruby for the past few years now. They talk about Jérémie’s background, Ruby, Ekylibre, past/current projects, and so much more! Check it out! In particular, we dive pretty deep on: 0:00 – Get A Coder Job! 1:05 – Chuck: We are talking with Jérémie Bonal today. Tell us who you are! 1:21 – Guest: I am a web developer and I’ve been writing Ruby for about 2 ½ years now. I’ve been writing code now for 5 – 6 years. 1:54 – Chuck: I love writing in Ruby, too. Let’s get into your story. What’s the Ruby community like in France? 2:23 – Guest: It’s pretty dispersed in the town that I am living in right now (Bordeaux). We meet up through Meetups and chatting about everything and drinking beer. There are more Ruby communities in Paris. 3:23 – Chuck: Maybe one day I will make it out to Bordeaux. My grandmother was French and I thought it would be cool to see the different parts of France. 3:45 – Guest: Cycle through France. 3:53 – Chuck: My grandmother grew-up near Lyon. 4:02 – Guest: France is pretty small compared to the U.S. You can fit several towns in a single trip. 4:21 – Chuck: I do have a funny connection. When I lived in Italy for a few years I would show them a map of Utah and they thought CA was close to UT. 5:03 – Guest: Yes, it’s hard to conceptualize. From what I’ve heard it could be a road trip for Americans. It’s hard for me to wrap my head around that. 5:40 – Chuck talks about Disneyland and family topics. Chuck: Let’s talk about you and your Ruby story. Are you hiring and where can they go? 6:20 – Guest: Yes we are! You can find us on our website. 6:57 – Chuck: Let’s talk about you – how did you get into programming? 7:00 – Guest: When I was young with calculators. My friends made games with it and it blew my mind. I tried to make sense of what the key words meant. Nothing worked and I got real puzzled. I went to college and in the first semester you didn’t choose a major – you just do a bit of everything. You learn some engineering, chemistry, math, etc. so people could find what they really wanted to do. I worked in Python and worked with graphs and all of those concepts. This is when I got into it. I planned on going into chemistry, but all my friends were getting into programming. They kept saying: keep doing programming. I caved-in and the rest is history. 9:02 – Chuck: What languages have you worked with? 9:09 – Guest lists the different languages. Guest started with Python 2. 9:30 – Chuck: We started with Java and C++. It’s interesting to compare the differences there. As we are talking about this – a lot of people think they NEED a computer science degree and others say: nah! I am curious what advantages did it give you? 10:12 – Guest: I was disillusioned about the whole thing. They taught me a lot but I didn’t know anything valuable. I learned Ruby and Ruby on Rails. I started building web apps and I got joy out of it. I thought I didn’t have any purpose with my new degree. I noticed in the conversations with my colleagues (who don’t have computer science background) I saw that I could solve patterns and I had a better vocabulary. I saw that I could apply it and that felt good. 12:37 – Chuck: Interesting. I found my degree helped with the low-level stuff and helped me to solve problems. I learned on the job, though, too. I feel like if you need the structured environment of a college environment – go for it! Or do a boot camp, etc. 13:21 – Guest: I learned Ruby and Ruby on Rails through a boot camp. I wished there were boot camps for my computer science courses. To solve MP this and that; getting into the basics and building a sold foundation in computer science in a short period of time. 14:06 – Chuck: I’ve thought about creating that curriculum. 14:36 – Chuck: It’s an interesting conversation to have. I think the boot camps will force the universities to adapt. 15:01 – Guest: Yes, the disconnect is pretty staggering. It must be kind of similar. 15:20 – Chuck: You graduated and you learned Ruby through boot camps? 15:29 – Guest: I felt like I didn’t know how to do anything constructive or valuable. I meld around for a while – I went to be an English teacher and other jobs. I found out about a boot camp in Bordeaux and I went to that. It was going to teach Web apps. I thought taking it would make my CV stronger. It was 9 weeks of Ruby, Ruby, and Ruby! Then the last 2 weeks building an actual app. I fell in-love and found my passion. 16:55 – Chuck: That mirrors my experience well. A friend introduced me to the Lamp Stack and then it clicked that this stuff is “cool.” Sounds like you made the same connect that I did. 17:46 – Guest: Yes, that’s how it went for me, too. The last few weeks we made an app and it was a travel app. It blew my mind that we made it in only 2 weeks and that people could use it! 19:05 – Chuck: Same thing for me. We were answering emails out of Thunder Bird, and we kept stepping on each other. 20:18 – Guest: I think my favorite is: I have a problem right now, and I can solve it myself. I can build a basic tool that will make my life easier. 20:40 – Chuck: Yep, that’s what I am doing right now. I am building in scheduling and all sort of stuff. The app is awesome and it feels like you have a super power. 21:10 – Guest: Yeah, it does whatever you want it to do. 21:20 – Chuck: What projects have you worked on? 21:22 – Guest: The project I mentioned about the travel itineraries. Then I worked with some classmates on another project around pharmaceuticals. It was cool to solve a problem. Then I played a small web player. I tried Raspberry and Raspberry Pi, and I was trying to build... Since then I have been working with my current company. I was missing some parts of college b/c one of my projects was a graph gem. I tried other things, too. 24:45 – Chuck: I know that Hanaumi is popular in the European market vs. U.S. market. 25:00 – Guest. 26:00 – Chuck: I have some theories as to WHY that is. 25:26 – Guest: I have a friend who moved to Elixir and never tried Hanaumi. 26:42 – Chuck: I have been playing with Elixir somewhat. I wanted to understand what people were experiencing. 27:02 – Guest: I liked the idea that... 27:48 – Chuck: What are you working on these days? 28:01 – Guest. 29:53 – Chuck: When you find the position of CEO or my job you learn a lot about that stuff. When you are running a business you learn about marketing and other business topics. You talked about replicating a gem. What did you learn through that process? 30:30 – Guest. 32:20 – Chuck: You are learning more about management? What resources do you use? 32:26 – Guest: I read a lot of Medium articles. I am a huge fan of management articles, and Basecamp. Also, your newsletter, Chuck! 33:30 – Chuck: Anything else? 33:33 – Guest: Social Platforms – Medium. 33:58 – Chuck: Where can we find you? 34:00 – Guest answers the question. 34:50 – Advertisement – Fresh Books! Links: Ruby Elixir Rails Rust Python Basecamp Raspberry Pi Ekylibre Guest’s Medium Guest’s Hacker Noon Guest’s GitHub Guest’s LinkedIn Sponsors: Get a Coder Job Cache Fly Fresh Books Picks: Jérémie Article DHH Chuck Podcast: Launch CodeBadge.Org Get A Coder Job My Ruby Stories! – DevChat.Tv
Panel: Charles Max Wood Guest: Henry Zhu This week on My JavaScript Story, Charles speaks with Henry Zhu who is working full-time on Babel! They discuss Henry’s background, past/current projects, Babel, and Henry’s new podcast. Check-out today’s episode to hear more! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:00 – Chuck: Today we are talking with Henry Zhu! You are the maintainer of Babel – and we have had you on the show before. Anything else? 1:25 – Henry: I used to work with Adobe and now live in NY. 1:44 – Chuck: Episode 321 we talked to you and you released Babel 7. Tell us about Babel, please. 2:01 – Henry: It’s a translator for programming languages and it’s a compiler. It only translates JavaScript to JavaScript. You would do this because you don’t know what your users’ are using. It’s an accessibility thing as well. 3:08 – Chuck: Later, we will dive into this some more. Let’s back-up: how did you get into programming? 3:22 – Henry: I think I was in middle school and I partnered with a friend for science class and we made a flash animation about earthquakes. Both of my parents worked in the field, too. They never really encouraged me to do it, but here I am. 4:07 – Chuck: How did you get into Java? 4:11 – Henry: I made some games and made a Chinese card game. Then in college I went to a bunch of Hackathons. In college I didn’t major into computer science, but I took a bunch of classes for fun. I learned about Bootstrap and did a bunch of things with that. 5:12 – Chuck: How did you settle on JavaScript? 5:28 – Henry: It was my experience – you don’t have to download anything. You can just open things up in the console and it’s easy to share. I think I like the visual part of it and their UI. 6;07 – Chuck: At some point you ran across Babel – how did you get into that? 6:17 – Henry: After college I wanted to do software. I threw out my degree of industrial engineering. I tried to apply to Google and other top companies. I applied to various places and picked something that was local. I met Jonathan Neal and he got me into open source. Through that, I wanted to contribute to Angular, but it was hard for me. Then I found a small issue with a linting error. After that I made 30 commits to Angular. I added a space here and there. JSES is the next thing I got involved with. There is one file for the rule itself and one for the test and another for the docs. I contributed there and it was easy. I am from Georgia and a year in I get an email through Adobe. They asked if I wanted to work through Enhance in Adobe. I moved to NY and started working here. I found JS LINT, and found out about Babel JS LINT. And that’s how I found about Babel. 9:24 – Chuck: Was Sebastian still running the project at the time? 9:33 – Henry. 10:53 – Chuck: It seems like when I talk with people that you are the LEAD on Babel? 11:07 – Henry: I guess so, because I am spending the most time on it. I also quit the job to work on it. However, I want people to know that there are other people out there to give you help, too. 11:45 – Chuck: Sebastian didn’t say: this is the guy that is the lead now. But how did that crystalize? 12:12 – Henry: I think it happened by accident. I stumbled across it. By people stepping down they stepped down a while ago and others were helping and making changes. It was weird because Sebastian was going to come back. It’s hard when you know that the person before had gotten burnt-out. 14:28 – Chuck: What is it like to go fulltime on an open source project and how do you go about it? 14:34 – Henry: I don’t want to claim that you have to do it my way. Maybe every project is different. Maybe the focus is money. That is a basic issue. If your project is more of a service, then direct it towards that. I feel weird if I made Babel a service. For me it feels like an infrastructure thing I didn’t want to do that. I think people want to do open source fulltime, but there are a lot of things to take into consideration. 16:38 – Chuck. 16:50 – Guest. 16:53 – Henry. 16:55 – Chuck: How do you pay the bills? 17:00 – Henry: Unlike Kickstarter, Patreon is to help donate money to people who are contributing content. If you want to donate a lot then we can tweak it. 19:06 – Chuck: Is there something in particular that you’re proud of? 19:16 – Henry: I worked on JS ES – I was a core team member of that. Going through the process of merging them together was quite interesting. I could write a whole blog post about that. There are a lot of egos and people involved. There are various projects. Something that I have been thinking about... 20:53 – Chuck: What are you working on now? 20:58 – Henry: We released 7 a while ago and 7.1. Not sure what we are going to do next. Trying to figure out what’s important and to figure out what we want to work on. I have been thinking long-term; for example how do we get reviewers, among other things. I can spend a lot of time fixing bugs, but that is just short-term. I want to invest ways to get more people in. There is a lot of initiatives but maybe we can do something new. Maybe pair with local universities. Maybe do a local Meetup? Learning to be okay with not releasing as often. I don’t want to put fires out all day. Trying to prioritize is important. 23:17 – Chuck. 23:2 – Henry: Twitter and other platforms. 23:37 – Chuck: Picks! 23:38 – Advertisement – Fresh Books! 30-Day Trial! 24:45 – Picks. Links: React Angular Vue.js JavaScript Ember Elm jQuery Henry Zhu’s Twitter Henry Zhu’s GitHub Henry Zhu’s Website Patreon to Donate Towards Babel Babel Babel JS Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Henry My own podcast – releasing it next week Podcast about Faith and Open Source Charles Ruby Rogues’ cohost + myself – Data Podcast – DevChat.Tv Reworking e-mails
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: 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 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: Christine Legge This week on My JavaScript Story, Charles speaks with Christine Legge who is a computer software engineer who works for Google in New York. Previous employment includes Axiom Zen, and Vizzion, Inc. She and Chuck talk about her background, past and current projects, and her future goals. In particular, we dive pretty deep on: 1:07 – Hello! 1:10 – Chuck: You were on Episode 328 in the past. Tell us about yourself! 1:24 – Christine: I started working with Google about 2 weeks ago. In the past I worked in Vancouver, Canada. 2:05 – Chuck: Let’s start with how you got into programming? 2:14 – Christine: When I was in HS I wasn’t interested at all into computers. I wanted to do applied math in Toronto Canada for college. For engineering you have to take an introduction to programming in the 1st year. I had a 4-hour computer science course in the morning and I dreaded it. I dropped out 3 months later b/c I didn’t like the program. Surprisingly, enough, I did like the computer science course. I went back to Vancouver and I said to my parents that I wanted an office job. I went to the YMCA center and wanted to be hired. The man there asked if I had any interest in data entering, and I started working for him. I worked 4 hours a week with him where he taught me C+. I decided to go back to school for it. 5:37 – Chuck: What did you like about it? 5:43 – Christine: I liked the problem solving part of it. I like how you can break things down. The technology doesn’t interest me that much, but I like the problem-solving aspect. The guy wasn’t that up-to-date with the newest technologies either. 6:53 – Chuck: You have a 4-year degree in computer science. 7:05 – Yes that and statistics, too. 7:13 – Chuck: I was going to say “nerd.” How do you go from desktop applications to web apps? 7:25 – Christine: I worked with a company part-time and fulltime depending on the year/season. I didn’t know what web development was but I thought that THAT was computer science. I thought that if I knew how to do web development then I was going to be good to go. This company asked: What do you want to do? And I answered that I wanted to do web development b/c I thought that’s what I was lacking. I basically got thrown into it. I didn’t understand anything at all. It took me to write one line of CSS and it took 4 hours. 10:35 – Why did JavaScript attract you more so than C# or other languages that you’ve used? 10:43 – It’s simpler and you don’t need a lot of setup; from top to bottom. I am working in typescript, I like it even more, but I like how Java is more free to do what you want. I like functional programming in JavaScript. I like the big community for Java, and there are tons of applications for it. I really like how flexible the language is. You can do functional and oriented or you can combine the two. You aren’t constrained. 12:00 – Chuck: You get in, you work through JavaScript, were you only doing backend? 12:14 – Christine: Yep, backend. 13:00 –Chuck: I know you talked at the conference, and what are you most proud of? 13:14 – Christine: To be honest, no. My mentor (Pablo) at the last company – he wrote a book about D3. He started learning and writing the book. To me that I had thought that all these people are experts from the get go. I realized that everyone has to start somewhere to eventually become an expert. I do want to make an impact even outside of my job. I don’t have anything new that I’ve been working on. It’s a goal for me within the next couple of months. 15:30 – Chuck: I understand that. 15:36 – Christine: I haven’t found that balance, yet. When I gave that talk during Developer Week I was moving and stressed out. “I am NEVER doing this again!” It was over and it was very rewarding. People gave good feedback, and I would like to do that again. 16:56 – Chuck: People have different experience with that kind of stuff. People are interested in different things. So you’ve been working on moving and all that stuff right? What would you like to dive back into? 17:32 – Christine: Yes we are using Angular 2 and typescript and a Reactive Library. Angular is interesting to me. I would like to dive into the dependency injection in Angular. I really like typescript. 19:24 – Chuck: Have you looked at resources? 19:39 – Christine: I read the documentation so far. Like for React I just read the documentation but I haven’t found a central source just, yet. Not a single source. The docs are okay to get started but I haven’t found that they were enough. 20:50 – Chuck: This is about your story. I worked through the Tour of Heroes, and that helped me with Angular. It’s in the Angular Documentation. 21:23 – Christine: When you are starting at a new job I want to make sure I’m settled-in. And now I want to start thinking at a high-level of how these things work. I think the cool thing working here is that you can talk to the people who are working on Angular and get some insight that way. 22:27 – Chuck: People are usually very approachable. 22:34 – Christine: Yes, I agree. To be apart of the communities people want you to use their stuff. 22:48 – Chuck: Do you have another talk in mind when you are ready to give your next talk? 22:59 – Christine: Not sure. I have one thing on my list right now and that’s it. 23:42 – Chuck: I haven’t looked at RJX documentation but I think it’s pretty easy to pick-up. Ben who is the main developer RJX joined the team last year. 24:04 – Christine: It’s a lot of promises. When I figure it out that’s how something would work if it were a promise then I can usually get there. 24:25 – Chuck: Yeah. 24:38 – Christine: I kind of want to make connections in the office rather than me trying to do myself. I don’t want to waste time. Working on those connections would be good. 25:20 – Chuck: Let’s do some picks! 25:30 – Advertisement – Fresh Books! 30-Day Trial! Links: React Angular Vue.js JavaScript Ember Elm jQuery Christine Legge’s LinkedIn Christine Legge’s Twitter Christine Legge’s GitHub Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Charles My Calendar Software – BusyCal and Google Calendar Google Calendar just started appointment slots Christine Podcast: The Pitch Podcast: How I Built This