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.
php/*
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.
Panel:
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.
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%255Eauthor
Sponsors:
- https://devchat.tv/get-a-coder-job/
-
Become a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
Panel:
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/bradygaster
Sponsors:
- https://angularbootcamp.com/
- https://www.digitalocean.com/
- https://devchat.tv/get-a-coder-job/
- https://www.cachefly.com
Picks: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.
Panel:
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 som
Become a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
Panel:
Special 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: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 this
Become a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
Panel: