Hello everyone, I'm John Furrier here in the Palo Alto Cube Studios. I'm the co-host of the Cube, also co-founder of SiliconANGLE Media. We're here for some big news from Veritas. We're at Eric Sademan, who's the director of Solutions Marketing for Veritas. Veritas is introducing today and the press release is on the wire of Veritas Predictive Insights. Eric, thanks for coming in today and sharing the news. Absolutely, thanks for having me. So you guys have a unique new thing for Veritas, not new in the industry, but new in capabilities called Predictive Insights. I know Dave Vellante's actually linked on your press release and covered it in Chicago as an embargo. This is exciting news for Veritas because you guys have so much customer install-based, tons of data. Talk about what this product is, what's the news? Well, thanks John. Yeah, actually the news, it's pretty exciting. Our customers are very exciting and receptive about it. What it's actually doing is helping our customers reduce both planned and unplanned downtime. And the way we're doing that is with an analytics engine that we've developed. That's taking all the data from over 15,000 of our appliances around the world. We've been collecting that data for three years. We have hundreds of millions of data points from that. And we're utilizing our own AI ML engines that we've created to be able to predict things in customers' environments that may cause them downtime or outages and fix those before they happen. So that's why our customers are really excited about it. So how much does this cost? Well, it doesn't really cost anything. It's a value add, you know, if our customers are utilizing our Veritas auto support services today, then as of yesterday, the service is turned on and we're already looking at their systems and creating this intelligence on them. So this is immediately value though. So this is a new product from Veritas that takes existing operational data from your customer's environment.  Exactly. Telemetry data, what, hundreds of millions of signals, call center, real log data around real outages and real things, and creating machine learning and AI on top of it to extract value for you guys or for the customer? Well, it's really for the customer. The benefit for the customer is that we have insights into our worldwide universe of customers, but we can look at individual systems and say, why is this one operating differently than the others? And then the machine learning will actually determine that the ones that are operating really well have this patch and this patch installed and those types of things. And then we can apply that learning in that model to a particular customer's system. And they get a dashboard.  So there's this, big enterprises, there's a lot of fatigue associated with events that are occurring all the time. You think of an enterprise, when we have customers with many, many just net backup appliances alone, you think of their entire infrastructure and all the alerts that they're getting that creates a lot of fatigue. A lot of things go unfixed because they're minor events, like maybe a patch needs to be installed or for more update while they're fixing the more hair on fire problems. But then ultimately those, what looked like smaller events build up and build up and then they create outages. So what we're able to do is to identify which systems have potential anomalies, highlight those very visually. And then they can drill down and we'll have prescriptive maintenance that can be taken to improve that score. So cyber reliability score, let me just get that in a second. I think that's a big deal. I want to read the press release headline. Veritas Predictive Insights uses artificial intelligence, AI, machine learning, ML to predict and prevent unplanned service. Now, key word there is unplanned service. This is kind of the doomsday scenario for a customer. If they get a large data center or large infrastructure devices, unplanned basically means an outage if something happens, something bad happens. Something bad happens. Something like that. So what you guys are doing is giving them a value-added dashboard that taps into a product. So if, correct me if I'm wrong, but a customer that has Veritas, if they have the products, they get the service. If they become a customer, they now have the capability built in out of the gate. And so they see all this. So you're taking all the data from years of experience, giving them a dashboard to help them look at unplanned downtime type scenarios and give them specific actions to take predictive analytics and prescriptive analytics for them. Exactly. So what we're trying to really achieve for our customers is to use that intelligence and machine learning to identify things that may cause an outage in the future and prevent that outage from occurring, causing that downtime by taking remedial action in advance of that happening. And that's the beauty of predictive insights. That's really what it's providing for our customers. So you guys have this always on feature called auto support feature. Correct. That kicks in and this brings the system to a reliability score, SRS. I think this is important. I want you to explain this. I think this is a trend we're seeing certainly on the cloud side of the market. Google has pioneered this concept called site reliability engineer. Over years of practice how to make their infrastructure work great. So we know that that kind of concept of having reliability, you guys are now giving a score to each appliance. Correct. It's almost like a health detector or like credit score. Definitely. Credit score is a good analogy. So explain SRS. What's it mean for the customer and what's the impact on them? Yeah. So I don't know if you ever, like maybe utilize one of those credit scoring apps or something like that where it's monitoring your credit from three different agencies or whatever. That's kind of what we're doing. Only the data sets are coming from a much broader set of appliances, right? But we're showing you your system reliability score, credit score if you will. And then we're showing you very prescriptively the processes you can take to improve your credit score if you will or your system's health and reliability. So that might be installing a firmware patch, installing a software update, things of that nature, replacing some drives that may fail in the future. And all of those steps will then increase that.  Yeah. Unplanned, unforeseen things are, some sort of thing goes on, hurricane, wildfire, you never know what's going to happen. So you got to be prepared for those kinds of infrastructure chains or whatever. So I get that. So the operator's going to have a nice dashboard. I totally buy that. I want to get into the impact to the more than the business side. How does this help the business owner that's at your customer? Does this help them with planning, refresh rates, total cost of ownership? Can you just talk about the impact of how this data relates to their job because I'd be like, what's in it for me? Yeah, no, exactly. And there's really three key areas that we're addressing for our customers. I mean, the first one is around improving their operational efficiency, right? Again, reducing that alert fatigue and make it easier on the infrastructure management to do their job with less headaches, with less dashboards, lighting apps. So it's very, very prescriptive on highlighting what needs to be done and helping them through that process. The other areas around the prescriptive fault, potential fault detection and fixing those anomalies before they can actually cause a downtime event, right? Doing that in advance. So that's reducing the planned and unplanned downtime, which can be significant in terms of cost to your business. And one of the analysts states that there's 20 million a year in costs associated with downtime events like that. And that varies by industry, right? That's a dart at the board. It's a big number. It's a big number. It's a big number. You can pick your number, right? It's huge. And then the third area is really around helping our customers have better predictability into what their utilization requirements are. So the benefit there is really helping them improve their ROI on our appliances, because now they don't have to overbuy and overprovision, say capacity, because we can show them the trend data, amount of efficiency they're getting from Ddupe, and they can right size their appliances in terms of performance and capacity, and then we can warn them in advance. That's a real big thing, because what's happening there is proactive. It's very proactive. It's not reactive. It's exactly. You can solve them on the reactive side, because you can just fix it. But then the proactive side is weirdly where things break as you blow over capacity. You might want to add more. Yeah, believe it or not, those types of things have caused downtime events in our customers where they're assuming their backups are going to complete, as an example with net backup appliances, and yet they're out of capacity at the last moment, and that's a fire drill for them. So we can show them out 30, 60, 90 days what their utilization is, and then a threshold as at this point in time, you're going to have potential outage, some kind of problem. And so we recommend that you add this capacity. Before Eric, talk about the customer reaction. As you guys actually announced today, you talked to customers all the time. When you showed customers in pre-launch, what were some of the feedback you guys heard? What were the key areas? What did they hone in on? What was the key things about the predictive insights that made them get jazzed up about this? Yeah, so it's really, I would say, covers the two key areas that I already mentioned. One of them is helping prevent unplanned downtime. That's a big concern for our customers in any industry. And this is going to be able to help them overcome that kind of rear view mirror look as to what's happening in the data center and fixing a problem after it's occurred. Now they'll be able to be in advance of that and a limit or at least significantly reduce those types of issues. And then the other one is helping again in that event fatigue at the operational model. That's where we've gotten the best feedback. So I've got to ask you a hard question, which is, hey, predictive analytics has been around for a while, pretty descriptive. Why now? What's different about this opportunity? Obviously free is good, because your customers get turned on pretty quickly. They get the benefits immediately and net new customers get it.  But what's different about you guys with this versus what might be out in the market? Yeah, I would say the key differentiation is, is that we have this very, very large universe of installed based systems that we've been gathering data on for over three years now. So the more data you have, the more data points you have, the better results you'll get from a machine learning type of environment. And we're still collecting data, both from the machines that are coming in from the telemetry data, as well as from our service personnel. So that right off the bat makes our kind of solution unique in others that may have been like out sooner in that we've developed a rich data set that is being applied to the machine learning. And hence our results out the gate are very, very good. And you're using that, you're not actually charging for it. So that is another big one. That's true too. Yeah. So let's get into the specifics on the rollout. This is a digital transformation table steak. You guys are checking it. It's a big box here. This is good. And it gives your products some capability and leverage that metadata. And that is what this data driven world's about. And certainly IOT is going to even make this even more of a table steak. On the rollout side, it's all appliances, veritas, and then software only and then you're going to go beyond veritas. Is that right? Explain that. And what does that mean? So I get the appliances. What does software only mean? And what is beyond veritas? Yeah, so just to reiterate today, it's of our appliances only, but many of our customers consume our solutions of software and they're putting it on there, bring your own server model, probably about 40% of our customers. So we believe we can add this type of capability to be able to provide insights into our software that's installed on independent third party hardware as well. Maybe some of the capabilities won't be as rich, but we're going to start building those capabilities over time and try to bring in that data and help those customers that are software only. And that's on the roadmap. That's on the roadmap. Because there's not to be able to. Okay, beyond veritas. Yeah, so obviously many of our customers today are protecting data on-prem, protecting data in the cloud or some kind of hybrid model. And we support, we don't really care whether the customers want to store their data. We're capable of protecting it and helping them achieve whatever those cloud type of initiatives are in their environment. So an obvious next step would be to, hey, how can we bring this to help you know where your data is located and how it's working in those environments? Is that backup going to be able to be restored as an example? So we're looking at future capabilities to add on to this. There's going to be huge value to our customers. This is great news. Thanks for coming in and sharing. We really appreciate it. I want to get your thoughts on some observations that we've been making. Certainly the cube coverage of veritas has been increased. Dave Vellante has been out on the road with the team. I looked at some of the new backup recovery versions looking new UI, everything's kind of a new veritas going on here. That is. What's the vibe going on in veritas? What's new about veritas for the folks watching now and saying, this is really cool. Veritas is cool and relevant right now. You guys, products are product market fit. You just got kind of a new veritas vibe going on. What's it all about? Share your thoughts. Yeah, so I think there's, you know, some people call us legacy, right? But I don't think that's necessarily a bad term, right? I mean, like when I'm gone, I hope I've left a legacy, right? That's worthwhile. And so we have that legacy, which is great because we've been adding this value for customers many, many years, right? But what's new and exciting, I think for us, is that we're able to provide solutions that are very, very simple to utilize. Very easy to accommodate whatever their requirements are, whether it's on-prem, hybrid, or in the cloud. We don't really care. So we've kind of progressed, I would say, into a very, very modern architecture for what we're doing and meeting the requirements today of what our customers are doing as well as looking forward. And this predictive insights piece, I think it's just another manifestation of how we're progressing as a company, what we can bring to bear today on current problems in the data center and also looking out in terms of, you know, where the future requirements are as well. I'm ready for those. Well, legacy is a great word, I love you thinking about that, because it's a double-edged sword.  But if you look at what Microsoft's done, they're a classic vert as a legacy vendor. Office was shrink-wrapped software, Satya Nutella comes over, and now they're the darling of cloud. They've shifted their product and execution to be what customers want, which is cloud. Now they've got Office 365, Azure's been repurposed. There's some stuff that's still working on it, but clearly cleared the runway. And, you know, Oracle, not so much, Microsoft has. So this is a veritas kind of vibe that's going on. Similarly, to Microsoft, you guys are looking at, hey, we got install base, we're going to use that and leverage the assets of that install base, that legacy, harness it and make it part of the digital transformation. Is that kind of that vibe? Yeah, no, exactly. And I think Microsoft's a great example. I mean, we're in tight partnership with Azure, as a matter of fact. I just came from one of our Vision Solutions days where a gentleman from Azure shared the stage with us and talking about our partnerships and all that. So I mean, great example, right? But we're bringing those capabilities into the cloud era, if you will. We have solutions that run natively in cloud help that environment. Making the transition, a digital transformation. Veritas, the new Veritas, they got the solutions that are cloud enabled, using data for the benefit of the customer, not just trying to bolt it on and make more money. They're actually bringing value to the install base and changing the game up. Eric Seedman here inside theCUBE, Director of Solutions Marketing and Veritas, part of theCUBE conversation, part of their news coverage of their predictive insights. I'm John Furrier here in the Palo Alto Studios. Thanks for watching.


Hi, my name is Alice Spencer. I am the Global Programme Director for our flagship event, the Prince of Wales's Business and Sustainability Programme, the BSP, which we've been running since 1994 and this has really become the global benchmark for sustainability leadership education. So the programme is designed for senior leaders to really help them navigate global sustainability challenges. So while we do curate the programme with that constructive challenge at the front of the room, most of the incredible learning on an ongoing basis happens through peer engagement and networking within the participant group. Alumni often build professional relationships which unlock potential within their sector and their organisations, but also within their regions as well. Alumni are invited to join CSL's network once they've participated in the event, which gives them access to 30,000 members who share our common ambition to deliver positive change for people, nature and climate. So if you would like to know more about this programme, you're very welcome to peruse our website or alternatively please do feel free to get in touch with my incredible team who can guide you through the course information and importantly the application process. Thank you very much.


I must say, good morning, good afternoon, good evening, wherever you may be, across the planet, around the world. This is probably my last hurricane update for the evening. See the clouds are moving pretty fast. The gusts are pretty strong at times, but it seems like, you know, for the majority the worst is over. That poor dude, his roof has taken a beating. There were times where I'd see the carport lifting up. I figured that carport's getting torn off, but it lasted. It's still okay. Poor palm trees have taken a beating. It's lightly raining. Well, it's not that bad, you know. The wind's blowing. There's large gusts that happen. There's one going on right now. It's overall not that bad. I know it was heading right toward my parents' house. My mom is so stubborn. She won't get a smartphone. They have like one of these old Nokia. She doesn't know how to text. Her friends that are all her age or older, as my mom's 86, her friends all have cell phones, smart phones. They know how to text. Use them like the rest of society, but my mom was adamant about not wanting a smartphone. So now I have no way of contacting my parents. They've been without electricity for a while, and then the storm was heading right at them. So I don't know. I'll spend the night here tonight, and then I'll go to my place and check on it tomorrow morning. And if everything's okay there, what I'll do is I'll pack some food and bring it down to my parents. I'll make something or I'll pick something up, whatever. Check on them. See how they're doing. Just remind everyone too, I have an in-fighting beach meetup on Sunday. The weather's going to be fantastic for that. It's at the main beach on Siesta Key, Florida. It starts at three o'clock in the afternoon behind the Green Light Guard Tower. Some of these gusts are really strong still. But like I said, I think for the majority we're out of most of the woods. I think it'll, according to weather.com, I was looking at the radar on there. Kind of shows like the projected forecast shows that it'll be out of here, Sarasota, for the most part, by like 10, 30, 11 o'clock this evening. We have survived the worst of it, lived to tell about it. So, sorry about that. I had to dry my phone off. I had to, uh, my cupcake, LOL, Carl, Lynn, Michelle, my sister, Tara. Yeah, it's still pretty windy. Sis, Siesta. It's not as bad. It's not, you know, the gusts, the gusts are pretty, pretty strong at times. But it's not that bad, you know. See a squirrel running down the street. It's not that bad. It's not that bad. Wendy, but not unbearable. Now, again, I'm very grateful to my hosts and season. Thank you for hosting me. It's much better than the cold gymnasium floor, but it would have been. We have had the electricity go off a number of times, but it always came back on. Which is nice. And I'm sure there's a lot of people without electricity and my heart goes out to you.  And for those that are, you know, in the past of this, it could have been a lot worse, I think. But, you know, hang in there and lots of prayers will be going out to you guys as well. And thank you to everyone who sent prayers out to all of us here in Florida. We all appreciate that.  None of that was there yesterday. Let's take a look at the street. It's not horrible, right? For the category four hurricane. It could have been a lot worse, I'd imagine. Right? So I think we escaped this one relatively safe. Thank you, Universe. Thank you, Guides. And thank you, everyone, for the prayers. It makes a big difference every else in Tampa. Wait, did you guys dodge a bullet? Good for you. Hi, Gross. Big hugs. Thank you. Hello, blessed. I'm in Sarasota on the Gulf Coast. And it's still south of us right now. But it's moving like northeast, so it's going to be kind of moving away from. Sarasota. The worst should be over by. It should be all over, honestly, here in Sarasota by 1030 or 11 o'clock in that area. Depending on, you know, how quickly the storm decides it wants to move its.  I've got friends like my friend Rosie. I tried texting her. She's in Cape Coral. I looked her altitude up. From her street address, sea level, I'm thinking Rosie. I called her up and I contacted her and said, Do you realize this? She said, no, no, no, that's wrong.  I hope she's right. That's not what I saw. I tried to tell her. I tried contacting her. I sent her a text and she didn't answer back yet. I have another friend in Boca Raton. A Boca Brown. And actually both friends moved down there. Tim. And he hasn't answered my text back yet either. But I'm sure there's a lot on their plates as well. So yeah, it's here in Sarasota. The worst is over. We still have some strong gusts. Still raining a little. But I think, you know, in another four, four and a half hours, it should be completely gone here in Sarasota.  It's just like what the tarot card said, at least for us here in Sarasota, directly right here in Sarasota. I can't speak for all of Sarasota. I know some people have lost electricity already, a few people have. And I'm so sorry about that. And hopefully the electricity gets back on soon. They should be able to get out and start working tomorrow on looking at the map. So for all those who lost electricity, hopefully it's not going to be that long that you'll be without it. And who knows, I might be one of those people too. I did hear a transformer go off at the end of the street. And that's toward the direction of where I live. Four tenths of a mile from where I'm at right now. Yeah, this is one of those gusts.  This guy's already lost tiles on his roof. Look at the carp, look at the carp shed. Carport, bobbing up and down. So yeah, we still have a little bit more of this going on. But I think the worst is over. As soon as I say that, we have this huge gust. Hi to LA Love A Girl. How are ya? No ghost said. No ghost panther in Bradenton. So yeah, that's the next city north of us. So they got a little bit less than we got it here. But hopefully your panthers saved and find there as well. I'm hoping they're okay. I'm gonna thank you for asking Wendy. How's your mom and dad? Dad and mom. I'm gonna go there tomorrow morning. Well, I'm going home tomorrow morning to check up on my place. Then I'm gonna make something. Assuming everything's okay, I'll bring some food down to my parents. No, we're not. The eye actually, I think, went through. They said it was Sanadel, but it wasn't Sanadel. It was an outlying island near Sanibel, north of Captiva. It took the hurricane head on, but then the hurricane ended up going through Charlotte Bay and into Fort Charlotte. It didn't really slow down a lot, but it did a little. Everyone's grateful for that. But from what I understand, it's still a kind of gory fork. Like here in Sarasota, it's kind of like, like I said, it's moving northeast. So it's kind of moving away from us. And as I say that, we have this huge gust. I'm telling you, it's going away. It's like, oh, no, I'm not. Make me where I'm at though, where I'm reporting from. It's very protective, which is good because you guys are able to hear me. Yeah, sending lots of love to Rosie. Hi, Neil. Thank you for the loving prayers. That's what I'm at. You're very welcome. Thank you, Kendra. I appreciate that. Holding positive thoughts. Yeah, even better. Thank you. Sarah says wind 70 to 80 miles per hour up to 140 recorded in SRQ. Wow. Still windy here. Stay safe. You know, it's not like 140 sustained, right? Yeah, more like what you said, probably 70 to 80 sustained and up to 140. I'm not going to take it lightly. It's still pretty powerful, but I think the worst is over. I wouldn't recommend going out and doing stuff or driving or any of that. Oh, thank you. Indeed. I agree, Kendra. Yeah, it's almost over for us here in the southwest Florida. It's just beginning for Central and Northern Florida. I think I might have to hiccups again. I had them yesterday. I feel them coming on. My boyfriend is in Northwood and heard from him since 12. He's sending lots of positive energy to you and him. Yeah, that's right there. A lot of electricity is out down there. A lot of power outages are going on down there. Kim says she works for the choice of roofing. The company is down for a boot camp in Orlando. Oh, wow. It's going to get stranded. They'll be helping out people getting their roofs replaced. Wow.  Yeah, it's heading right there from what I understand. It's going to go right through Orlando, I believe. Yeah, sending them lots of love and safety and protection. Thank you, Celia. Appreciate that. Yeah. The whole thing should be out of here by 10, 30, 11, according to the weather radar. But the worst should probably be over by eight or nine. I agree. You understand my humor.  Yeah, this is the last update needed, I think. Well, I thank everybody for out with me throughout the day. Sending lots of love to Florida. And continue sending lots of loving healing energy to everybody in the path of this because it can't hurt and it costs you nothing. Right? So I'm going to wrap it up there. Going in and getting dry. So I'll be off to my parents' house tomorrow. I'm sure everything's fine. Until the next time, Greg, sending you all infinite love and light. Those that are local, I hope to see you at the InFightBee Beach Meetup on Sunday at 3 p.m. So until the next time. Sending you infinite love and light from my heart to yours.


Oh, not properly perhaps. Welcome, it is noon. My name is Mark and my 20 minutes will be about giving you a little inkling of what is happening outside of Europe, North America more precisely. This is Vostem, this is European mostly and I thought it would be a good idea to give you a little bit of an idea what type of geospatial trends and developments in the technical arena are happening in especially the USA. I work for the Eclipse Foundation, I'll come back to that later. When I started my own company in 2000, my own open-spatial, open-source service provider, basically looking for a business model, it was all about what I would call traditional mapping.  And it was all about you import the file, you slice and dice a bit and you edit maybe a bit, you try to publish it via whatever visualization tool was available at the time and that was it. And everybody was happy and once every week, month, municipality would update their files and you would load it up and slice and dice it and edit again and that was called data management. Now, fast forward 17 years and we are finding ourselves in what we call the era of big geospatial data and I'm not talking millions, I'm talking trillions and more because if with all the sensors, satellites and social network information that comes available on a daily basis and if you still believe that there's the 80-20 parades rule that 80% of all data has a geospatial component, then I really feel that there is an agenda for us in this room and beyond to sort of have a look in what does that mean for us in terms of the tooling that we use. Imagine you having a wearable, counting your steps in order to sort of lose weight. You have your car and preferably it is a connected car. It's not about mapping. As far as I'm concerned, GIS 2.0, 3.0, whatever you want to call it, it's about spatial awareness in general and the geospatial component is just part of the features, one of the many features that is sold in an end product. It's not about the map anymore. It's about the end product and spatial awareness that that end product has. So we all know Intel Insight. What is it? Coca-Cola has saccharine inside. That's a sort of ingredient branding. Personally, I think it's spatial insight from now on and not that you're going to be out of a job anytime soon, but if you want to sort of reach your pensionable age, please take note. Spatial insight. Well, what does it relate to? Internet of things. Everything becomes a sensor. You become a sensor. My watch becomes a sensor. And it all sort of interacts with one another. Imagine the huge amounts of data that is being transferred, handled, has to be interpreted, has to be processed. We all drive our connected cars and maybe our autonomous cars eventually. We are going to live in smart cities where we interact with the lamp post almost, which is sort of good because if you're drunk you don't run into it anymore.  Earth observation. Well, can you imagine the amount of satellites at the moment circling Earth? It's so busy up there that if we want to shoot a rocket into space, we have to find that little window of opportunity out there. Reversed, all the satellites have, they reap so much data about our environment that it is not possible to process that with the old tooling. Okay, GeoServer on steroids can really do a lot, but also there is a finite point to it. I had to sort of look up what the V's were in big data. Well, if you could sort of think about what that entails for the geospatial agenda, then there is an emphasis on what I would call velocity and visualization and variability in particular. Volume 8020, okay, we're still talking about trillions more than the present 100, 200, 500 million. And when we talk about velocity, well, guys, it's really about now. We want to have the data and the interpretation almost instantly. Variety, hey, that's where we come in. If almost all data has a location, then that is true. That's valid. All other information related to that object can be untrue, but there's at least one thing true unless we have a sort of different type of Earth in the near future. How much variety does this geospatial data see or ocean until? Well, at the end of the day, it has a place, but it has also a time tag. Something is measured at a given time. I'll come back to that later as well. Well, visualization, I think you guys are much more aware of what is possible than I will ever be. Well, the value of it all is once you have the place and the relative position of all those things, people, then you get relational insights from which you can deduct quite a lot of how you call value, business value, academic value, personal value. And within the Eclipse Foundation location tech working group, we have a couple of projects. I'll just sort of skimp over the four major ones that I think are quite mature by now. We have had our first simultaneous release in November. I call it a semi-simultaneous release. It was November and the first week of December. But that was the first time in two years that we had this. Most of the projects have an age of two, three years at the utmost. So it's all quite new, not unlike GeoServer, which is around since I know, since I am working in the spatial arena. We have one, GeoMesa, and that manages up to trillions of vector data. It streams it real-time and it is all based on a cloud architecture. That's the only way to process those huge amounts of data real-time. It's all distributed, computing, and so it needs to have support for the Sandra, HBase and the like. I was looking for a picture of its major use case. With GeoMesa, all ships in the world's seas and oceans attract real-time. And that is a project that, if I'm not mistaken, was initiated by the American government. Which brings me to another item. Did you know that in the United States legislation is very strict around the production of open source? I hope the roof will hold. What they believe in, and I miss that dearly still in Europe, and I'm running around Europe for a long time now. But in the States, they say, as a governmental agency, we have to provide return on investment and of taxpayers' money. So anything that they create in terms of code needs to be open sourced. And here we have the European Union sort of trying to get legislation going and national governments. So I really feel that we are sort of lagging behind there. Grass was up earlier, the 7.4 release. It was once donated by the Department of Defense of the U.S. So there's a long tradition within the U.S. government to provide us here with tooling that we can work on and that we can help and maintain and build upon. Another project, this is slightly on her. I think for 90% the same as Geomisa, but it has different use cases. This is a bunch of libraries that help to compute in a distributed manner. And it can be in the cloud, but can also be in your own environment. It makes its use of GeoServer. And again, the store retrieves, analyzes big geospatial data sets. Then we have the roster part of our industry. Before I was talking about factors, this is also a tool set. And mind you, this is not a finished product. Finished products can be made on top of these tool sets. And here again, it's all about trying to get your architecture in the cloud and to make a maximal use of it. One project I'm really proud of is sort of GeoGeek. It is derived from the GitHub, Git ID and concept where you can handle raw geospatial data. And that allows you to have what they call spatial temporal, I never can remember that one, insights.  And you want to know from your colleague who's about 100 meters further down, a kilometer further down the road, is the situation there better or not. And meanwhile somewhere in a head office of Red Cross or a project office, somebody who is far removed has to have an insight of what is actually happening and what is the state of affairs at the disaster area or in the disaster area. So volunteers can plug in what they see. Hey, no houses, no roads, no this, no that. And they can do it real time. It's stored. It is versioned. And whoever is the project manager for that specific area, he or she can really have up-to-date information and see how it progresses over time or quite often deteriorates over time. Now you all know OSGO and one of the reasons why the projects of OSGO have gained traction, have gained credibility is because of the fact that there is a home for them. It's not something that's somewhere on GitHub. I'm from the years of Sourceforge. 600,000 projects listed on Sourceforge. If you wanted to find something, well, good luck. Most of those projects have died probably by now. So, and Sourceforge and GitHub in itself are not a home for a project. In order to have a project that is being maintained and that has a sustainable future ahead of it, you need to have management on top of it. And you can do it by totally only volunteers. That's great. And it quite often works. But somebody needs to sort of pull all the threads together and have an oversight. Well, the Eclipse Foundation does that for a lot of also non-geospatial projects. And all the projects are sort of organized around and in working groups. So we have a science working group. We have an IoT working group. Polarsis is one for system modeling. And we have location tech. That way there's a focus on, hey, how are the projects doing? And we help them develop a marketplace. Because good technology in itself is never going to win the race unless somebody is sort of willing to pull the card and say, hey, I'm going to sell it. Now, this is a rather technical environment. And the moment that I use the word sales, sometimes I see people like, oh, God, what's that? I don't want to have anything to do with it. But at the end of the day, your salaries need to be paid by an end user. And that's where foundations can help you. And a foundation like Eclipse and a working group like location tech is the place where there's not only technical development going on, but also market development. We are going to create interest with end users. We are on the road, like I'm here on the road. And if you're at working for an end user, hey, maybe you could think, hey, gosh, I'll have a look into it. Or if you are part of working for a service supplier, good, great. Maybe you can become a member and help develop that market locally, internationally. That is the way to do it. The location tech working group. It has a steering committee. It has a participating membership structure. We have guest members, for those who cannot pay it, or just want to have a look. Just for one year, what this is all about. We have also a project management committee per project. So for GOAV, there's a project lead, and that lead is representative in the project management committee. The same for the other projects. We have a mission, of course, and a focus. And, okay, please read it. But at the end of the day, it's all about collaboration. Very competitive collaboration, technical collaboration. We try to focus on solutions, but also on components and tools that help you create an end solution. And we try to sort of mix with the other working groups. Like, hey, IoT, there's a geospatial component to your sensor. Maybe we can work together. So we cross-fertilize within our larger community. I mentioned quite a lot of this already. If you want to have a look at our projects and what it's all about. Most of them have still a very American base to it. And what I hope is that they are going to be picked up also by the European crowd. I don't see these projects here in Europe. And maybe you can sort of rectify my opinion about this. But I'm feeling, and that was the original title of this talk, I'm feeling that Europe is going to be left behind when it comes to real big geospatial data analytics. We're dealing with millions, hundreds of millions, 500 millions. Hey, what about trillions and more? Are we prepared for that? Normally you would have a project like one of these already in Europe. I don't see it. Well, now we can create our own, or you can join what's already there. And what has been already paid for. That was it. Thank you. Questions? None. Well, gosh, it was too much of a sales pitch. A fear of privacy and data? I think the whole fear factor is hindering us so much in innovation. Because unless we can really hear at this table say, what are the elements that, or what are the actual fears? What do we fear? But it has become such a discussion about privacy discussion, this discussion, that. But at the end of the day, if I'm Bosch, the large German engineering company who has just joined Eclipse as a strategic member, they sell products. They have assets like cars, trucks, you name it, it's huge. They want to trace their assets. And those assets, at the end of the day, when they have sold it, like little pieces of goodies, three-dimensional mostly, then you're wearing it. I read a little tweet lately that Fitbit or whatever type of thing around your wrist, there were army bases of the United States Army, how do you call it, found out, because the military guys were running with their Fitbit all over the terrain. At the end of the day, it's not the thing that is unsafe, it's the usage. And I think it's really sad that then the usage, the particular usage of that thing, is then, how do you call it, diminishing the value of that thing. And yes, you have to be absolutely careful with data in general, whether it's 1 million data sets, 100 million, 1 trillion data sets, but the same rules have to apply then. So I don't think it's a hindrance, it's more like, okay, once we get used to the hundreds of millions, then we can scale it up. Legislation is not different for 100 or 500 million million. You see where I'm coming from? Anybody else?


Hi, welcome to Visual Studio Toolbox. I'm your host Robert Green and this episode is part one of what winds up being a two-parter on Blazor which is an experimental technology that could revolutionize the web development world. I had Sam Bazoo and Ed Charbonneau here a few weeks back. They were here for the Visual Studio Live Conference which was on Microsoft campus.  Unfortunately, I had a conflict and Dimitri wasn't available. So I left them alone in the studio. They were so excited they spoke for an hour so we're going to cut that in half. This is the first half of them explaining to us what Blazor is. Hello and welcome to VS Toolbox Show. My name is Sam Bazoo. Robert Green is busy so I'm filling in for the day. And with me I have Ed Charbonneau and we can talk about something very exciting especially in the ASP.NET land with Blazor and WebAssembly, right? Yep, so I'm a huge fan of Blazor right now. It's an experiment that's being worked on by the ASP.NET team, Daniel Roth and Steve Sanderson. They're working hard experimenting with this new framework. So I'm happy to have the opportunity to come on Visual Studio Toolbox and kind of share that story with everyone. Awesome, tell us more about. So my name's Ed Charbonneau. I'm a developer advocate with progress or you may know them as Tellerik. Sam here is a developer advocate at Progress as well, co-worker of mine and we've kind of invaded the Visual Studio Toolbox episode here to talk about Blazor. So I am an author, I do some writing. I have a podcast called Eat Sleep Code. And if anybody ever wants to reach out and get in touch just give me a shout at on Twitter. Okay, all right, so let's dive in. What's the hoopla? Sounds like there's some very sharp minds behind this at Microsoft and other places. Tell us more. So as a web developer that specializes in C-Sharp, one thing that I've always wanted to have is the ability to write C-Sharp and create client-side applications using it. Okay, so to kind of back up, so with ASP.NET, is it entirely server-side? We can do some things client-side, right? But it's all in JavaScript. Right now, if you want to write an application that's running in the browser, you're gonna have to leverage JavaScript. But there's some new things that have come around with web assembly, which is a way of natively writing code for your browser that it understands using web standards. It's a byte code format. So it's similar to an assembly language, but it runs natively inside the browser and the browser understands it. So we're starting to step away from the days where JavaScript rules the browser only and we're allowing some new things into the ecosystem. Okay, so from what I understand, like every browser has a JavaScript engine, right, V8 or Chakra or WebKit, and it's these engines that run JavaScript natively in the browser client-side. So now we're saying there is something more that the browser can run, and that's the web standard that you talked about. Yeah, and I want to point out this is a web standard because we've tried some things like this before. And well, things have changed. Things have changed. So maybe to back up, so I'm actually a big fan of Silverlight back from the days. Flash was a plug-in and sure it had some vulnerabilities. I think Steve Jobs kind of wrote a scathing letter one time to say, so essentially when you run Flash on Safari, it makes your tiny iPad heat up and that's not something Steve liked. So he essentially kind of killed the plug-ins model and along with it like we never said Silverlight is done, but we just kind of stopped talking about it and maybe the plug-ins model just didn't scale for the web. So now we're saying we're not going to do plug-ins. This is different. No, no plug-ins. And don't get me wrong, these were things that were necessary at the time and people were doing with the best tools that they could to build amazing applications. I'm sure there's some just phenomenal Silverlight applications out there that people have built, but now's the time to start moving on to something else. We're going to drop all those plugins and just use things that the browser understands natively.  Like people who did Silverlight, we just enjoyed the dev experience, the rich ecosystem, the data binding with C-Sharp and Xamarin and I think as developers, all of those skills, I mean, they move forward with be it UWP, be it WPF or Xamarin Forms. So you can build cross-platform apps with the same skill sets. Absolutely. We're just trying to see how we can bring that dev module back the ease of using Visual Studio and C-Sharp, but do it differently in the browser, right? So how so? So let's start off with no web assembly. How does the browser work without it? So normally we feed the browser HTML and JavaScript pages, those things go through a parsing and then they're kind of pre-compiled. They're turned into a JavaScript tree and the JavaScript engine inside the browser interprets that into a bytecode. So it gets jit-compiled, turns into bytecode and then things happen within the browser. So that's kind of where web assembly happens. What they've done is think of this kind of like, for lack of a better term, a dependency inversion of control, right? So we have this part of our browser that understands this bytecode. What if we took that part of the browser and exposed that to where developers could target it? So this is web assembly. So we can target this bytecode now and give that to our browser and our browser understands how to execute that bytecode. So when we do that, we open up that input to things like C++, Rust, Go, and our favorite C-Sharp. Okay, so now you're talking about like higher level programming languages and able to write things that we're gonna compile down. Maybe not compile as maybe not the right word, but bring it down to that low level assembly ish code which the browser can execute on its own. Yeah, and there's one more clarification to make here. This isn't bytecode that would run on your machine. So this isn't something that's gonna get loose and have security issues and, for example, a library that you send down isn't gonna be able to access your system registry or run natively on your Windows desktop. Okay, so it is still running in the browser shells, so to speak. It's very much sandboxed. And the bytecode is only gonna be understood by the browser. It's not something that's used outside of the web. So why should I trust web assembly? Is this like a standard that the web community has accepted? Absolutely, so this is a web standard. It's in all the evergreen browsers. And then also if you have another browser that's say maybe on a mobile device, there's some manufacturers that like to ship their own web browsers and those don't always have standards that are up to what we expect. There are polyfills that can polyfill in web assembly. So it will be compatible with those as well. All right, so you mentioned like modern browsers. So is that like Edge, Safari, Chrome, all of their latest bits will support web assembly? Yeah, so when we say something like an evergreen browser, that's one that doesn't have a hard version number that we're tracking. Auto updates. For example, like IE789 or Edge. You're always on the latest version. Okay, so Apple is on board with this. Okay, Edge, Safari, Chrome, those Firefox, the big ones that many of the users use, those are the ones that you would expect to have the native use of web assembly. And then the other ones, like I said, the polyfill works. There's a little bit of performance gap, obviously with that type of approach, but at least your app works. Okay, all right. So this is where Blazor enters the picture. Now there's a couple modes of how Blazor can run. One of those is very new. So we'll talk about that in just a little bit. But what I want to focus on right now is the experience where you're developing for the browser, the client. And you're running the application on the client. There is an opportunity to run it on the server and this diagram doesn't quite fit that model. So right now we're talking client side. Why Blazor, what's with the name? So the Blazor name came from Razor. So we're gonna use Razor to create our markup for our application. And then the Blazor part of it comes from the... Is running it in the browser? Yeah, in the browser. So browser, Razor, Blazor. I see, I see, okay. So like Razor is the syntax that we use to build ASP.NET applications, be it MVC or ASP.NET Core. You're saying we're gonna use the same syntax, but it's gonna just run client side in the browser. Yeah, so if we look at the diagram here, what happens is, remember that model we had before, we're gonna feed the browser HTML and JavaScript only. Now we're using the Blazor framework. And the Blazor framework, it renders those C-sharp, or sorry, the Razor CS HTML files. Those get turned into HTML, which the browser understands. Then we take Mono. So Mono, the runtime that can target multiple platforms, they're now targeting the browser. Okay, so this is Mono under the covers. And Mono, as we know, that's not a new thing. I mean, Mono's been around since .NET has been around. So it's the port of .NET to other platforms. And that's how Xamarin apps run today on iOS, Android and other platforms. You're saying we will use Mono to bring your C-sharp down to WebAssembly? Yes, so Mono is compiled to run on WebAssembly. And then Blazor is a framework that sits on top of that. Now Blazor is able to take and load your DLLs directly into Mono. And Mono is running those in an interpreter into the browser. Okay, so it is being interpreted at runtime now, but eventually you might have a little more static compilation, make things a little more faster. So right now, this is the way it's happening. There are, I've spoke with Daniel Roth and there are ideas around maybe collapsing the stack at a final compilation stage where all of your application gets compiled into WebAssembly directly. So when it loads into the browser, it's at native speeds and there's nothing inhibiting that direct pipeline into the browser. Now, the way this works now, this is a great development experience because when we compile, we're compiling it to DLLs and then Mono is handling that WebAssembly interpretation for us. So the compilation time is very short. If we were to take our entire application and compile it, that compilation time would take quite a bit of time and our development process would be slow. So this is a very fast way to iterate on an application and build it and then in the future we may have that longer compilation to get the final package tightened up and ready to send down to our users. Okay, now I see blazer.js and Mono.js, what are those? So those are kind of intermediate layers for the browser to help do things like JS interops. So we have a JavaScript interop layer. So there are things that WebAssembly doesn't support yet. So there might be times where we need to fall back on JavaScript. So we can actually talk to JavaScript from within WebAssembly. So from .NET code you're gonna call JavaScript and back and forth? Correct, so we can actually do that bidirectionally. We can call JavaScript modules and functions from within Blazer and then we can also from JavaScript invoke .NET functions. So that's one reason those two JavaScript files are there. The other part is just loading the application up. So the Mono.js takes and loads bootstraps up the Blazer assemblies and then Blazer has those interop layers and communicates down through Mono.js into those interops directly. So we've got a nice stack workflow here that we can build some pretty interesting applications already. Now it's worth saying that Blazer is an experimental project still. Sure, for now. We're in release 0.5.1 as of recording. The first 0.1 release was just in March. So it's only six months old. It's a baby. It's got a lot of growing to do. But I hear it's come a long way. It's come quite a long way. They are making some good investments in producing this experiment. And it's nice to have this experimental phase because they're able to think outside the box, do some creative experimentation with it and not have to worry so much about breaking changes at the moment. And the community gets to weigh in. We developers get to try it out and see what works and where the pain points are. So back on this diagram, this is all client side, right? This is absolutely all client side. And Blazer, it can run out of process. So we don't need to necessarily be tied to WebAssembly. We can do it on the server. And we'll get into a project. This is actually something that shipped in 0.5.1. This is very, very important. Where we can run the framework on the server side. So we don't have to compile it down and then send it into the mono WebAssembly runtime. We can use the regular .NET runtime on the server. And then what we're gonna do is open up a SignalR hub and communicate across the hub to your browser and do diffs between the browser and the updates that we need to send. We'll get into that more. We don't want to get too much going on at once. Let's lock in the client side first. So client side, we've got our Blazer framework running on top of mono. We're able to load DLLs directly into the browser. Which is something very new and unexpected that. Then it's curious. Yeah, we'll pull up the network traffic here and take a look and see what's happening. So what exactly are you shipping from the server side when you do Blazer apps? All of it. We're shipping DLLs down to the browser and the browser is able to understand how to run those DLLs thanks to the mono runtime. Okay. And hopefully we are doing some work with linkers and some tree shaking. So we are shipping only what we need on the client side. That is stuff that is in the works that's coming. Yes. So right now we're shipping down full assemblies. But soon we hope that Steve and his team will come up with a way to create smaller DLLs and ship those across the wire. Yeah. All right, let's see this. So before we get started, we'll talk a little bit about the Blazer framework itself. It has a lot of those things you expect out of a single page application framework or a spa framework. It has a virtual DOM. So DOM manipulation is a very taxing effort. So things like jQuery that directly go in and modify, manipulate the document object model in the browser, those things are sometimes pretty inefficient. So Blazer has its own shadow DOM similar to other spa frameworks like Angular and React. This almost sounds like a very spa client side framework with some of the features like routing and layouts and dependence injection. So we interact with this virtual DOM and then Blazer does diffing between the actual DOM and the virtual DOM. So it's only changing what it needs to change rather than repainting that entire DOM within the browser. Gotcha. So we have efficiency there. We have a component model. It's a very model view model type thing. This is something that developers from other .NET frameworks would appreciate. Things like UWP and WPF and Silverlight. It's not identical but it has some similar type of ceremony. This is what we liked about Silverlight development. This is the ease of doing data binding and XAML tools, the ecosystem. And if you're saying we can bring some of it back, then yeah, let's do it. We have some layout capabilities in there as well. Dependency injection on the box, something that we'd expect from a modern .NET framework. So we have that as well. We have routing that's very easy, follows that razor pages type of construct where we open up a page and have an at page attribute and we'll show some of that in a moment. And then again, the JavaScript interrupt is part of this as well. So we'll show that too. So let's jump straight into Visual Studio. Now I have some tooling that I have to install. If you wanna install this tooling, you go to blazer.net and just follow the step-by-step instructions there and you'll have the same tooling that I'm showing now. So in Visual Studio, I have a file new project experience for this and I am gonna click on the ASP.NET Core web application project template and we'll just do okay here to spin up a new project. And notice I have three new projects in here. I have a Blazer, Blazer, ASP.NET Core hosted and Blazer server side. So let's dig into these really quick. So before you do that, this has to be ASP.NET Core 2.1 release and forward? Yes. Okay. As of now, so as of recording, that's what it is. And Visual Studio 15.7 or eight. And those instructions again are on blazer.net. You'll find those there. They may be updated after this video airs. So make sure you keep an eye there but you do need to install these.  So our first project, think of this Blazer app is a client side only template. So if you were to do this in say just normal JavaScript terms, it would be HTML, CSS, JavaScript. Static files you run on your client only, okay? So we're not talking about server interaction. You can still have server interactions but you do that through web APIs and things like that. They're not included in this project. Sure. The next one over is the Blazer ASP.NET Core hosted. I like to call this the full stack template. So this has the previous project template but it also includes ASP.NET Core and some web API endpoints that we can hit. So that's kind of like your backend then for your app. Yeah and ASP.NET is actually hosting the application as well. With the first example, you don't even really need a host. You just need somewhere to stick your files and it's just stuff the browser understands so it can pick it up and run it. Just like in HTML, JavaScript, CSS project, you could put it on GitHub, Pages and host it there. Any FTP server and just put it on and run. Exactly, Azure storage. You can host your application from using that format. The second one here though, this actually has ASP.NET Core hosting the application for you. It also has web API endpoint for you to be able to hit and it also has a concept of code sharing. Remember we're using the same language now on the browser client and the server. So that's interesting. So folks doing Node.js, we are used to doing like JavaScript front and back and now we can do C sharp front and back essentially, right? Absolutely. So that's where that one sits. This is a brand new project. So this is where I kind of talked about it a little bit earlier. This is a server side model. No web assembly involved where the Blazor framework sits on the server as an application and the server connects through web sockets down to the browser using SignalR. Okay. Those packets with SignalR are sent through a binary transfer. So it's actually taking the diff from your updates, your interactions and sending that up to the server. The server then processes the changes in Blazor and then Blazor knows the diffs to make, sends that down the wire in a binary packet and then the SignalR client picks it up and replaces what it needs to in the browser. Interesting. So it's a very interesting approach to doing this type of development. Yeah and if you talk about like server side now you're kind of in Node.js territory and you can kind of think about what this might mean for electron.js apps maybe that run on the desktop but we'll get to that but then this is interesting that we can actually host Blazor outside of the web browser's process and just do it all on the server or desktop. Yeah so it's kind of extending that UI thread across the wire instead of doing it right there in the browser on the client. So let's actually jump into this first Blazor template so we can actually show some code and how this stuff is structured. So I'm gonna spin this up, file a new project, look in our solution explorer, see what we get. Some of these things may seem very familiar out of the box because they follow conventions that we already use in ASP.NET development. In particular, this looks familiar if you do any razor pages so you don't have the model view controller pipeline you have pages, right? Absolutely. And that's where you render things from. So we'll start top down, we have our WW root. So this is just like you would find normally this is static resources for our application. We go into pages, like you said, razor pages, same idea here. We have all of the features of our application. People like to talk about apps and features now, like we wanna have our, in this case, our component feature and our fetch data feature and we can dive into those files here in just a moment. And then our shared libraries, our shared views. Same concept is ASP.NET, we have things like templates in our main layout and even we can even have a view imports file to do those global using statements and bring in component libraries and things like that. And another familiar concept is the startup and program.cs files that you find in .NET Core projects. Those are the things that bootstrap your application and configure dependency injection and all of those great things. So let's give this guy a run. We'll get this started and kick it off in the browser and then we'll go look at the code behind it and see how this works. So you're running this in IS Express but you just said it may not need any of that. We don't really need to do all that. We could host this on GitHub pages if we wanted to. These are all static files that we're using here. So we get our Hello World app. We have a couple features here. We have our counter component. We can click and increment a counter. You're not coming back to the server. So no, there is no server. We're not doing any data transfer across anything right now. We have a fetch data but it's all being handled locally. So we're just grabbing a JSON file and just pumping the data into the application. So we're grabbing that static JSON file. It's not coming from web service or anything at this point. So right now it kinda looks like an average application but let's see how it's built. So let's dive into some of the features here. Let's open the counter component or the counter page. You'll notice right away this is the razor syntax. It's a .cshtml file and it uses very familiar conventions. It does, yes. At the very top we have our router. So page is at the counter endpoint. So if we go to counter in our browser that's where we end up. And that routing is built in. Now routing is built into the framework. So now we have just simple HTML here. We have our header tag and then we have our current count and then we're using razor here to display a value of current count. Sure. We have a button to click and then we have a vent binding to the on click event. And then we have a function block here that has our functionality for this page. So there's our current count that's being bound up here. And we have our event handler for the increment. So when you say add functions, like that's C sharp, right? Yeah, this is razor and everything inside of this block is C sharp code. Yeah, yeah. So there's no JavaScript at all on this page. And when we click the button it invokes this increment count function and it's data bound to this current count value. So that's the view that we see here when we click this button. So we're able to do that with very little code. It's all, there's no post backs going to the server. It's all being handled locally on the client in a very easy to understand fashion. Okay. So if you go back to the browser for a second, so you said this is, it has a shadow DOM but there is a DOM out there. So if you right click, you will actually see HTML. Yeah, absolutely. So those C sharp or CSHTML files are being rendered out into the browser. So you'd see your bootstrap rows and your links and your buttons and all those good things. Let's actually jump over to our network tab while we're in here and just do something interesting. Let's do empty cache and reload. And when this comes down across the wire notice that we're actually sending DLL files from the server. Little scary. So, yeah, let's see. These all get loaded in through web assembly and our application spins up and it's all client side. Okay. So we're actually running these DLLs locally on the client. That's very interesting. You're literally shipping .NET DLLs to the browser. Absolutely. And letting it figure it out at runtime. And if you look at the sizes, this is where you're saying it'll get better. Like we'll ship smaller and smaller as we go. Yeah, yeah. Right now you can see that we're shipping the .NET standard DLL, MS Core Lib and all these things as a whole across the wire. I would imagine I'm not on the dev team just for clarification. But I've had discussions with Daniel Roth, the PM on the team and he's adamant about making these things smaller and more compact when they go across the wire. Sure. So let's jump back into code again. We'll take a quick look at the fetch data. This is the view that if we click fetch data here, we have a little bit of a grid showing some data that's coming in. The first thing I wanna point out again, we have routing and then underneath routing, we have this at inject declaration up here. So this is actually calling out to the dependency injection system and it's asking for the HTTP client that's registered in dependency injection. So that's gonna get resolved. And then down in the code of this page, you'll see we use that HTTP client to go to a file on local storage. Okay. So you're not going anywhere, it's just a JSON that you're loading. But you could go across the network if you wanted to. Absolutely. We could make requests to back end services and all those type of things. And we're doing it in a familiar.net way. We're using HTTP client and doing a get JSON async to pull in a object type of an array of weather forecasts. So there's JSON binding that's happening automatically in here. So we don't need to even worry about those type of things. And then there's our weather forecast object right there. So we're getting these values and just mapping those values from the JSON into this object. And then we iterate over those in the view. So at this point is this, would you say these are views or would you say these are components? So these are both actually. So we have the concept of a page here. We're using this at page directive with the routing. But I could actually come into my home or my index and let's wipe this component out for a moment. And I can come in here and type encounter. Notice the nice IntelliSense come up and we'll close that tag. And I'll come back to my browser and refresh. And let's go home and wait for it to refresh. We're getting a message. I'm actually in debug mode. So let's actually run this a different way. Let's do a control F5. So we'll run without debugging. So we can refresh this experience. Now remember this is an experimental project. So the debugging experience right now is a little lackluster. There's some work being done to make debugging available in the browser. We can actually at current state set break points. In C-sharp? In the browser we can set break points. We'll look at that in a few moments because I don't want to get too off track. So we'll be able, at some point we'll be able to debug C-sharp code in Chrome or IE. Wow, okay. At current state it's not quite there but it's getting there. So back to talking about the components. Do you have the counter? Taking that entire page, use it as a component. I see. So. And that's not something you were able to do at all in ASP.NET MVC or Core or Razer. That's correct. This is a new component. Literally a component. So this is kind of like in some ways like Angular and React. You're just literally plopping a component down into a page. Absolutely. Very similar concept to those things. You could say it was inspired by or borrowed from those which those things were inspired by and borrowed from things like WPF. Oh absolutely. We rediscovered the same problem so we're not over again. So let's have a little fun with the counter component that we have. We'll go back to this page here and let's set up a property. So we actually have a shortcut for this now in the tooling and we can say instead of prop tab tab which we might be used to to do this, we can say para parameter tab tab and now we get the parameter attribute and then we can expose a property on our component. So let's call this count by. So this is an integer that we'll set to be count by and instead of just incrementing this internally we can just say plus equals count by. We might want to set a default value here. This is what if somebody does not pass in the parameter. So we'll do that. I saved it. We'll go back to our index and now we can say count. I may have to recompile here. Let's do a build and now we can do count by. There we go. Now our IntelliSense comes up. We needed to build that library out. I can set that to an integer of five and we'll save this and we'll refresh our page. So if I'm getting this right, so these are individual components. So the actual counter should still increment by one but this one should pick up the parameter. Right, so the instance of the counter on my index page counts by five and the instance of the counter on the counter page is only counting by one. But now we've extended that component out and actually made it a little more robust where we can have like a developer experience where you can type in and get IntelliSense and set variables and properties on the object. This is the component. So a very simple component model to understand. It's absolutely simple to get up and running. So let's take a look at the other project type. So that's the first half of a full hour of Sam and Ed talking about Blazer in the next episode of Visual Studio Toolbox. We'll continue on with their conversation.


Reduction of salt consumption by just 15% could save the lives of millions. If we could cut our salt intake by a half teaspoon a day, which is achievable by avoiding salty foods and not adding salt to our food, might prevent 22% of stroke deaths and 16% of fatal heart attacks, potentially more than if we were able to successfully treat people with blood pressure pills. An intervention in our kitchens that may be more powerful than interventions in our pharmacies. One little dietary tweet could help more than billions of dollars worth of drugs. What would that mean in the US? Tens of thousands of lives saved every year. This simple step could be as beneficial on a public health scale as interventions aimed at smoking cessation, weight reduction, and giving people blood pressure and cholesterol-lowering medications. And that's not even getting people down to target. Here's the level everyone should get under, exceeded by most Americans over the age of three. And here's the recommended upper limit of salt intake for African Americans, those with hypertension, and everyone over the age of 40. Processed foods have so much salt added that even if we avoid the saltiest foods and don't add our own salt, that would just get us down to here. But still, that would save up to nearly 100,000 American lives every year. So given that approximately 75% of dietary salt comes from processed foods, the individual approach is described as impractical. We have to get food companies to stop killing so many people. And the good news is, several manufacturers are reducing the salt content of their foods, but other manufacturers are increasing the salt levels in their products. For example, the addition of salt to poultry, meats, and fish appears to be occurring on a massive scale. The number one source of sodium for kids and teens is pizza. For adults over 51, it's bread. But between the ages of 20 and 50, it's the greatest contribution of sodium to the diet. It's not canned soups, pretzels, or potato chips, but chicken, because of all the salt and other additives that are injected into the meat. This is one of the reasons in general animal foods contain higher amounts of sodium than plant foods. Given the sources of sodium, complying with the recommendations for salt reduction will require large deviations from current eating behaviors. We're talking a sharp increase in vegetables, fruit, beans, whole grains, and lower intake of meats and refined grain products. As might be expected, reducing the amount of sodium would necessitate a precipitous drop in meat consumption for men and women of all ages. You can see why there's so much industry pressure to confuse people about sodium. How do vegetarians do? 10 vegetarians get nearly 3,500 mg of sodium a day on average, the equivalent of about a teaspoon and a half of table salt. Now the US Dietary Guidelines recommend getting under 2,300 a day. An American Heart Association says no way to get under just 1,500 a day. Vegetarians did better, but still double the American Heart Association limit. In Europe, it looks like vegetarians do better slipping under the 2,300 cutoff, but appears the only dietary group that nails the American Heart Association recommendation are those eating the most plant-based of diets.