From theCUBE Studios in Palo Alto in Boston, bringing you data-driven insights from theCUBE and ETR. This is Breaking Analysis with Dave Vellante. Techniques to protect sensitive data have evolved over thousands of years, literally. The pace of modern data protection is rapidly accelerating and presents both opportunities and threats for organizations. In particular, the amount of data stored in the cloud combined with hybrid work models, the clear and present threat of cyber crime, regulatory edicts, and the ever-expanding edge. And associated use cases should put CXOs on notice that the time is now to rethink your data protection strategies. Hello and welcome to this week's Wikibon Cube Insights, powered by ETR. In this Breaking Analysis, we're going to explore the evolving world of data protection and share some information on how we see the market changing in the competitive landscape for some of the top players. Steve Keniston, a.k.a. the storage alchemist, shared a story with me, and it was pretty clever. Way back in 4,000 B.C., the Samarians invented the first system of writing. Now, they used clay tokens to represent transactions at that time. Now, to prevent messing with these tokens, they sealed them in clay jars to ensure that the tokens, i.e., the data, would remain secure with an accurate record that was, let's call it quasi-immutable and lived in a clay vault. Since that time, we've seen quite an evolution in data protection. Tape, of course, was the main means of protecting data and backing data up during most of the mainframe era, and that carried into client server computing, which really accentuated and underscored the issues around backup windows and challenges with RTO recovery time objective and RPO recovery point objective, and just overall recovery nightmares. Then in the 2000s, data reduction made disk-based backup more popular and pushed tape into an archive last resort media. Data domain, then EMC, now Dell, still sell many purpose-built backup appliances as do others as a primary backup target, disk-based. The rise of virtualization brought more changes in backup and recovery strategies as a reduction in physical resources squeezed the one application that wasn't underutilizing compute, i.e., backup. And we saw the rise of Veeam, the cleverly named company that became synonymous with data protection for virtual machines. Now the cloud has created new challenges related to data sovereignty, governance, latency, copy creep, expense, et cetera, but more recently, cyber threats have elevated data protection to become a critical adjacency to information security. Cyber resilience to specifically protect against ransomware attacks is the new trend being pushed by the vendor community as organizations are urgently looking for help with this insidious threat. Okay, so there are two major disruptors that we're going to talk about today, the cloud and cyber crime, especially around ransoming your data. Every customer is using the cloud in some way, shape, or form. Around 76% are using multiple clouds, that's according to a recent study by HashiCorp. We've talked extensively about skill shortages on theCUBE and data protection and security concerns are really key challenges to address given that skill shortages, a real talent gap in terms of being able to throw people at solving this problem. So what customers are doing, they're either building out or they're buying, really mostly building, abstraction layers to hide the underlying cloud complexity. So what this does, the good news is it simplifies provisioning and management, but it creates problems around opacity. In other words, you can't see sometimes what's going on with the data. These challenges fundamentally become data problems in our view. Things like fast, accurate and complete backup recovery, compliance, data sovereignty, data sharing, I mentioned copy creep, cyber resiliency, privacy protections, these are all challenges brought to fore by the cloud, advantages, the pros and the cons. Now remote workers are especially vulnerable and as clouds expand rapidly, data protection technologies are struggling to keep pace. So let's talk briefly about the rapidly expanding public cloud. This chart shows worldwide revenue for the big four hyperscalers. As you can see, we projected that they're going to surpass $115 billion in revenue in 2021. That's up from 86 billion last year. Such a huge market, it's growing in the 35% range. The interesting thing is last year, 80 plus billion dollars in revenue, but $100 billion was spent last year by these firms in CAPEX. So they're building out infrastructure for the industry. This is a gift to the balance of the industry. Now to date, legacy vendors and the surrounding community have been pretty defensive around the cloud. Oh, not everything's going to move to the cloud. You know, it's not a zero sum game we hear. And while that's all true, the narrative was really kind of a defensive posture and that's starting to change as large tech companies like Dell, IBM, Cisco, HPE and others see opportunities to build on top of this infrastructure. You certainly see that with Arvin Krishna's comments at IBM, Cisco obviously leaning in from a networking and security perspective, HPE using language that is very much cloud like with its GreenLake strategy. And of course, Dell is all over this. Let's listen to how Michael Dell is thinking about this opportunity when he was questioned on the queue by John Furrier about the cloud play the clip. Well, clouds are infrastructure, right? So you can have a public cloud, you can have an edge cloud, a private cloud, a telco cloud, a hybrid cloud, a multi cloud, here a cloud, there a cloud, everywhere a cloud. Yes, they'll all be there. But it's basically infrastructure and how do you make that as easy to consume and create the flexibility that enables everything? Okay, so in my view, Michael nailed it. The cloud is everywhere. You have to make it easy and you have to admire the scope of his comments. We know this guy, he thinks big, right? He said enables everything. What he's basically saying is that technology is at the point where it has the potential to touch virtually every industry, every person, every problem, everything. So let's talk about how this informs the changing world of data protection. Now we all know, we've seen with the pandemic there's an acceleration toward digital and that has caused an escalation, if you will, in the data protection mandate. So essentially what we're talking about here is the application of Michael Dell's cloud everywhere comments. You've got on-prem, private clouds, hybrid clouds, you've got public clouds across AWS, Azure, Google, Alibaba, really those are big four, hyperscalers, you got mini clouds that are popping up all the place, but multi-cloud to that HashiCorp data point 75, 76%. And then you now see the cloud expanding out to the edge programmable infrastructure heading out to the edge. So the opportunity here to build the data protection cloud is to have the same experiences across all these estates with automation and orchestration in that cloud, that data protection cloud, if you will. So think of it as an abstraction layer that hides that underlying complexity. You log into that data protection cloud, it's the same experience. So you've got backup, you've got recovery, you can handle bare metal, you can do virtualized backups and recoveries, any cloud, any OS out to the edge, Kubernetes and container use cases, which is an emerging data protection requirement. And you've got analytics, perhaps you've got PII, personally, Identifiable Information Protection in there. So the attributes of this data protection cloud, again, it abstracts the underlying cloud primitives, takes care of that. It also exploits cloud native technologies. In other words, it takes advantage of whether it's machine learning, which all the big cloud players have expertise in, new processor models like things like Graviton, and other services that are in the cloud natively. It doesn't just wrap its on-prem stack in a container and shove it into the cloud. No, it actually rearchitects or architects around those cloud native services. And it's got distributed metadata to track files and volumes and any organizational data irrespective of location. And it enables a sets of services to intelligently govern in a federated governance manner while ensuring data integrity. And all this is automated and orchestrated to help with the skills gap. Now, as it relates to cyber recovery, air gap solutions must be part of the portfolio but managed outside of that data protection cloud that we just briefly described. The orchestration of the management must also be gapped, if you will. Otherwise, you don't have an air gap. So all of this is really a cohort to cybersecurity or your cybersecurity strategy and posture, but you have to be careful here because your data protection strategy could get lost in this mess. So you want to think about the data protection cloud as, again, an adjacency or maybe an overlay to your cybersecurity approach. Not a bolt-on, it's got to be fundamentally architectured from the bottom up. But, and yes, this is going to maybe create some overheads and some integration challenges, but this is the way in which we think you should think about it. So you'll likely need a partner to do this. Again, we come back to the skills gap, but we're seeing the rise of MSPs, managed service providers and specialist service providers, not public cloud providers. People are concerned about lock-in and that's really not their role. They're not high-touch services company. Probably not your technology arms dealer. Excuse me, they're selling technology to these MSPs. So the MSPs, they have intimate relationships with their customers. They understand their business and specialize in architecting solutions to handle these difficult challenges. So let's take a look at some of the risk factors here and dig a little bit into, you know, the cyber threat that organizations face. This is a slide that, again, the storage alchemist Steve Kenniston shared with me. It's based on a study that IBM funds with the Ponemon Institute, which is a firm that studies these things like cost of breaches and has for many, many, many years. The slide shows the total cost of a typical breach within each dot and on the y-axis and the frequency in percentage terms on the horizontal axis. Now it's interesting, the top two comprise or compromise credentials in phishing, which once again proves that bad user behavior trumps good security every time. But the point here is that the adversaries attack vectors are many. And specific companies often specialize in solving these problems, often with point products, which is why the slide that we showed from Optiv earlier, that, you know, messy slide looks so cluttered. So it's a huge challenge for companies. And that's why we've seen the emergence of cyber recovery solutions from virtually all the major players. Ransomware and the SolarWinds hack have made trust the number one issue for CIOs and CISOs and boards of directors. Shifting CISO spending patterns are clear. They're shifting largely from, because of the catalyzed by the work from home, but outside of the moat to endpoint security, identity and access management, cloud security, the horizontal network security. So security priorities and spending are changing. And that's why you see the emergence of disruptors like we've covered extensively, Okta, CrowdStrike, Zscaler. And cyber resilience is top of mind and robust solutions are required. And that's why companies are building cyber recovery solutions that are most often focused on the backup corpus, because that's a target for the bad guys. So there is an opportunity, however, to expand from just the backup corpus to all data and protect this kind of three, two, one, or maybe it's three, two, one, one, you know, three copies, two backups, a backup in the cloud and one that's air-gapped. So this can be extended to primary storage, copies, snaps, containers, data in motion, et cetera, to have a comprehensive data protection strategy. Customers, as I said earlier, increasingly looking to manage service providers and specialists because of that skill gap, skills gap. And that's a big reason why automation is so important in orchestration. And automation and orchestration, I'll emphasize on the air-gap solutions should be separated physically and logically. All right, now let's take a look at some of the ETR data and some of the players. This is a chart that we like to show often. It's a X, Y axis and the Y axis is net score, which is a measure of spending momentum. And the horizontal axis is market share. Now market share is an indicator of pervasiveness in the survey. It's not spending market share, it's not market share of the overall market. It's a term that ETR uses. It's essentially market share of the responses within the survey set. Think of it as mind share. Okay, you've got the pure plays here on this slide in the storage category. There is no data protection or backup category. So what we've done is we've isolated the pure plays or close to pure plays in backup and data protection. Now notice that red line. That red line is kind of our subjective view of anything that's over that 40% line is elevated. And you can see only rubric in the July survey is over that 40% line. I'll show you the ends in a moment. Smaller ends, but still rubric is the only one. Now look at Cohesity and Rubric in the January 2020. So last year, pre-pandemic Cohesity and Rubric, they've come well off their peaks for net score. Look at Veeam. Veeam, having studied this data for the last say 24 plus months, Veeam has been steady eddy. It is really always in the mid to high 30s, always shows a large shared end. So it's coming up in the survey. Customers are mentioning Veeam and it's got a very solid net score. It's not above that 40% line, but it's hovering just below consistently. That's very impressive. Commvault has steadily been moving up. You know, Sanjay, Mershandani has made some acquisitions. He did the HeadVig acquisition. They launched Metallic. That's driving cloud affinity and within Commvault's large customer base. So it's a good example of a legacy player pivoting and evolving and transforming itself. Veritas continues to underperform in the ETR surveys relative to the other players. Now, for context, let's add IBM and Dell to the chart. Now just note, this is IBM and Dell's full storage portfolio. The category and the taxonomy at ETR is all storage. Okay, just previous slide isolated on the pure plays, but this now adds in IBM and Dell. You're probably representative of where they would be. They're probably Dell larger on the horizontal axis than IBM. Of course, and you can see the spending momentum accordingly. So you can see that in the data chart that we've inserted. So some smaller ends for rubric and cohesity, but still enough to pay attention. It's not like one or two. When you're 20 plus, 15 plus, 25 plus, you can start to pay attention to trends. Veeam, again, is very impressive. It's net score is solid. It's got a consistent presence in the data set. It's a clear leader here. Simplimity's small, but it's improving relative to last several surveys. And we talked about convulping. Now, I want to emphasize something that we've been hitting on for quite some time now. And that's the renaissance that's coming in compute. Now, we all know about Moore's law, the doubling of transistor density, every two years, 18 to 24 months. And that leads to a doubling of performance in that timeframe. x86, that x86 curve is in the blue. And if you do the math, this is expressed in trillions of operations per second. The orange line is representative of Apple's A series, culminating in the A15 most recently. The A series is what Apple is now, it's the technology basis for what's inside M1, the new Apple laptops, which is replacing Intel. That's that orange line there, I'll come back to that. So go back to the blue line for a minute. If you do the math on doubling performance every 24 months, it comes out to roughly 40% annual improvement in processing power per year. That's now moderated. So Moore's law is waning in one sense. So we wrote a piece, Moore's law is not dead. So I'm sort of contradicting myself there. But the traditional Moore's law curve on x86 is waning. It's probably now down to around 30%, low 30s. But look at the orange line. If you, again, using the A series as an indicator, if you combine the CPU, the NPU, which is the neural processing, you know, XPU, pick whatever PPU you want, the accelerators, the DSPs, that line is growing at 100% plus per year. It's probably more accurately around 110% a year. So there's a new industry curve occurring and it's being led by the ARM ecosystem. The other key factor there, and you're seeing this in a lot of use cases, a lot of consumer use cases, Apple is an example, but you're also seeing it in things like Tesla, Amazon with AWS, Graviton, the Annapurna acquisition building out Graviton and Nitro. That's based on ARM. You can get from design to tape out in less than two years, whereas the Intel cycles we know, they've been running it four to five years now, maybe Pat Gelsinger's compressing those, but Intel is behind. So organizations that are on that orange curve are going to see faster acceleration, lower cost, lower power, et cetera. All right, so what's the tie to data protection? I'm going to leave you with this chart. ARM has introduced its confidential compute architecture and is ushering in a new era of security and data protection. Zero trust is the new mandate. And what ARM has done with what they call realms is create physical separation of the vulnerable components by creating essentially physical buckets to put code in and to put data in separate from the OS. Remember, the OS is the most valuable entry point for hackers or one of them because it contains privileged access and it's a weak link because of things like memory leakages and vulnerabilities. And malicious code can be placed by bad guys within data in the OS and appear benign, even though it's anything but. So in this architecture, all the OS does is create API calls to the realm controller. That's the only interaction. So it makes it much harder for bad actors to get access to the code and the data. And importantly, very importantly, it's an end-to-end architecture. So there's protection throughout. If you're pulling data from the edge and bringing it back to the on-prem or the cloud, you've got that end-to-end architecture and protection throughout. So the link to data protection is that backup software vendors need to be the most trusted of applications. Backup software needs to be the most trusted of applications because it's one of the most targeted areas in a cyber attack. Realms provide an end-to-end separation of data and code from the OS and it's a better architectural construct to support zero trust and confidential computing in critical use cases like data protection slash backup and other digital business apps. So our call to action is backup software vendors, you can lead the charge. ARM is several years ahead at the moment, ahead of Intel in our view. So you got to pay attention to that, research that. We're not saying over-rotate, but go investigate that. And use your relationships with Intel to accelerate its version of this architecture or ideally the industry should agree on common standards and solve this problem together. Pat Gelsinger told us on theCUBE that if it's the last thing he's going to do in his industry life, he's going to solve this security problem. That's when he was at VMware. Well, Pat, you're even in a better place to do it now. You don't have to solve it yourself. You can't, and you know that. So while you're going about your business saving Intel, look to partner with ARM, I know it sounds crazy, to use these published APIs and push to collaborate on an open source architecture that addresses the cyber problem. If anyone can do it, you can. Okay, that's it for today. Remember, these episodes are all available as podcast, all you got to do is search, breaking analysis podcast. I publish weekly on wikibon.com and siliconangle.com or you can reach me at dvolonte on Twitter, email me at david.volonte at siliconangle.com and don't forget to check out etr.plus for all the survey and data action. This is Dave Volante for theCUBE Insights powered by ETR. Thanks for watching everybody. Be well and we'll see you next time.


Good morning, everybody, and welcome in this yet another CloudFarro webinar. Today's topic will be observing air pollution from space processing Sentinel 5P data on CREODS. My name is Cyril van Beijmen. I'm working as a remote sensing data expert. And I've been working a bit with Sentinel 5P over the past year, and I would like to share my experiences in how I used CREODS to process this data. So today's webinar, the agenda will be, I'll talk a little bit about Sentinel 5P satellite mission and data products available. Then the next step is how we can access Sentinel 5P data on CREODS. Then I will talk about processing this data on CREODS, and I will finalize, finish with a live demo in which I show a Jupiter notebook, which I run through a process of searching for Sentinel 5P data, processing Sentinel 5P data on CREODS for a specific case study, one that has been in news recently. I'll talk a little bit, start with the Sentinel 5P mission. Sentinel 5P stands for Sentinel 5 precursor, so it's actually a test mission before the real Sentinel 5 mission will be launched. It doesn't mean that the system is very experimental, and the data is not very validated or applicable. It's a very popular mission, and the data products are used extensively for all kinds of different applications. So it's a satellite mission that will focus on monitoring the atmosphere with the onboard system, the tropospheric monitoring instrument, the tropomy instrument, and the main objective is to monitor atmospheric measurements with high spatial or temporal resolution. So every day there will be new recording, and this will be used for monitoring of air quality, ozone and UV radiation, as well as climate monitoring and forecasting. There's more information about the satellite mission and the data products and the link below. Yeah, so I recommend you to, if you want to reach further to go there. And yeah, the data from Sentinel 5P is produced to quite a wide range of level 2 products. A quick walk through what main products there are, there are a few more than on this list, but these are the most important ones. So yeah, the first one is the aerosol absorption index, which is a measure of aerosol density. Aerosols are tiny particles in the atmosphere, and they can be related to dust outbreaks, volcanic ash, biomass burning. Yeah, it's a measure of the aerosols in the atmosphere. And then we have carbon monoxide, which is a result of combustion of fossil fuels, biomass burning, atmospheric oxidation of methane and other hydrocarbons. There's a lot of very complex chemical processes in the atmosphere that are ongoing, and these products, they are giving an indication of parts of these chemical processes. Yeah, then there's one very short cloud fraction, so just a cloud map, basically. Also very important for meteorological purposes, but yeah, also gives a good indication where our clouds, so where our other components, other than clouds as well. Then we have the formaldehyde, which is an intermediate gas that's formed after oxidation of also methane, if I'm correct, and eventually leads to CO2, because that's the big one always, CO2. Yeah, there's no, as you can see, there's no CO2 in the lists. Yeah, but there's work now on new satellite missions that are more focusing on that, but this, a lot of the products that are created by Sentinel or created from Sentinel 5P data are giving an indication of CO2 levels as well. So methane, which is a very powerful greenhouse gas, it's emitted naturally, but most of the emissions are now anthropogenic. Nitrogen dioxide, quite well known, is a result of combustion of fossil fuels, biomass burning again. Ozone, yeah, ozone is known from the ozone layer, but it's also a greenhouse gas in parts of the troposphere. And sulfur dioxide is also a result of combustion of fossil fuels, as well as volcanic ash. So there's quite a range of products and a lot of them are related to greenhouse gases, a lot of them to general air pollution. So it's nowadays a mission that's creating a lot of attention. As you can see there, the use cases, some of them have really been in the news. So the data is used for monitoring of air quality, which can be related to seasonal variations or events, forest fires, which will be the topic of my live demo later, the forest fires. You may guess which forest fires I've been looking at. And also what was really in the news last springtime is the effect of the lockdown measures around the world related to coronavirus on the air quality. On the top right, you can see it. I hope it comes through nice quite well on your screens at home, but it's an animated image of air quality. I know two emissions over China in springtime, where you can see a big drop when the corona related lockdown measures were taking place that the air quality suddenly improved a lot. There's just a lot in the news. Yeah, and then also the use case, a lot of greenhouse gas emissions, as I called methane, carbon monoxide, formaldehyde ozone, they're all related to greenhouse gas effects or greenhouse gases. So, yeah, on the bottom right, there's also an example, which is quite interesting, which people didn't know. From Sentinel-5B data day in parts of Siberia, they suddenly noticed there were a lot of emissions in places where there's not really a lot of population density and along a line, a certain line. So they figured out it was actually along a pipeline, which transports gas from one part of Siberia to another. Along this pipeline were pumping stations, which pumped the gas to a certain pressure further along the pipeline, which also image a lot of NO2 is this case, a lot of emissions. Nobody really knew that there was emissions sources, but yeah, from the Sentinel-5B data, it was quite clearly shown that these emissions take place there in very low populated areas as well. So just a few use cases. So we'd like to continue now to, well, the Sentinel-5B as it is on Crayodias. Sentinel-5B is hosted on the Crayodias platform as just another satellite data source. Sentinel-1, 2, 3, Landsat data, other data sets as well. Sentinel-5B is just another one. It's stored and it's indexed, so which means that you can search it through the Crayodias finder or in the Crayodias browser or through API access. Yeah, it's stored in a net CDF format with a suffix with an extension NC, which is basically a database format, which is very commonly used in meteorological data or large scale global data sets often. So it can be accessed. I will show in my live demo how this data is accessed through API querying. Yeah, and then processing data processing can be processed in a lot of different bits of software. I've been focusing a bit on the software that I've learned on a training course last year, which are the HAARP tools, which is developed especially to ingest a large amount of mostly global or lower resolution data sets in an automated way. And the software capable of ingesting a lot of different images and creating monthly, weekly, daily averages of specific areas of interest. Yeah, that's what I also would like to mention is that the data, if you work on a Crayodias virtual machine, there's absolutely no need to download the data. You can work right there. You can access the data. Is it where a folder on your desktop or on your hard drive? So there's no need to download the imagery. And there's the computing capabilities are flexible. You can scale up if you need to process a lot of data. You can downscale it if it's not so much, if a lot of computing power is not necessary anymore. Yeah, these HAARP tools, this HAARP software, more information can be found in the link at the bottom. So, yeah, then I would like to go to the case study. Well, a recent example is actually still ongoing. It was in the news last week, the last two weeks, and a huge amount of forest fires in the western parts of the USA, mostly in California, Oregon and Washington state. Yeah, and the news reports show that, yeah, it was one of the biggest fires in decades. And that also they noticed the air pollution, the air quality was really bad on the west coast, as you can imagine, close to forest fire. But also on the east coast of the United States, they noticed that the air quality decreased a lot. And yeah, from satellite observations, they could see that, yeah, that was related to the forest fires on the other side of the country. So I decided, let's have a look at what I can find in the data and see if you can see the process of the data of the pollution related to the forest fires. Yeah, how it is transported through the atmosphere. So I decided to use the aerosol, the aerosol absorption index, I should say, a parameter that's available in the Sentinel-5P data to monitor that, to make maps of that, to monitor this drift of air pollution to the east. So my study area is the entire contiguous USA, so that's basically the USA minus Hawaii and Alaska. The study period I decided, let's focus on last month, so from, let's say, mid-August to mid-September. And I decided to create weekly averages, because Sentinel-5P has a daily revisit time, so every day it passes over the same part of the globe. But yeah, the sensor doesn't record data if there's cloud cover. So if you make weekly averages, yeah, you minimize the data gaps. So yeah, so the idea is to look for the data for a week and collate that with using this hard software. So yeah, I've developed a little processing script, which consists of three main parts. Or I would say a more processing workflow, because it's not all in one script, which I explain later. And so first step is to query the Korea's Finder API for Sentinel-5P aerosol data over the USA in the past month, and then split per weekly period. And the second step will be to ingest the Sentinel-5P in this hard software and create the weekly average images. These two steps are all done with Python, as you can see. The last step I didn't do in Python, but it can be done in Python, but I just happened to have used R quite a bit. And I've always been more impressed with their mapping and the mapping capabilities, the plotting capabilities in R. It's just a matter of my personal preference. But yeah, the first two steps I've created a Jupyter notebook, which are the most important steps is searching the data, processing the data. And yeah, that's in a Jupyter notebook, which I will make available after the webinar. The R script, I plan to convert that to a Jupyter notebook as well. But yeah, I need to simplify that still a bit. But yeah, I will show in the Jupyter notebook already how to make a nice animation in Python. So okay, then it's for me time now to switch to my live demo, which I will run and create as a virtual machine running on Ubuntu. Yeah, and for that, I've just spun up a virtual machine, installed Jupyter notebook or Jupyter, which is fairly straightforward and the necessary Python libraries. So that's all you really need to do this, to get it running on your own virtual machine or your own machine. Okay, then I switch off the presentation for a minute and I go to my dear trusted X2Go client, which is my preferred access mechanism to a virtual machine. So here I got a connection to a virtual machine and I am building a connection. I hope it works, which he usually does and always takes a few seconds for it to go running. And yeah, a lot of connections being made. And there you go. And there you go. So here I got my virtual machine. I have already started a Jupyter notebook, so I'll leave that. I think the size is good enough for you to see at home. So here I got my Jupyter notebook running in my local drive. Yeah, so I would like to just quickly walk through the script and show you what steps I have been are taken to create these maps. So first of all, yeah, some of the libraries need to be installed. If necessary, is they not installed yet? And especially these hard tools, it's only available through Comba, which is another repository than the standard PIP one, which can be installed on the command line, but it can also be installed by uncommenting this command. So here, now if you run this, it will start to look for this hard software and we'll try to install it. It's already done here, so I'm not going to be wasting time on showing how it's done again. Also, if you order libraries that are included, it can be installed also by uncommenting these commands here, geopanda, sentinel, which is a specific one. Yeah, just to convert some geojson data to a format that the API will understand. So after installation, we will need to import a few necessary libraries in Python, so the script will be able to run it. So I just click on run, and yep, they are imported. So then I have defined two major functions to run the process. The first one is a function which I called S5P, S5P search. So it's a search function which builds in this function. If you give it the right input parameters, which is geoj, which is an area of interest, date st is date start, date n. So that's the start date and the end date of the period of interest and the product type. Those parameters need to be passed to this function in order for it to run. So yeah, then it will build, you can see here it builds an API query with input data. Then it will run the query and the response is coming back and it's with all the different data and that is found on the different satellite data that's found. And then it's changed slightly to include a path to the net CDF data file in the data folder. And it will then return all the different paths to these specific Sentinel-5P images in a long list. So I will run this function later. It's just here in definition. Then the next one is this processing function to process the Sentinel-5P data using this HARP software. So I have a function here named HARP-PROC process. This will need to, this function, a specific parameter that needs to be sent to this HARP software. So it will understand how to process. So it will need to know the size of the image in pixels in X and Y direction. And also the minimum XY, so the lower left corner coordinate. So that information is extracted from the area of interest that I define. I will come back to this later. And then there are some specific parameters that need to be set to, depending on the product that we're using. So this is for the SO2 data. We need to set specific parameters. Then we have the NO2. Here's the Aerozol index, which is the file, the folder name of the Aerozol data. So we need to set specific parameters to run the processing. Pixels in X and Y directions and also resolution needs to be set, which I will discuss later as well. And then we can run all these parameters into an import function, which imports all the Sentinel-5P data that has been found in the API query step. And then the next step is to convert this data to a weekly average. And the final resulting image will be a geotiff of a weekly average of the area of interest. This is just a function to give the file name that makes sense. So I decided to make a file name that includes the first day of the weekly average and the last day of the weekly average. And then we need to extract the actual from the net CDF data that's included, the right data, basically a little database with including the data that we're interested in. So for the absorbing Aerozol index, it's this variable that needs to be excluded. And the last step is to just export this image to a geotiff. So these are the two main functions that are of interest. So now we can define the search parameter. So what area of interest are we looking at? What period are we looking at? I shouldn't forget actually to run these two because otherwise my script won't be done already in the next one. So the Jupyter Notebook has then these functions as they are defined stored and it can run them. So first I would like to set a working directory. So I just choose a directory. And then I here define this next one is I define a period of interest. So I'm looking at the date range. So I do a weekly date range. So I start in this one on the 2020, 08, 15. That's the 15th of August 2020. And I end now. So I run this and I get here a overview of the different dates. So the 17th of August was a Monday. So I have chosen that my week start on a Monday, the 24th, the 31st of August, the 7th of September 14th and the 21st. So these are all the first days of the weeks that are fall inside my area, my period of interest. Okay, which is nice. Next one, I want to define an area of interest and AOI. In this case, we are interested in the Western part. That's not completely right. That's the United States. Change that. And, yeah, this script needs a geojason to be present in the working directory and it will look for it. This geojason can very simply be made on the website geojason.io. I can quickly look on it. Yeah, here is the website. Oh, there's already a nice geojason of the area of interest, as you can see. I'm going back to my script. So I need to define the name here. And then I need to extract the bounding box coordinates of this geojason. So I will need to open the geojason. I haven't done that. And extract the extreme coordinates. So lower left, upper right. And run that. Yeah, and here you can see the bounding box coordinates are from between minus 128 and minus 63. Degrees that should be longitude. And the other one is between 24 and 49. Oh, what's this? I need to turn off my, why is this on? Between 24 and 49 degrees latitude. So that is, seems about right. But I can, I can plot it, make a plot of it and see if it's, if the geojason is loaded correctly. So I make a plot of the geojason. Wow. Fantastic. A square or a rectangle, I should say. This is the geojason plot just in a field of nothing. So you don't have any clue where it is. So there's another way to display the geojason is to do it in this geojason.io software. So here you go. I just click this link and then you can see it's loaded in this website with a map on the background. And you see, yeah, it's a right geojason. It covers the entire area of interest. So next step is a bit, not so tricky, but it's, yeah, Harp needs to have a certain resolution defined for the data because it needs to be expressed in degrees. So if you take, if you have a very large area of interest, let's say the United States is a very big country. So then it's probably not very advisable to use a very fine resolution to make your maps because the processing will take very long. Yeah, but if you take too low a resolution, then it will not show all the detail that you want. So I've made a little calculation here what resolution can be advised and made some simple approximate calculations of how big the area of interest is actually. You can extract the latitude, longitude information from the bounding box again and get an approximation of how big this area is actually and then give an advice about what resolution is advised. So what I said is like for here you can see for optimal resolution for countries like Poland, like a midsize European country. I advise to use a resolution of 0.0, 0.05 degrees, which is more or less seven and a half kilometers and approximate between seven and eight kilometers. You should know that the spatial resolution of Sentinel-5P is maximum three and a half by seven kilometers. So it's a much lower resolution satellite than, for example, Sentinel-2 or 1. Yeah, it's not as high resolution as you would see on land. There's all kinds of reasons for that but Sentinel-5P is already a big step up from previous missions, atmospheric satellite missions. So if I run this for my bounding box in America, this little function, I get a bit of advice on how what resolution I should use for my maps here. So the approximate length in latitude range is more than 2,000 and the longitude range from east to west is about almost 6,000 kilometers. That's a lot. It's a big country in America. So an optimal resolution used for processing is about 0.1 degree. So that's still quite high resolution, which will mean that the processing of each image will take some time, a few minutes. But if you do a lower, even higher spatial resolution, it will take a lot of time. Okay, now we need to still define also which product, Sentinel-5 product I'm interested in using. So I have to find here this L2 AII, which is the official name for the aerosol absorption and absorption aerosol index. Actually, people are writing that wrongly. So okay, that's also defined. Now I would like to make an output directory. This is optional. We can put it wherever you want. I just put it here. Okay, fair enough. So okay, so now it's time to run the workflow. I've defined all my functions to run the API query and the HARP processing. And now I, and also the area of interest, period of interest and output directories, the product that I would like to look into. So now I can run a search query. So there you go. Here's this S5P search function that I'm using. I put the AOI as the area of interest from the dates, the date range. I take the first one, the first date. So that's the 17th of August. And as a first date, the end date, my period of interest is the second one. So that's the next date, seven days after my first date. And my product is product, which is the aerial aerosol index. So I will run this. It will sort of send a API query to Crayola's finder. It will return the amount of images found and then it will extract the paths to the actual products. And these paths will be sent to the HARP processing step next step. Okay, now it's running. And there you go, result.  Yeah, there you go. I print also the amount of images found in this query. You go go to the top, number of Sentinel 5P images found 108. So there's a 108 Sentinel 5 aerosol images covering the United States between the 17th of August and the 24th of August, 2020. And these are all the paths that you can see. And yeah, it's local paths on this EO data, Sentinel 5P, that's where they store this data. So this information, these paths, this variable can be sent to the HARP processing tool. Yeah, now I come to the next step with this processing. Well, as you can imagine, it's 108 images. They have to be sent to, or they have to be ingested in the software. Then for every pixel, we need to calculate weekly averages. This will take a bit of time. This is not something that's run in two seconds. This will for, well, my experiences, for one image of one weekly average will run like three minutes. So I am not going to run this step here because it's just done. I've done already, but if you want to do it, you can do it yourself later, of course. If you want to run this yourself, then you can do this. I've already have a list of resulting images for the five, no, six weeks that we're looking at. So I make here a list of the files that are found. So if you can see, yeah, so I have these files and I see here I have a file export between the 7th and of September and the 13th of September. And okay, that's a bit the other way around. It's going back in time. So the last in the line is the image that I found between the 17th of August and the 23rd of August. So I would like to display one image to see how it looks like. So with that, I used Rasterio software. The images, yeah, they have a bit of the projection is not set correctly. So first apply a correction or apply the projection to the images. So they have a good projection. And then I open the image and let's see what comes. There you go. It looks like, yeah, an image. And for some reason, you can see an X and Y, the latitude, longitude. For some reason in this plot, the latitude is, yeah, from low latitude on the top to high latitude at the bottom. I think it's something to do with the way this GeoTIF is defined. If you put it in GIS, it will be the right way up. And you will see that this image covers most of, well, America. And you can see these bright spots here on the left in the image. They are corresponding to high aerosol content to the West of the United States. So, hey, there's something going on there. So this can be looped. I have now one, well, in theory, if I would have run the workflow, I would have one image of one week. But now I can just loop it. So for every date in the date range, I just send an image, send this command. So first I extract the paths through the API query. And then I process all the paths that come in with path list, paths to it. And then it will run. Well, this entire step runs in about 20, 30 minutes. So I'm not going to do that again. But I will show you some results of the images that I've already created. So I want to make an animated GIF because that was my goal in the end. And actually that I can do that nicer in R, myself. But this can be quickly done also in Python. It can also be done nicer in Python. But this is just to show you an example of how it can be done. So here I search for all the files that are in the output folder with extension TIFF. And those are added to a list. Yeah, they are combined to a animated GIF. So I will run this. This will get some error messages, but lossy conversion error, warning messages. Probably it will be better off if I would convert the data from float to integer before. But OK, it still works. And then I have my last step here is to visualize this GIF. So I just press this one and there you go. Something is happening. And I'll zoom in a little. See if, oh yeah, yeah, yeah, yeah, yeah. And here you can see something going on. Still have to think it's still upside down. So north is on the bottom and the southern part is on the top. But you can see white dots here in the left side. So that's the west of the United States. And you can see also like plumes of ash or what is it? What is it? A forest fire. Yeah, ash. What is it? Emissions at least. Drifting towards the east. So there you go. You got what you want, an animated GIF of data over America. Yeah, I would like to move back to my presentation and show you what I've made in R of this final map. So I go back to my presentation and yeah, go to the next slide. Yeah, and there you can see it looks a bit nicer also with the map of America below. It's also animated. So it's not the most clear, but you can see it's flowing into each other. It's maybe not the best way to do it, but you can play with this for ages if you want. You can see there's red dots in the West initially. And then at some point there's a huge cloud, which is corresponding to the week of 7 to 14th of September. And in the last image, you can see it's also going east. So if I go back, I just close this one and go to just the viewer, then I have an animated version. So you can see if we're starting on the 17th of August, you see there's dust around San Francisco in the Central Valley in California. There are some things and you can see. Yeah, I can zoom in like this. There's also this bright red dot that you ignore that's probably related already to a forest fire here. This parameter not only shows you the aerosols related to forest fires, but also to natural occurring processes like desert dust. So that's why you see in the West of the United States there's like a permanent dust cloud. There's a lot of deserts in the West in Nevada and Arizona. Yeah, there's always more dust flying around. If we go to the next week, you can see others. It's not so much changing when you see the bright red dot north of San Francisco, which is quite likely a forest fire related thing. If I look closely, I'll see a small red dot here in what is it, somewhere not far from Texas. Also where that could also be a fire. Let's just go back. And then I go to one week later last week of first week of September, you get more red dots appearing in the West and still the red dot north of San Francisco. Okay, and then the week after, oh, something is going wrong there. There's a lot of aerosols. I think this was the week when they said, yeah, it's really getting out of hand. You can see there's a lot of aerosols building up over the West. And you can already see that they start drifting east. And then the last week I have, yeah, you can see that there's this cloud basically slowly drifted east. And you can see that also Washington, New York, the aerosols are higher than normal. You can already see a red dot over the Atlantic Ocean in the far right end of the image. And related to probably the aerosols drifting, drifting for East. And I looked at the data of today or yesterday and yeah, this plume is somewhere in the middle of the Atlantic. So I expect air quality to drop in Europe soon as well. So it's a very nice way to see what's going on and just a nice way to visualize data over time. And with that, I would like to conclude my presentation. And I would like to thank you all for joining this webinar. Yeah, my name, my email address and all the links to Twitter and LinkedIn and Facebook of CloudFerro are at the bottom. And if there's anything, please send a message. Yeah, I will try to help you out as much as we can.


Welcome to KubeCon, CloudNativeCon Europe. Welcome to my session and I'm really excited to present to you what Dynatris can do for you around OpenTelemetry. Some of you might find our session title for today a little bit confusing because isn't OpenTelemetry an observability the same? Are they? Are they not? So technically, OpenTelemetry is a framework to observability. And there is lots of advocacy around that. And all the people around it really think that observability is more than just the collection of tools and the standard data types, logs, metrics and traces. And they share or the common perception here that it matters what data you collect and how you collect it and then what you do with the data. And here is where OpenTelemetry comes into the play. It's a way of collecting observability data. And Dynatris can help at both hangings collecting the data and helping to analyze it at scale. And on the left side, you can see here the Dynatris 1 agent that massively automates and simplifies data collection. And on the right side, the brain represents Dynatris's AI, which we call Davis. And you'll see the power of Davis a little bit later in the live demo. And it helps really processing and analyzing data at scale. Now, if we look at the full blown technology stack at Dynatris here, which I'm bringing up on the next slide. On the bottom left corner, in the bottom left corner, you see that Dynatris goes way beyond collecting traces, metrics and logs. The Wickelok 2.0 portion information, which is a key ingredient for analyzing data at large scale, way beyond that, looking then into user behavior data, deeply into code execution flows, and collecting additional metadata for other purposes and so forth, and then also being very open about that, have tons of APIs for allowing you to bring in any data that you want, and then, of course, also the open telemetry standard for ingesting additional data into the Dynatris ecosystem into the Dynatris software intelligence platform. Now, if you go one level up, then those key innovations that Dynatris did over the last decade, starting with the one agent, as said before, massively automates data collection and simplifies that, alongside with the pure path, the most advanced tracing to talk technology for more than a decade out there in the market. SmartSkip topology information that allows you to have everything in context all the time, a real time topology model of your deployments, that also is the key foundation for the days it helps to analyze the data with true cause and effect relationship. And then last but not least, doing that at enterprise scale, providing you with really high scalability and failover data collection and so forth. Now on top of it, we have six solutions, tailored to very important use cases around observability, and then also the Dynatris hard to the far right that helps you to further customize and extend the Dynatris ecosystem to your needs. Now specifically today, I want to highlight three use cases that we also replicated in the demo environment from a real scenario with one of our customers. And they are ingesting, automatically ingesting, open telemetry spans through the one agent. So whenever an application or a piece of code is monitored by the one agent, Dynatris automatically picks up open telemetry spans, then metrics and spanning throw a open telemetry exporter and bringing that data into Dynatris through that way, which is your use case number two and three. Now those isolated and very simply looking use cases, let me bring that into a much more complex distributed application. And here we can really now demonstrate the power of Dynatris. So let's say we have a little bit of a more complex situation where we have the end user to the far left using a mobile application or a web browser to interact with an application here with a front end, then serverless components, and then a front and a back end, which is not typically the case, but you would typically have a very microservice-based architecture these days, and then databases and others in the end. Now if, for instance, your back end now loads a library that comes pre-instrumented with open telemetry, or if you, as developers, decide to instrument parts of your code with open telemetry to capture further context, the one agent that already is there monitoring this component, this microservice or back end or front end or whatever that is will automatically pick those, that instrumentation up and embed that into the pure part. Then we're going to see that in a live demo shortly. And the other scenario really is that you load, or a container image is loaded, or a container spins up somewhere, and when Dynatrace monitors that, as just mentioned, you will automatically get the full stack information here, and if you're not able to put a Dynatrace 1 agent there, or you don't want to, you also can then ingest that data through an exporter, an open telemetry exporter into Dynatrace. And this is exactly what we're going to look at now at the live demo. So let me actually go over here. We can see here in my front end service just a second ago, we have a lot of failed dynamic requests. So let's investigate that and drill into it. And I'd like to check out the elevated failure rates here. So my demo environment is a little problem here. I don't get a load at the moment. Looking at historic data from the past couple of days, as you can see, there is no recent data coming in, because I don't have any load on the system right now. But we still can see there is lots of failed requests coming in, and let's look at the details and analyze those. So I see a couple of product details that fail at 100% rate, but more important here is this checkout card service that also fails with 100% of occurrences. So let me drill in and analyze all these pure paths, which is essentially all those different traces that come in here. So I need to again extend my time frame here to let's say the last 24 hours to pick up some traces. And then let's just look at the top one here. Now I'm now looking at a single execution, a single trace within the front end server. And what I can see here is the checkout card transaction. So if I click on that and then go over here to code level analysis, I can see here this methods or the details info where additional spanner attributes have been captured and they come to life here when I hover over it. So essentially the developer decided here to capture detailed information about what user essentially this checkout card transaction triggered. And in that case, that comes in actually quite beneficial because it helps me to sort of reach out to the user and apologize for that failed transaction. Maybe give him a little voucher that he comes back and does more business with me. If we go further down this code execution, we actually also can see that the place sort of fails which is then leads me further down into that tree. And part of the checkout card transaction is actually a currency converter. And if I click here on sort of the call, so the application actually runs on the Google Cloud and I'm sort of calling over out to a component hosting on being hosted on AWS, I can see that call comes back with a 500. And if I didn't have the additional instrumentation through open telemetry, I would be blind to the rest here and I could only tell there was a 500 coming back. But remember, and this was the top branch on the previous slide, a foreign component where I don't have any capabilities to deploy one agent to. But the code luckily was instrumented previously with open telemetry data. And this is essentially where I can go in to the conversion request that goes over to that exchange rate API. And that tells me I've run into a rate limit, right? So I now get to the core of the problem which means essentially I'm calling that specific API too often, so a good way to cope with it would be actually implementing some sort of caching. So that brings me to use case number three, right? So we talked about instrumenting or span ingest through the exporter. We talked about the one agent automatically picking up open telemetry data which was up here and use case number three as well as looking at metrics. And what we also set up here is that Dynatrace collects and again I'm going back here into the last seven days for a little bit more beautiful chart and more interesting chart, let me put it that way. So Dynatrace also collects the currency from all those checkout cards transactions through an exporter. And if we actually go into the details here, we can play a little bit with that specific chart and the details. And I'm essentially looking at the currency here and I could further, so let me actually go in into we're looking at hipster currency and in my case I've split that by currency but I also could look in, I only want to look at successful transactions or unsuccessful transaction. In my case, all the transaction fails, right? I've implemented a bargain purpose here that we have to look at something. So if I'm only looking at split by currency and all the failing transactions I'm ending up should end up actually with the same dashboard here in my case. Let's go back to the dashboard and then look at the AI component that Dynatrace brings to the table. And before doing that, I would like to briefly make you familiar with the smartscape topology. So let me drill in here. And the smartscape topology is really the key foundation for all the advanced analytics that Dynatrace does with the AI component. So as I said before, the smartscape is essentially a real up-to-date life model of the application deployment. And now when an anomaly occurs, Dynatrace can take advantage of that to really understand what is the root cause and the impact of that specific situation. So I've prepared a problem over here that we ran into before all the failing checkout or checkout card transactions. And down here in my visual resolution path, Dynatrace visualizes only those entities that are related to that specific problem. And if I go up here into the root cause to those components where I have an increased failure rate, I actually come back to what we looked at before, right? So I see that 500 error, HDB 500 error. We precisely ran into that before when we did sort of walk through the pure paths. And if we go to the details down here, we can also see the checkout card transaction with 46 failed requests. And I could follow the same pattern as before, drill into that and realize what the details of those error were to actually understand and hitting the rate limit of the currency conversion. And that brings me to the end of the demo. So let's go back and conclude our session here real quick.  And it's really easy to get started to roll out the agent on any specific host. It's as easy as one to three, essentially download the agent installer, execute it or, you know, run the signal or verify the signature and then install it. And if you want to use an exporter, go to GitHub and find our repository there. The link is available. And this is, you know, a way of getting spans and metrics into Dynatrace. If you don't want to work with the agent or can't work with the agent. And then of course, there is also, you know, tailored instrumentation available in rollout for Kubernetes and other platforms through an operator. Once you've rolled out the agents, it's really a matter of seconds to minutes that Dynatrace automatically builds a smartscape model for you. And as you remember, that's the key ingredient for our Davis AI to really provide you with automated analysis based with the Dynatrace purpose-built AI. And that brings me to the end of this session. Thanks for watching. Remember, if you like what you saw, go to Dynatrace.com slash trial and enjoy the rest of the conference. Talk to you soon. Bye-bye.


Do a galaxy while it's spinning. All right, here we go. Let's get it here. We go. Oh, I'm gonna get some whites Hold on some more blue. Maybe some more is sick. Oh


Hello everybody, E here. Welcome back to another Stephen King review. If you're feeling confused asking yourself, why hasn't But hadn't hasn't he already reviewed these? No, I have not. I have done my Thursday Theorist series, which you can find at the end of the video. It'll be one of the you know the videos at the end Up there with the subscribe button, but today we are talking about the complete uncut version of The stand Also before we get started. I want to let me let me put this up. This is a big chunker to be Yeah, it's a it's a big book anyways So I will be doing once I'm done covering all of these Stephen King reviews Catching up with all that stuff. I'm gonna be starting a new series where I break down the original version of the stand I have two of these old paperbacks My buddy Mike sent me one and then someone else sent me another one I don't even think they put on the address or I didn't know who it was who sent it to me But anyways, if you're the person who sent it, thank you so much and let yourself be known But I will be doing a side-by-side comparison doing one chapter every Thursday Where I tell the differences between the complete uncut edition and the original edition It's like 400 pages difference. I think King cut a hundred and fifty thousand words to a piece as editor So that they could get it out the history behind this is a double-day Couldn't didn't have a way to make such a big book and they still didn't a hundred percent trust In King's celibacy, which is funny because we got the Carrie movie and all that but another thing is the original edition the first edition The first edition is the size. It's much smaller as you can see It's a book club edition size because they didn't want to They didn't want to put all that money into him Put all this stuff back So the book club editions and the first edition are the same size But of course the book club edition says that it is a book club edition the This one of course Returns brings back all the stuff that King cut out of the original one Which is the entire opening with champ champion champion. I think it's campion with him Escaping the facility at the beginning. That's completely gone So that first episode when I do my side-by-side comparison is probably just gonna be me saying okay This is what happens in the prologue that was returned to the complete uncut edition And the original edition doesn't even have it. It has a different not a different ending But it stops before the ending that you read in this version There's so many so many things that are different. It doesn't have the kid in it at all The you know, of course the kid the one that Well, if you've read the book you if you've read the complete uncut edition, you know what I'm talking about It's when trash and the kid meet that whole thing is completely gone But anyways on to the review of this one. I actually prefer this one Over the original a lot of people think that the original version is tighter That is better But some of my favorite scenes have been cut out of had been cut out of the original version Which is the kid the the opening sequence where he's trying to get out all that stuff In fact every time I read the complete uncut edition when it opens up. I hear don't fear the reaper I think it's actually quoted in the book too at the beginning. I hear Don't fear the reaper from blue oyster cult, which is of course how the original mini series went I'm not gonna be talking about the adaptations here But that I'm gonna keep my opinions to myself about both of them but the book it that the only issue that I have and I talked about this in the original version because it's pretty much the same on this level is When they start rebuilding boulder, I lose interest up until the end Up until the final the final fight the the final fight is It's polarizing for fans My buddy Josh thinks that you know it couldn't have happened to any other way really that he was leading up to that I'm of the mindset that it is one of the biggest. What is it do s mock? Do do s Machina whatever endings ever Where it's I don't know that it's a cop-out, but it really is I mean by definition It is pretty much literally do s Machina I Do find that with the uncut with a complete and uncut edition I get more involved in the storyline than I do with the cut edition the book is fantastic It is a classic It it if you don't if you don't know it the end of the world is brought upon by a disease called the captain trips And everybody gets sick dies. It's a terrible. They they're faces swell with mucus. It's it's disgusting And then after that there are certain survivors. There are the good ones the bad ones some in between That's I think that's the best part of the book some of the best characters are in the gray area between you know Truly dark and truly light But everybody has their flaws and all these characters it is a smorgasbord of amazing character development For some reason again, I like this one more than I like the original.  Thanks very much Mike and thank you very much to the stranger who sent me the other one This one I believe this one is the one that that Mike sent me and the other one is very strange It has like a glaring almost, you know the face of what Pazuzu in the Exorcist Where they you get those flashes of subliminal flashes of Pazuzu It has like that on the cover I should have brought it out here But I'll I'll show it to you guys when I do the next series where I do the side-by-side comparison And a big cross and lightning striking the cross almost fits revival More than if it's that one in that book came like 30 years later, but anyways I I prefer this one to go give you a little more in-depth without going into spoilers You have two different factions one led by Randall flag and one led by mother Abigail Mother Abigail is a psychic. She well, I don't know that she's psychic. I think she's more She's able to go into people's dreams and bring them, you know together into Boulder, Colorado Where they end up rebuilding society and then you have Randall flag who takes over Las Vegas Which is of course sin city. Where else is he going to go? And the the differences in the characters, you know the the good and the bad my favorite My favorite part of the book of course is the characters, but my favorite characters you got Nick Andrews And Tom Cullen are two of my favorite characters of all time period hands-down. I love those two characters The Herald is a great Not really gray shaded character. You know, he's definitely a bad guy But I really enjoyed reading about him I never cared too much for stew or Franny I like their stories the character development is great But the their stories kind of pale in comparison to you know, the other ones that I mentioned But the question for you today, like I said, have you read the original edition? If you have if you've read both editions tell me which ones that you prefer down there in the doobly-doo Tell me why you like them so that we can have a discussion But until next time I have been a you've been you this has been another Stephen King book review. I'll talk to you guys later. Bye. Bye