

Adventures in Angular
Charles M Wood
Join our weekly discussion about how to build top end Angular applications and become an Angular expert.Become a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
Episodes
Mentioned books

Nov 27, 2018 • 1h 10min
AiA 217: Mastermind Groups for Startups, Consulting & Career Growth with Sean Merron
Panel: Charles Max WoodAaron FrostShai Reznik Divya SasidharanJoe EamesLucas Reis Special Guest: Sean MerronIn this episode, The panelist of Adventure In Angular, View on Vue, React Round-Up, and Ruby Rogues and JavaScript Jabber speak with Sean Merron about Mastermind Groups of Startups and much more. Sean is the founder of today's topic and product “Mastermind Hunt.” This product is design to skillfully find a mastermind to take your business and skills to the next level.Show Topics:0:00 – Advertisement: AngularBootCamp.Com 3:00 – Webinar announcement January 3rd, 2p EST.4:10 - Sean talks about the importance of a Mastermind and his evolvement in mastermind groups. Sean breakdowns what exactly what a mastermind is about.6:10 - Charles ask the panelist if they have engaged in Masterminds. Shai talks about his experience and seeing one-sidedness in Masterminds. Sean talks about how to avoid this issue and staying on track. Sean shares on how to keep the meeting moving forward and meet accountability tasks.10:10 - Joe asks about examples of chatting on topics with co-workers and how is this different from masterminds. And how to keep topics on track. Sean provides using the round robin method to give each person a chance to bring their needs to the table. Sean talks about how developers share advice and topics in Masterminds.14:43 - Charles shares about how this works in using exercise workbooks as a group and who the rotation works for the hot seat. Sean explains that this is used to find others at your same level to help one another.16:50 - Shai ask about the benefits of mastermind, but how can we integrate higher level issues among a group. Sean shares a story about meeting and benefits of networking in Masterminds. Sean and Chuck continue with the power of networking among these types of groups.22:00 - Charles talks about the complexity of personal issues. Shai asks about how to build a mastermind. Sean gives examples of formats and schedule, number of people, and how to conduct successfully. Sean gives examples of technologies to use to help conduct masterminds, like Facebook groups, Skype, Zoom. Sean explains how this led to building mastermindhunt.com 27:00 – Advertisement: Get A Coder Job! 27:00 - Charles talks about how he did a lunch meetup as a mastermind. Lucas gives examples of guilds in his job. Lucas explains the guilds and how this works among the software development team. Lucas shares about presenting in a guild. Lucas says this is great for accountability and success.30:00 - Sean asks about the size or how many people are in the guild. Lucas mentions that if you do not understand something, bring it to the guild. Sean mentions how this could help shy people and build trust. Sean talks about “Friend D A”34:00 - Charles again talks about that BrownBag lunch mastermind. Charles talks about how to keep masterminds on track and not a chatfest. Joe asks about the accountability goals. Sean talks about how this works in Mastermind Hunt. Sean gives examples of how to keep people accountable in fun ways.37:00 - Shai talks about having to shave his head when he was not meeting accountability goals. Sean continues about respecting people’s time and keeping on topic with hot seat questions.39:00 - Shai asks about how to approach people who are not meeting goals and take-up to much time. Sean says the person with the best relationship should approach the person before they have to bump them out of the mastermind spot.42:00 - Charles talks about EntreProgrammers as a mastermind and the freeform style of the format. Charles talks about leaving the group if it is not meeting your value needs.44:00 - Sean talks about the introduction and application programs to enter into a mastermind. Lucas talks about diminishing quality of a mastermind, and how he raised the quality of engaging in a way that heightens the program. Sean shares more aobuu the initial attitude of the person who starts the meeting.49:00 - Divya ask about those who are not hitting their goals, but how do you keep them engaged without leaving the group. Sean mentions breaking down the goals or create achievable goals. Sean talks about figuring out the organization and finding where the issues are at that might be the problem to hitting goals.51:00 - Divya ask about how enthusiasm can diminish about how to keep that from happening in masterminds. Sean says you have to be consistent with your goals and make it fun.55:00 - Shai gives a quick recap of masterminds. Shai ask about how to rotate the hot seat. Sean give a webinar link for mastermindhunt.com/devchat on January 3rd, 2pm EST.57:30 – Advertisement – Fresh Books! 30-day free trial! END – Advertisement – Cache Fly! Links:Sean’s Twitter2frugaldudes podcastSean’s LinkedInmastermindhunt.commastermindhunt.com/devchatSponsors:Angular Boot CampFresh BooksGet a Coder Job CourseCache FlyPicks:ShaiBob Proctor Joe CoolstuffincluxorNG Conf Minified LucasRadical Candor DivyaAlan WattsFramework Summit Videos Several Short Sentence about Writing CharlesCES - devchat.tv/eventsModern MedicineSean(757) Area CodeRevolutionConf.comSpecial Guest: Sean Merron. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.

Nov 20, 2018 • 32min
AiA 216: Building a Complete Web Application from Scratch Alone with Amir Tugendhaft
Panel: - Aaron Frost- Brian Love Special Guest: Amir TugendhaftIn this episode, Aaron and Brian talk with https://twitter.com/amirtugi who is a web developer who is located in Israel. He finds much gratification developing and building things from scratch. Check out today’s episode where Aaron, Brian, and Amir talk about just that. Other topics include UI Design, Flexbox, UX design, PrimeNG, and ag-Grid.Show Topics:0:00 – Advertisement: https://angularbootcamp.com 0:52 – https://medium.com/@frosty/preparing-to-become-a-gde-752b551c88df Welcome! Today’s panel is myself, Brian, and our guest is https://twitter.com/amirtugi 1:13 – Guest: I am a developer and experience with Angular and React.1:56 – Host: You spend your days/nights there?2:03 – Panel: He is committed.2:08 – Host: I am going to back up a second, and Brian could you please introduce yourself, please?2:26 – https://twitter.com/brian_love?lang=en I am the CETO at an Angular consulting firm (Denver, CO). We have the pleasure with working with Aaron from time-to-time. My Twitter handle is https://twitter.com/brian_love?lang=en – check it out!2:52 – Host: What is CETO stand for?2:59 – Brian answers the question. Brian: I oversee the crew among other things.3:31 – Host: What do you want to talk about today, Amir? You are the guest of honor today!3:40 – Guest.4:00 – Host: That is a lot of information – that might be more than 1 episode. We have to stay focused!4:14 – Host: I read one of your recent blogs about Cross Filled Violators. I met you through your blog before we did theHost: Give us your own ideas about starting your own app.4:50 – Guest answers the question. 6:17 – Host: I am biased. But here is a fact. I used to work on a large team (60 people) and everyone committing to the same page app. We were using Angular.js 1.5, which I think they are still using that. I know that it worked but it wasn’t the easiest or fastest one to maintain, but it worked.7:05 – Brian.7:10 – Host: What are you trying to do? React doesn’t fulfill that need. I think you are being hyperballic and using extreme cases as the norm. Let’s be honest: we do cool stuff with jQuery plugins when we didn’t have a framework. When they say that the framework is stopping them then I say: I agree to disagree.8:00 – Host: What do you think, Amir?8:04 – Guest: I don’t have preferences. I try to build applications through the technologies and create components and simple applications.8:30 – Brian.8:33 – Guest: You create the component, and then...9:21 – Brian: You don’t have to have a template file and another file – right?9:35 – Guest.9:48 – Host: I do in-line styles and in-line templates. One thing I learned from React is that I like my HTML, style and code. I like it being the same file as my component. I like that about that: I like single file components. This promotes getting frustrated if it gets too big. Yeah if it’s more than 500 lines than you have to simplify. That’s one of the things that l like.10:47 – Brian: Modules versus...10:55 – Guest.11:07 – Host: I think in https://reactjs.org and https://vuejs.org you have the word module but in JavaScript you have a file that exports...11:26 – Host: I have my opinion here and talking with Joe. He made a good point: at a certain level the frontend frameworks are the same. You could be doing different things but they basically do the same thing.13:57 – Guest: Basically what that means is that the technology used it will do the same thing. Your patterns and practices are huge.14:17 – Brian: If you are talking about the 3 popular frameworks out there – they are basically doing the same thing. I like Angular a little big more, though. Like you said, Aaron, people tend to pick the same one. I like the opinionated things about Angular. You get properties, components or called props or inputs you are getting a lot of the same features. It comes down to your personal preference.15:31 – Host: What else Amir?15:35 – Guest: Let’s talk about the UI.16:05 – Brian.16:08 – Guest asks a question. 16:25 – Brian: How have you tackled this problem?16:34 – Guest: I kind of ran with it. If there wasn’t something that I liked I started from scratch, because it really didn’t feel right.16:51 – Brian: I am an enemy of starting over type of thing. You have a lot of engineers who START projects, and they can say that they start this piece, but the experts and choice team members have what it takes to ship a feature. I mean fully ship it, not just 80%, but also the final 20%. I think it takes a lot of pose decision making to say I want to rewrite it but not right now. I still need to ship this code. I have always been a bigger fan as not rewriting as much as possible; however, if you started with good patterns then that’s true, but if you are starting off with bad patterns then maybe yes. I like that opinion b/c you have to start right.Brian: How do you do your CSS?19:05 – https://www.linkedin.com/in/amir-tugi/?originalSubdomain=il 19:52 – https://devchat.tv/get-a-coder-job/ 20:30 – Brian: How do you make those decisions, Amir?20:39 – Guest: I see something that I like and ask myself how do I apply this to my design and I start scaling things.21:50 – Host: Are you using a tool likehttps://www.sketchapp.com for your initial https://en.wikipedia.org/wiki/User_interface_design 22:05 – Guest.22:54 – Host: I worked on a project where the client had a https://youtu.be/Ovj4hFxko7c 24:00 – Host and Guest go back-and-forth. 24:51 – Host: I am sure it’s all about the quality from your designer, too. Hopefully it works well for you and it’s quality.25:18 – Host: There is a lot to building an app from scratch. I am not a good designer. I am not a designer – I mean straight-up. I got nothing. I appreciate team members that can do that.26:06 – Guest: Do you write...?26:35 – Host: Only on the most recent project. The designer didn’t own the HTML CSS but he initially wrote it and then gave it to me and now I own it, and it’s in components. If he wants updates then I have to go and make changes b/c he doesn’t know Angular. If it’s a sketch or a PNG you have to make it look like that. That’s what most of my career has been.Host: HTML and CSS got me 762x easier once https://css-tricks.com/snippets/css/a-guide-to-flexbox/ came around! I know there is a decimal there!28:23 – Host talks about https://css-tricks.com/snippets/css/a-guide-to-flexbox/ some more. 28:42 – Guest asks a question. 28:50 – Host: I suppose if I really had heavy needs for a table then I would try CSS grid could solve some problems. I might just use a styled table.29:12 – Brian: https://www.ag-grid.com or something else.29:21 – Host: On this recent project...I’ve used in-house design and other things. If I ever needed a table it was there. I don’t rebuild components b/c that can get expensive for me.30:50 – Brian: Accessibility.31:00 – Host: Your upgrade just got 10x harder b/c you own the component loop. I really don’t build tables or drop-downs. Only way is if I really need to build it for a specific request.31:30 – Brian.31:58 – Host: Let me give you an example. You can think I am crazy, but a designer gave me a drop-down but he told me to use https://codeburst.io/why-not-primeng-852a9dfca6bc I had the chose of building my own drop-down or the designer has to accept whatever they gave him. I made the UI make what he wanted and I made the drop-down zero capacity and then...Host: When you click on what you see you are clicking on the...Host: Does that make sense?33:35 – Guest.33:50 – Host.34:25 – Brian: That is interesting; remember when...34:58 – Host: We will send this episode to Jeremy – come on Jeremy! Any last ideas? Let’s move onto picks!35:20 – https://www.freshbooks.com END – https://www.cachefly.com Links:- https://vuejs.org- https://jquery.com- https://angular.io- https://reactjs.org- https://docs.microsoft.com/en-us/dotnet/csharp/- https://youtu.be/Ovj4hFxko7c- https://en.wikipedia.org/wiki/User_interface_design- https://css-tricks.com/snippets/css/a-guide-to-flexbox/-Become a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.

Nov 13, 2018 • 56min
AiA 215: “Progressive Web Apps” with Aaron Gustafson / Live at Microsoft Ignite
Panel: https://twitter.com/cmaxw?lang=en Special Guests: https://github.com/adtm In this episode, the Chuck talks with https://www.aaron-gustafson.com 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, https://responsiveimages.org, 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 – https://www.youtube.com/channel/UCDWpGhFB8j6Kia4B_MKUG3w: Progressive Web App where they talk about their evolution about this.25:17 – https://www.freshbooks.com/?adgroupid=51893696397&ag=%255Bfreshbooks%255D&camp=US%2528SEM%2529Branded%257CEXM&campaignid=717543354&crid=289640536553&dclid=CNGHh6XkmN4CFQO5TwodEqEA2w&dv=c&gclid=EAIaIQobChMIzpSso-SY3gIVDoxpCh0-HwkaEAAYASAAEgI6JfD_BwE&gclsrc=aw.ds&kw=freshbooks&kwid=kwd-298507762065&ntwk=g&ref=ppc-na-fb&source=GOOGLE 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: https://www.pwastats.com and https://twitter.com/pwastats 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 https://electronjs.org 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 https://electronjs.org 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 https://electronjs.org route. But for most cases then https://electronjs.org 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 – https://www.digitalocean.com/ Links:- https://rubyonrails.org- https://angular.io/guide/quickstart- https://www.pwastats.com- https://twitter.com/pwastats- https://electronjs.org- https://www.aaron-gustafson.com- https://www.linkedin.com/in/aarongustafson- https://twitter.com/AaronGustafson- https://github.com/aarongustafson- https://www.youtube.com/channel/UCDWpGhFB8j6Kia4B_MKUG3w- https://medium.com/@AaronGustafson- https://devchat.tv/get-a-coder-job/- https://twitter.com/cmaxw?ref_src=twsrc%255Egoogle%257Ctwcamp%255Eserp%257Ctwgr%255EauthorSponsors:- https://devchat.tv/get-a-coder-job/-Become a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.

Nov 6, 2018 • 1h 2min
AiA 214: NgRx Tips & Tricks with Adrian Fâciu
Panel: Charles Max WoodJohn 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 –Become a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.

Oct 30, 2018 • 48min
AiA 213: Signal R with Brady Gaster LIVE at Microsoft Ignite
Panel: - Charles Max Wood Special Guest: Brady GasterIn this episode, Chuck talks with https://twitter.com/bradygaster about https://www.asp.net/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: https://angularbootcamp.com 0:56 – Chuck: Hello! We are going to talk about https://www.asp.net/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 https://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 https://www.dotnetconf.net. 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 https://docs.microsoft.com/en-us/dotnet/csharp/ Dev, Hub, and more!) 23:46 – https://devchat.tv/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 https://docs.microsoft.com/en-us/aspnet/signalr/overview/getting-started/introduction-to-signalr and it’s apart of the .NET team, too.26:39 – Guest talks about how to installhttps://twitter.com/SignalR?lang=en – 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 https://jquery.com to use SignalR – now you don’t. It’s a happy thing.30:45 – Guest: Someone suggested using https://developer.android.com/reference/android/os/Parcel I have a question do you have any recommendations to have https://www.npmjs.com/package/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 http://signalr.net 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 – https://www.freshbooks.com/?adgroupid=51893696557&ag=r%252F+%257Efreshbooks&camp=US%2528SEM%2529Branded%257CEXM&campaignid=717543354&crid=284685866051&dclid=CO7qmoiOh94CFUnHwAodiCQBUA&dv=c&gclid=EAIaIQobChMI--6zho6H3gIVjsVkCh2wsQx6EAAYASAAEgL9B_D_BwE&gclsrc=aw.ds&kw=freshbooks&kwid=kwd-298507762065&ntwk=g&ref=ppc-na-fb&source=GOOGLE 47:54 – https://www.cachefly.com Links:- https://vuejs.org- https://jquery.com- https://angular.io- https://docs.microsoft.com/en-us/dotnet/csharp/- https://twitter.com/cmaxw?ref_src=twsrc%255Egoogle%257Ctwcamp%255Eserp%257Ctwgr%255Eauthor- https://www.asp.net/signalr- https://twitter.com/SignalR?lang=en- https://github.com/SignalR/SignalR- https://socket.io- https://www.npmjs.com/package/node-sass- https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/hubs-api-guide-javascript-client- http://signalr.net- https://realtalkjavascript.simplecast.fm- https://developer.android.com/reference/android/os/Parcel- https://twitter.com/bradygaster- https://github.com/bradygaster- https://www.linkedin.com/in/bradygasterSponsors:- https://angularbootcamp.com/- https://www.digitalocean.com/- https://devchat.tv/get-a-coder-job/- https://www.cachefly.comPicks:Brady- Team on General Session- https://www.korg.com/us/- https://www.seahawks.com/- Brady’s kids-Become a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.

Oct 23, 2018 • 1h 1min
AiA 212: “Angular Console” with Dan Muller
Panel: Charles Max WoodAaron FrostJohn PapaAlyssa Nicholl Special Guests: Dan MullerIn this episode, the Adventures in Angular panel talks with Dan Muller who is a member of the NRWL team and who has developed Angular Console. The panel asks Dan questions about the console and the pros and cons of it. Check out today’s episode!Show Topics:1:19 – Dan: I work now with NRWL and I used to work at Google and then I got bored writing Angular applications. I then texted a colleague and worked with him and he gave me what is now called1:52 – Chuck: Nice. Give us the elevator pitch for Angular Console?2:00 – Dan: It is mostly pretty.2:19 – Alyssa comments.2:30 – Dan: To each their own.2:38 – Dan One of the parts working at Google I would copy and paste the patterns I did at Google. Now we stopped copying and pasting code. If you are newbie there is a learning code and that’s a drag. What it (Angular Console) does it makes it easier for novices for them to know what can you generate and what options are available to you. It makes you feel nice and comforted and holds your hand. It’s a tool for me because I often go fast and it makes sure I don’t do anything wrong. It’s focused, and it keeps me focused.4:29 – Panelist: I just installed it for the first time. I am working on a project for a client and been doing a lot of NGG things. I am looking at this thing and I can see how it can be pretty helpful with its UI. Get in and try it out.5:23 – Dan: That’s the generate screen.5:30 – I have a terminal and it...5:51 – Dan: As you building up the commands it constantly runs them. It would be insane for you to hit the Enter key and copy and paste, cause we only have 2 hands. As you are doing the commands it will tell you what’s missing. You will have the flags above it and tweak it a little and it comes together.6:45 – Chuck.6:53 – Dan: Under the hood it’s running it verbatim. Anything that has an architecture definition every 1/10 sec it...will live update and it sees what projects you have, what apps you have and anything you have with a CI it will present it to you.7:51 – It has some custom scripts.8:03 – Alyssa: What did you do to install it?8:05 - AngularConsole.com Welcome download button and I downloaded it.8:43 – It’s a tiny file.8:47 – You are trying your best to make your bundle efficient.8:57 – Electron app is about the same size. It took only 11 seconds to download for me.9:11 – Nobody uses Lenox, so...9:22 – It does some very simple things it can do and chime-in when you want, Dan!I can see all my projects and if you were in a workspace you can see it all. If you have an Angular project you can do a generate component. There is a code generator, and there is a run screen. And in the end – I have a question about extensions? This is really where you can get a bunch of schematics, right?10:34 – Panelist asks a question.10:38 – Dan: Not wrong at all.11:25 – Panelist and Dan go back-and-forth.11:36 – We should do a show on schematics.11:43 – You are percolating a few new ones – that’s cool. What would be cool is if you...12:14 – Dan: Yeah it’s hard coded. We put this together in less than a month. It started in the middle of like October and we just put together and released in 3 weeks. Considering how slow Angular has developed it’s interesting to see...13:01 – Yeah I am seeing the extensions that reminds me...I like how you can search with these extensions there especially with the filter.13:21 – Dan: We want to eventually I hope we can surface more things. Not everyone thinks how a designer thinks. We are trivial to discover them maybe they would. He’s very much open to that someday.14:24 – I want to ask a question. Let’s do a poll request and it’s important to me. I don’t see the file where that lives.14:41 – Dan: I think there is a pre-existing file. You can base it off of that one.14:55 – A little context that I have and the one question that keeps coming up is what’s to say that this won’t drive us down a road to only do what NX wants us to do?15:52 – Dan: It’s tricky. Actually, back when the CUI they were thinking of something very similar to the console and it never happened. Basically before we launched it to the public we wanted to make sure that Angular team was on board with us. Even though we own the repo we wanted Google to sign-off the code. Make sure that they did it the correct way and they have lawyers more so than a start-up does. Eventually they will own...and they will be in charge of the release schedule. But all in all it’s my baby and I won’t give it up. There are extensions...Dan continues this conversation. 18:20 – Yeah so far using the console I can see the NX and finding extensions is hard. Where would you go find it? So this stuff...18:53 – As long as NX still stays an option than something you MUST choose then...19:12 – Dan: We decided early on that we didn’t want to shove NX into their face. That console can be useful but useful in another way. What we are building is this way you can reach out to us. We are a consulting company. If you are in the middle of making your app and you see a bug then we are building out a NWRL connect where you can connect with us.20:12 – Yeah I see that NWRL connect. Do I get you for free?20:26 – John Papa discount.20:31 – I usually have to pay him $10,000 a minute!20:53 – Yeah, he’s a cofounder (Victor).21:03 – It gives his number and SSN!21:17 – Alyssa: You said you have a lot of ideas of how console could go, do you have any things in the next steps?21:32 – Dan: I wasn’t very ambitious when I started the project. It’s not a huge desktop client focus application.I am adding background tasks. Things you can run all the time so you don’t have to click them all the time.23:17 – Advertisement – Get a coder job!23:58 – Why would you use this tool?24:05 – Dan: I have this fun experience when I was making console at first. It didn’t have the command screen and I needed to make a dialogue for creating a new workspace. And I said: Oh Shoot I don’t remember how to generate a module with routing. So instead of Googling...server and opened up Angular Console workspace and generated a component with it and it...25:11 – Comment.25:19 – Dan: During auto complete...26:10 – Panelist: If they want that UI...and when I teach Angular the first thing I teach is the UI. I think UI is a great starting point. I look at the console to see the extensions.27:09 – The CUI is already abstracting multiple different things. Now you have added a UI to it, I think it will be attractive for different people. I can see people saying I got it, and other people (John Papa) teaching a course, or maybe...certain people will like/don’t like it.28:12 – I don’t think it’s an either or.28:20 – Chuck: I would try things on the command line, and then things on the console line and figure out how it works with my flow. If I have 2 tools then I will use 1 for X and the other for Y.28:47 – Dan comments.29:17 – Where should people go to voice their ideas?29:29 – Dan: Some ideas are really, really good! Yeah shoot me a message.30:19 – You haven’t seen my issues, yet, bro.30:28 – Chuck: Was it inspired by the...30:37 – Dan: Shamelessly I steal design all the time. As I develop the Angular Console more I am steering away from their design but...31:26 – Chuck: Depending on WHO I am talking about there is rivalry between maybe Vue and Angular and whatever. I like the idea of sharing to show the mature elements to bring in what I am doing.31:59 – The main difference is the implementation is electron and web app and tell us pros and cons and why?32:14 – Dan: We could have done it either way. It looked more beautiful in my dock. Having it be an honest to goodness app and not having to open a terminal and fire it up, it didn’t feel professional or good. There is a little bit of professionalism there.33:42 – Chuck: I agree with that.33:48 – I like that it is web and that it’s a web application. It’s nice to have a web app open.34:06 – Dan comments.Dan: Discoverability is there. There are 2 servers and you could load it up and open it up in Chrome. We don’t use a lot of electronic UPIS because you are just running your terminal.34:56 – Chuck comments.35:02 – I just put the 7’s in there and there it is!35:11 – Dan: Theoretically, it is useful. That’s good.35:19 – What port?35:40 – Chuck, panel and guest go back-and-forth.36:06 – Seems like a good idea.36:13 – Hacker News.36:17 – Dan: That’s the dream – my life would be made as a developer.36:38 – Chuck.36:55 – I submitted a PR in there and looks like you are still getting help with this. I am a fan of this tool. People will love this.37:15 – Dan: We have more things that we want to add it - it to make it more attractive.We are making it official we are...37:54 – There are people that kill NWRLs.38:03 – Chuck.38:08 – Dan: Fellow NWRLer, Jack...38:50 – That stuff exists through web pack, right?39:20 – Dan: We can’t use it because it’s garbage and I won’t touch it.39:35 – Dan: I don’t know. We are going to do basically the same thing but prettier. The code will be prettier.40:10 – Chuck: Aaron, it looks like you put in a request to put in the plug-in. And you did it pretty fast so it’s not hard to do?40:31 – Probably not formatted properly.40:40 – Panel and guest go back-and-forth.40:54 – You have to fix it on the air. It’s a space problem. My line space is too long.41:07 – Panelists and guest.41:46 – Dan: Any compliment from Victor makes my life.41:57 – Panelist: I changed it.42:05 – Alyssa: Is it green light, green arrow?42:15 – I am just failing.42:21 – I used the web editor I really didn’t...42:30 – Alyssa: It was a space issue.42:39 – 3 more minutes to go...42:54 – Chuck sing us a song while we wait.43:03 – Is there a contributions page for people to contribute?43:18 – Dan: It tells you exactly how to run it.43:33 – Chuck: It usiBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.

Oct 16, 2018 • 50min
AiA 211: “Azure Pipelines” with Ed Thomson LIVE at Microsoft Ignite
Panel: Charles Max Wood Special Guests: Ed Thomson In this episode, the Adventures in Angular panel talks 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 Ignite1: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 flexibility19: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 somBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.

Oct 9, 2018 • 51min
AiA 210: “Zone.js” with Jia Li
Panel: Joe EamesAaron FrostJohn PapaSpecial Guests: Jia LiIn this episode, the Adventures in Angular panel talks with Jia Li about Zones.js. Check-out today’s episode to hear this topic plus more!Show Topics:1:20 – What are zones?1:25 – Jia: It is a library developed 4 years ago.1:45 – Panelist: Execution context? What is this?1:50 – Jia answers this question.2:42 – I know it’s big in Angular because it kind of takes care of itself. What are the new things you have done in zones and let’s talk about that?3:01 – Jia: I started contributing 2 years ago. About 1 year ago I was using Angular. I would like to talk about different3:35 – Where are zones used in Angular – lots of people don’t know where it is.3:48 – Jia: For four parts.6:23 – What is this framework that you are talking about? Check-out the links for this framework.6:42 – Panelists chime-in with their comments.7:29 – Jia: It is a standalone package in Zone.8:27 – Going back to John’s question. I only ran into it a few times – one time in one of my classes I made a new behavior subject. That subject got created before the zone. Anything I did outside of Angular zone, didn’t know what was going on. Once I stuck the behavior subject in one of the classes everything got taken care of. You kind of monkey patch...what else gets monkey patched by zones?9:28 – Jia answers the question.10:54 – Monkey-patch is a term that we use in this industry. What is it?11:05 – Jia answers this question.Jia: Monkey patch basically is overriding the procedure for the API.14:05 – What are some of the new things you are doing? I know you’ve done some new things and what’s new with Zones?14:28 – Lia: It’s all about the performance.16:55 – Panelist: I didn’t know all about these hooks – so that’s cool! I knew about handling errors, but I didn’t know there are different ways to work with the tasks. I am curious what kind of interesting things have you done with Zones as an Angular developer?17:38 – Lia answers the questions.19:15 – Debugging and tests are good for Zones. But it sounds like you are saying that Zones is not good for...19:50 – Lia answers the question.20:35 – Panelist: Sounds like Zones is doing what you need out of the box for...20:51 – Panelist: You improved some of the performance? Zones doesn’t have that much of a footprint and is pretty lightweight. How much did you better the performance? 20-30%?2:25 – Jia – I think the library is faster. There is a lot of garbage collection.It’s not that much.22:47 – Advertisement – Code Badges! 23:38 – Panelist: So it will help with garbage collection. That is good to know. Cool to know that you can optimize such a small library with...23:48 – Jia comments.26:09 – Panelist: Gottcha.26:16 – Jia continues this topic.Jia: A lot of new things are happening with the testing in the Zone. There are a lot of new features in the syntax.27:35 – That is a nice feature to add back in.27:43 – Jia continues the talk.28:55 – Panelist: There are a lot of tests in this Repo. Do Zones generally work out of the box or do you have to add support for different things? What are the criteria to add support to? Blue Birds added to the list somehow.29:32 – Jia answers this question.30:03 – Panelist: Can the GIST team add support or only can the Zone team add it?30:37 – Jia: Other teams can add support to their libraries. It’s public.31:10 – Panelist: This is over my head, but is there a plan to get the documents going?31:32 – Jia adds a comment.31:41 – Panelist: Google this: What the heck is zones?An opposite side of the question: What would happen to Angular if you remove Zones.js?32:10 – Jia answers this question.332:37 – Zones is effectively how it works sweetly in Angular. It’s not totally true but if you remove Zones.js – which I see some people doing – why would someone do this? Is it heavy is it...?33:20 – Jia answers the question.Jia: It’s not good for the Angular element.34:29 – Panelist: It is an island of Angular.34:54 – Jia continues this conversation.35:10 – Panelist: That’s interesting – good to know.35:18 – Jia: Back to the new features.38:22 – Jia mentions another feature.39:43 – JavaScript something haunts you – then you are now a real developer!40:03 – Jia: Yes, exactly.40:10 – Panelist: I am going to put some things in the links that the listeners can access. (NG Zone)40:28 – Picks!40:31 – Advertisement – Get a Coder Job Course Links:GitHubWhat is New in Zone.jsThriller TroopersWeb Tracing FrameworkNG ZoneAudible – EducatedReal Talk – JavaScriptThe dark side of conferencesReal Talk Java Script’s TwitterJia Li’s LinkedInSponsors:Angular Boot CampDigital Ocean Get a Coder Job CoursePicks:JiaYou Don’t Know JSSwitching to Angular 2AaronEducated JohnReal Talk JavaScripthttps://twitter.com/realtalkjsThe Dark Side of ConferencesJoeThe Developer Experience Bait and Switch Special Guest: Jia Li. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.

Oct 2, 2018 • 56min
AiA 209: “Azure DevOps” with Donovan Brown Live at Microsoft Ignite
Panel: Charles Max Woods Special Guests: Donovan Brown In this episode, the Adventures in Angular panel talks 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 mind16: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 tests22: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’ Advertisement25: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 Guest29: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 on33: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 thisBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.

Sep 25, 2018 • 55min
AiA 208: From Custom Webpack Build to Angular CLI with Martin Jakubik
Panel: Alyssa NichollJoe EamesJohn PapaWard Bell Special Guests: Martin Jakubik In this episode, the Adventures in Angular panel talk with Martin Jakubik and he has been working with Angular for the last three years. He has one large and one small Angular application, which the panel talks about.Show Topics:2:31 – Alyssa likes to be called...2:40 – Alyssa: You have a large and small application – what makes it small? Is it the user-base?2:56 – Martin: It is one module out of ten or twenty components.2: 59 – Panelist: Only 1 Angular module?3:47 – Panelist: Joe went off on how much he hates modules. I am sorry JP we had to throw that in that?4:04 – Joe: I am an anti-modulist.4:11 – Martin: Just one module.4:21 – Panelist: When you are building an application with one module – start us from the beginning, what does it look like?4:38 – Martin: It is actually quite special. It has to run in an iFrame, and all it does it allows the user to add into the experiment.5:05 – Alyssa: Is it like a CMS?5:10 – Martin: It is like Google Optimize. The application is quite simple and every component is in that one module.5:36 – Panelist: How many do you have?5:44 – Martin: There are less than 10 services and 20 components at most.5:57 – Panelist: I feel personally, I feel like that I a decent size?6:11 – Panelist: That makes perfect sense. If there is no routing or nothing...6:40 – Panelist: Asks a question, and clarifies the question to Martin.7:48 – Panelist: It is nice and clean.7:55 – Panelist: I do, too.8:08 – Alyssa: How new is it?8:15 – Panelist: June/July?8:32 – Martin: I am using the new style.9:01 – Panelist: I am leery of using it.9:13 - Panelist: I would like to clarify. When you mention you have 20 components...9:40 - Panelist: Do it.10:34 – Panelist: Webpack. Can you explain what that is and how you solved it?10:57 – Martin: I don’t think I did anything special. I wanted to know how it works. I used webpack and used their configurations. Several months into the project then I...11:40 – Panelist: Why did you decide not to use the CLI? This is like an Iron Man thing.11:55 – Panelist: I think it’s a pain thing.12:05 – Martin: I wanted to know how it works.12:32 – Martin: I started from scratch, I can’t remember.12:44 – Panelist: Whenever I use webpack it makes my head spin.12:56 – Martin: The application was very simple. I was doing more blogging.13:45 – Panelist: It is doing more configurations on the fly for you. It’s wonderful if it works and if it doesn’t work then I don’t know what you’d do.14:17 – Martin: That’s why I did it, so I can appreciate all the magic.14:30 – Panelist: How big is big?14:36 – Martin: Enterprise level. 100 different components.15:06 – Panelist chimes in.15:13 – Panelist: That is complex.15:28 – Panelist: let’s add more modules to add to the complexity...15:55 – Alyssa: When you took your app to the CLI was that hard?16:06 – Martin: That took me one whole day. The module is so simple that’s why.16:32 – Panelist talks about this topic.17:39 – Panelist asks a question.17:53 – Panelist: Fixing any problem ... ever work on tooling help people if they have their stuff in the right file name?18:18 – Martin: I used Cypress. 18:58 – Panelist: Under what situation would you recommend it to anyone? Do it your own webpack configuration?19:23 – Martin: Only if...19:51 – Alyssa: What if you wanted to add a watermark to each file, do you have to stop adding the CLI?20:13 – Panelist: So am I...what are the boundaries, I don’t know what they are? I’m curious.20:41 – Panelist: Are you asking, Alyssa, how you would customize it?21:09 – Panelist: You won’t loose all the features that you get. You now elected out of that place where they had it; webpack configurations.22:12 – Panelist: What happened to it ejecting? How do you get it out of there?22:26 – Good question! I have – I like to play with scissors.22:43 – Advertisement 23:32 – Panelist reads a message from the company.How do you get that voice?24:10 – First you have to have a really deep sinus cold.25:00 – Panelist: Do you live without eject? I really don’t care. What I care about...Scratch that! I want to know what kinds of things you can’t do with a CLI that would drive you to do your own application? What other things could you not do in webpack.25:50 – Martin: I wanted to see how it works.25:56 – Panelist: Now I use CLI and all it’s features except testing. I use Cypress completely separate than CLI.26:46 – Panelist: I feel like it’s talking to the one person without a cellphone.27:01 – Panelist: Wow! I had no concept that life could be like that! I thought you had to have a cellphone.27:29 – Martin: What does anyone use the CLI for anyways?27:44 – Martin: I use it for unit tests.27:52 – Panelist: Another question.28:30 – Alyssa: You write things out by hand because it’s easier?!28:44 – Panelist: You copy, and paste and it’s less work.29:06 – Panelist: It feels easier.29:22 – Joe: No, I am serious.29:48 – Joe: Yes, I am amazing.30:30 – Martin talks about another topic.30:48 – Alyssa: When you generate a component do you put it into a different file?31:29 – Panel: We are all friends here and we aren’t shaming anyone here. We are joking here.32:00 – Alyssa: It’s that he can write it from memory.33:08 – Panelist: I have been using Vue lately.He also talks about Angular and mentions Sarah Drasner, too.34:26 – Panelist: Not everyone has a memory like him, though.35:32 – Panelist: The fourth version of Renderer.36:28 – Panelist: We are not talking about Nirvana the band, here.36:46 – Alyssa: It will be the new Renderer. It’s out for you to try. Check out Angular Air. He was trying out IB yourself right now. People are flipping out about it. I am excited to see how my Angular app runs differently now. Here is the code that was generated, here is the code that...I am not sure that there is a promise date. Any secrets heads-up on when it will come out?38:22 – Panelist: The big question what does this mean for my existing code? Do I have to change my existing code?38:48 – Alyssa: The Angular team is working so that there are minimal changes. I don’t have a good answer. NGGC. For third-party libraries you run it through and it...I don’t know what that means for the community.39:49 – Panelist: My hope is that they...40:03 – Alyssa: For your third-party...40:18 – Panelist: Question: between your small and large pack? What architectural differences are there?40:44 – Martin: I have a template edit.41:03 – Panelist: Come to my...41:32 – Panel talks about talks that Jon can do.42:13 – Panelist: True story...The panel is having fun going back and forth with jokes.43:03 – Panelist: This kind of stuff creeps into production code. That’s the great thing about copy and paste.43:21 – Panelist: We had a rule, though, if it happens more than once let’s put into our build.44:20 – It’s 3 hours if you have a CI process, if you don’t...44:33 – Console.log44:49 – Martin chimes in.45:14 – Panelist: Let’s talk about an iFrame in your app?45:27 – Martin: The point is to be able to do it with any...Make sure that it doesn’t collide.The CSS wasn’t separated.I had to put my application inside an iFrame.46:27 – Panelist: Thanks for coming on for us, Martin.46:37 – Picks!46:44 - Advertisement Links:Martin Jakubik’s MediumHow to Copy, Cut, Paste for Beginners by Melanie PinolaArt Joker Blog@AngularMineCypressVueRendererSponsors:Angular Boot CampDigital Ocean Get a Coder Job coursePicks:AlyssaQuestion as my pick – About Angular 7...(47:52) True or False?MartinThank you for having me today.Present your work more.I challenge you all to cook.Blog: Bratislava AngularWardBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.