The next item of business is an urgent question from Paul Sweeney. To ask the Scottish Government what its response is to reports following comments made by the Home Secretary in the House of Commons today that local authorities across the UK, including in Scotland, will be obliged to accommodate the increasing number of unaccompanied child refugees crossing the English Channel. Cabinet Secretary, Shona Robison. That is of major concern to the Scottish Government, to COSLA and to local authorities. The Home Secretary wrote to all local authorities in July asking for more placements to be made available, and Scotland answered that call by creating a Scottish rota, which is supported by the vast majority of councils and COSLA. This rota has been in operation since October and is working well. It is ensuring that Scotland meets the target set by the Home Office, but it does that in a manner that prioritises the welfare of children, supports their needs and provides them with the best possible chance to integrate into our society. The proposals set out by the UK Government are a retrograde step that will create needless bureaucracy and do little to support the welfare and wellbeing of these highly vulnerable children. I made my views known to the UK Government in a short call with the minister and will be following that up in writing later today. I have spoken to COSLA, who are as concerned as I am at the way that this has been badly handled by the UK Government. I thank the cabinet secretary for that response. Let me put on record my absolute disgust at the way that vulnerable people, many fleeing war and persecution have been treated by the Conservative Government simply for seeking a safe place to live. We are dealing with unaccompanied children here, and it is important to be clear on the detail. I have a number of questions that I would like the cabinet secretary to answer if she can. Could she provide details of how many local authorities across Scotland meet the requirements set out by the Home Office in today's announcement and how many children are likely to be coming to Scotland? How long the Scottish Government envisages that they will be in Scotland and what work the Scottish Government is doing to make sure that all local authorities have adequate provisions to provide the necessary safeguards to those children while they are in Scotland? What type of accommodation will they be living in? It cannot be the case that they are put in hotels, surely, or unsupervised accommodation, so I would appreciate if the cabinet secretary would at least explicitly roll that out in her answer. Paul Sweeney raises a number of issues. Clearly, one of the reasons for the rota was the ignition that some Scottish local authorities are very small and do not necessarily have the infrastructure to support unaccompanied asylum-seeking children. That puts at risk the support that such a vulnerable child has. There are good reasons for why the Scottish rota was put together so that the children arriving in Scotland can go to the most appropriate place. I can tell the member that the rota would have seen, if it had been allowed to continue, 45 of every 650 children arriving in the UK coming to Scotland. That is one more than they are saying they are mandating Scotland to take. On the call yesterday, they said that Scotland's local authorities would be mandated to take 44 children, so we would be more than meeting the requirements but doing that in a way that supports the children. Since October, when participation commenced by the Scottish local authorities, 19 placements have been made. That is in addition to the 22 children who arrived under the NTS scheme from January to September. In addition to that, there are already around 200 unaccompanied asylum-seeking children that are already cared for by Scottish local authorities. On the type of accommodation, again, that is an important point. We want children to become, they are going to be here obviously for a long time, so we want them to become settled and settled accommodation as quickly as possible. It is no one's interest for people to be staying in hotels, and we recognise the challenges of that, which is why the Scottish Rota is so important, because it is the best way of making sure that appropriate accommodation is made available for the children arriving. Paul Sweeney. Thank you, Deputy Presiding Officer, and I thank the Cabinet Secretary for her response and particularly the detail on the Scottish Rota, although I would appreciate if some additional information potentially could be followed up in writing. It is right that the Scottish local authorities are providing accommodation to those children, and I sincerely hope that the Scottish Government will do everything it can to ensure that their time in Scotland will be one where they are treated with dignity, care and compassion that they so will clearly need. After all, they are children who have seen unimaginable horror. I just want to be specific, however, on the funding issue, because while it is right that all local authorities in Scotland are playing their part through the Rota system, they are cash-strapped and, frankly, do not have the money available to top up the £143 being made available by the UK Government per child, per night. Can I ask the Cabinet Secretary to confirm that the Scottish Government, regardless of how much it is going to cost, will provide any additional funding that local authorities require on top of that £143 specified? That is about making sure that kids are safe, and, of course, we cannot put a price on that. I would strongly urge the Government to show compassion and make that commitment here now, because it is certainly not something that we are going to see from the Conservatives. First of all, I think that we share COSLA and local governments' concern that the national transfer scheme does constitute a new financial responsibility on local authorities. The first call is on the UK Government to provide the additional funding that is required. The higher daily rate of £143 for funding contributions to local authorities now applies to those transferring through NTS, and it is a small step in acknowledging some of the costs, but it is only available once a child is in the care of the local authority. It does not recognise the steps that the local authority requires to take in advance of that placement. Obviously, to help with that, the Scottish Government has already provided £0.5 million to local authorities to help with the care of unaccompanied asylum-seeking children arriving in Scotland, and we will continue to speak with local authorities on COSLA about that going forward. The first call is on the UK Government to step up and meet the full costs. I will take some supplementaries first from Miles Briggs. 7,900 children in Scotland are currently in temporary accommodation and 9 per cent increase on 2019, cabinet secretary. Seven councils across Scotland are saying that they are likely to breach Government's unsuitable accommodation order. What support will the Government be providing? I do not think that we have heard an answer to Paul Sweeney's question on this accommodation. Are hotels going to be part of that process? To Miles Briggs, there have been a number of pressures on temporary accommodation. Not least we have just been through a Covid situation where obviously temporary accommodation use has increased for all the understandable reasons. We are working with local authorities to address the unsuitable accommodation order issues, as the member is aware of. We want children to be in accommodation suitable for children, but perhaps his first port of call should be his colleagues in the UK Government to say that we have a system here in Scotland that is actually made for the needs of Scotland to receive children that need to be supported because they are very vulnerable. All we are asking is whether the Home Office allows the Scottish Rota to continue. We play our part. We will take our share of those very vulnerable children, but please let us do it in a managed proper way rather than in a way that the Home Office is saying they are going to, which could in theory mean that children being passed from one local authority to another around Scotland. That is not what we want to happen. I hope that the member will support us in lobbying the Home Office to do the right thing here. I was shocked to hear the Home Secretary, Prudie Patel's comments that Scotland has not played their part in asylum dispersal when this country has a proud record of welcoming refugees and asylum seekers. Does the cabinet secretary agree that the Home Secretary must apologise for his misleading claim and believe that asylum dispersal, both children and adults, must be done in a humane and dignified way and with the proper funding from the Home Office to provide the vital support that the people need? I agree with that. I am struggling to understand the remarks from the Home Secretary yesterday, which are extremely disappointing. Over the years, we have constantly made this point to the UK Government, but it has fallen on deaf ears. Scotland has more than played its part, and Glasgow is an authority throughout the UK that takes the most asylum seekers part of the dispersal programme. It is not correct the comments that she made and does a great disservice to local government and the efforts that they are making. Most of all, I think that it attempts to use asylum-seeking children and asylum seekers more generally as a bit of a political football to attack the Scottish Government. That issue is too important for that. We want to reach a sensible agreement with the UK Government and the Home Office, and my plea today is for them to listen to what not just what the Scottish Government is saying but what local authorities are saying. We want to give asylum-seeking children in particular the best support here in Scotland. Please allow us to do it in a way that we know will work best for them. I thank Paul Sweeney for raising this important issue, highlighting the human rights that are at stake here and the appalling approach that is taken by the UK Government. Can the cabinet secretary say what, if any role the Scottish guardianship service will have in this process and what we can do to support local authorities to work with the third sector that has been doing this work for so many years? Finally, what we can do, if anything, with our limited powers to ensure that lone children are not separated from their families in the first place? To Maggie Chapman on the issue of the Scottish guardianship service, I will write to her on that specific point. The role of the third sector more generally has always been important for asylum seekers and refugees. It is through the support of the third sector that they receive most of their support and we are keen to support the third sector in doing that. There were some very strong voices from the third sector yesterday in response to the Home Secretary's comments, which portrayed the Home Secretary as not giving a proper account of the experience of asylum seekers coming here to Scotland. I think that the third sector is pretty clear on their views on that matter. I will write to the member on the specifics of her question.


All right, good afternoon Now that the sugar levels have dropped to an all-time low Fantastic, so listen I you know as Andrew and I prepared and we you know start to think about what we wanted to talk about I was actually reminded of a story. I heard and it was about Some moose hunters and I can tell you this is particularly relevant Andrew is from Canada So he brings the moves I'm from Texas So I bring the guns seems seems important and the story goes like this There were apparently a couple of hunters who wanted to go up in a very remote region and hunt moose So they hired a pilot with the plane one of those planes with the pontoons Flew him in there landed in the lake let him out and said knock yourselves out see in three days takes off Three days later the pilot comes back lands the plane here come the the two hunters They've got all their gear and two giant moose Meese moose moose have to ask Andrew. He's the expert And so the pilot says they start to get their gear in the plane and they start to put the moose on the plane And the pilot says hey, oh, you can't do that You know one moose tops. I said no no no We came and did this trip like a month ago and just like this same gear To moose no problem. The only problem we got is we got a different pilot Back and forth back for thought are again finally the pilot says Okay, look you did it before fine. I don't think it's I think it's too heavy, but we'll give it a try Backs the plane all the way down to the end of the lake turns it around they get the brush out of the way He says let's go gives it the gas Full speed down the way gets up enough speed plane is shuttering Starts to pull up plane gets a little bit out of the water and then boom crashes Stuff flies everywhere guys fly out of the plane Moment of silence crickets in the distance and the guys kind of popped to the surface of the lake. Oh, Bill. Bill. Where are you? I'm over here Man, where are we? He goes? Well? Looks like about 500 feet further in the last time Now I think the moral of the story here is what we're gonna talk to you about continuous delivery It's a form of continuous improvement and software right how do we adopt these practices for ourselves? And so what Andrew and I are gonna try to do is let's face it There are companies who were born on the cloud built your applications from that from the start But the truth of the matter is there are a whole lot of us in this room including us who have been building our Applications before the cloud and we have a way of doing things long-release cycles right Architectures that maybe predated some of this stuff and yet we want to take advantage of continuous delivery, right? Then we for all the reasons that we all know So what we want to share with you is how did we go through that transformation what we're all the rocky points We've been through what did we learn from that and what do we do about it? So as much as possible want to be very practical about that and so when we thought about this We said you know to be honest this is you know just like an addiction I mean we've done things a certain way for a long time. We've been trained to do that We've been rewarded for doing that and the fact of the matter is despite the fact that our hearts tell us We want to go in a different direction the rest of our body still feels that pull towards the way We used to do things and it's hard to change that behavior right, so maybe you can introduce us I was just gonna say you've been talking all this time, and you haven't even introduced. Sorry. Sorry What's your name? So my name is Kendall and I have a problem with long-release cycles that I do on a repeated basis Hi, Kendall. Come on everyone Hi, Kendall. Thank you. Hey, I'm Andrew and I am an addict Hi, Andrew So maybe you're a little too good at that which makes me worry So what we want to do is best way to talk about this kind of a problem is the 12-step program So we're gonna take you through the 12 steps of breaking our own addiction to long cycles talk about how we got there So let's go. How many of you are familiar with the program? No, you don't need to show your hands Give it to yourself. Step one admit you have a problem So here's some good examples of this right the emotional reaction We say hey, you know the reason we like big releases is because big rocks make big splashes, right? I mean we want to make a big dent in the market big press releases big big big We love that and how am I gonna do that if I just do it one bite at a time, right? The truth of the matter is you can still accumulate a set of things and make as big a splash as you want That's just marketing. It's something you can choose to do Second thing hey nine months long right the classic arm wrestling with product management if I don't get it in this release It's gonna be nine months plus another nine months till I see it We fight to the death right and there's cage matches We put people on an island sometimes the people that swim ashore get their release features in It's no way to work and at the end of the day What we found is if you deliver incrementally turns out you have a lot more Flexibility and a lot more voting power than you ever did because if you don't get something now You can change your mind a month from now and you still got a chance of getting that done right away and Last you know the worst the worst problem to have Don't you know try not to talk to too many customers because if they give us feedback that they don't like something What are we gonna do with that? We're already full Right worst possible thing we need to go out to the next feature because we promised it Even though we did a crappy job of the last one no good Andrew talked to him about what we did for step two so for Continuous delivery we said you know let's let's try doing what Everybody's doing out of born on the web. We ought to apply the same techniques and you know Kind of extend that continuous integration where you've got the build the publish the deploy automated testing and What we found is just getting through that first part of the The pipeline was really challenging a lot more difficult than we expected and that's what we're gonna take you through a lot More of the details of what happened what went well what didn't go so well and then lastly even then that the next step of Operating that software in a production environment also turned out to be a lot more challenging than we expected and In fact one of the things that we found will tell you a little bit more about it Is that it's not just one box, but we also started to see the need to have multiple production Environments hanging off the end of this chain So just to set this up so you understand a little bit about our roles So I'm the managerial part that means I get to be all rosy and talk to you about how great everything is and everything Work Andrew for those of you who know him is the smart one of the two right so he gets to actually tell you the reality So let's start with ugly truth part. I'm the extinguished engineer. I mean distinguished engineer so So I you know I Like most of you engineer types, you know you just you call it like you see it And the truth is you know one of the one of the first problems that we found was That our stakeholders our stakeholders just that's not the way they roll and they're they still want to play the same game that they've been Playing and and then but you say well wait a second You know what we want to do is we want to take some time out of delivering features to go and Establish this continuous delivery pipeline and and you know build up our automated test cases and they're like yeah Yeah, that's all really nice But can you do these 52 other things because at the end of the day that's what they're being measured by And so that was really a real problem And of course then you get the other one is like okay, and that's fine But then we get this urgent customer request so this battle between the things that we need to do to be successful in this and You know all of the pressures from the external world around us The next ugly truth that we came across was even within our team, you know and we're we're a global team We have folks in China, Italy Poland Germany you name it we have people scattered across even Canada a Yes, that's right. They're a couple of essay But one of the things that we found was that a lot of the developers we'd find out that they weren't actually Writing the tests and we told them, you know You can't check in code until you've got the automated test and the guy would be like well Yeah, but you know the other guy hasn't written the test yet What but you're supposed to write the test no no no that's not my job It's a tester's job and she had the kind of this cast system that was ingrained into you know People's minds and behaviors and so you know trying to turn that way of thinking was was not trivial and actually I think one of the things that Became really good. This is more on the good side. So I probably shouldn't tell you about that That's a managerial job What do we do about that right so first of all deadlines are dangerous right in the sense that there's always this lure that hey You know doing the next feature for the customer somehow more important than making the system that works and that she can update regularly That's that's actually not true. The other guys aren't coming. So they're us right test automation is part of our fundamental job And as Andrew said we had to do a few things kind of in a in a forceful way to make the change happen quicker Just talking about it and saying that's who we want to be Was enough so we literally said okay? Nobody checks in another feature until a certain set of tests are written period Can't be done right and after that in order to check in a new feature It comes with tests or it doesn't go in the build period We even invoked a few hostage scenarios We had some video clips of family members and kids But I wouldn't encourage you to do that in a lot of countries turns out that's illegal Well in some countries in the other countries seal the doors right But you know teach their own whatever works for you just a quick show of hands I'm curious, you know some of what we were talking about before about these different mindsets Are they familiar to anyone in the room? Yeah, so it's not just us not my job. Alright, so we got a bunch of addicts in the room Let's we'll be pumping it never mind So The next hunk of not such happy truth was we did stitch together this Beautiful looking on PowerPoint Continuous delivery pipeline That took six hours and to end Unbelievable, I mean literally for developers to get code in and get it through and especially when you'd have you know one Developer is dependent on another developer getting a change through it could literally be days from the time You you're ready to do something before you actually see it on the end of the pipeline Which is just you know, it just grinds people to a halt and the second thing was that we were just constantly hitting Test blockers where the system would just it wouldn't work You know 50% of our builds more than 50% of our builds in the early days just didn't work So that was you know a pretty nasty situation We even at one point we kind of instituted a manual fire brigade kind of approach where we'd manually have you know One guy in China would kind of crunch through it You know start fixing it and making sure that something's working and then you know He'd kind of pass out out of sure tiredness and then somebody would wake up in Germany And he'd kind of pick up where that guy left off and go until he was you know This follow the Sun thing is not as good as it sounds So Step four take inventory of yourself Right, what kind of automation do you really have so for us? It turns out we had little bits and pieces for sure But as Andrew said we had big blind spots big holes and it cost us I can't tell you out of those 50% or more builds that failed the amount of time We spent a large portion of the team installing deploying that build and beginning their work to realize I can't go any further and I got to go back Right. We you know across the team this distributed across the world you can imagine that adds up in a hurry second thing Continuous delivery in the sense can't mean continuously not available, right? Please come back tomorrow. Sorry system being updated So, you know, we we learned from a lot of the design patterns here in open stack Right this idea of multi-instance and how do you kind of roll through these things and keep your user-facing services alive? That was an important principle for us and the third thing which which I can't understate and I have to admit This is something that we didn't probably recognize as we should The leaders who get this who really want to be this kind of team will not necessarily be the ones you're used to So what I'd encourage you to do is look very very hard for these people and help bring them to the front Right they you might have had a traditional lead who's the superstar in your domain for 75 years Right comes in of the Walker, you know mumbles puts his teeth in and then codes something that you think is awesome But that might not be the dude who's gonna say you know what continuous delivery is really gonna help us get there Find the people who are gonna get you there put them in the light Let other people see them reward that behavior and the rest of the people will follow very very important so this is a Bit of an eye chart of what we did what our environment is so we you know we use our rational We use a lot of our own tools from IBM And in fact there's a RTC rational team concert. That's where our source code is We've got these build engines and that would kick off over to Jenkins Which in turn would go and combine all of the components from the various different component teams And then we put together some really neat stuff one of the things we called Deployinator which would then go and stand up, you know multiple environments Where you know we just have as many servers that we could put together to go and run a lot of these automated tests And we developed a selenium grid. How many people use selenium for for web-based testing great tool You know we found initially that it was pretty fragile and so we actually kind of wrap it in around Sort of what we called a kind of a grid where we just fire them up whenever we need them and you know turf them and at least that Made us very productive But at the end of the day it took a lot of horsepower and a lot of work to get this kind of stuff together So that led us to step number five admit your wrongs and do something about it, right? So one of the first things we learned so we're development people right development people think of course my stuff's gonna work Right. I'm good. I'm paid a lot of money, and I'm worth it Right the reason you have me here is because you know I get it done Truth of the matter is no matter how good your automated testing is at any given point in time and particularly at the beginning when you're Kind of crawling your way to get to that critical mass You're gonna let some things through that you're not proud of right and so the first thing we learned right so open Stack is wonderful at spinning up a system quickly right with an image on it So that's great That means we could deploy a new build that we have that we're proud of or we think we're proud of pretty fast Turns out it's equally good at going the other direction and it's really important that you figure that out first So if you walk a wire between two buildings the first thing you're gonna do is put a really strong net down there Because you're just gonna feel a lot more confident on that wire knowing that if you fall odds are it's gonna catch you Although after a pretty healthy eating experience here in Hong Kong I'm not sure there's a net that can handle me at this point, but for many of you in the audience lean and fit I'm sure it will work So so that was something to be honest. We kind of blundered our way in so we made mistakes in public in front of our users The good news was it taught us a valuable lesson. We needed to react quickly It also taught us a principle of let's make sure we can keep these people up And even when we make a mistake we need to think first about defense before offense And then the second thing and again, this is something we've seen actually done very well in many places in open Stack itself, which is you know the idea of the feature switch or the config setting right? I'm not yet confident in this. It's not fully cooked looks great on the outside The icing is good if you put your thumb in the middle quite gooey in the center right not ready for eating But we want you to mess with it So it's there, but it turns out if it's still not quite done flip the switch go back to what we know works for sure And we'll gradually go live with it when we're ready So the idea of these kind of strangler patterns sort of choking out the old features when you're confident in the new ones and Allowing this kind of continuously available system was very important which brings me to some more ugly truth so we said You know so now the test automation. It's part of our lives go do it Unfortunately That's not enough direction for a team in fact We we even had kind of one of the guys you kind of let it. He's like yeah, you know just just go and do it right tests You know when you have a team of you know hundreds of people scattered across the globe in different languages and stuff in Italian How do you say right? Just do it. What what does that mean? So, you know, we had to get a little bit more prescriptive and start telling a lot more specific How do you do it? How do you write good test cases? In fact? That was one of the other things really you know of all the tests that were being written how many of them were actually good and that would would actually work from iteration to iteration So it's very easy to make poor tests and and fragile tests So we hadn't in no other way was but to invest in learning it and then communicating that back So that others could benefit from it because you know at the end of the day when we just kind of let it loose You get anything from awesome to oh my god a drunk man. You just like when wrote a test anyways So that led to step number six remove your defects Right find out what's wrong. So the first most brilliant inspirational moment for us. Hey, it turns out test automation is code What a shock and I you know it sounds silly But I'll tell you we didn't treat it with the same respect and we paid for that just as Andrew said You know we had build breaks, you know red builds constantly that we would go and look and say no actually that was fine Just the tests were bad, right So lots and lots of lessons here very practical ones first of all right treated like anything else you do So if you do code reviews do code reviews if you you know have something around You know promotional system go through some gates do that for your test automation just like your features Step number one second thing we introduced very late by the way the concept of what we call a non-voting test case And I think that concept exists here in the open-stack efforts as well Meaning that hey, this is a test that is not yet robust enough to stand up and give me solid results under every case But it's necessary. I do want to run it, but it doesn't if it fails. It does not stop the train Right so having this idea of saying these are in progress And these are sturdy and a benchmark for me to say green or not really really critical right and having that that two-class system Second thing tests are atomic. We had a lot of folks as Andrew said, you know We started with this wonderful idea of well, you know, we got professional folks all we got to do is say dude Right test automation y'all know how to do that right go do test automation I Is a little even more inspiring than that. It's hard to imagine right, but I mean I can really whip into a frenzy So, you know it turns out you let the flowers bloom and you get a lot of weeds So we had lots of cases where people wrote a test case that said well, you know I mean the one I wrote three things ago surely that's run and left behind some stuff that this test case is expecting Well, not really turns out when we mix and match those things That stuff didn't work. So they need to be self-contained third test can have allergies meaning that you know sensitivities So we found things selenium is a good example that right where we're looking for something on some part of the screen Well in the meantime, we do a little user feedback the user say I universally hate you And I will kill you and everyone who looks like you plus your family members just to throw it in It's that bad and we say you're right feel terrible go back and fix it change the screen They love it our test break because where's pixel 47 down in 32, right? So think about that stuff think about the stuff you want to change and make sure your tests have some way of beaconing in on those Changes IDs immutable objects and enforce that right step number four What will you vary we found a lot of wasted effort because one person running a test case would come up with three images that they thought Tested some combination of interesting things the person sitting right next to him literally would write a test case and create three Different images sort of kind of like that, but not really that did this now You can imagine the fun we had with build breaks where we said dude I don't know what you're talking about it works great with mine So yeah, but we had that other image that the other dude put there and when that ran it what what images he use and All right, so at the end of the day these things you know your variation points your environment Your variables your configurations your content right have a strategy for how to do that There is a repository a URL where these are the images that will test all tests are written to loop through that That way we can change our mind if we have some new interesting combination We saw it a customer we throw it in there We run the whole battery and we see if we live or if we die right but that takes effort takes thought takes design This is code right in last load and stress test your system So we have some fabulous engineers here in the room who helped us a lot with this So functional testing is great, but then we realized we need to put the system under stress We need to vary our workloads. We need to simulate lots of users hitting this at once Simulate concurrency. This is where the really fun problems exist So when we got better at doing the basics we started to layer on the more advanced things and again It pointed out a lot of crocs in our foundation very helpful Step seven then remove your shortcomings with humility What this meant is Andrew talked at the beginning about this six hours, right? The from the moment I put my line of code somewhere then we churn through this incredibly long pipe So that was you know the Alaskan pipeline when we really needed one from about here to the front door, right? So how do we shorten that first of all make it a lot easier for people to Sample their work sandbox build how do I take my one little change and Incrementally test it against something. That's the known content so that I got a pretty good chance Then unless my buddy next door checks in some conflicting change. It's gonna pass tonight. So I don't get bothered right awesome Test as a service. So our initial version of this was done in a you know more manual way Load these things in your workspace try to run them. That's pretty expensive And again, we found cases where people had very different versions of things that got very different results So why not apply a cloud to this problem, right? If these are the tests I want to run then I can provision the tests run the tests that I want put them away Voila consistency on demand. This is what clouds do right and then last publicize your results I mean this is what we do right builds are like breathing so We wanted a way to have peer pressure be the mechanism So, you know, there's a website every member of the team understands you go out and it says here's the last good build Here's the one that was done before that here's all the tests and that one is wrong That one failed right and everyone goes sweet Edmund nice Right, and then we have a pack of people with torches who follow into the garage and beat them unconscious But that's because we're filming that's only because Edmund lives in Texas, right? That's perfectly acceptable. We don't beat people in other places, but in Texas. That's how it gets done and Edmund You break it again. I swear to God. I will pull this car over and you don't even want to know all right So that takes us to step Pete Apologize to those you have harmed right not not Edmund not Edmund. I'm not apologizing to you Edmund You broke the bill. I'm gonna One more Okay So for this one we said, you know what? We have an interesting problem as well, which is and and I'm sure this doesn't happen anywhere in the room I think this is unique to us, but on the drawing board. It looks beautiful. This is a work of art pure Picasso with the sideways nose And everything just the way I love it and when I translate into code I run my test and I hang it on the wall And I say man, I love that turns out Sometimes when the paint goes on the canvas it doesn't quite turn out the way I had it in my head and in front of our customers It yes, it does work. Yes, it can be made to work, but in practical terms It's awkward. There are some things you didn't get right tangible things About what it takes for me to keep it running not to get it running, right?  We were building every day why we were building it Right why because we wanted to learn from ourselves And we want to make sure we didn't put something in front of our clients that we ourselves were not capable of using That's pretty embarrassing and secondly It was a way for us to get this system working built tested in a little bit less public way Right, you probably don't want to go live with your continuous delivery pipeline in front of your banking application for your customers I mean you might because you're you know Good and really confident But this might be an alternative for you And then the last part Andrew talked a little bit about that pipeline and said that last box called production Right.  Well, it turns out as We got into this more and more we realized there's lots of different ways we go live We go live for our internal cloud.  Hopefully more of the latter than first And you know, we want to do these things for multiple development teams in multiple geographies Ultimately, even some of our clients started to see this stuff and say, you know I can envision a day where I actually subscribe to the same pipe and take updates to your product from you in that Same way still ahead of us not quite there, but again, you can imagine it So we really adopted this idea of a publish and subscribe meaning that our product had the idea like a yum repository Right look for the changes pull them on a schedule or policy that that particular instance requires If it's the internal cloud I want to update it daily if it's a beta site Maybe once a week because updating every day is not good for the customers. They can't keep up with their stuff, right? Might be different for a production customer says I got a change window every 30 days. Who knows but this idea of sort of done once Placed into an approved repository and then pull to multiple instances actually turned out to be a very powerful concept Well, and ultimately it's giving the customers the choice, right? How how do they want to get me? You know, who knows there may be some customers that are still happy with those old school ways of you know Every six nine months or whatever boom major upgrade But you know for those other more progressive Companies that want to get the latest and greatest there. They're happy to do that too, right? I think choice is a pretty important piece Which leads to step nine just make direct amends except when doing so would harm them, right? And so this is feedback right this says that again No matter how well you do at the end of the day You should assume that sometimes things aren't going to go the way you want and you need to make sure that in order to save Your face right to make sure you're strong in front of your users that they have a quick way of talking to you Let me know right because as long as I think you're listening as long as you could do something about it You can use that safety net if you need it or you can roll forward quickly Things are going to be fine And they're going to be a part of your community people who are helping you make themselves be more successful If you don't listen and if they can't talk to you you are the enemy You are the people who are in the way of them getting their job done and this whole thing is going to fall, right? So let them talk to you talk back. Let them know you're listening And at the end of the day make it easy because let's face it, you know surveys and all that other nonsense None of us have any time we got three minutes a day That's free and that's for me walking from here to the bathroom, right? So if I can sort of Bluetooth you something that's about all I got So keep it short and keep it sweet Well as you can imagine there's a little bit more of the ugly truth and and frankly You know it's great when we see all these born-on-the-web type apps out there And they're awesome, and they're taking advantage of cool things like, you know Netflix Simeon army isn't that awesome But how many of you out there like me are addicted to legacy apps that were built some time before The this, you know kind of web world anybody out there? Yeah, okay. They're a few of you And this is the thing is they just weren't designed for This kind of rolling updates and this kind of incremental, you know Maybe take down parts of the system while you're upgrading other parts, but overall the system stays alive. Unfortunately We're just not all there yet And so you know in some ways we started trying to take advantage of a lot of the techniques from OpenStack Or that you get from an OpenStack world But you know in some cases we use kind of more traditional HA techniques and and you know even using things like DRDB and you know Kind of the traditional style for traditional clustering, which is fine At least that kind of gives Our customers something reliable while we're incrementally evolving our system to take advantage of the more modern approaches to develop To develop our apps, but that takes time and that takes change Which leads us to step number 10? Continue to inventory yourself and deal with your shortcomings. So as Andrew said, I mean the trick here is Don't wait, right? So we all have these applications. They're a little bit of a Frankenstein whether we like it or not There are parts of the system that you say wow, this is nice We've been able to renovate that that part of the house. It looks pretty good We're happy to have the guests come in and it kind of does what we want. We never let them go in the back room Right because the back rooms got dead bodies cats that you know, we haven't seen in two years, you know food Stuff I don't even want to talk about right so that's that's just the nature of our applications You can you know get caught in this idea that well until I redesign my application in an open stack like man or multiple Instances separate out my data, you know, it's just not ready for this sort of live updating Don't wait. Don't wait fact of the matter is as your application as you renovate one room of your house at a time Your system will get better and better and these short downtime windows will disappear and that's what you want So initially it may be that you say well I got to be a little careful when I make changes to one part of my system because it's not very well designed for that And I have to take the system down for 10 minutes in order to bring it up. Okay, not ideal But get started do it and then fix that part of the house so that the guests can kind of wander around on their own All right, and the last part is lights out operation. I'll tell you this is another one We underbid so Andrew's right in the dev environment.  I mean, it's a very flexible environment the minute we crossed over this very thick line where he said, okay Love this change. It's awesome.  So the rules take over and I guarantee every one of us has them, right? We have these procedures We have to follow we have auditing we have HIPAA regulations. We have Lord only knows we all got them these scrolls of You know ancient text from the Roman Empire that you know has been translated into it So the rules matter and there's no way around them you may evolve, but you'll evolve slowly So what we also figured out is It's not only important to automate the deployment of the application and the change to that application We also got to automate the wiring of that thing to these procedures and these tools and management practices That our company requires because if we don't all that fabulous flexibility all that speed We build for ourselves comes to a screeching halt and days or weeks literally can go by Right, so we used a lot of workflows and other things that we had in our solution in order to put those things The put the wiring diagram in place and it allows to snap those things up but maintain the auditability and compliance that we needed Very important which is frankly one of the reasons why we built this product exactly right So last step 11 Meditate to continue forward right when you found inner peace Continuous deliveries working for you the features are rolling steadily out the door. There's music Incense perhaps maybe something stronger just saying don't advocate it. No it happens You know the other thing that we learned and this was my own change right as a manager, right? What am I trained to do? I'm trained to walk around with a clipboard and track because we love to track. Where are you how long is that gonna take? You know, do you really have to go to the bathroom now because I really need this checked in What are you doing and we tap people with pencils and stuff like that? It's actually a lot of fun So it's kind of hard to put that down because I enjoy it a lot But it turns out in this world what you're really trying to do is if you're gonna change your behavior You got to change what it is you inspect right and what we really want to do is I don't want to know pace I don't know how fast you are doing something when is this going to be done the classic question that pretty much every developer hates Instead what I want to know is who's using the stuff? What are they telling you? What did we do about it? How well do they like it? What's the next thing we're gonna do? Right if we can shift ourselves into that mentality then everyone's thinking forward everyone's thinking positively, right? What can we do next did we get it right or people digging it and what's next right? Power powerful psychology. I promise you this will make a huge difference makes my job lie these here Right, so it doesn't mean that speed doesn't matter. We don't live in markets by ourselves. There are competitors all that stuff is fine There's people who are angry with you almost always But it's different it's speed for the sake of being delightful to your customers and that's what matters That's a different way of thinking Which brings us to the last step so step 12 you get through the entire program your addiction is broken Right the last thing you do once awaken carry your message to others in despair Which I think is why all of you are here in this room and hopefully we've we've had some success in doing that I could give you some examples so in six months since we implemented this Literally and you know because we're IBM and Lord knows we love measuring stuff We got more metrics than you know, we're measured by the kilogram of metric apparently it's part of my appraisal system So but literally we got you know reduction in labor the meaning the kinds of things We usually had to do for build for testing for things like that seven to one and and believe me There is a lot more we can do a lot more we can do we are far from the end of this journey, right? More than 3,300 builds in that length of time and the amount of time that it took us to generally resolve some problem Went down by more than half right That's you know, and that's not small change. It's not it adds up day after day after day Now we'll tell you like any addict We still have our days where we kind of Fall off the wagon we fall off the wagon the stress comes such-and-such customer called Such-and-such competitors doing something we got to do something today. Can't you just do this one special thing, right? So you're gonna feel that pull don't be afraid of it. Just remember find your partner as I do Talk each other down right put the glass down Let's go back implement the feature make sure the test automation is right Deliver it as soon as it's ready, and we're confident in what we've got Okay So that said thanks everyone. Thanks at your time. Hopefully this will help. Good luck on your journey


Hold up, you're one of the killer minds, snap! Whoo! Oh, snap! Yeah! You better be the game, the game! Let's go! Killer on three! One, two, three! I know whatever it takes, I'ma give my f***ing all. I promise y'all that. We gonna see these boys f***ing twice, bro. They gotta see us twice. Make them feel you. Watson looks to his right. Under some pressure, stepping up. Fire's man is wide open. It's intercepted! What a kick! Piccaro! Steps in front of Johnson and intercepts it at the one yard line! Good job! Good job! Big time play! Big time play! Watson to throw. Watson in trouble. Watson sets! Kareya puts him on the ground! He just got a whip and I just dogged him. What a play, bro! What a play! What a play! God is good, man. You see it, you feel it. You're not there right now. You need more energy. You need more energy. You need more energy. You need more energy. Tana Hill. Play fake. Rolling nearsight. He can run it in there! Touchdown! Titans! Tana Hill on the boot! Hey, just get started, man! Just get started! Hey, one second. I keep having it all year. Just get started. Yeah, let's go. Second and goal at the four. Play fake. Toss. Banded up in the air and intercepted it in the end zone! The Titan intercepts the banded ball in the end zone. Jay on ground! Passed time. Passed time. Throws. Caught. AJ Brown! Touchdown! Titans! What a job by the line! What a job by Tana Hill! And what a job by A- John's staying in the pocket. Great job.


Hey, I'm doing more conversion of testers from using 18C 3.6 to RP2040. This is the PID 5303, which is our ESP32 S2 Feather with BME 280. And I'm uploading the test code over USB. And then the tester output comes here. Test the Pogo. It doesn't actually take 5,000 seconds, because it's been on for a while. But this test is going to be a lot more reliable than using a TCO Raspberry Pi. So I'm really psyched. And it just uses an RP2040 to do USB BitBang host. And then I like that it has analog inputs, unlike a Raspberry Pi, because it can check the voltage of the battery and 5-volt power supply on here. So I'm just going to go through and test these all.


Hi, my name is Candice Brown and I am the recognition share for the National Residence Hall Honorary, Tau Alpsa Epsilon Chapter at the University of Arkansas. So this video is going to be about how to write a quality OTM. But first things first, let's get some of the logistics out of the way. So you'll need to go to otms.nrhh.org. From here, you'll need to make an account, or if you've already made one, then just sign in. My page looks a little bit different than yours, but you'll be able to submit either a general OTM, which will be about a specific person, or a program OTM. You'll select a category, any of these will do. You'll put in their information. You don't really need to put in their address or their phone number, but you definitely need to put in their email address, and you'll have your information over on the side. As far as the actual OTMs content, we're going to look at an example. This is from Samantha Brandeberry, our NRHH President Chair, and she wrote this OTM for the month of August about her friend Kenny, who is on the Glats and Ripley staff. There are a couple reasons why this OTM is a great one. Number one, she uses all 600 words possible in the OTM. It's not saying that word count is important, but just know that if you don't have at least some sort of substance put in, then your OTM is not going to be really considered very seriously whenever a committee goes to vote. We called that last month in our meeting, where's the beef? If you don't have substance to your OTM, then it's not going to be considered very seriously. Another thing that's great about it is that she themed it to be about Superman, so she talks about him not being able to fly physically, but how he has the ability to lift our spirits as a staff, and how his only kryptonite is that he has a weakness for serving others. She themed throughout this Superman bit, and it makes it entertaining and winds everything up nicely in the end that he's a superhero. The other very important thing besides quantity and making it funnier and entertaining, and what I say quantity, remember, is not the ultimate goal, but know that it's not going to be considered if it doesn't have some length to it. So quantity and some kind of funny or entertaining thing, but the other bit is that it's month specific. She talked that was going on in the month of August, how from day one Kenny took the initiative, and how he helped the students with home. Using month specific things is what's going to make this an of the month award truly. So if you don't have month specific things, if you have just general personality traits about someone, if she had said only Kenny is a great guy, if she hadn't said anything about what he actually does or what he did during the month of August, then this might not have been considered at all. So yeah, just know that if it's not a good substantial length that it's not going to be very considered very seriously. If it doesn't have month specific things, then it won't be, and if it's not entertaining. So be sure to make it entertaining. We'll have fun reading this if you have fun writing it. Well, that's all you need to know for writing an OTM. So happy writing.


Georgetown essays are interesting they throw me off with the pages versus the word counts but I will show you how to adapt your common app magic thank you for joining me on my channel for the best college essay advice subscribe and hit the bell you want to be unique you want to stand down I hear you I have a couple of Georgetown students one of which you've seen on this channel if not check out that video a link above and so I know how to strategize with you hi I'm dr. Josie with write your acceptance with hundreds of students in school right now or graduates by now I know how to make them remember you now it's your turn so essay one the short essay it's about half a page single space and that is discuss significance to you of a school or summer activity in which you have been most involved so now most involved does not mean most hours clocked it should really showcase leadership and that something whether you founded a club or you led a project that something is running smoother because of your contribution and that really is interesting if you can leave a legacy something in place even beyond how you when you graduate that would be even more powerful so as an example I've had a student who loves the theater but had terrible stage fright so she had no interest in actually acting but she basically offered her services as a makeup artist and so she starts narrating the essay how she kind of transformed through makeup one of the history teachers into kind of a you know a personality from cats let's say so she goes into showing image image driven and then kind of backtracks and talks about her love of theater and her contribution and how this was the most kind of enriching and fulfilling for essay two you're going to pick one of these two prompts single spaced one full page and I'll read both prompts so that I can kind of tell you how to strategize or advise you on how to strategize for these so here are the prompts as Georgetown is a diverse community the admissions committee would like to know more about you in your own words please submit a brief essay either personal or creative which you feel best describes you so that's one number two is what does it mean to be educated how might Georgetown College help you achieve this aim applicants the sciences and mathematics or the faculty of languages and linguistics should address their chosen course of study so that's very important because then it kind of switches into a little bit of a why us so why this intellectual pursuit and how will Georgetown help you kind of address that so I share those two prompts together because most of the students I'm working with right now already have a common app or a coalition main essay and if your essay is identity driven you want to make sure that maybe you kind of think about using that for the first prompt the essay that's either personal or creative and you can kind of adapt that make sure no matter what topic it is image-driven you kind of maybe poke fun at yourself or really you showcase no matter what the topic is how you learned and how you grew from an experience so you have an anecdote story you anchor your essay with a story and then you kind of pull out from their lessons learned and how you grew as an individual if you're thinking about or if your coalition or common app essay rather was more kind of obstacle-based you kind of overcome you overcame something you can definitely adapt that for the what it means to be educated so now you want to think about three principles you are never too smart or too old to learn something new learning does not always happen in a classroom and three learning is most fulfilling and most rewarding when you pass it on to someone else where you help someone kind of learn something new and so if you kind of keep in mind those three principles of education you can't go wrong with that essay do you have an essay idea for one of those two main essay prompts but you don't know how to get started or how to adapt your main essay you want to think of diversity to which I'll link above here my video on that comment below I'd love to help you out bonus tip so for applicants to health studies school of business and foreign services you want to make sure you don't forget that additional essay that you have so check that out look for that one want to see a successful Georgetown essay I have it in my free college essay guide in the description below I also am already working with students if you want to get my eyes and my expertise on your essay and how to adapt it editing techniques kind of be more compelling or as compelling as possible I'm working with students I'm working on that right now actually and we have the YS templates we have a lot going on if you found this video helpful please give us a like comment below any of your questions I'd love to help you out and please share with your college-bound friends I really appreciate it thank you so much I'll see you soon bye


If you are building single page apps, you might be using a JavaScript framework to do so. One of the most popular frameworks is React. React influenced a series of other frameworks and is also known for introducing a DOM extraction layer and a domain specific language to write component templates called JSX. The virtual DOM that React chips with will come in handy when we are trying to make sure our users get through the content as fast as possible as we will later see. So what do you need to do to make sure your React apps are discoverable in search and how do you handle SEO? Let's start looking at a typical React app. While your React projects might be different in the libraries and components you use and their content and complexity, there's a lot that all React applications roughly have in common. For this video, we will start by creating a fresh app using the Create React app helper utility. In this video, we are using Create React app version 2.02. And first, we create the application skeleton using this command. This created a very basic React app for us to work with for this video. So let's take a look at it by running the suggested development server we can install via NPM as well. So far, our application only has one piece of content. Let's make this more interesting by adding another route and another piece of content. First, we install React router DOM. Now that we have a router to handle different pages, we can add a component for another page. We will be using a placeholder API to fetch a few posts. So we will call this the posts list component. When this component is ready to be displayed, we fetch the data from the API endpoint and store it, truncate it a little bit, and save it in the components local state. In the render method, we map the posts to list items, containing the post title, and then render all the posts in a list. Moving on to our app component, we import the router along with the switch and route components and change the render function so that we render the posts list component instead of the header and logo. This is a good time to throw out the default CSS as well, and then check our app in the browser. We now see a list of post titles as we would expect. So, similar to the posts list component, we can now add a component called post detail to show one individual article with the title as the headline and the content below it. It is very similar to the post list, except we only fetch one post from the API, and we take the ID from the post from the URL parameters. Let's add this component to our router setup. Last but not least, we will set up our post list component so that it provides links to each of these article pages. We will use the link component from React Router for this. Now we build our project and deploy it somewhere. With our sample application working, we can look into improving the discoverability of it so users can find our content more easily on the web. A good first stop to check how we are doing is the mobile friendly test. We just put the URL into the field and we see what Googlebot sees when crawling our pages. We see that all our content shows up and that the links are a tags with an href attribute, which is what Googlebot will pick up and crawl. So, our content will be indexed, but we can do better here. First of all, we want to make sure to give meaningful descriptive titles and descriptions to all our pages. For the homepage, that can be the name of the blog as the title and what this blog is about as the description. For the individual post pages, we should set the title to the post title and the description to the most important takeaways or summary. Well, we don't have that information here, so instead, for the description, we will just use the first 100 characters from the blog post. Note that this is an arbitrary length. The meta description does not have any length restrictions, but putting the entire post content into it isn't very useful either. To do this in React, we can use the helmet component that we installed from npm or yarn and then add it to the render method in our components. We can configure the title, the canonical URL, as well as any meta tags. Now, if we check one of the post pages in the mobile friendly test, we see the title is the same as the blog post title. This is great, because it helps users searching for a specific topic to see how the blog post is relevant for their goal. The same is true for the description. We show a snippet from the description in the search results to help users make an informed decision on which result is the best for their needs. All right, let's look at a more complex topic. As we explained in a previous video, when we crawl your pages, we defer the execution of JavaScript to a later moment, when resources for rendering are available. This leads to two ways of indexing, the first one that isn't running JavaScript and then potentially a second one where we execute JavaScript to see the content that depends on it. If your content changes very frequently or your site is very large, you might want to make sure to have your content be available in the first wave of indexing, so without JavaScript. It is also a good idea to not depend on JavaScript too much, as other bots might not execute it at all, and you might find that you gain a better performance for users as well if you do not rely on JavaScript to display your content. Luckily, React has a few ways of supporting us with reducing the reliance on JavaScript by doing server-side, hybrid, or dynamic rendering. In our example, the content won't change that often, so we can use a solution like React Snap to pre-render our content and deploy the resulting static files. Let's install React Snap and take it for a spin. Here it is crawling all our post pages. If we now look at the source of our page in the browser, we can see that these files contain our content even if JavaScript hasn't been executed. Setups like this are not always this easy to accomplish, but there's plenty of documentation available to find out more about the other possibilities for server-side or pre-rendering with React. We could also decide to only serve the pre-rendered version to bots, like Googlebot. That would be called dynamic rendering, in which case do take a look at our dynamic rendering documentation as well. I suggest you also take a look at the other videos of this series for more great tips on making your app visible and successful with Google Search. We have a couple more episodes about JavaScript SEO coming out, so stay tuned and please tell us what you think so far in the comments below and also like and share if you are finding our new series useful. See you soon!


I would like to start to welcome you all, first by welcoming you all to this webinar. My name is Sibrand van Beema. I am working at CloudFaro as a remote sensing data expert and as such I am quite regularly giving webinars about potential uses of the Crayodious platform. So I would like to focus today on Crayodious. So first the agenda for today, I will start talking a bit about CloudFaro and Crayodious. Then I will focus a bit on the use of Crayodious software or the Crayodious software in general. Then I would like to tell a bit more about how Crayodious is integrated on the Crayodious platform and I will spend most of the time of this presentation a live demo of Crayodious. For people that have been attending the webinar end of August about two months ago, this is pretty much a rerun of the same webinar I don't, I will talk a bit about the updates of the Crayodious system but on the whole it's fairly the same story. If you have any questions during the webinar please feel free to post those in the chat box and we have two moderators, Sylvia Nazjewowska and Marcin Bioewewski who can help answer your questions during the webinar already. And I will after the live demo also run a Q&A session and briefly go through the questions that might not have been answered or to take some questions. So I will start with my presentation. First a bit about CloudFare. Who are we? CloudFare, we can call it now a European private technology company founded in 2015, headquartered in Warsaw in Poland but as you can see on the map of Europe there's already presence in three countries besides Poland, that's also Germany and the United Kingdom. CloudFare is the provider of cutting edge computing services and focusing a lot on the European space data sector and they're focusing on the uses of big data sets like multi-pattern bytes, repositories of Earth observation satellite data and yeah it's one of the leading cloud service providers for the European space sector. Well as you can see it's growing quite nicely, there was a 66% revenue growth in 2019 compared to 2018. So the company is growing quite quickly. Then I will focus on Creeodias, Creeodias is one of the cloud computing platforms that's managed by CloudFare. There's more, CloudFare is also involved in the Wekiyo platform which is one of the other Dias platforms but also the Code Today platform from the German Aerospace Center and a few others as well. But Creeodias is one of the five Dias platforms which stands for data information and access services which is initiated by the European Commission to build European cloud computing platforms for the utilization of processing of satellite data primarily from the Copernicus program. So on the Creeodias platform there's direct access to the full archives of the Sentinel repository, Sentinel 1, 2, 3, 5P and Zoom 6 that was launched last week. Also we provide access to the Copernicus service data so you have the C3S which is the climate change data, CAMS, atmospheric data, CEMS which is I always get confused emergency mapping, CLMS is land monitoring service and CEMS which is the marine environment monitoring service. So all these Copernicus service data is also present on the Creeodias platform or at least if it's not there it can be ordered and we can make sure it's being put on the platform. That's also what I would like to stress is that it's not a static platform, we have often users that are interested in certain data sets and we can provide a way to integrate these data sets so it can be accessed by users or any users on the platform. Besides the Copernicus data we have ancillary data mostly DEM data but also data from non-Sentinel missions or non-European missions like Landsat or ESMOS easy Europeans and NVSAT as well, European missions but they're more specific as well and we also have now a few contracts with some very high resolution data providers like Jilin, KazeoSat and CompSat. So this data sets can also be made available through our platform. At the moment I checked yesterday we have 19.7 petabyte of data, it's almost 20 petabyte of data now and as there's more data recorded every day it's growing. The data can be accessed through APIs, can be used through GUI like you can see the screenshot on the right which is the Creeodias Finder where you can be more like a traditional data search engine where you can search for data and download it there as well. Any registered user can download data from our platform, you don't even need to have a paid for subscription, you just need to register. So the data is freely available to download but you can, the idea of the cloud computing platform is that you can process it on the cloud platform itself without the need to download data. So for that we have a wide range of different types of virtual machines that can be used. So we offer very scalable computing services and flexible billing options as well. Then we would like to move on to a little background, introduction to the Sennfor CAP software. So the Sennfor CAP software is the capstance for common agricultural policy, it's a European union policy which aims at improving agricultural productivity and ensuring a decent standard of living for farmers within the EU. So it's currently in a reform and modernization process, the CAP, which, yeah, Earth observation data has been acknowledged as or recognized as a very useful tool, data source for checking and checking compliancy to the CAP policies, the CAP requirements and, yeah, while also and it will also make it more cost efficient is the expectations. So the Sennfor CAP project is initiated to facilitate this uptake of satellite data for the CAP by providing algorithms products and workflows that will help to monitoring and management of the CAP. So more information can be found on the web link below. So the Sennfor CAP software package can generate a number of products. This is, first of all, you can calculate a cultivated crop type map, which is discrimination of crop types or crop type groups. This is based on, the system will need some input data to build this crop type map. But yeah, it uses a number of, well, more advanced machine learning algorithms to classify satellite data into crop type maps. So the second product that they have available is a grass mowing product. So it can discriminate grass mowing events per parcels or per agricultural field. This, yeah, let's go to the third one. There's a vegetation status indicator. So it can, this is more a maps of the, yeah, the status of vegetation, how healthy it is. So it's more traditional, I would say, vegetation indices like NDVI, but also more advanced, modern biophysical products like LAI, fraction of cover that can be created, that can be calculated by the Sennfor CAP software. Then we have the product of the agricultural practices monitoring product, which means the identification of agricultural practices of crop harvesting and plowing of grasslands, as well as comparison of farmer declarations of fellow lands or the growing of catch crop nitrogen fixing crops against EO data. That's nicely read this definition there. So it's quite a wide range as well. They are at the moment also integrating a new product, which is a tillage detection, and this will be available in the latest version or in the new upcoming version, which is foreseen to be released in January. So how does the system work? Well, it basically is an automated ingester of large numbers of satellite data, which are either Sentinel-1 radar data or optical data from the Sentinel-2, as well as the Landsat-8 satellites. After ingesting this, the system can apply atmospheric correction to the optical data sets. So they are converted from level one to level two product. And for the SAR, the Sentinel-1 data, it calculates terrain corrected backscatter, as well as coherence time series. So these are quite complex calculations. The system runs this completely automated and from these level two products, these are used to calculate the higher level products that I mentioned in the previous slide. The crop time mapping, the grassland mowing detectors, et cetera. So now we'll talk a little bit about the integration of Centfor-CAP on the CREODIUS platform. We have built a custom-built Centfor-CAP virtual machine image, which means this is basically a ready-made image of an installation of Centfor-CAP, which by any user of the CREODIUS platform can start a virtual machine with this image and have all the data, all the software installed and ready to use. The big advantage of using Centfor-CAP on CREODIUS is that we do store the complete European collections of Sentinel-1, Sentinel-2, and Landsat-8 data. We also start to have more and more users of the Centfor-CAP software that are focusing on areas outside Europe. In that case, we have a need to download some data, usually from the Landsat repository, but also the Sentinel long-term archives. Those systems are now ready in place and we can download quite quickly all the data to our repository. So this means that the data is sitting basically next to the software and there's no need to download the satellite data through the, well, quite often, slow official data hubs. We provide, as I mentioned already earlier, we have scalable storage and computing solutions, so if you need to process a lot of data, you can enlarge or make use of a more powerful virtual machine with a larger storage capacity. If you are less in need of big data processing, you can scale it down easily. Well, we provide active support with regard to technical Centfor-CAP related issues or we can forward queries to the Centfor-CAP developers if we also don't know the technical solutions completely, which I also mentioned at the last point with a direct communication with the experts and the developers if there are any specific technical issues. So this I will show also in the live demo, but I quickly want to show a bit what this Centfor-CAP image is. So in this image, we have included installation of all the necessary software to run Centfor-CAP. So besides Centfor-CAP, you have the Maya software, but also post-grad SQL, Apache, etc. It runs on a CentOS 7 operating system and we have a GUI included as well, so you can easily run it. You can visualize the virtual machine quite well. It doesn't need to be all command line based. The Centfor-CAP software is so set directly so that the access to the Sentinel-1 and 2 and Landsat data repositories are ready to use. There's no need to update the system, so it will know where the data sits. The ancillary data that's necessary for Centfor-CAP, which is the SRTM and the WBD, so the water body data that's needed for the Maya processing are included. These are quite large data sets, but they're already on the image. It's ready to be used by, for example, X2Go client, which I will show in the live demo as well, which is a way to access a virtual machine in a GUI version, so through a graphical user interface. What we offer is that we provide always the latest version of Centfor-CAP. We are at the moment updating to version 1.3, but we expect that that image to be busy, to be ready soon enough for any existing users that are interested in upgrading to 1.3. We can provide some installation scripts to run this upgrade. We also provide a flexible billing model for Centfor-CAP users, what I mentioned earlier. If you need more computing power, more storage, we can scale you up. If you need less, then we can scale you down. We have remote sensing data expert and sales support as well. We make sure that the data set is always all the Copernicus data up to date. It is basically a mirror of the official sign hub or the Copernicus hub data. All the Sentinel-1 and 2 data is there as well as the Landsat data, but then for coverage of Europe. As I mentioned, we can also order and download the data for out of Europe. We also offer customized contracts if needed. We have more information on the web page. There are two links below. Further information, please contact our sales expert for Centfor-CAP, which is Marcin Biaweczki, and technical support can be found under support at cloudfair.com. This was the introduction into Centfor-CAP and how Centfor-CAP is integrated on the platform. I would like to switch now to a live demo, which will consist of three parts. I will quickly run through installation and setting up a virtual machine with Centfor-CAP. Then I will show how a Centfor-CAP project can be started. Then I will also focus on analyzing a number of processing results, which I generated in the last few days. I will end my presentation for the moment and make it small and go to my browser. This one, so I will go first to the, wait a minute, I would like to, yeah, okay, there you go. Here I'm on the web, the home page of Crayolias. There you go, I've already logged in. That step has been done automatically. If I would like to start a virtual machine with Centfor-CAP, I can go to my cloud environment and then I will log into my console that any Crayolias user will see. Here I can set up a virtual machine, change a virtual machine, delete a virtual machine, or shelve it if you're done using it. This is where you can manage all your virtual machines. If I go now to instances here, you can see a number of virtual machines that are currently running under my account. If I want to start a new one with Centfor-CAP, I can go to the button launch instance and I can build one. I will give it a name that makes sense of the 26th of November and I will go to the next. Here, I will show you here the virtual machine images that are all available to users of Crayolias. There's quite a long list nowadays already. You can use a Windows virtual machine or Ubuntu or CentOS. Here's the one with Centfor-CAP. I select that one, activate it with the button to the top. You can see it's now here at the top. I can go to the next one. Now I have to choose a virtual machine flavor as they call that. Basically, what kind of machine does it need to run and how powerful does it need to be? How much RAM do you need? How many vCPUs? Centfor-CAP does need some RAM. It does need some storage space. These values are related to the root disk. If you need bigger storage, you can easily attach a volume to this virtual machine, which can be used for storage of data, but this is just a root disk where all the software is located on and is running from. I decide to take the HMX large, which is big enough for Centfor-CAP. It's selected here at the top again. You can go to the next one here. We need to set which networks I'm using. I take this private network and also EOData, which is very important. I connect the virtual machine directly to the EOData repository, which is the data server where all the satellite data is stored. The private network is a way to connect with the VM to the outside world, if I'm completely right about that, but it needs to be selected as well. Then we have a few security groups, which I need to set. This is very standard. There's very good tutorials on the website, which tell you now that we also have some YouTube movies that connect new users on how to set up a virtual machine. This might look very technical, but it's not that complex. There's always the support that can help you. Now we need to have a key pair, which is basically a password to access the virtual machine. I take this one, which I use often for Centfor-CAP. Then there's a few steps, which I don't really need to change anything for now. I'll go to the end, then launch instance. Now I get already on the top a message that says success. The instance is launched, and at the moment it's falling, which means it's starting up. It's being installed or built, basically the virtual machine. This takes about a minute or so and not much longer. There we go. Well, that was less than a minute. Now I can almost start using my virtual machine. I just need to assign a floating IP. A floating IP is an internet protocol. It's basically just the address of the virtual machine, which is the access point to the way to access the virtual machine from the outside. I will need to select an IP address. I think this is the wrong code. I need to make a new IP address available. It's thinking now. I expect it to be done very shortly. There you go. That needs to be connected to the Centfor-CAP IP address. It starts in one line too. Then if I associate it, it should be ready to use after this. It always takes like 20 seconds, half a minute. I hope it works in a live demo. There you go. Few. Always exciting when it works. I can use this floating IP now to access the virtual machine. I copy it. I can do that in a browser, but it takes a few minutes for the IP to be registered so it can be used through the internet directly. I've learned from the previous webinar. I will go instead to X2Go. X2Go is a software to access virtual machines or other external computers through a number of protocols. Don't pin me down on the specifics. I'm not an IT expert. But for that, I will need to make a new connection. I put as a host here the IP address that I just copied. The login should always be EO user. I can give it a name. I just do it send for CAP. Today's date. I need to also define here which key I am using to access it, which I also defined in the setting up of the virtual machine and in what kind of GUI environment I'm using. We have the XFCE installed on the send for CAP image so that that should be good. Here I just say OK and then I see there's a new connection right here. I click it, then it asks me, do I trust the host key? Yes, I do. Then it will hopefully create a connection. There you go. Connect it and then it always takes also like 20 seconds to start up. We build the connection and there we go. We have a connection to there you go to the virtual machine that it just created. So I will use a default config. So here's just the desktop Linux environment, but it looks fairly friendly, not some scary command line. I would like to show here quickly the send for CAP, how it looks like. So we can go to a browser. We have Firefox installed on the virtual machine, but you can install any browser that you would like to. For the first time it always takes a few seconds to start up. But there you go. Some standard tabs that you get. I just take a new one and I just type in local host and press enter. And there you go. Here's the send for CAP platform ready to use. I can use the login which is standard send for CAP with password send for CAP for a new installation. Any user can make a new account and change the password to make it a bit more difficult. But here we have the platform all ready to go with all the tabs that can be used for users. So that's how simple it is to set up a send for CAP virtual machine. So that's what I would like to show here. Now instead of starting a project here, I would like to change to a other virtual machine that I started three days ago and if it's sent for CAP and I've been running some processing on. So I can show some processing results and there I can also show how to build, start a new project, for example. In the meantime, we might as well just see if we can use this IP that I had before. Let me copy it again. The IP address that I, let's see if it's already registered. Yeah, there you go. So now I use this, just copy and paste this IP address to the browser and there I can access my virtual machine through a browser which is great if you're not really interested in diving under the hood for. It's great to show users how the system is working for example without having to deal with difficult setups through X2Go and so on. So that's a very neat way to access the platform. But I would like to show a bit more advanced results. So I go to my other send for CAP virtual machine that I started a few days ago in X2Go and I started up again and there you go. Connection has been restored and there we go. Here's my other virtual machine. I go to the browser again, Firefox. Let it start and then type in instead of all these samples of page localhost and there I can go into the send for CAP platform yet again. And as you can see here, there's already, I just would like to show quickly how we can start a new processing site. So if you see there's already one here defined here, NL, so it's in the Netherlands. There's some good sample data that's available on the send for CAP platform with sample data for the Netherlands, paramedic of the Netherlands with field polygons and also actual CAP declaration data. So it's very good to test and to show how the system works. So just for the sake of it, I will create a new site which I call NL2 because I will reuse the same sample data. So here I select a shapefile which defines my site extent. So this is basically just a polygon. So I will, I can now save a new site and I can edit the site. And it's from the extent file that I sent. It already identified which Sentinel-2 tiles, so 31 UFU and 31 UFT are covered by the, are covered by the site of interest, area of interest, as well for the Landsat-8, the tiles, the row and path numbers. So 198 and 199, 024, 024, yeah. So they are, they're also automatically identified from the area of extent. And here I can add a new season which I will quickly do. So I'm interested in, for example, I call it 2020. And I'm interested in looking at satellite data that's my growing season, covers my growing season from let's say the 1st of April this year through to, let's say June, it was the mid of the season until the 1st of August this year. I would like to enable this site. And here is a list of processors I can use. I can use L3B, which is the vegetation-stated data, so the LAI, NDVI data that can be calculated. And here we have the level four product that is called crop type, the grassland mowing, the agricultural practices data. You can set it that automatically process the data, but you can also run it later. So I'll leave it off for now. I just want to show how this works. I press the Save button here. And in order to start processing the data, I just enable the site again and click Save Site. And then it will need a minute and there you go. Site has been successfully modified. So that's good. The system now starts to search for data that corresponds to the area of interest and the period of interest. So the Netherlands between the 1st of April 2020 and the 1st of August 2020, it will, because we're on the CREO, this platform, not download the data, but it will create a symbolic link to the data, or direct link these days. And then it will run the different processors. So for the optical data, Sentinel-2, Landsat-8, it will calculate atmospheric correction. And then for the Sentinel-1, it will calculate terrain corrected backscatter and coherence data. So here we can see the data sources. We have a tab here for CREOdios. It tells you that we, and it's enabled. So we would like to use Landsat-8 data, which is stored on CREOdios. And here are some settings. So we take a direct link to the product. And this is where you can find it on the network. So under the EOData directory, which is mounted to the virtual machine automatically. And then Landsat and then the type of data. So this data, yeah, this is a real big advantage of using the CENFACAP platform or software on our CREOdios platform. You can directly start processing without any need to download the data. So if you go to System Overview, please don't save. Yeah, you can see it's slowly, it's still low. But in a few minutes or so, I expect the CPU usage to go up when it really starts to pre-process the data. So that's nice. This will take a day, depending on how large an area you're interested in, how long a period you're interested in, it will take a day, maybe two days, one and a half days to process all this data. And if you look at it, there is now about 880 products that are downloaded or not downloaded, but there's direct links created and they will be pre-processed or be used for pre-processing. So we're talking already about a significant amount of data. So that's that. And now I would like to go to my last step of the last part of my life demo. I would like to show some processing results. So for that, I have used the data that is processed in the first site, the NL site, not the NL2 that I just created, but the NL site. There's already a list of products that have been processed. So here you see the level 2A atmospheric correction data. There's a long list of Sentinel 2 and Landsat 8 data that has been pre-processed. Based on those optical data, we have a lot of level 3, the LAI data. If I click on one, you can see a brief screenshot. So this is quite a cloudy image that has been created. It's the Netherlands, so you expect a lot of clouds. So here you see, it's just a quick screen dump of the data. But you also see there's a list of Sentinel 1 level 2 amplitude data, which I can also click on and then you see also a simple screen dump. Yeah, the screen dumps are not fantastic, I should say, but you can see that there's data. Let's take one more. And also you can see here I have created some level 2A crop type products and also a level 4B crossland mowing products. So I would like to take a quick look at these two products. I've simply opened them in QGIS, which I also installed on the virtual machine. So you can open the data directly in QGIS. So this is an example of the crop type data that I've loaded, as well as the crossland mowing data. So I quickly would like to look at this one. You can see here there's a very large range of different crops that are grown, it's unfortunately in Dutch, but fortunately for me. But please believe me that it's ranging from potatoes to corn to wheat to pumpkin. So a very diverse range of crops that are that are fed into the crop type mapping system. So what the crop type mapping does, it basically creates a classifier which is trained with a subset of the total set of input data and then goes through all the satellite data or adds the satellite data to the classifier and then comes up for each parcel the likelihood based on the satellite data that this declared crop is actually really there. This is one of the important checks for the CAP monitoring system. So here I changed the, this is the same dataset, but I changed the setting. So all the green parcels are where the crop that's been declared is by the crop type classifier as agreed to, this is slightly that this crop grows in this field. So anything green is conform and anything red is non-conform. So you see there's a few red. I have to say here that I've only used two months of data, so this classifier is probably not very reliable. The more data you feed, the more satellite data you feed into the system, the more reliable the results are, the more accurate they will be. So I can for example click on this red field here where it's red, which is non-conform. It's also funny that, let's try this one. I need to zoom in a little. That huge edge has a tendency to select a lot. So here you can see in the attributes and then we go to the bottom and show, can I make this bigger? No, I need to just pull this a bit in. Yeah, there you go. So here the CT decal is the declared crop type. And that's a type, it's a numeric crop type. But there's also, yeah, that's expressed in numbers, but the declared crop type is crop type number 153. And according to the system, they predict that it would be crop type 3000 that's growing there. So that's why they say it's non-conform. And for any user of the platform, these are the fields to be interested in to see what's going on there. It might be that if you feed more satellite data into the system, it will change to conform. So that's something that's always useful. I just processed two months as an example. So so much for the crop type mapping. I'll make this small again. This one a bit bigger. And then I have the second product, which is the grassland mowing area. So here all the parcels, you see there's fewer parcels visible here. And these are all the parcels that were identified as grassland by the system. And the different colors correspond to different dates where the system thinks, yeah, it's quite likely that a mowing event took place on this date. So you see the different colors. Anything red is quite early. That's the third of May. And anything more towards blue, we go from green to blue is like 17th of June. So in this period, the system identified like this, it's likely there's a mowing event in this period. So you can see also, this is only two months worth of data. Although this process are working a different way. But yeah, you can get a good idea for what the dynamics are and for the cap controllers and the paying agencies, it's very useful information. So with that, I already quartered to three. So most of that time is gone already. I would like to end my live demo with this and go back to the presentation. So there you go. There you go.  Yeah, so that's the live demo. Then I would like to alert to upcoming webinars on cloud.verbal.com slash webinars. We regularly update the website with the latest upcoming webinar. So I would like to recommend everybody to regularly check. We have another one coming up on the 8th of December, which is run and go together with Cloud AO and the German Cloud company. And please all the links to subscriber on the website there. So I would like to go now to my Q&A session. I will make my questions visible here and see if there's any questions that are not answered yet. So I will quickly run through them. Yeah, will the webinar be recorded? Yes, it's currently be reported and it will be placed on YouTube on our official channel. A good question. Is there an API to control send for cap with Python? Martin has responded to that, to the send for cap manual, point 2.5. From the top of my head, there is, yeah, you can run the entire system through the command line. And so that's it. There's no need to use the GUI that I just showed. You can start the system, you can restart the system, you can assign a new area of interest, a period of interest, you can do it through the command line. So in that sense, you can run it in Python. Yes, if you connect to the virtual machine through Python, which is possible, then submit a few commands to the virtual machine so that that should all be possible. A question, where is the LPIS data imported from? That data that I used is just sample data that's provided by the send for cap consortium. If you would like to look for test data, yes, you can maybe look in the inspire portal, which is already suggested, where you want to go. But yeah, if you want to test the system, you can quite well use the sample data that's on the send for cap website. I can provide a link to that later as well. So it's just, yeah, but you need to upload LPIS data to start the processing, the scroll type, and it's cross-linked mowing data. And then you need to have data that's in a certain format. It's all explained in the send for cap manual as well. And also, I would like to refer to the send for cap forum, where there's a lot of technical questions being answered. So there's also quite a wide range of information there. And you can always send us a message and then we can maybe figure it out ourselves or directly ask the developers. Yeah. So that's that. See if there's any more questions. Thank you. Yeah, are there any publications about the classification algorithms used in the crops? Yes, there are. There's detailed information on the send for cap website, which is Sylvia put the link to that as well. Yeah, they're all there. It's quite a extensive description. So you can find it on the website of send for cap as well. And that's a good question. What would be the best easiest way to combine send for cap and high resolution data on create us? Good question. I would say let's talk to us and me and marching. And then we can think of how to do it. There's ways to integrate planet data in send for cap. But we don't offer that on our platform. But I think there's definitely a way where we can figure this out, maybe in conjunction with the send for cap developers as well, because they are also working on integration of several very high resolution data sets to this. So good, good, good to hear. Okay, that's the bottom of the questions. If you're interested, there's a lot of information on the chat links as well. So if you want more information, have a have a good look. And switches, I would like to thank everybody who's still around for joining the webinar. If there's any questions, please feel free to send me an email or have a look on our website cloud for dot com or create us dot EU. And at the bottom, you also see our Twitter, LinkedIn and Facebook accounts. Not very clear. But yeah, if you just Google, you'll find us there as well. So yeah, I would like to finish up with that. And thank you very much for your attention. And hopefully you'll tune into our next webinar.