to Seth. Oh my gosh. We had great announcements this morning. Lots of great stuff around Visual Studio both 2019 and for the Mac. I've got Amanda Anuni here. I want you to introduce yourself so the friends out there in live stream land know who we are. I'm Amanda Silver. I'm the Director of Program Management for Visual Studio. Visual Studio Code, TypeScript, Windows Tooling, a whole bunch of different kinds of things. Hi, and I'm Winito Indranathan. I'm a Group Program Manager on the Visual Studio for Mac team. Awesome. So we've got great new releases. Folks can download for both versions right now and updates for VS Code. But what's new in VS for Mac? Right. So before we start about talking about VS for Mac, is we want to call out all the previews. I mean the announcements today are all live. Are we highly encouraged everyone to go try them out? You know here's our preview page. One of the things about Visual Studio and Visual Studio for Mac is we've made it such that it can install the preview releases alongside your production environment and not mess up anything at all. Yeah, that's huge, right? Because I want to be testing. I want to know what the cool new things are that are coming without breaking those things I need to build on a day-to-day basis. Yep, and we tend to think of this as the foundation on top of which we'll start you know publishing new features and updates regularly. We're really looking for some feedback on how things are going and you know really really adjusting to that feedback. It's our viewers opportunity really to get their voice heard if there's something that works great for them. We'll enable that, we'll enhance it. If it doesn't work great maybe we don't put as much into it. Yep, so one main goal of this release, Visual Studio 2019, was to make it easy for developers to get started on their code. The code could be anywhere, it could be on your machine, but more likely you're working with someone else in a source-controlled environment. That could be a repo on GitHub, it could be a team foundation version server you know running Azure DevOps or anything like something like that. So we want to make it such that you can easily get started on your code. Okay, and for that we have introduced a new experience to get started. Let me show you that first. In grocery for Mac we have a new start window that lists all of the projects that you want to get started. So here I have some projects on my machine but I can always go to a repository clone and check out some code and get started there as well. In the interest of time I'm just going to go open something on my machine. Okay, so here I have an ASP.NET core solution from a repo that I found somewhere on the internet. It has essentially, this I think is the demo. It's perfectly safe, isn't it? This I think is the demo that we used in our last connective and if I'm not mistaken, I just didn't have access to our latest demos. So here is the smart hotel website, it's an ASP.NET core front-end application. I remember that demo. Yeah, and that is backed by an Azure function that runs some serverless code to do some processing. One major investment that we're making in grocery for Mac in the next version is to make our coding experiences that much more reliable, fast and fluid. We are actually rewriting the code editor from scratch, all using native Cocoa APIs that allows us to give really fluent experiences on the grocery for Mac side. Combined with the work that we have done on Word of Studio, our language services that we're building for .NET, we believe we can provide a fantastic .NET coding experience on the Mac in this update. So you'll start seeing some of the improvements in the code editor appear over the next few previews. I feel like that's a similar experience we've had with Visual Studio 2019, 2017, and we've leveled up the performance of those code editors over time and we're bringing that same knowledge of VS for Mac and leveling it up based on some of those things we've learned in full Visual Studio. Yeah, I mean, historically, there was a lot of duplication of efforts and so on and so forth. I believe that the work we're doing here allows us to bring value to customers, both sets of customers almost instantly across the two products. So here's an example of a C-Shop file that I've opened and I'm going to show you just a couple of minor things. Most of these innovations and improvements will start showing up in the next preview for Visual Studio 2019.  You could choose to sort of make an individual fix up or you could say I want to fix a whole bunch of code issues together. If you choose the fix all option we provide you with a dialogue that shows you all possible suggestions that you could act on, you could choose to select an individual suggestion will show your preview of the issue in your code and fix up and then you can go make that change per say. So we want to make it possible for you to detect issues and fix issues very quickly in your code. Visual Studio for Mac has always had support for, you know, source control, but one major investment we're doing in the next version is to sort of rewrite our source control support as well. We will have support not just for, you know, Team Foundation version control, but definitely GitHub every get scenario as well. So source control is another major investment that we're making in Visual Studio for Mac. And finally, we have always had capabilities that allow developers to publish to Azure and various the web end points. We're making investments into that space as well. So for example, we just recently added, you know, the ability to not just publish to Azure but to a folder so you can then copy and deploy the code to your favorite server. We have support, we just added support for Azure Functions 2.0. So you can create a new Azure Function and set up your trigger. So here's an example where I'm adding a new function. We have a rich wizard experience that lets you configure the function, lets you want to create a trigger. Yeah. And so as an IDE user, I love having that hand holding experience that gets me from I'm not quite sure what I'm doing right through the wizard and published tremendous. Great to see that in Visual Studio. Definitely want to take away the complexity from you and make it really simple to make it make it possible for you to publish to Azure. So that's something they're doing here as well. Let the experts take care of that complexity for me. Yep. So I can focus on my knowledge. Absolutely. Man, do you want to show some of the things you have in the show? Sure. Yeah. I mean, so I just want to kind of reiterate some of the things that that uni was talking about, but in the context of the Visual Studio for Windows version. So this what you see on the screen right now is actually the Visual Studio installer screen. And know it well. And I think for anybody who works at Microsoft, you know, we're constantly installing both the latest release and kind of the internal night previews dog food. Exactly. So what you see here on my installer is that I actually have two internal builds. I have one for the latest Visual Studio 2017 update, as well as the 2019 preview. But this is basically the same exact experience that an external user would get. It's just they wouldn't see the little int there. But I needed to get this to get all the demos ready. I had to use the previews. It wasn't wasn't going to, you know, risk it by installing everything this morning. So so I can I can start installing that and do that on do Visual Studio 2019 on my stream later this week, next week, and we can start live coding on Twitch today. Yeah, today. Yeah, yeah, yeah. I mean, what's really great about this is, you know, when I when I talked to, in fact, I was just talking with the development team, and they were talking about their process for adopting new tools. And typically what they do is they, you know, pick pick a couple of developers on their team to kind of go scout it. Right. And so those devs do maybe a little project to kind of go see what the tool looks like and come back into a report for the rest of the team. But this makes it really easy because, you know, it used to be that you had to have kind of like a burner machine, because you were too worried about it corrupting your developer environment. But now that we have the channels and we've done all of the work to kind of make sure that they can be updated independently, you're really not at risk to to corrupt your your dev box. Good. Oh, my gosh, good. So that's kind of that's thing one that's super cool. So now let's jump into 2019 itself. So as uni was talking about a minute ago, we have the start window. So you can see just like he showed in the Visual Studio for Mac experience, we also have a start window experience. And and really there are two reasons that we did this. Number one is for for users who are absolutely brand new to Visual Studio, and possibly users who are new to your development team, for example, we've gotten feedback that they are just drowning complexity when they see the entire ID. They kind of don't know where to start. There's that intimidation of the blank screen. Yeah, open it up and it's just that gray background. It's just there's just a lot. It's not just the blank screen. I mean, we have the start page, but but even the start page, there's just a lot of information density that's in there. And to be able to absorb all of that is is kind of intimidating your first time out. And the other thing that we heard from a lot of more more senior and experienced developers is basically that that the Visual Studio when it was originally designed, you probably remember this, you had to get, you know, go to Best Buy and get, you know, 12 discs and stuff. Oh my gosh. Yes. But the but the result of that was that that not only was the product entirely contained in there, but all of the documentation and all of the templates were contained in there. So it was really this like self-contained, you know, package to start your development. We used to get sandwich boxes to store those discs in so that we could carry them around because we were in college. They're all collector's items now, don't tell me. But they were also the books that came with it.  It was the entire, you know, physical aspect to it.  This is my Visual Studio. But nowadays what we find for modern development teams is that their startup experience, like when you're getting started on a new project or when you're a new developer joining a team, for the most part they don't necessarily use our templates that are in box. They actually start with an online hosted repo. Right? And so what we're trying to do with the new start window is to make it so that it's a lot easier to kind of get started with an online hosted repo and that that's kind of the most predominant experience that we encourage you to use. Sure, because my team members, new team members, I want to point them, here's where we keep our code. Go start over there. Right, exactly. And I think, I think, you know, once you start to curate what what kind of feeds you look at and other things like that, this is going to become really, really useful. But let's go ahead and actually try that. So let's go on or check out a repo. So I'm just going to copy this one. Oops, copy that and come back here and just let's clone it. And I forgot to delete this. So we will just call this desktop taters three and clone it. Not like you've practiced this once or twice, right? Not at all. No, apparently not enough. So what you can see here is that this is actually using the team explorer to actually connect to that github context and to actually clone that locally in this in this particular box, right? So now you can see that it opens in the solution in a folder view, but I just need to click this solutions and folders to actually pick which solution I want to take a look at. So now that I'm in this context, you could see that I'm actually loading the solution with the WPF project itself loaded right here. So that's pretty cool. The other thing that you might see here is this little thing on the left right here which says projects are loaded and ready to use. Background tasks are still running. What's it doing in the background? Yeah, so what we're really trying to do with Visual Studio 2019, I mean, I think a lot of people have seen in 2017 that there have been pretty dramatic performance improvements, right? We've seen those numbers, those demos where, oh, time to load the Rosalind source code, right? Yeah, yeah, and live unit testing is dramatically improved. So what we've been trying to do is to move more things to be asynchronous and out of process in the in Visual Studio itself. And so what you're seeing here is that there are some things that are still running in the background, but that the project you can actually go forward with. You don't have to wait for anything before you actually kind of go ahead and get things going. So is it doing things like looking at my NuGet packages or any of those Rosalind tasks? Sure, I mean it's doing any kinds of things that it needs to do to initiate the project, but basically as soon as the project is loaded, the source code is loaded, and basically, you know, we think it's safe for you to type. In other words, you will get the intelligence experience you need in the background compilation experience you need, then we'll notify you to say, hey, go for it. But in the background, we'll still do some other things to kind of get everything primed. So I can go open a razor template or open a windform designer and start tinkering around in there while those other things are happening. Right, and anything that you really push forward, because you want to do it immediately, it'll obviously push that to the top of the queue and make sure that that's the priority. Yeah, it's kind of amazing how much Visual Studio really is an OS inside but it's a pretty complex app. Oh my gosh, yeah. So I want to make sure that our friends out there that are watching the live stream, that you know we're answering your questions on Twitch. If you have questions about the new Visual Studio, whether it's 2019 Visual Studio Code or Visual Studio for Mac, send us your questions out there in the Twitch chatroom and we'll answer them here for you while we're going through the demos here with Amida Anuni. So the other thing that you'll notice here is that the top level menu bar has actually been collapsed and part of the reason that we've been doing that is so that you have basically more room for your code. So if we go ahead and we load like the main view model and you can see it, you know, this is a pretty small resolution. It's not something that I would ever actually work in. This is the only reason we're doing this is for the live audience. I love working on my laptop. Come on, Amanda. But, I mean, in this context it really highlights how helpful it is to have, you know, yet another menu bar that that, you know, that's a whole line of code right there, right? So having another line of code in my view is actually super, super useful. So that's one thing. The other thing that you'll notice is up here in the corner I have kind of my information about my profile and then I also have live share, which I'll use in a second. But the idea here is that we want to take all of the static information about your presence and the context of who you collaborate with and kind of put that up there in the right-hand corner. The other thing that you'll notice down here is that we actually have the coupon reader WPF on the lower right-hand corner. So we can actually see that along with the repo that we're in and kind of which branch we're in in GitHub, how many changes I've made, things like that. And then you can also see down here in the lower right-hand corner we have kind of like a checksum that basically says, hey, everything's compiling. But as soon as I were to make an edit and things wouldn't compile, that would go to red or yellow depending on if it's warnings. Okay. But that kind of tells me whether like the state of month, the health of my code that's in my code editor. Yeah, I used to use an extension that our friend Mads Christensen wrote that would put a little watermark in the background to indicate if there was errors or something. Yeah, so Mads is on the team, so a lot of his great ideas actually come directly in the Visual Studio eventually, right? Awesome. Okay. The other thing that we've also been trying to do kind of along the lines of the fact that some of our new developers are telling us that they're overwhelmed by the capabilities that Visual Studio has to really try to improve discoverability, right? Oh, yeah. And so one of the things that we've been working on a lot is improving the search experience inside of Visual Studio. Okay. So for example, I could do something like search for a refactor and you could see all these different refactorings come up and it's not just, you know, various different refactorings that are available and it would change context based on what was highlighted, but also the hot keys, right? Yeah. So what's super cool, and this is coming in the next preview, is you're going to be able to actually launch a command directly from the search itself. So I can just with normal no mousy mousy, I can do typy typy. And you don't know the shortcut keys, but I want to do. You don't know. Right. Go find this. But it's not just a text command. It's also like I could, for example, search for Android, right? And I could see, oh, there's first of all, these Android settings. There might be some new new project templates. Like I could say, what is it? TVOS or something like that. What is it? IOS, like I could search for that. You can see, you know, various capabilities that I might have. I don't have Xamarin installed on this particular one. Yeah. But I could do go to definition and you'll see that it's not, it's not like perfect, right? Because I don't have a space in there. It's all fuzzy matching. And over time, this will get better and better and better and better because it's a hosted service. Oh, very cool. Yeah. So that's, that's pretty cool. So let me, let me show you one more thing, which is, which is live share in this context. So again, I'm showing you a WPF application here. Right. And so what I'm going to do next is I'm actually going to invite uni who's over here on the Mac to, to basically do a live share for this, for this project. Okay. So wait, wait, wait. You're going to take a WPF app, right? Now is this .NET Core 3? It's .NET Core 3 WPF app. Okay. Yeah. And I mean, a Mac doesn't run WPF, right? Because it's Windows Presentation Foundation, right? He's going to be able to work with the code. He's going to be able to work with the code. So let's try it. All right. So let's try it. So we're going to set up a split screen here. Should everything go well? Yeah. So I'm going to go to the right. And then we're going to dock uni to the left. Yep. And I just need to copy that. I haven't sent it to you yet, uni. So don't freak out. And I'm just going to paste that there. And so he should be able to join. Great. So in my Teams window, I'm seeing the link just with a single click. I can open up VS Code with live share running in it. Yeah. Oops. Let me just try one more time. Man, I can just, oh, let me just click your link. And let's get, let's make sure you're docked to the left side there. These are preview bits. So please excuse us if... Is it working? Let's try it again. Can you send me a new link, please? Share it again. Share it again? Let's try that one more time. You can close your browser and try it one more time. All right. The other thing you can do is copy it into your your VS Code instance. One last. Yeah. Oh, there we go. That looked good, right? There seems to be an issue with the extension. Okay. But let's just walk through the scenario. Okay. Okay. So basically what would happen is if he wants to join in, then basically he can just go ahead and jump into the WPF session and actually be able to to debug this session. So you're debugging on on the Windows machine and he's able to connect in and see all the debugging information, the locals, run watches, and inspect as you would be on the Windows machine, but from VS Code, whether it's on Mac or Windows. Right. Exactly. I just sent you a different link. So let's try that one more time. Looks like it was a dating and extension or something. Let's try it. Let's see if this works. Okay. So if you go to the live share view lit there, you can click on joint collaboration session and then just enter the URL there. All right. Let's try that. That's how this works. Okay. So it looks like it's joining. It'll take just a second to actually join the session. It'll give me a notification as soon as he's in. So this actually says, okay, when he's in. There we go. Yeah. So what's really cool about this, and let me see if I can kind of scroll back out to try to zoom in and now I'm trying to zoom back out. But anyways, there. Now we can see some real code. Is that two fingers zooming on the touchpad? So you can actually see some of my highlights in here. Ooni can see it in the context of his Visual Studio Code instance. But what's really cool is I've actually, I can actually allow Ooni to do some debugging on his machine. So what he can do is we should clarify it. I don't have the code on the machine, right? Sure. It's all coming from a machine. He doesn't have the word as he can. And let's make sure yours is snapped on the left side there for everybody. Let me just move. Is that better? Yeah. All right. So it makes the debug window really small, but let's try. So what I'm going to do is I'm going to switch over to the WPF application and I'm going to start debugging. So again, the app is not running on my machine. It's going to run on her machine and we can work on this together. So you're requesting that the requesting the debug, it's going to come over to this machine. That's right. On mandas. And all right. Traffic that back and forth. Okay. So I'm going to launch and if you look at that on an Amanda screen. Yeah. You can see that both of our machines are actually launching into a debug state. That's odd. We're getting a compiler. But I'm not sure what's going on there. Let's try one more time. It's hard to see it. Can you do clean? You try that. And you can see on my screen I'm seeing the same build outputs including, unfortunately in this case, errors. Just in case this was to work correctly, I would be able to just run this app from my machine, put a breakpoint all without Amanda doing anything, get the complete intelligence experience and debug through that. And this is part of this is part of live streaming and live TV is sometimes things error out. And that's okay. Yeah. This actually opens up to a pretty good question while we're trying to figure this out from our friend steam jockey in the chat room how does visual studio live share communicate? If you're on a tight firewall framework, firewall network, what kind of communications should they expect? Is it using something like an I am instant messaging back and forth? So actually what's happening is that it uses an Azure Relay service. So this is a service that's available in Azure to basically create a connection. And then once that's done then it's basically peer to peer. So and if I want to tight firewall network right where tight restrictions on our private network, can I just do direct connections without connecting out to Azure? So yes. So what that's one thing that we're working on over time. So so basically you have to have the Azure Relay service itself to do the initial handshake. But beyond that then you can actually work in a firewall context. Yeah, that's only the amazing Amanda. So look and do it. She was talking to you and debugging and fixing the problem at the same time. You know, we're professionals. We can make things happen. So look. So here the app is running. God lucky. Thank you. And I'm going to put a break point and I'm going to actually, you know, you can see the app is running. Sure. I'm going to put a break point and let's go ahead and like click the refresh button. Yeah, you're ready to refresh. Yeah. So this is a WPF application again and look, we're actually hitting the break point in my context. Right. Right. As well as his context. And I can see everything as well. Right. So here is my break point. Let me go ahead and make a small code change. In this case, I'm just going to add a WPF. You can see I'm getting the full intelligence experience inside grocery code for the app that's running on a machine. I'm going to call it system.windows.messagebox.show. I'm going to just call it Hello World for now. And I'm going to run it. Right. Yeah. Good. And when the app runs. Yeah. So you can see the Hello World just popped up. So he just did an edit continue on his VS for Mac. From Mac. Machine. Yeah. Right in the context of our live debugging session. Okay. That's that's pretty impressive. Pretty cool. Oh my gosh. Yes. Yeah. I mean editing continue alone right is is pretty cool by myself but to be doing that handoff back and forth there are so many things that I could see folks wanting to be able to do that with whether it's Windows Forms WPF or whatever other framework we support. Right. There's other programming languages out there. In a team setting where people are constantly switching contexts it'd be so much more work for me to go ask her about the repo get the code in my machine. In this case I couldn't even do that but let's assume I'm working on a different kind of application and then debug through it. Right. This is her problem. She set it all up. I'm just helping her and that was really really powerful. So why don't we take some questions? Oh yes. Absolutely. So there's a really good question here about multiple screens. If I'm using Visual Studio Cross multiple screens if they have different DPI settings. Oh you're in for a treat. Yeah. I have this problem at home. Yeah yeah yeah. So this is actually something that we've been taking on for Visual Studio 2019. And the first previews should show some progress but the second preview will show pretty dramatic progress. Fantastic. Yeah so everything should start to get pretty crisp in that course of Visual Studio 2019. I've got that 4k display on my laptop and when I drag over to the side screen that's 1080 everything gets old. Yeah yeah yeah. So we've been working on it. So it's coming. Oh that's great. Yeah. Now what kinds of performance improvements have we put into live unit testing? Oh well I mean there's first of all test discovery itself is pretty dramatic. It used to be order in kind of algorithm and now it's basically a linear algorithm. Okay. So it's that's a pretty dramatic improvement. We have other demos that we've done in the past that show that you can load 50,000 live unit tests in the course of a few seconds. Oh yeah. Oh man I'm going to know immediately when I break my build. Yeah so that's one thing. We improved doing a stash and kind of a switch branch pretty dramatically and that was actually in 2017 but a recent update of 2017. Okay. Okay. So that's those are a couple things. Solution load time has also been dramatically improved. Sure because we've got that async. Yeah. Loading process. Yeah. Very cool. Yeah. Walter in the chat room is asking does the team debugging with LiveShare work with distributed developers in different cities or countries with relatively slow internet connection? Absolutely. So that actually was one thing that that we've really been trying to work on. I mean in some ways the important thing about it is that the entire context of the debug session is not going into the network. Right. The only thing that actually goes into the traffic is commands. Right. So it's really it's not like the debugging because it's being hosted on your machine. Sure. It has the compute power of your machine. Okay. We don't need the compute power of the network. Right. Okay. You're just trafficking. All it is is remoting of your commands. That's the only thing that actually goes over the network. Right. Okay. And then if there's new information that you might find in like let's say a debug inspection you know an expression evaluation or something like that. Then it's just that information. It's just that information. So it's actually really really small which is pretty awesome. Yeah. Oh that's great. I can run it now over my 3G phone. Yeah. Are we doing anything to improve test explorer integration for Xamarin apps? Dot Morton is asking. Yeah. You want to take that? I think there's a bit of a studio question. Yeah. Yeah. I mean so we've definitely been improving the test discovery and the live unit testing experience. I don't know that there's anything specifically that we're doing for for test explorer integration for Xamarin applications that I can think of off the top of my head. But but it's a good question. Okay. And we've got a question here. This might I think lead into your next demo. AGR TGA. That's a great handle there. Are we going to get the option to either debug multiple projects or at least choose the project with the diagnostics tool window? Yes. So that's actually something that I'll demo tomorrow at Dev Intersections. So if you're here locally in Vegas joining us. Yeah but I don't have the demo ready to go today but I have something that's super cool. So about debugging projects. Yeah. Right. So yeah. Exactly. Debugging experience has been getting better. It has been getting better. And one of the things I really wanted to show because there wasn't a lot of love that was shown in the keynote for C++ is we've actually dramatically improved the C++ debugging experience. Okay. Yeah. Oh talk to me about that.  I actually it takes like It's an app? Yeah. It's called Gears of War. That's not an app. Oh my gosh. Amanda. So we've been working with the Gears of War team to make sure that their debugging experience is much better. Yeah. And so one of the things that really prevented Visual Studio from successfully being able to kind of make their debug process really smooth is that everything was in process. And so because everything was in process it actually consumed a lot of memory. Right. And so what we'll show you here is actually the experience in the previous version of Visual Studio. This is basically without the out-of-proc debugging experience. But what you can see is this is attaching to the process. And as we start to step through and inspect some things you'll see that the memory really starts to creep up. It's a little bit fuzzy here but it's such a cool feature that I just couldn't help but show it. Oh my gosh. I mean just the idea of all right let's let's debug a AAA game. Game. Yeah. Okay. Let's do it. Yeah. And not everybody gets access to the Gears of War source code. So what you can see here is this is actually you know we have it we're stopped at a break point but further when we start to do inspection of various variables dev and the in memory just starts to kind of creep up and up and up and we're at about one point two at this point we haven't done any inspection we haven't done any steps. And now we're doing a couple steps and as you can see it just continues to grow and grow and grow and eventually you end up with an out of memory situation which is really really problematic because by that point you're probably deep into the gameplay to debug and repro the issue and so getting back into that state is kind of challenging. And it throws you completely off of your groove you were so focused in getting something done and now yeah out of memory. Yeah exactly. So I'm going to just forward this a little bit and you'll see that that we kind of end up with you know 1.97 or something like that but now you can see we're going to try it again and there's an option that you have to go to that will let you run the debug symbols in an external process. Okay. And today that works for C++ only but that's something that'll come down the road for other languages as well. Got to start somewhere. Yeah exactly but now you can see this is Visual Studio 2019 you can see the nice indigo kind of blue theme here. Again this is Gears of War and we're just basically going to execute the same exact kind of debugging process but what you'll see here is that the the memory doesn't creep up this time. Yeah it looks like it's staying there about what 470 472 come along. Yeah exactly so now we're just debugging the exact same thing and it just it's not growing right so and that's because it's basically out it's attaching to the debugger out of process. Oh fantastic. Yeah. That is amazing. And we just made C++ LiveShare support available as well. That's right. Yeah so that's that's really cool. So so with C++ LiveShare like you can basically if somebody has a hey it's reproving on my machine but I can't get it on your machine you can invite them to a LiveShare session the debugger is working out a crock it's it's kind of as Scott Guthrie likes to say it's a great day to be a developer. Oh my gosh you've taken the works on my machine and say here just connect in and try it. Right Exactly. Boomi LOL in the chat room kudos for you Amanda super cool thank you Boomi we appreciate that and we agree. Yes we absolutely agree this is amazing. So now I'm going to get untangled because there's one last thing I want to show you that I think somebody was actually asking about. I think I did see that question a little bit earlier. Yeah so somebody was asking about the experience for reviewing PRs directly. I hate that context shift that I have to do where I'm going to my web browser and then back to Visual Studio. Yeah I mean especially for senior developers who are bombarded by pull request reviews all the all the all day basically. Or live streamers who are trying to run a show. And then they get then they end up with pretty doing shallow reviews because they can't use the tools that they're familiar with. Yes. So what we've been doing is working with the GitHub team to create an integrated experience inside of Visual Studio and Visual Studio Code. Yeah. So that you can actually review your pull requests right in the context of the tools that you're used to. But this is such a cool demo like this is something that got cut from the keynote that I'm so excited about that I had to show it today. Okay. So so folks on Twitch make sure you get your get your clips ready so we can get some clips of this we can share out to Twitter and like that. All right. So this is this is the the normal GitHub extension that you can get on the extension gallery today. Okay. Plus a little magic that we're of some a preview of something that we're working on. Okay. I'll tell you when the magic shows up but if I go to all you can see all of the pull requests that are awaiting my review. All right. So that's that's pretty cool. Time to get back to the office. I can yeah I know right they need me but I can go ahead and inspect one of these pull requests and you can see that it brings the context of all of that locally into my machine and so you can see in my solution explorer I actually have nothing loaded. This is all actually being hosted in a cloud context. So I can go ahead and look at one of these files here and you can see that I get all of the code colorization that I'm expecting but not only do I get that I also get like hover tips for example over the over the data types and I get the the documentation. I also get the analyzer. So I have ES lint running here that's a static analyzer that's telling me that this is assigned to a value but variable but has never been used right. So that's that's kind of that's kind of cool. So the other thing that I can do is look at let's go look at this other one. Oh I forgot to show you something here which is that if I do a find all references on this you can see that it's going to find all references of that grid legend thing not just for those those mentions that are in this file but also for mentions of grid legends that are in files that aren't in this PR. Okay so I mean you're you're blowing my mind here because these are things that I struggle with when I look at those GitHub PRs and I'm looking at just the text in the web browser now I've got the full context of everything and I can really explore and you can use your hot keys and you see the diff view and yeah exactly so that's super super cool. So let's let's take a look at the other one. So this this particular pull request it looks like is introducing a new dependency on an npm package that I'm unfamiliar with right okay and so so anytime that anybody introduces a new dependency I really want to understand more about what that dependency is doing right and so so what I'm going to do is do a go to definition on one of the types that's defined in this new npm package right okay okay but this npm package is just picked up as an npm package it's not the source isn't included in my in my pull request yeah I don't I don't see a package just on there that will point me to it and it's not even in my project it's just an npm depend right okay so what do you think's going to happen if I do a go to definition okay it's not going to choke and say oh I don't know where this is or a file might found type right I mean that would be like the obvious thing another thing that it could do is have a minified typescript minified JavaScript file which would be like what would happen in deployment stop it yeah but but what's actually going to happen if I do go to definition here is it's going to observable.ts this is the actual source code of the npm package on github it found it yeah it found it okay so basically what this is doing is it's understanding the dependency that you have yeah and mapping it back back to the actual source repo where that sources is defined oh my gosh so this is indexing all of the code on on github yeah so that you can you can start to diverse these things wow now does that work with just javascript and typescript or will it work with my .NET code also it's going to work for everything so yeah so one of the things that's super cool here is not only can I do a one hop into observable.ts but I could also go to another one do another go to definition on another file and this is now opening yet another file that's defined in in github wow yeah now martz is asking in the chat room does this work for azure devops prs as well not just the dependency look up at the yeah so we actually have a great extension that's very similar for azure devops prs that also allow you to do the review terrific oh my gosh and then can I do this from the team explorer window well so this so the github one shows up in the github window gotcha itself but the but the azure devops one I think shows up in the team explore yeah great thanks for the question martz and then I've got one more question that I want to come to hear from zamcat we saw live live share does that also work with xamarin projects yeah it sure does really yeah it does the one part that we didn't show with client applications one of the challenges is that imagine that Amanda sitting in I don't know redmond and I'm sitting in Vegas sure how do we debug this can we see the screen right because that's really important yeah the one part that we didn't show today that's right is that live share will also allow you to like sort of cast your screen or the application okay so I've seen that with ASP net core where I can share my server but you could do it with a WPF application now so what we weren't able to set up uni's bits today but Hanselman showed it in his keynote if I have a WPF for windforms application on my windows machine and I'm I'm doing a I've shared session with somebody on a Mac machine or a new Ubuntu machine they can also see the app oh man so that'll eventually come for mobile apps as well absolutely it just traffics the UI over to to the Mac right I mean it's just the h-wind right in this case it could be the emulator that we send across oh my gosh I am so looking forward to Visual Studio 2019 and these updates I gotta get it installed now we have a download link for that moderators can you do me a favor we know the download link can you paste that link into the chat room so that all our friends out there are watching they can go and download the latest updates for VS for Mac in Visual Studio 2019 preview one awesome and Amanda I've learned a ton here now I'm gonna start using Visual Studio 2019 on my next stream I gotta get that installed and up and running but I'm gonna start walking over here I'm gonna head over to the other set because Ed Thompson's over here and he's gonna help me with something else on my stream all right awesome thank you thank you so much all right so


Hi, I'm George Cao. Today. I'm in the Golden Gate Park by this beautiful pond and I want to encourage you to think long-term even as you act today to think globally even as you act Locally and you may have heard that so how do we apply this on an ongoing basis? So One simple way of is to ask yourself What can I do today that I will be happy tomorrow that I did today?  It's like, oh, I'm so glad I did this today What would have this been same thing keep going forward as I think back to next month or even next year, what will I be glad that I started working on today or finished working on today and Go even further to say as I look back at the end of my life how will I Be happy to have acted today and one more step as I look back on today in the perspective of eternity How will I want to have acted? With what kind of virtue? With what kind of Relating in what kind of way to the people that I'll encounter today now. There's two Exercises you could do one is at the end of each day. So at the end of today Journal for a few minutes to say according to the challenges I face today What could I have done differently? So that I would have been more proud of how I acted within Eternity or even within a year from now Or even just look at how you spent your time. It's like, how could I have spent my time differently? Okay That I would have been happy with looking back a year from now and looking at your character in terms of your Relationships, how could I have acted differently in my relationships today? That I would look back from from eternity and say I'm so glad I was that kind of person and Then the second exercise is in the morning to take three minutes of journal these same questions What can I do today that would make me so proud to have started or do I have accomplished a Year from now now it might be might be make more real to say What would I be so glad to have started today looking back a week from now or a month from now?  When I look back today in the light of eternity How would I like to face my challenges today? How would I like to treat the people around me today? How would I like to do the things that I'm I have to do today? And I hope you'll frame that to say you'll get to do today So I hope that's helpful, maybe a little inspiring always open to your comments and To close this off. I'll show you my sweet little dog buddy there Until the next video. I wish you well


So, more and more people are starting to call us about wolf packs. I was caught up in a wolf pack. What in the world is a wolf pack? That is when the Sheriff's Office goes out specifically on a mission to find DUI cases. There are going to be a huge saturation of officers all over Pinellas County, Florida and potentially all over the county that you live in. If you find yourself being pulled over in a wolf pack, contact a lawyer immediately because you could have a great defense as to why you were pulled over.


You know, so I've got a perfect example of this. So we're gonna take a little detour now, and we're gonna talk about this one example of a project that's supposed to help reduce carbon emissions, right?  And let's see how people deal with this, right? And you can see that nobody wants solutions. Nobody wants solutions. What they want is for you to be afraid. What they want is for you to feel guilty. What they want is for you to be vulnerable. All right, so this is a project in New York State that has the potential to provide 20% of New York City's electricity. That's a lot of electricity, 20%. And a 20% of New York electricity would come from existing dams in Quebec, Canada. So it turns out that Canada produces a huge amount of hydroelectric electricity, more than they can consume. And the Canadians, because they're really nice people, well, not so nice images right now coming on television from Ottawa, but you know, they're supposed to be nice people are willing to share or sell that electricity to New York City. And of course, because the dam is already built and because it just uses water, it's already, it's green. It's considered green. It's not Niagara Falls, it's in Quebec. It's already existing dam. They're not building any new dams. God forbid we actually built something and changed nation. So the dam exists. We wanna get that electricity from Quebec to New York City. And this would, I don't know how expensive it would be there, it doesn't matter because our goal here, remember our goal is to reduce carbon emissions. So we want, we wanna stop using fossil fuels to produce electricity. So here's the perfect alternative, perfect alternative. So okay, so how difficult could this be, right? Quebec to New York City is not that far, not that far. It's 339 miles. I'm not even sure if this is the direct route or not the direct route, 339 miles from Quebec's remote forests to New York City, right? And we could provide 20% of electricity for New York. It would diversify, you would have fewer power outages and of course you would reduce the dependence on carbon fuels. Now this project was first proposed 17 years ago, 17 years ago. It is funded by Blackstone, a private equity group, private money. You know, it's a Chaplain Hudson Power Express. Putting four and a half billion dollars into doing this. And you would think that this is, yeah, this is pretty straightforward, right?  Not that hard. Most of the way between Quebec and New York City as forests, nobody lives there, nobody's there. So you put the power lines in and, you know, not that expensive and it's pretty cool. Oh no, no, no, wait a second. You can't put power lines up. Although power lines are like ugly. I'm not gonna have, you know, we've got pristine nature here. You can't build towers and put up power lines in pristine nature. That is unacceptable. There are a million not in my backyard groups along the way that oppose this. There's massive environmental challenges. I'm sure there's some bears who live there, as Jennifer says, that wouldn't like it. I mean, it would spoil their view. Vacationers who hike might happen across a power line and that's not acceptable. You can't do that. So here we are with an effort to get quote, clean power to New York City. So it would fund a significant part, 20% of all New York City's electricity, that's a lot. Can't do it, power lines, can't do it because not in my backyard and all the rest of it, right? All right, so let's put it under the ground. Well, you're not gonna put it under the ground. I mean, this is 300 or something miles of woods, mountains. You'd create massive environmental damage if you did this. You'd have to knock down trees. You'd have construction equipment. You'd dig in the ground. Who knows what kind of worms and animals live down there under the ground? It would take years. It just think of the cost. The cost would be astronomical. It would make it completely invisible. Four and a half billion dollars would not be enough to do it. So it's just no way, no way. It would take forever and it's just not doable. You cannot, you cannot. It would be too expensive, too expensive. All right, so we can't do it overhead. You can't do it under the ground. So what do you do? Now here is where you can see private enterprise. You can see private entrepreneurs, private equity actually coming out with a brilliant idea. I mean, this is really cool. What did they decide to do? They decided to run the cables under the water so they can go in in the lakes of Connecticut, get to the Hudson River and go along the Hudson River all the way to New York City. Bam, there's the power. No, not in my backyard because there's no, you can't see the cable. It's under the water. There's absolutely, I mean, this is brilliant of putting it under the water. I mean, who would have thought of that? I wouldn't have. She can't go in uninhabited forest. She can't bury the lines because it's too expensive. Since then, you put it under the water. Now, this is not a solution for other potential power lines. It's not a solution everywhere. They're gonna have to find their own imaginative ways. Maybe they can beam the electricity space and beam it back down. I don't know. Elon Musk will probably figure something out. But instead, they're gonna go in the water, in the river. All right? Well, that's great. So here they are ready to lay the line in the Hudson River. And then they discover the EPA, the Environmental Protection Agency, a section off a portion of the Hudson where sediment was contained by polyqualinated biphenyl PCBs that were dumped decades ago in the river by General Electric. And if you trench the river to put the cable in, you're an orthotoxins. And that's gonna create, obviously, environmental disaster.  People who knows what will happen. All right. So Blackstone said, okay, get it. We don't wanna do that.  So there's, I guess, a way to go around the sections. They go around, it's 118 mile detour, all right? So it'll still take another three years, but we'll go around, expense it. But we'll do it, all right? Fine. Now, in addition, in order to do all this, right, there was complaints about what's this gonna do. The fish. So Blackstone had a higher environmental consultants who spent the summer of 2010, this is 12 years ago already, watching patches of blue lupin for endangered corner blue butterflies and fostered elfens, a threatened species. I don't know what any of that means, but you get the drift of that, right? They spurted two corners and wrote a plan for avoiding damage to wildflowers upon which the butterflies rely. Arrangements also made to protect bold eagle nests that might be present during construction. Not in the long run, because the cable's gonna be in the water, but during construction. And identify shag-bark hickories. Anybody know what a shag-bark hickory is? Big enough for the endangered Indiana bat to roost. There's an Indiana bat that's endangered that roosts in New York. I mean, who knew that there was an Indiana bat in New York? Then, of course, they found out that they couldn't dig beneath Habastor Bay, I don't know where that is, but somewhere in the Hudson, because there's an endangered Atlantic Sturgeon lives in Habastor Bay. So they had to redraw the route again to go around Habastor Bay. Now, all of this, all of this, in spite of all of this, in spite of them going around and doing the environmental inspections and the environmental, this and environmental, that and trying to appease this group and trying to appease that group and trying to appease everybody, in spite of all of it. This project is opposed by the Sierra Club, local New York-based energy companies, a bipartisan group, Republicans and Democrats. Republicans, well, I should say Democrats and Republicans of lawmakers and the labor union oppose this. The Sierra Club argues, listen to this one, that importing power, importing power from Canada does two bad things for the environment. One, it threatens the development of in-state renewable energy projects. So if you import energy from Canada, you won't build solar panels in New York, solar farms and windmills in New York, but wait a minute, why do you care where the energy comes from? Isn't what's matter that it has a low carbon footprint supposedly? Why do you want windmills in New York? You can get the energy from Canada, let them do it. So no, we're against import, we're against trade. God forbid energy comes from a different state. Man, this could all cause environmental damage in Canada, maybe, maybe, maybe. If this plan works, Canada will build more hydroelectric dams and export more energy to the United States. Hydroelectric dams are really evil according to the Sierra Club and we don't want to give them an incentive to build more so we want the project to fail. Even though Hydro-Quebec, which is providing the electricity for this, sworn on their god, mothers, whatever, that they have no plans for new hydroelectric facilities. By the way, all of this, I am cribbing off of the grumpy economist. This is only John Cochran's latest piece. You know, I love John Cochran's blog, blog, he's brilliant, he's excellent. This stuff is great. So I'm basically stealing this from John Cochran as I encourage you to go to John Cochran. But that's not just the Sierra Club, right? So there's a operator of the soon-to-be-closed nuclear power plant called Indiana Points. They're against it because they want to be able to charge high electricity prices in the state of New York. So the power companies in New York, upstate New York, want to be the ones selling New York City electricity and they want to be able to charge high prices because they don't want competition and the Canadians are coming in. Evil Canadians again, ruining everything. And they're providing clean energy, lower prices, that's not good. So you've got the International Brotherhood of Electrical Workers, Local 97 is arguing that it threatens upstate renewable projects and would eliminate the need for additional gas-fired plants to be deleterious to New York state energy jobs. So they're worried about jobs. God only just goes on and on and on and on. And think about this. I mean, this is the best line in the article and it's great to see John Falkin saying this and I wish more people got this, but he says more generally this whole story is a reminder why a legal system of property rights rather than political permission is the only way to run a successful economy. In other words, this is inevitable. If you give pressure groups, economic power, this is inevitable. If you give politicians, economic power. The beauty of a system of property rights is you own the river, you get a say in what I do in your river. You don't own the river, none of your business stay out of it. You own the land, I can put my stuff on your land if we come to an agreement. If you don't, I can't. I mean, the developers of this project have pledged millions of dollars to train New Yorkers for green energy jobs. They've funded an environmental trust with $117 million. Talk about gangster bribery, extortion, not bribery. This is Don Corleone type way of doing business, right? Where the environmentalists demand to be paid, otherwise they'll stop your project. Of course, the supply project, they haven't got a contract yet with the city of New York for the electricity and city of New York right now needs to get permission from the New York Public Services Commission. And the New York Public Services Committee has one group that keeps, it's a non-profit called River Keeper that is dedicated to protecting the Hudson. And they don't like the project because they're saying that the transmission line could lead to additional dams in Quebec that would possibly expose indigenous people to methyl mercury, a neotoxin created by microbes and freshly fluttered soils that can pass up the food chain to people who live off the land. Now, it happens that there is actually exactly zero evidence that methyl mercury is a threat from any of the dams in Canada. So you see, they come up with excuses. They just make them up out of thin air. Hypothetically, dams can cause this extraction of mercury that can then poison everybody. It never happens, but it could, ever, never ending. List of reasons why not to act and never ending list of reasons why not to solve the problem. It's much better to be afraid. It's much better to feel guilty. It's much better to do what you're told and to stay quiet. Best Fed Hank says, Iran keeps swearing today. Where's my swear poop? I thought dollars were associated with me swearing. What's happened, Best Fed Hank? It's damn, yeah, no, it's damn. It's damn, damn, damn. This is the key line in Cochrane's article. I mean, the one was the positive. Property rights solve all these problems. The second one is the key line in terms of the incentive, motivation. Obviously, the answer here is simple. Don't build anything. Freeze in the dark or more likely, how about a hundred million grand for us too? The whole environmental movement is not about solving problems. It's not about finding solutions. It's about stopping. It's about regression. It's about stagnation and it's about extortion and it's about eliciting fear because people who are fearful can be manipulated. People who are fearful can be controlled. People who feel guilty can be told that it's okay to freeze, that it's okay to stop, that it's okay that they hard-earned money is going to groups they've never heard of protecting stuff they don't care about because it's all for some common good. It's all for something that's supposed to alleviate their fears but actually doesn't and makes them all worse. All geared ultimately, you know, towards the destruction of capitalism but more broadly, it's geared towards the destruction of freedom, of any kind of freedom that we are. Be afraid to produce, to build, to act. Now, that is one project. That is one project that is well-funded with people figuring out as they go along and figuring out solutions, it's going to take 20 plus years and they're probably going to get it done in spite of all the obstacles and they're going to pay people $100 here, $100 million here, $100 million then and they're just going to pay it all out and they're going to get it done. Blackstone will get it done. But think about how many projects. How many projects that would improve our world, that would make our life better, that would make things cheaper and in the case of green energy or whatever you want to call it, make us less dependent on any one source of energy for electricity. How many projects never take off or never started? Somebody has an idea and then he goes, God, the regulators would never allow that. Scrap that, God, that would cost me a lot of money to bribe all the environmental groups. Scrap that, God, there's no way they'll let me do that. Scrap that, how many? How much richer, how much wealthier could we be today if we built, built just straight concrete, construction stuff? This is the world of atoms, not the world of electrons. In the physical world, if we just built stuff, the way we did in the 19th century, the way we did in the early 20th century, how much richer, how much more efficient, how much more productive would we be? I mean, California has a drought, let's build desalination plans. They have a drought? Well, it rains a lot somewhere else. Let's build a canal. We have traffic jams. Let's tattle under them. Let's build more roads. Oh, there's not enough housing. Let's build lots of skyscrapers. If you can fit seven and a half million people into Hong Kong Island and adjoining areas, you can filter a lot of people into the Bay Area, a lot, imagine. I'm a civil engineer in a previous life, I am. Imagine if civil engineering came back, if we could actually do something. If civil engineers were actually allowed to do civil engineering projects, build highways and tunnels and dams, skyscrapers and water projects. And imagine if all of that happened in a world of private property, how cheap that would be, how efficient that would be, how effective that would be, how rich we would be. I mean, and if there was, let's say, a climate crisis, imagine if we deployed all of our private resources because private people care about, I don't know, let's say there was a crisis, about not dying, deploy those resources, deploy that energy, deploy those smarts, deploy that capital, deploy that ingenuity to solve the problem. It would be like that, it would be a problem. We'd solve it like that. I mean, I was just reading an article about a company that Bill Gates has funded. Don't hold it against them. A company that Bill Gates has founded. It's not, maybe it's not a company, it's a research project out of MIT. I think it's MIT. About putting this material up in the atmosphere that would cool the planet. So if it's warming, if it were true, if it really is catastrophic, we could put up a chemical out in atmosphere, and we could test it, we could try it out, we could do all kinds of things, and it would bounce the sun rays back to the sun, it would cool the planet, and we could do a little bit to start off with and see what the effect was and play around with it and figure it out. But that's again a project that would never be approved. That's again a project that people are so afraid of. God, that's human beings playing God. You can't do that. What if it goes wrong? Then we fix it. And the fundamental here is the fundamental cause of this fear is not climate change. For all I know climate change could be real. The fundamental fear is not this idea that the sea levels will rise, maybe they will. Best friend Hank, thank you for the support, I appreciate it. I don't know. Let's assume they will. The fundamental cause of this is not, I don't know, more hurricanes or more droughts or whatever. The fundamental cause of the fear. Again, as Alex Epstein has shown many, many times, as others have shown, but Alex in particular, almost nobody, very few people die today of climate related problems. So even if they're accelerating, if they're growing, that risk to our actual lives on a day to day basis is very small. Now you might say, oh, in the future, maybe to get worse, maybe, maybe. But why, even if all of that were true, why would I not be afraid? Because I know every one of those problems is solvable. Because I know every one of those problems, every one of those problems has a technological solution. And I have a profound belief in the ability of human beings to solve these kind of problems. I always say, they build dikes to protect Amsterdam hundreds of years ago from flooding. You think we can protect Florida today if we had to? Of course we could. We build houses today. They don't blow away when a hurricane hits. We can have, Israel today provides, I think, all of its water from desalination plants. And yeah, that requires a lot of energy, right? Nuclear fusion, thermal from Quebec. It's a little far from California. But California could build nuclear power plants. Have a little mini nuclear power plants at every desalination plant. Or natural gas. Why am I supposed to keep Amsterdam out of this? Amsterdam's a great example. I love Amsterdam. So the real source of the fear. The real source of the fear is a lack of trust and belief in human reason. A lack of belief in human beings' ability to solve problems. A skepticism about reason and science and engineering. A skepticism that is fed by our elites and by the people in power who constantly convince people that technology cannot solve problems. That technology is the problem.  The real source of this is the fact that we elevate emotions over reason. We've abandoned this positive idea that we had in the 19th century. And again, I think in the early and mid 20th century, that we can solve anything. That there's no challenge that nature throws us at that we can't solve. And also, and here I'm inspired by David Deutsche's book. But it's something I've argued many times and many others have argued many times. Oh, thank you, Trika. Wow. Really appreciate that. 99, 99, 99. Trika says that the app won't let him round it off to 100. 99, 99 is great. This idea that human beings were born into as a species. We were born into this perfect environment. We were born into this planet that's gonna protect us and shield us. Everything's just there. It's a garden of Eden. This goes back to the garden of Eden myth which I talk about periodically. Action Jackson, if you're listening to this, you need to make a series of short videos of me talking about the garden of Eden myth because I think it's important and I think it's powerful. And I think people might actually watch it. Anyway, maybe I should do a series of lectures on Biblical stories. Somebody's done that already. Oh, yeah, that's right. Jordan Peters. Anyway, I could do one. So the idea is, what do they call it? Spaceship Earth. This is what I'm taking for David Deutsch. Spaceship Earth. We have Earth. It's this spaceship built for human beings and if we don't screw it up, if we don't screw it up, we can survive here forever. Spaceship Earth is amazing. But that's just not true. The Earth is unbelievably inhospitable to human life. It would be very difficult for human beings to survive on this planet without us changing it. The only reason we can sustain 8 billion people on planet Earth today or a million people on planet Earth, the only reason we can sustain a million people on planet Earth or even 500,000 people on planet Earth is by using our reason to change the world to fit our needs. If it floods, we build dykes, we build dams. If they're droughts, we figure out how to channel water from the lake to do our agriculture. If we need a hunt, we develop tools and weapons and strategies to get the animals. Nature doesn't like us. We're not a species that has evolved to survive with the way the world is. We're a species that evolved to change nature so that we could survive, to change the world to make it ours. Wes, thank you for the support, really appreciate it. $50 worth of chugging along here, guys. What makes human beings human beings is the fact that we must, as a requirement for our survival and requirement for our thriving, change the world to fit our needs. We must change our environment. We must exploit nature, otherwise we die. So if you really wanna be afraid, then be afraid of the shutting down of technology. Be afraid of not allowing us to build power plants and power lines and big canals and desalination plants and all the things and electricity for air conditioning and all the things that allow us to live in Las Vegas in the summer and in Alaska in the winter. Because we couldn't without heating and without air conditioning, without electricity, without transportation. I need the thing to require the human mind. And this is again, this is the Garden of Eden story. The fall as described in the Garden of Eden, in Genesis, the fall of man, which is getting kicked out of the Garden of Eden, is the beginning of being human. The fall represents our need to work, to change the environment, to fit our needs. The fall represents reason and free will. Before that, we were animals. Animals don't have reason, don't have free will. They just accept the environment the way it is. They succeed or they die based on the seasons, based on the environment. Human beings don't. Human beings change, adapt. We don't, somebody reminds you of a Leonard Peacock talk called The Evil of Respecting Nature. Yeah, our job is in respect nature. Our job is to change, manipulate, exploit, there's a word for you, exploit nature. For what? For our own well-being, for our own survival. So it's not planet-ship Earth. No, we as human beings are in a hostile environment. And a place not built for us. It's built for the chimpanzees and the microbes and the snails and the owls and it's built for them. But even there, if it changes a little bit, some of them will die out. Not built for human beings. For human beings to thrive in this environment, we must change it. We must adapt it to our needs. So the fear that's being elicited here is a fear of human, is a fear that is, it's source is our belief that we cannot, that we will fail to change environment to feed our needs. It's a fear that's focused on a lack of belief in reason, a lack of acceptance of reason and it's ability to be successful, it's ability to change the world. No, it's hostile. It's hostile and not in a sense of intention.   You are not going to survive. Reason allows us to pacify nature. Hostile not in intention, but hostile in action. And the first human communities couldn't grow very much because the environment in which they lived was too hostile for human formishing. They had to figure out solutions. They took them tens of thousands of years to figure out those solutions so they could grow and expand and go into other areas and change their environment so that they could live and they could grow. But it's, you know, again, not intentionally hostile but existentially hostile. Absolutely. Having animals running around all around you, cheetahs, lions, I don't know. That's hostile. Having snakes, that's hostile. Again, snakes are not there to, their purpose in life is not to get you, but they will get you if you don't do something about it. And of course, weather. Human beings are not good in cold and extreme heat. They need water, droughts. That's nature being hostile. Again, not intentionally, of course.  Yeah, I have no idea why we don't wipe out mosquitoes. All right, so the real challenge and the real way to overcome the fear is not to start knocking them down. Oh, it's not, the earth isn't warming and this fact is wrong and the hockey stick is wrong and this is wrong and that is wrong and all these things are wrong. The ultimate solution because, and by the way, this is the same thing with COVID, same thing with COVID.  Virus has always been around. We have a capacity to think, figure it out, solve problems. Give us the facts, let us decide how to live, how to behave, what to do. Should we remask, should we remask? What kind of medicines work, what don't work? What vaccines work, what don't work? We'll figure it out, we'll solve the problem. What's there to be afraid of? Well, you have to be afraid because if you're not afraid, how are we gonna lock you up? How are we gonna control you? How are we gonna make you dependent on government? And of course, it's not even, and here's the, here's an important point, it's not even the politicians and the people at the top are scheming evil conspiratorial rulers of the world. No, for the most part, they're afraid, they're petrified. They have no clue what's going on and they're scared and the way in which they respond to fear is by inflicting stuff on you. If I'm scared, I'm gonna make you scared too.  I'm more and more and more less likely to believe in the evil genius madman in the background scheming to take control over the world. I've never met anybody competent enough to do that. It was bad. Bad people are just not competent and they tend to be super emotional, super fearful. But if you look at all these issues, all these issues, the solution to any real issue, any real problem is reason, is to think more. If we undermine reason, all we're left with is emotion, all we're left with is fear, all we're left with is responses to fear, all we're left with is control.  We, it's gonna be impossible to knock them down, knock each one of them down, not each one of them out, prove that each one of them is wrong, don't think of this, don't think of that. What we need to do is elevate the methodology. What methodology? The methodology of reason, the methodology of science, the methodology of the way human beings make the world their own. All of these problems are solvable. All of these problems require thinking, require freedom and they're solvable. But that's not the environment we live in. I mean, just look at what's going on in every issue from COVID to climate to, I don't know, the war with Ukraine and Russia, fear mongering, hysteria, panic, reason, thinking, facts, evidence, thoughtful analysis, nobody cares about that, nobody wants it because for years and years and years, for decades now, we've been taught that reason is not efficacious, reason won't solve the problems, thinking is not the solution. And we've just been taught to accept the fear. That's what these psychologists are telling this woman, to accept it, world is going to hell, just have to accept it. You have to learn to live with the fear, you have to learn to manage the fear. Don't look at the source, don't look at actual solutions, that would be relying too heavily on flawed human beings and flawed reason and flawed ability. No evidence, zero zilch. So much of this world can be explained through kind of just looking at it from the perspective of people are just guided by emotion and a dominant emotions by a lot of these things, of fear and guilt. Thank you for listening or watching the Iran book show. If you'd like to support the show, we make it as easy as possible for you to trade with me. You get value from listening, you get value from watching, show your appreciation. You can do that by going to iranbookshow.com slash support, by going to Patreon, subscribe star locals and just making a appropriate contribution on any one of those channels. Also, if you'd like to see the Iran book show grow, please consider sharing our content and of course, subscribe, press that little bell button right down there on YouTube so that you get an announcement when we go live and for those of you who are already subscribers and those of you who are already supporters of the show, thank you. I very much appreciate it.


The article proposes a new reference model called zero interaction potency, ZIP, to classify drug combinations as synergistic or antagonistic. ZIP captures drug interaction relationships by comparing the change in potency between individual drugs and their combinations using a delta score to quantify deviation from expectation. The authors demonstrate that a delta score of zero implies both probabilistic independence and dose additivity and use data from an anti-cancer drug combination experiment to show that ZIP accurately captures synergy while keeping false positives low. Additionally, the article suggests using an interaction landscape over the full dose response matrix to identify and quantify synergistic and antagonistic dose regions, which may improve understanding of drug combinations mechanisms of action for clinical translation. This article was authored by Bugvanyadov, Krzysztof Wennerberg, Tarou Ato-Kelio, and others. We are article.tv, links in the description below.


If you have understood this, then I can follow it up with another question, which is of very very similar nature. Let's see whether you are able to crack that question is show that the locus of points the locus of points such that of the three normals drawn from them to the parabola y square is equal to 4 a x coincide is 27 a y square is equal to 4 times x minus 2 a cube. Is the question clear? So you have to find the locus of points, let's say that point h comma k such that two of the three normals drawn from them coincide that means two of the roots are two of the roots from M1, M2, M3 are the same very very similar to the approach that we had taken you guys this time it is something like this it touches and goes back. So let's say this is your M1 and here M2 and M3 would be the same okay it could be this way as well I mean I am not denying that it could not be this way it could be this way as well it could come like this touch and go back that means this is your the two roots M1 equal to M2 and this is your M3. If done let me know so guys here the things will not change we are looking at the same scenario right so h comma k will satisfy the equation of the normal like this right okay and again let's say I call this term as f of M this is your f of M f dash M again if you put it to zero you get two roots alpha and beta and you know both are negative of each other okay. So in this case what will happen this is your alpha and this is your beta or it can happen this is your alpha and this is your beta in both the situations you would realize that f of alpha into f of beta would be equal to zero isn't it because either the value of the function at beta is zero or the value of the function at alpha is zero correct. So if you remember the previous slide in the previous slide where we talked about less than zero so if you recall here where we talked about less than zero now we are talking equal to zero and if you're talking equal to zero it's but obvious that will end up the same expression just with a equality sign so we'll end up 27 a k square equal to four times h minus 2 a cube correct isn't it yes or no yes or no guys and then we generalize this it becomes 27 a y square is equal to four times x minus 2 a cube is it clear any question so far so please ask me if there's any question so far atmash Rohan Lalita Snigda okay next we are going to talk about circle through co-normal points circle through co-normal points so let me ask this as a question to you if three normals are drawn from an external point alpha comma beta to the parabola y square is equal to 4x then prove that the equation of the circle passing through passing through the co-normal points passing through the co-normal points is given by x square plus y square minus 2 a plus alpha times x minus beta by 2 y equal to 0 excellent question so what do we need to prove over here is that so I'm an external point alpha comma beta this is your alpha comma beta when you're drawing normals to this parabola y square is equal to 4x which meets the normal at a b and c then if you pass a circle through it one thing that you would have observed that this circle is passing through origin this circle passes through origin so that's why I have drawn a diagram in such a way that I'm made to pass it through the origin also so prove that the equation of the circle is this first prove that it will pass through origin that is most important step before generalizing once more okay see Rohan in the previous problem in the previous slide we had talked about f alpha f beta less than 0 correct so that there are three distinct real values of m correct now in this case what is happening alpha and beta are what alpha and beta are the points of maxima and minima of the function because they are the roots of because they are the roots of the derivative of the function equated to 0 right correct so alpha and beta should be such that in this case it would be such that the value of the function at beta would be 0 you can call beta to be a repeated root okay so you can see in this situation number one and in both situation number two the value of the function at beta is becoming 0 f of beta is becoming 0 here here f of alpha is becoming 0 because to have two real and equal roots it must touch the x-axis it must touch the x-axis so that is what is happening over here so when it is touching it is creating repeated roots over there right so whatever is the root of f dash m the same would be the root of f of m okay so f of alpha into f of beta one of them would be 0 I don't know which one of them but one of them would be 0 that's why their product would be 0 so I just use the previous result so instead of inequality sign I put a equal to sign and therefore I got the locus is that clear Rohan so here guys let me help you with this let's say a is basically corresponding to that slope which is m1 or let's say this point a a m square comma minus 2 a m1 remember t is related to m as this relation so t and m are negative of each other okay so let's say point b is a m2 square minus 2 a m2 point c is a m3 square minus 2 a m3 okay and let's say point b which I don't know what it is right now I'm just calling it as a m4 square minus 2 a m4 okay so what I'm saying here is that the circle is cutting the parabola not only at those points where it is where the co-normal points are getting formed but also at some fourth point now how did I know that first first of all how do I know that is cutting at the fourth point it's very obvious it's very obvious that if you generalize if you write the equation of any circle we usually write it like this correct and if you try to solve the parametric equation of this parabola if you try to simultaneously solve these two okay and you replace your x with a m square then this is what we get right and this is clearly a fourth degree expression this is clearly a fourth degree expression in m so this is a fourth degree or you can say a bi quadratic a bi quadratic equation in m bi quadratic expression in m that means four roots are possible for this that means a circle will cut the parabola definitely at four points and let's say the roots of this equation are m1 m2 m3 m4 okay these are basically your co-normal points so these first three that is m1 m2 m3 they are nothing but they are associated with the slope of the normal at the co-normal points now what is m4 that is what we have to find out okay now we have already seen in our previous concept that the sum of the algebraic sum of the normals drawn at these co-normal points will always be 0 is it so from an external point if I draw three normals to the parabola the sum of the slope of these three normals would always be 0 this we have seen as a property correct so here also if you see the sum of the roots that is m1 m2 m3 plus m4 what will be that that will be minus of b by a right and b is the coefficient of m cube so if you see there is no m cube term that means 0 m cube term is there so it will become 0 by a square which is again 0 correct which implies this term was already 0 this term was already 0 and adding m4 will also giving you 0 that means m4 is also 0 correct if m4 is 0 then you can see that this point here would be a into 0 square minus 2 a into 0 that means my circle will definitely pass through the origin that means it is cutting the parabola not only at the co-normal points a b c but also at a fourth point let's say d this d which is your which happens to be your origin so far clear guys no problem in understanding this correct now if your circle is passing through origin that means if the circle is passing through origin that means c term in the circle would be 0 that means your circle would actually be of the form x square plus y square plus 2 gx plus 2 fy equal to 0 the c term would be 0 in the circle correct so if I remove this c term from here this c term if it goes off then you can see that you will be getting something like this let me write it in some other color let's say blue then you get something like a square m to the power 4 plus 4 a square 2 a g m square minus 4 f m equal to 0 okay take an m common and you get a m cube plus 4 a g m minus 4 a f equal to 0 now we clearly note that this m equal to 0 that is coming from here is corresponding to the origin it is corresponding to this fellow correct that means this equation is the one which is corresponding to m1 m2 m3 okay if you want you can drop a factor of m also from here sorry drop a factor of a also from here so that means a m cube 4 a plus 2 g m minus 4 f equal to 0 this will be responsible for giving you the roots m1 m2 m3 m1 m2 m3 okay this was responsible for the root m4 are you getting this point slightly heavy concept but if you understand this things will be fine for you okay now what I can claim here is that the original equation whose roots was m1 m2 m3 which was actually a m cube plus 2 a minus alpha m plus beta equal to 0 this also has roots m1 m2 m3 correct that means these two equations are identical these two equations are identical correct and if they are identical I can compare the coefficients of m cube m and constants on both the sides okay so if you compare the coefficient of m on both the sides we can say we can say 4 a plus 2 g is equal to 2 a minus alpha that means 2 g is equal to minus 2 a minus alpha okay so g we obtained similarly minus 4 f is equal to beta so 2 f is equal to minus beta by 2 so 2 f also be obtained so the required equation of the circle which is x square plus y square plus 2 g x so plus 2 g x plus 2 f y plus 2 f y plus c c is already 0 it would be this correct and if you simplify this it becomes the required equation that we need this is going to be our answer okay so I think it matches with this equation yeah it matches with this equation so all of you can see over here I just repeat the process once again so that everybody understand this clearly this is quite a difficult concept actually so first of all I had to find out the equation of a circle which passes through the co-normal points correct so what I did is I took the equation of any general circle I took the equation of any general circle like this okay and try to solve it with the equation of the parabola okay and I got a bi-quadratic equation and I got a bi-quadratic equation okay now bi-quadratic equation will have four roots m1 m2 m3 m4 correct out of that three roots are the ones which are belonging to the co-normal points so that will be 0 that means the fourth root that is m4 that will also be 0 right once I got the fourth root as 0 that means the fourth point through which the circle passes is definitely origin correct that makes my C also 0 that makes my C also 0 that means the circle will be of this nature that means my circle will be of this nature correct and if C is 0 the new equation becomes this if I take m common it becomes this so either m could be 0 or this expression could be 0 correct m equal to 0 corresponds to m4 so forget about it the other cubic equation which is left that corresponds to m1 m2 m3 as the roots so I am talking about this fellow correct so this should be same as the original equation of the of the conic section or of the parabola from where m1 m2 m3 roots where whose roots where m1 m2 m3 so these two should be identical so the identical I just compared their coefficients here I got the value of 2g I got the value of 2f and I then substituted it in the equation and I got my