Up next, App Services, every.NET developer needs to know with Tim Heuer and Angelos Petropoulos. Did I say it right? Perfect. Off we go. Awesome. Thanks everybody. Good morning, good evening, good afternoon wherever you're watching from. I'm Tim. This is my esteemed colleague Angelos. We're here to talk to you about Azure services that every.NET developer should know and get excited about using your apps. So first, I want to set the stage Angelos, and just make sure everybody, we're going to throw out some terms about Azure. So we should probably make sure everyone knows what those terms are. In Azure, there's a lot of different things that we'll talk about, but just a level set. So we're going to say things like accounts and subscriptions, and accounts is something that represents you and me, our actual identities. That's how we authenticate with the service. A subscription is something that we can share together. That's a billable unit. You'll also hear us talk throughout this session about resources and resource groups. A resource represents an individual unit of any service that's created in Azure. So like I have an app service, which is one of the things we'll talk about today, is an actual resource. A resource group is things that we can group together, perform some more security on, establish some more boundaries of what can be in those services and configuration around there. So we'll talk about those two things quite a bit. Most explicitly, today, we're going to talk about two things, right, Angelos? We're going to talk about hosting and services, right? In the way that we think about these things is, hosting is you're going to provide the code and Azure is going to run it for you. The services that we're going to talk about is more, you're going to provide the data and Azure's services are going to take some action on the data. So specifically during this session, we're going to focus on those two aspects of hosting and service. To do that, Angelos has built a very simple application to allow us to walk through that. So we're going to show an image gallery, right? And so- It's worth millions. It's worth millions. Yeah, we are going to IPO at the end of this. You'll want to get in at the bottom here. So I think we should just dive right in and get started. So throughout this, we're going to cover roughly five services that are really table stakes that .NET Core developers should want to know. Everybody should be aware. Yeah. So tell us about this site and show us the first demo here. Let's jump straight in because we have a lot to cover. So I have the simple ASP. .NET Core MVC application working here, already running locally, local host. It's called Core Image Gallery. I can register a new user and log in. So I'm going to go ahead and log in with my demo account. So as you're logging in, yeah, so what are you using for this authentication here? Yeah, this is powered by ASP.NET Core Identity. So go search for that if you want to know more about it, but the whole register with different accounts, social, and all of that comes kind of for free and you basically configure it and it just works. And it's all taken care of for you when you do the initial configuration, right? That's right. So now I've logged in. I'm going to click Upload Image. I can pick one from my local machine to upload it to our gallery. It's going to take a little while to upload it. It's telling me it did some file processing and the file will be available shortly in the gallery. And I can just click Return to Gallery. And here's the picture I uploaded. And I'll open it up to show you that the processing we were talking about is just a little, whatever my case. Copyright so that we protect our millions. Yeah, nobody will steal this now. All right, so very simple application. Let me stop it from working. Let's go back to the code and check out what I just showed you. Simple solution, a couple of projects. I'll start with image gallery.model, nothing but a class library. Nothing interesting here, really just a class with some properties. That's what we use in the page that shows you the confirmation after the upload. So just showing you there's no tricks. So nothing really interesting there. The main project, ASP.NET Core MVC. I'll show you, start up the CS world quickly. Classic stuff, like we said, we're using ASP.NET Core Identity. We're using MVC. But the thing I want to draw your attention to is we have a service, an interface called iStoreAtService. And an implementation of it with fileStoreAtService. So let's start with the interface. Let's check that out. It's pretty simple. Just a couple of operations on it, getImagesAsync. That's so we can populate the gallery. And addImageAsync is just when you do another upload. So nothing too crazy here, close that down. Actually, I wanted to show you the implementation as well. Yeah, the one we're currently using. Yeah, so let's go and take a look at the class that implements iStoreAtService. And this is giving away the secrets immediately. You'll see here there's going to be a folder called userImages. We're going to put it under www root. And that's where all the pictures we upload go into. It's the local store for the server. Nothing really interesting in the constructor. AddImageAsync, I have a little helper method here to get some properties out of the image so I can show the confirmation page later. We just get the path here for the destination. We create a stream. We use a little watermarking class to add the watermark. I'll just show you that real quick just curious. I don't really know what it's doing but it works. All right. And then finally, we just record the upload and you get to see the screen that says go back to the gallery. So it's a standard ASP.NET Core web application, uses MVC. Yeah. Nothing special that's any cloud specific or binding us to any decisions at this point. So let's- But now we've only been running at local. Yeah, this is all local and I forgot to mention that ASP.NET Core Identity uses local DB. So we have a dependency on SQL server right now, but yeah. It's a local instance of it. That's right. So let's take this application which is a typical application and it's deployed to Azure and then slowly we'll try to modernize it and make it a bit more cloud native. Let's do it. All right, so I'm going to right click on the project and I'm going to click publish. Now the one thing that we've already done is we've already created that account in subscription that we talked about. Yeah, it's because we don't want to waste too much time now in the demo. That's pretty easy to look up and you can do via the CLI through the portal. It's all pretty easy here. So here when I right click published, I'm picking Azure App Service and because you're nice and you've already provisioned the resources for me, I'm just going to select existing and go find them. I try to add value by provisioning resource groups all day. That's fantastic. Yeah. So here it's going to access my subscription and then it's going to go look for all the resource groups under that subscription and then I will be able to find app service instances running in those resource groups. So like you said, a resource group is just a folder. It's basically a nice way to organize your stuff so you can go find it easily. You can have more than one subscription and in fact, that's what took it a little bit long because you do have a lot of subscriptions. Seven, sorry. Yeah. All right. So here's my demo resource group and I'm picking my existing instance of app service. I'm clicking okay. Now Visual Studio will talk to that instance, captures some information and all I have to do now is hit publish. But before I do that, I have to make sure my ASP.net core identity data and schema makes it up to the new instance of SQL Server you've created for me. Right. Because we were using the local DB. Right. And now we want to use an Azure SQL provider in fact Azure SQL itself. But you did all the provisioning. So I'm not really sure what you did there, but thankfully Visual Studio will let me do everything through its options. So if I just edit the publish profile so I can access settings, you will see here at the bottom of the dialogue, we're discovering data contexts. What that means is Visual Studio is now hitting the app service instance up selected and it's asking it if it has any SQL Server connection strings. Because if you've already done the work, I might as well benefit from it. Yeah. So now that the spinner is done. And it's real time. This is real time. This is real time. Yeah. This is communicating with our subscription and I've already done the provisioning of Azure SQL for you and provided a connection string for you. So why should I bother with that again? Right. Yeah. All that is there. I can just pick it, check a box, that will apply entity framework, data migrations as soon as I publish. So all I have to do is save, hit publish. Now what's going to happen is Visual Studio, of course, will build a project. We'll talk to the app service instance, upload all of the content, then it's going to go and check SQL Server, run entity framework migrations. And we try to give you visual clues what's going on. You can always go to the output window and get more verbose information about what's happening here. So why are we using app service and not a VM? Right. So VMs are great. In fact, if you go and create a VM through the Azure portal, we even have a very nice template where it will set up IIS, NMS Deploy, and then you can just come into Visual Studio like I did now, right-click, publish to the VM. It's all great. But this is a talk about, you know, services of Azure that you should know about. And app service should really be your go-to hosting option in Azure. At the very least, you're getting a fully managed instance, so you don't have to worry about patches and security fixes and frameworks and all that kind of stuff. It can very easily scale out and scale back based on just setting some metrics and some options up. It can make sure that you can keep your site running, even when you're deploying into the same instance by taking advantage of a feature called deployment slots. Like a staging and production. There's many, many good reasons. It's your go-to. And don't be all these features, if you don't necessarily need them, don't think that it's superfluous. There is different cues and tiers, so there is different pricing and features for DevTest than production. So maybe you don't need everything all at once. And I think one thing that I like about app services, which you mentioned is, you know, VMs are great, but there's still some configuration you have to do to kind of bootstrap them. Whereas app service, as we just saw, you know, deploying even directly from an IDE or from DevOps, you know, it's taking care of a lot of that configuration for us. We know, we're just telling it, hey, we have a .NET Core framework and here's my bits. Right. Yeah. So we deployed. Look, the URL doesn't say local host anymore. Right. So this is live. Success. Running in Azure right now. Awesome. Fantastic. Yeah. So let's go back to the slides real quick and just kind of review those first two things. So we said we're going to cover, hopefully cover five services here. The first two things we just were able to show is talking about two services, App Service, which kind of is that hosting platform here. App Service is really great for web apps and APIs. As Angelos mentioned, it's a fully managed environment. So you get the OS patching, high availability and high scale by default, with you able to kind of provide the throttling mechanisms as well within that. And it's first class tooling across Visual Studio family of products as well as you saw. Here we're using Visual Studio for Windows, but we also have similar experiences in VS for Mac and code. And then the second thing, because we were using ASP.NET's identity integration, we were using a local DB SQL Server instance. And so we were able to use any framework migration scripts to put that into Azure SQL. So now our app that was running on-prem, basically prem being your box here, is now hosted in Azure and our identity is also in Azure. But we've got a couple more bits there, right? So we were uploading images. Were those images in SQL? No. Okay, let's take care of that. Yeah. That's probably bad. So yeah, the app is running in Azure, but we can do a bit better because if we wanna take advantage of app service and its ability to scale out, for example, you will notice or you'll remember that the images are being stored under WWRoot. Yeah, the file storage provider that you had there. Right. So a new instance is provisioned, then the folder will be empty. If traffic goes to that server, the gallery will look empty. Yeah, RedX. We don't like RedX images. No. All right, let's solve that. So we can go back to the demo. All right. So what I'm gonna do here is I'm gonna introduce the third Azure service called Azure Storage. Basically, we wanna be able to store files. It's a common thing apps have to do. Azure has a service for it. So what I'm gonna go do here is show you a new implementation of iStorageService, the same interface we saw before. Some simple strings and variables here. We'll talk about those. There's nothing to worry about, but let's go back to the addImageAsync and compare it to the previous one. So here we have getImageProperties like before. We have an upload container and we just get a reference to it. This is basically a stream we can write into. We then create a memory stream before we were creating a file stream because we're writing locally here. I wanna do the watermarking. So I'm gonna do it in memory. And then imageBlob, which is a reference to Azure Storage. We're just gonna copy the stream into it and now the picture is uploaded. Now those two APIs that you're calling there, the getBlockWob reference and the upload from stream. Those aren't things that you wrote, right? No, no, that's Azure. That's a library that I get for free. And so because we're making the decision, we're using Azure Storage and Blob Storage in this case. We have an SDK available to us that allows us as .NET developers and C-Sharpa developers in this case to work in the language we love, get all the productivity and visual studio that we like and have kind of this strongly typed interface with the service, not have to worry about rest and all that type of thing. Perfect. So now what I have here is the app will work just as before but now it's gonna take the pictures and upload them into storage. So even if new instances are fired up, then they will just talk to the same instance of storage so I'm good, but we can do even better. When you're in the cloud and you're migrating applications, it's a great opportunity to optimize and get efficiencies and modernize an application. And when you're on-prem, this typically tasks like things firing off on timers and scheduled events and triggers that trigger workflows and multiple operations. And typically those things are achieved with let's say a window service running somewhere or Linux. Some DNN or Chrome job or something like that. But how do you do that in app service? You can't really do whatever you want on that box. So Azure offers you a service called Azure Functions which I'm gonna use now to take the watermarking process out of the main app and just do the watermarking after the picture has been put into storage with some sort of background task. Great, so we're identified an area where it's not mission critical to us. Exactly. As someone's uploading and we're kind of almost like async workflow in nature to offload this little microservice that you're gonna create here. Yeah, I mean, it doesn't really matter if the image takes a second or two to get what I'm asking. We may lose $1 in our IPL. Well, I think we'll get that $909,000. Okay. It's good, we're good. What we lose we'll make up for in savings on Azure, they tell me. All right, so back on the project. So I have a new project here in my solution called imageGallery.azfunctions. How did I get this in here?  Now inside it, I have my watermarker class from before. I just moved it over here. It's the same code. Same code now. I still don't know what it does. Image uploaded. So that's my first Azure Function. I'm gonna right click and I'm gonna show you how I did that. I click add, new Azure Function. You get to name it, whatever you like. You click add. And here's where I talked before about, you probably wanna have some sort of trigger or timer. So here we have the list of possible ways you can execute your Azure Function. Very commonly you have HTTP triggers. Maybe you do something on the website and the website calls a function. This is like get and post and click actions here. But I also have what I want here to use in this case which is the blob trigger. So as soon as the picture gets uploaded to blob storage, I'm gonna get told that just happened. So I just gave you the connection string and that's how I got it in there. So let's take a look at the code. There's not a lot to it. I have my watermark up here. I have an attribute telling me that this is actually gonna be a Azure Function and the name can be whatever I wanted. It can be different than the name of the method. And I'm gonna look at my first parameter called input blob. That's basically whenever the picture gets uploaded because the annotation says it's a blob trigger, exactly. The name of the container is gonna be called images. And then whatever the file name is, it's gonna go into this variable called name. So I have a string name here and I can reference it conveniently through here. And then I have a second variable parameter which is basically my output. So after I do my watermarking, I'm gonna put the contents in here and it's gonna get written where? Into a new folder container called images-watermark. And that's also an Azure storage blob container. Yeah, in the blob container, you can create as many of these groups as you like. Got it. So all this will do is be notified, do the watermark and then move the picture. But since I'm creating these two groups and I'm moving pictures from one to the other, what I wanna do is also clean up after myself. So I wanna go and delete the original image that was uploaded. So what I'm gonna do is go to delete original image. That's just another Azure function. Again, with a blob trigger. So keep in mind you can have more than one per project. Sometimes it's often easy to miss. More than one, more than one function per project, yeah. And here what I'm doing is I'm showing you that you can even access configuration values in the definition. Ah, so before where we had kinda, you had the hard-coded blob name. Now you're pulling it from ASP.NET config. Exactly, so just showing you that both are possible. The other one was just easier to read. So here what we're gonna do is we're gonna be told when the image lands inside the watermark container. So that's after the first function has worked. And what I'm gonna do is I'm gonna know to go and delete the original one now, all right? So I have this working and I think it's gonna work, but I wanna make sure it works locally before I put it into Azure. And even though I'm using Azure functions, something that is native to Azure, I can still run my project locally, including Azure Storage. What I have to do is fire off the Azure Storage emulator. This is a good point. So this is another set of tools that are allowing you to do cloud development, but have a faster inner loop development, you know, F5 debug kind of life cycle. And the emulator, you have to start it on your own because it's kinda really hard for Visual Studio to know exactly when you're gonna access it and by then it might be too late. But for Azure functions, all I have to do is right click, set it as the startup project, and we're gonna put a break point, see what happens. So we've started the storage emulator and now you're starting the Azure function. This is gonna run on the cloud now or this is also another emulator. This is now the emulator being fired up by Visual Studio because it's clever enough to know that's exactly what you need. And so this is a local instance of the Azure functions runtime that's running. That's right. And you'll notice this is the 64 bit which we added support for recently. Nice. So VS has detected the runtime is up. It deployed my function and acquired the log to it. And now the function should be working. Now, two ways to contest this. So now the function's there, it's ready to listen. It's, yeah, it's ready to do the work. Ready for the trigger. All right, ready for the trigger, okay. And since we're on the topic of working locally, I also wanted to show you the Azure Storage Explorer. That's a kind of cross platform app that you can download separately. Similar functionality exists in VS if you go to Cloud Explorer, so look that up. But Azure Storage Explorer lets me interact with Azure Storage, whether the instance is in the cloud or locally. So here I can actually go and look at my storage account locally. I can look at my emulator running. I can look at my blob containers. And I can actually see the two containers I had before images and images watermarked. So if I really wanted to execute my Azure function locally, I can literally just drag drop file using this tool and it's gonna kick it off. But let's do the full thing.  And now we're gonna run the app itself. Yeah, I'm gonna run that locally and just exercise the full end to end. So now what we have here as this is spinning up, we're running our local process that's using the storage SDKs, using serverless functions, but running both of those basically in a local interloop. That's exactly right. We haven't published anything to our Azure yet. Everything is local right now, local host. So I'm gonna do the same thing now. Upload an image, pick a different one this time. So file is being processed, blah, blah, blah. It will be available so, oh. And that's our break point. Break point here. All right, so that if I go here, put a break point on my delete one. If I go back to upload, I'll just let it go. Come back to my website. Oh, didn't have enough chance. My second trigger has fired off. Everything is happening synchronously. All right, it's all good. I'm gonna continue this. Now when I'm gonna hit return to gallery, the image will already be there and it's already watermarked. That's awesome. So now we can go ahead and republish these, republish our app to Azure at that point. Exactly. So what I want you to see here is if I wanna take this Azure function and publish it to the cloud, right click, publish. Exactly the same experience as before. I already had a profile there. Create, select existing. Same configuration. The same as before. Not gonna bore you with the same stuff. Awesome. So now we've got, we're using app service to host, Azure SQL in the cloud, blob storage for our files, and serverless for some lightweight functions that kind of asynchronous in nature. We've got like four services we're running on top of the app itself. So how are we gonna feel good about the health of the app here? Okay, so feedback we get from customers a lot is running things in the cloud feels like maybe they're far away from the diagnostics a little bit. That's not true. That's not true. All right, so let's go back. Close all this down. I don't need anything local running. I'm gonna go to my production cluster now.  So this is my website running in production right now. And I have a report that if you try to upload an image without logging in first, something happens to the app. So let's go check it out. I will go and upload the image. Pick one. Scotland. That one. All right. So we've got a crash here effective. This is the dreaded something went wrong but you're not in a development mode and you can't really get the call stack and now you're probably gonna be worried about, well, how do I get access to logs? And this is annoying. It was so much nicer when I was local. Well, let me just show you something called Azure Monitor. So now where we're going is we're logging into the portal.   And here I get a list of all the services this resource group has provisioned and you were kind enough when you provisioned our app service instance to actually attach it to Azure Monitor. What you get by just attaching it to Azure Monitor is diagnostics. So all I'm doing is navigating to the instance and oh look, there is a chart there for failed requests. Well, that's exactly what I needed. So I'm gonna click that. See where it takes me. Okay, so there's an action post upload. Yep, that sounds like what I just did. And it lets me drill into it because I'm gonna keep clicking until I get to a call stack here. Yeah, so we're able to go to the portal now and see, this is almost real time diagnostics as well of what happened. I just did it. And get basically to our core exception here. So this has an end to end transaction. It has automatically recorded for me without me doing anything special. If I keep going, I will eventually get to the call stack. This is what we all wanted to see. And we can figure out the exception there at this point. All right, so this says core image gallery extensions upload. Okay, so I wrote the app. We'd like somebody to do something without authorization. Yeah, I mean it's kind of obvious. I shouldn't let you upload a picture without sending in first. But the point was getting to the call stack, right? So now I can go back to my code and see that get image properties is assuming I'm authenticated basically. That's awesome. So let's go back to the slides and review that what we've seen here. So what Angelus was able to show is we had a typical ASP.NET core application, fairly simple one at this point, that was doing a couple different things. And we basically moved it all to the cloud, not having to worry about managing our own box and infrastructure. We got hosting out of app service. We've got data storage in two ways actually using Azure SQL, which if we needed relational database needs on top of our identity we could still use that as well. We're using blob storage as kind of our durable storage for objects and things like that. A serverless function that is just kind of asynchronous. And actually by the way, we only pay for that when we call it. That's right. So it's not this long running process. And then we have really rich insights in monitoring into our app. So there's a ton more in Azure that we could do as well. We didn't even talk about containers and things but that's kind of like the next level that I think an enterprise application might look at is how do we do container orchestration and Azure has Kubernetes services that we can do there. As well as other services that, there's data services with Cosmos DB, Active Directory, another service bus and SQL managed instance and everything like that. So I think it's a really quick overview of kind of some key services that .NET developers should know. Here's some resources for you. We want you to kind of go get the tools and SDKs.NET Core 3 release, getting Visual Studio and both the core SDK. And then as well that second link if you want to learn more about Azure and actually walk through some of the same tutorials of the services and get those SDKs that make it easier for a .NET developer, that's the place to go. And if you haven't tried Azure yet, you can get a free subscription that gives you free services, some forever and some for a 12 month period. I think the good thing about the, we didn't, there's a lot more richness in the monitoring and diagnostics. And I think a good thing is the session right after this, Sarabha is going to go over some more of what we've done more in .NET Core 3 and for those type of things. So thanks, Angelosa. It was good, good primer and encourage everyone to take a look at this. Mika. All right. Thank you, Tim and Angelos. So as you don't know, Tim is actually my boss. So how are you doing, Tim? I'm doing well. You're doing a fantastic job. Thank you. So yeah, we have a few questions that we can go over right now. Let's see. This one's for Tim. Good to see Tim presenting. Brings back Buttersweet memories of Silverlight. Do you have anything to say about that? Probably not allowed to say anything. Let's see the next one. Can App Services run Blazor? Can App Service? Yes, and if you're into Blazor and into App Service, also check out the Azure Signal R service. If you need more info, let me know. Yeah, Dan Roth gave two presentations earlier today, but also yesterday, kind of how that kind of all works together as well with Blazor. Okay, awesome. Here's another one. This one's from John. Will VS generate the EF scripts if you just saved the published profile instead of clicking publish? Clicking publish actually deploys the app and then executes the migration scripts I had already set up before. So I just didn't type, you know, create migration, but you have to do that first, and then publish will execute it for you. So creating the profile doesn't create a migration script for you? It does on the server, yeah, yeah, yeah. But locally it doesn't. Yeah, locally, yeah.


Hey this is Brett, today we're going to figure out exactly how to tell if your truck has the midnight edition package on it without a buyer's guide and without exactly knowing what that package incurs here. So this one's got the black rims, the black painted bumpers, the black step bars, pretty sure it's got the midnight edition but how can I tell? Pretty easy. If it's pre-2018, it's going to have a door code or a RPO code sticker in here, there's a lot of codes on there but which one tells you if it is a midnight edition or not? Well, it's going to be this code right here, PDY. That's how you know if it has the midnight edition, that's the code for midnight edition is PDY. So just check your service parts identification number and it's really easy to find because they all go in alphabetical order, you've got D-E-F-G-H-I-K-L, just look for the P's. If it's got PDY, you get the midnight edition. Thanks for checking out the video and try to keep it short and sweet and help you out as much as possible, that's what I'm here for. Remember to subscribe, like, and share on this video and check the channel out for more helpful hints on trucks, cars, and SUVs, thanks again.


So, having understood the phase diagram, the phase change processes, the PT diagram and the PV diagram, let us now try to understand importance of Gibbs phase rule because of involvement of various phases as far as water is considered. Let us also see a specific application region that we are going to concentrate from engineering perspective on water and then I will introduce you to steam tables which are required for specific properties of water for given applications. So, Gibbs phase rule, this is the picture of Emma scientist Gibbs from Yale University USA 5 period was 1839 to 1903. He is known for his very important theoretical contributions to physics, chemistry and mathematics. Also Gibbs phase rule is a very famous rule that is normally used to define properties for different phases together or independent phases. Gibbs phase rule is very famously given by this formulation F is equal to C minus P plus 2 where F is nothing but degrees of freedom or number of intensive properties. So, when I say degrees of freedom, it means that how many properties are there which I can vary but I can still be in that same phase, I can still remain in the same phase. So, one can define it as how many number of intensive properties that are required to define a particular thermodynamic state of a thermodynamic system. C is number of components as far as water is considered, we have got only one component be it in solid phase, liquid phase, vapor phase be it solid plus liquid, liquid plus vapor or solid plus vapor as we know that it is a pure fluid and therefore our component as far as water is concerned it is always equal to 1. And P is number of phases where we can have single phase, two phase or three phases together depending on what region of the phase diagram we are focusing on. This is a very famous Gibbs phase rule F is equal to C minus P plus 2. Let us try to apply this phase rule now using the phase diagram using the PT diagram for example. So this is our famous PT diagram now and I am sure now most of you had become conversant with this SLV region given in this Y, crooked Y on the PT diagram. Also this line LV line as you know goes from TP to CP triple point to critical point. Let us try to apply this Gibbs phase rule for different region for single phase region for two phase region and for the three phase point. The Gibbs phase rule is F is equal to C minus P plus 2 mathematically as we give this as let us concentrate on this single phase region which is SL or V region. We can apply it to any of these regions and all these three regions are nothing but single phase region this is what is given by this blue dots over here. For states in blue dot which actually depict single phase in this PT diagram. Let us apply this Gibbs phase rule as I have already said in this case C is equal to 1 because there is water everywhere whether it is solid region liquid phase or vaporized region in the phase diagram and because I am dealing with single phase region 100% solid 100% liquid or 100% vapor I am having P is equal to 1 in all these three cases. Let us now put this C and P values in this Gibbs phase rule and see how we complete the value of F. If I say F is equal to 1 minus 1 plus 2 I will get F is equal to 2 it means that for the single phase region the degrees of freedom is equal to 2 it means that for example let us be in this region if I vary this T here in this region I can still be in single phase region or I can vary pressure little bit and I could still be remaining in the single phase region. So I can vary in P direction or in P direction I can still be in the same phase that is why my degrees of freedom in this case is 2 I can still remain in the same phase. Also I can say that in order to define any position any thermodynamic state in this thermodynamic state space I need to define two properties minimum two properties pressure and temperature and that is why I say the degrees of freedom in this case are 2 for this particular single phase region this is true for L region this is also true for S region. So we say that for single phase region the degrees of freedom is equal to 2. Let us now concentrate on this green dots the system that lies on this saturation lines SL saturation line, LV saturation line and SV saturation line. So our thermodynamic system now is a two phase system where the two phases coexist they are in equilibrium and they lie on this region. See if I apply the Gibbs phase rule for these for these green systems which are two phases systems. So again I will say C is equal to 1 but P is equal to 2 because there are two phases coexisting and if I apply the Gibbs phase rule for these which would give me degrees of freedom I can compute the values of F for these systems now and F is equal to 1 minus 2 plus 2 in this case and I say F is equal to 1 that means the degree of freedom in this case is equal to 1 what does it mean it means that when the system lies on these I can change pressure and I can still be in the same two phase region. The moment I change pressure you can see from here the temperature also automatically gets changed. So pressure and temperature are not independent parameters they are dependent on each other. I can change the temperature if I change temperature the pressure also gets changed which was not the scenario when I was in single phase region I could independently change pressure and temperature and still be in the same phase region but here I cannot change pressure and temperature independently as soon as I change the pressure the temperature also gets fixed accordingly or I can change temperature and the pressure gets fixed accordingly and that is why my degree of freedom in this case is equal to 1 alright. I can also say that I need to define only one condition here either pressure or temperature the moment I say pressure you can see because of this line my temperature is fixed or I can define the temperature for the two phase region system and my pressure is also fixed accordingly and therefore my degree of freedom in this case 1 I need to define only one parameter in this case to define this system. Let us now try to apply this formulation for three phases coexisting together which is the triple point. So for state which is given as red point over here which is nothing but lying on the triple point or three phases coexisting together in this case therefore I will have p is equal to 3, c is equal to 1 and p is equal to 3 and in this case my f will come out to be equal to 0 that means the degrees of freedom for a tp point the system which is lying on a triple phase t phase region triple point at this point the degree of freedom is equal to 0 in this case what does it mean it means that I can neither change pressure or temperature I can still remain in a three phase region this is the point basically so because it is a point I have got its coordinate fixed I cannot change pressure I cannot take temperature and therefore my degrees of freedom in this case is equal to 0 because the triple point is already defined for water the triple point has already been defined by given pressure and temperature and therefore you cannot change those things it is a given parameter it is a given specific property of water and therefore f is equal to 0 in this case this is the way I need to define degrees of freedom or properties for a given system which may lie in a single phase region two phase region or three phase region point or it on the triple point this is the application of Gibbs phase rule for water thank you very much.


hey guys welcome to snow break containment zone and we are here to review the kit of chen shing ethereal clouds so we have here series as well but let's move first with the kit of chen shing so chen shing started off with her standard skill so it's damage electrical damage then this is more electrical damage which attaches to maximum of eight targets so two damage the two damages to be dealt so 50% of chen shing's attack for the spiritual slip hit and when once it detonates there's another 70% damage okay this scales on chen shing's attack so take note of that okay next up is going to be her um support skill this one however is going to be up to five targets in front of her um when it hits a weak spot of the target scarlet thunder attached a scarlet current passes through all targets once and deals electric damage scarlet thunder has a 25 percent of chen shing's attack and this one pure lightning is 20 percent of chen shing's attack so scarlet current damage is 100 percent of chen shing's attack so she has three types of attack three types of damage for the support skill so cooldown is eight seconds so triggering the scarlet effect weakness recovers one um ultimate energy when scarlet uh thunder counter blade hits first hits a target inflicts it with a paralyzed effect for two seconds so once you upgrade neural skills then it adds a paralyzed effect for two seconds so again both of them both her standard and her support skill are going to be scaled by her attack stat next up is her ultimate so chen shing combines all spiritual slips and scarlet thunder formed a celestial key so this one is bombarding a certain area so a celestial key damage is 350 of chen shing's attack plus 117 number of fierce thunders in the dominant zone 15 damage of each fierce thunder is 120 of chen shing's attack so celestial key hits resets the attached duration to all spiritual slips slips in the area and when when in dominant so increased ballistic damage taken by enemy so this will increase how she hits with her gun okay and the last one is her alignment so when chen shing ethereal cloud is equipped with an electrical weapon shot hit has a 50 chance to increase the damage by 32 which is nice an additional eight percent for each 100 alignment index again that is good her kit if i may say is going to be built more on the ballistic side so most of these will be supporting her with her output is going to be more on ballistic damage guys so she's not going to be reliant more on her skills she's going to be that dealing more damage with her gun okay so for her weapon this is rolling clouds increase electrical damage by 18 and crit damage amplifier by 12 so if you want the amplifier to kick in you need to have a decent crit rate for her when dealing electrical damage gain one stack of crimson cloud max 50 stacks after obtaining the max number of stacks stacks clear and crimson sky shield state is activated for five seconds in this state attack is increased by 21 percent which is a nice addition because again she will be dependent um not dependent but she will be maximizing her damage with ballistic damage okay so logistics wise um she is equipped with this one ming is wide this is the one that that was released so it's going to be designed for her so office increased ballistic damage with 24 when dealing electrical damage this is actually built for electrical damage anyway increase attack of the equipping operative by one percent for three seconds max is 45 stacks which is a maximum of 45 increase this is damage increase electrical damage increase repeat triggers will reset the duration so this one is going to be um part of her kit ideally again as you can see here it's going to be alignment index attack and electrical damage as the buffed stats for her logistics and manifestation her manifestation guys is going to benefit ballistics damage this one is for skill this one is going to be ballistics damage crit damage amplifier this one is going to be ballistics benefit and this one is going to be skill so her manifestation is a mix three benefits ballistic damage to benefit her skill which is nice because she's gonna be she for me she is going to be more of the ballistic side but her skills wouldn't hurt her you know what her skills would not hurt if they compliment her so that is what i meant to say so again she is going to be more of the ballistics damage side so guys if you want to get her and if you want um if you're into more of a if you're more of a gun person then she's the girl for you if not if you if you think that that she has better standard or support skill than than wild hunt i don't think so she is going to be more you know she's going to be better than wild hunt for her gun not for her skills that is what i'm saying so again choose wisely it really depends if you need her at this point we do have a couple of um what they call this we do have a couple of options already but if you like her kit be my guest guys um i think she's going to be perfect for some stages for some teams so this one for series the goldfish we're gonna be getting her free i'm just gonna be going over a quick um quick what they call this quick description of her skills not going through all of it this one her standard skill is going to be a damage reduction her support skill is a shield a one-way shield going out of your gun going towards you of course not and the shield doesn't doesn't have a time limit it just disappears when um damage the damage that it receives is exceeded its hp and also for her um what they call this for her ultimate it's going to be damage reduction as well and increase in movement speed reduce damage taken so that is her skill so again if you're gonna use her specifically for what they call this for support then she is going to be perfect for you let's do a demo for um chen shing ethereal cloud and let's see how she does in battle okay so um her standard skill is a bit tricky because you need to hold it then release it so you need to hold the standard skill not much of a demo right so let's let's do that again let's do that again that was so easy it's not really worth recording it she has she's at level 80 so what do you expect she's gonna crush the enemy let's do another demo let's do another demo on on her on her ultimate so got carried away there so let's do another demo guys so her standard skill is hold then release so let me just try okay so the damage if if you haven't used her standard skill as i was actually seeing is that um when you shoot it's only gonna be the middle but if you use her standard skill there once it's attached once you shoot with your gun even the what they call this the small thingies are going to be hit so that is the that is her ultimate her her standard skill actually once you lock onto it with uh as you pin i think feathers they call it then your gun deals additional damage to it as you can see there so again let's um do that if before the standard skill if you haven't done that you wouldn't be able to hit the four orbs that was following the main one so again that is her mechanic um her skills basically is going to support her ballistics damage so again if you like her build guys i would suggest you get her um after doing this uh review again i'm actually going to be pulling for her so watch out for that video for now um my assessment is if you fancy her gun and if you like her mechanic in which her um standard skill complements her gun which increases the damage of her gun with different targets then go for her um i think she's going to be good um but again guys um it really depends if you need her at this point i wouldn't say that she's a must pull i don't think she's a must pull at this point but if you want her play style her design on how she deals damage then get her if you think that you're already okay with your team then definitely um save up for the next op she's she's she's not going to be op because we already have um a lot of aoe mob killers in this game she's just going to add to that so at this point um it's up to you if you want to have another version of an aoe damage dealer or not so thank you guys for staying this far again um her ballistics damage is going to be one of her strong so if not her strongest suit so take care stay safe this is the warden and i'm out of here


Just before I go out to start the show, I wanted to say a quick thank you to the hundreds of thousands of people who have sent in tweets, texts, emails, cards and letters wishing me well regarding my health. I even heard from Watson the IBM computer. I truly believe that we have a personal responsibility to use AI and our brand in the best possible way. And, you know, Jeopardy, I think it's one of those moments that really did put a spotlight on Watson and what we're capable of doing in terms of AI at IBM. I think this was a moment when we just felt a responsibility to tell Alex that we were rooting for him and we're so grateful for his support over the years. But Jeopardy was just a really pivotal moment in our history and one we'll never forget and so Alex we're rooting for you.


The narcissist pulls out all the stops when they leave you.  They didn't put much effort into the relationship. They didn't have much enthusiasm. They showed a lack of effort and activity. They showed a lack of care. They had no interest in what you were doing. Unless it had something to do with them. You had to take on most of the responsibility. You had to put in all the effort. And it was almost like you were dealing with someone who was either incapable of working with you or they just couldn't be bothered. They expected you to carry the load. They expected you to take responsibility for something difficult or unpleasant. They wanted you to carry the burden. They wanted you to carry the duty and misfortune that caused you worry, hardship and distress. You were carrying the weight of the world on your shoulders. You had many troubles and responsibilities. While they got to live carefree without anxiety. They got to live unworried and untroubled. While they watched you having to deal with it all. But in the end, it's like the straw that broke the camel's back. It only takes a minor routine action to cause an unpredictably large and sudden reaction out of you because of the cumulative effects of small actions. It is the last in a series of bad things that have happened to make you very angry and upset where you just don't want to deal with them anymore. It is the last straw that further difficulty or annoyance that could be minor in itself but it comes on top of a series of difficulties that then makes the situation unbearable. Because there is only so much you can take until you then react, until you then decide to take action. Until you realise that you need to save yourself from the sinking ship because no one is coming to save you and the narcissist either doesn't notice your pain or they just don't care. As long as you just keep quiet and keep doing what they want they're not really bothered about how their behaviour is affecting you. It's only when you take a stand and stop living your life for them that it then becomes a problem. They want to keep you under their influence and authority. They want to keep you under their control. They do not want you questioning or confronted them. They do not want you engaging in free thinking where you have your own opinions and ideas because that is a serious threat to their control. They need you to think the way they think. They need you to do what they want when they want it to be done rather than you just thinking for yourself and doing your own thing. They see it as though every second you spend doing something for yourself is time that you could have spent doing something for them which is why any time that you invest in yourself is a serious threat to them. They need you to be constantly focused on them. They need you to constantly cater to their feelings and needs because that's the only reason why they're even around you. It's not because they care about you. It's not to share anything with you. They need service. They need convenience. And if you're not willing to provide that to them it will cause a serious problem. They will get very upset. Even if you just mention your own feelings or needs they do not like it. They hate it when you talk about what you don't like.  They need you to keep the wheels turning. Regardless of the effects that this may be having on you the moment you step away or try to take a break it will cause a narcissistic injury and they will forget about everything you did up until that point. In their minds it will be like you did nothing for them because they cannot appreciate anything you've done for them. They have a strong sense of entitlement so they're very ungrateful. They think that you exist to serve them. You're either a convenience or a problem to the narcissist.  There's no in between but they will just sit back and watch you going through it. They're not going to intervene because all they care about is your productivity all they care about is what you're tuning out for them.  They're only there so that you can serve them. If they're not getting anything out of it there's no reason for them to stay but that does not mean that they're just going to move on and forget about you when the narcissist leaves you that is when they will pull out all the stops while they were with you they may have seemed lazy and unmotivated it may have seemed as though they lacked enthusiasm but when they leave you that is when you will see their relentless determination to gain an advantage over you they will work overtime to sabotage and destroy you when if they had put that kind of effort in while you were still together you could have had a pretty amazing relationship but of course narcissists are self-absorbed and they lack empathy they expect you to carry the load they expect you to carry the duty and misfortune and they really don't care about how it affects you the only thing they care about is when they're not getting what they want if no one is around to do the work for them that is when they will pull out all the stops that is when they will make a very great effort to achieve something you will see a side of them that you've never seen before they will put the pedal to the metal they will go all out they will put all of their energy and enthusiasm into it and it will just make you wonder where was this person when you were trying to build a relationship with them but the reality is that all their efforts are self-motivated they will only be motivated to do something because of their own interests not because they are interested in fulfilling your desires or needs they're not going to put any effort into anything with you because they expect you to serve them and they really don't care about how it affects you sometimes they don't even see it because they're too preoccupied with their own interests and needs when they leave you they will go all out they will pull out all the stops to defeat you because all they care about is themselves there's a reason why so many successful people are narcissists rather than empaths and it's because they're motivated by their own self-interest rather than the needs of other people which means that they will step on you to get ahead but whatever happens a relationship with a narcissist is predestined to fail they're either going to sit back and watch you run yourself into the ground and your efforts to please them or they're going to do it for you thank you for watching I hope this video resonates with you please like, comment, share and subscribe if you would like to donate my PayPal link is in the video description coaching inquiries you can email me at coaching.narcsefiver.uk thank you for watching and I'll talk to you soon