All righty, welcome back to Operating Systems, wow, that's loud. All right, so I'm here for you, what do you want to do? It is midterm Eve. There's no questions whatsoever. Well, we want to go over page table stuff, like one of the questions from past years. All right, page tables. Let's see. From any specific exam? Let's see, here's a new one. So here's one that was the 353 final last year. So there's a virtual memory question, which should be able to do. You may have not seen this yet if you've only looked at the past midterms, but hey, the final is cumulative. So you can look at past finals and see if it is relevant. Let's see with this one. So we created some silly machine that has a 12-bit virtual address. It's got no 8-bit physical address, page size of 16 bytes. If we see a page size, well, we should probably just write it in powers of 2. What's 16 in powers of 2? 2 to the 4, right? So before even reading any more, I will just put to the 4 there. And we have a page table entry of a single byte. So that is how big our page table entry is. That says our page table entry has the following layout. So if it's a byte, that means it's 8 bits. And our page table entry looks like this. The top four bits are the PPN. And then the bottom four are just the permissions. So that's valid, read, write, and execute. And in this, we don't really use them. Yeah, we just either turn them all on or turn them all off. So this is a physical memory dump. So this tells you what every single byte is in memory. So at address 0, that's this byte. At address 7, that's this byte. If we're going at address 2, 4, well, that's this row. And then it's sequential offset from the column. So at 24, it would be this byte here, which would be 3f, which that would be a page table entry if this is part of our page table. So it's nicely divided for you. So you don't have to write it out in binary. So here, the 3 would be part of the PPN. And then this byte, which is the four bits, would be corresponded to these bits up here, which would be all the permissions. So if it's f, it's just 111. Means it's valid for everything. So any questions about this little setup that we have right here? Silly little system. Yeah, so the question is, is there a reason we're putting the PPN at the front? Doesn't matter. Doesn't matter. You can do the page table entry however you want. Usually, people put the bits at the very bottom, like the permission bits at the bottom, and PPN at the top. But I could switch it around. Doesn't matter as long as you're consistent. Yeah, so for this, the row just says the base address. And then on the columns, that's the offset. And this just shows you a physical dump of memory. So these could represent page tables. They could just represent normal memory. We don't know unless we know which one of these are page tables. So in here, well, it says our page size is 16 bytes. So how many entries could we fit on a single page? In this case, 16, right? Our page table entry is one byte. So we could fit 16 entries on a page in this case, which makes things a bit easier. So yeah, here we go. First question, how many bytes would we need to store a single-level page table if we used it? Yeah? 2 to the 8, right? Any concerns about that? See how we got that? So how many bytes would we need to store? So we have a 12-bit virtual bits. And we can just essentially divide that by our offset or minus our offset. So in this case, because our page size is 16 bytes, well, our total virtual memory is 2 to the 12 bytes because we have a 12-bit virtual address. And then while if we use a single large page table, we would need to address every single page in there. So we need to figure out how many pages would be in virtual memory. So we just divide that by the page size. And then we get 2 to the 8 because we can do powers of 2 math. So any questions about that? And here, in this case, that's how many page table entries we would need. And page table entries are only a byte, so we don't have to do anything there. Yep. Yeah, so here I pretty much figured out how many bits for the virtual page number. And then I need that many page table entries. In this case, my page table entry is only a byte, so I don't have to do anything special. But if my page table entry was bigger, I'd have to multiply. I need a page table entry for each virtual page number, right? So I would need to multiply it. But in this case, multiplying by one, pretty simple. All right, any questions? Where are we at so far? So yeah, virtual memory is always a fun topic. Everyone loves virtual memory, right? All right, tough crowd. All right, so for the remaining questions, we're assuming multi-level page tables because more page tables equals more fun. So if we use multi-level page tables, we'll assume each page table fits on a physical page and ask what's the minimum number of levels of page tables we need in our system. So we need to figure out how many page table entries we can actually fit on a single page. So how many page table entries can we fit on a single page? 16 or 2 to the 4? So we got 2 to the 4 entries on a single page. So that would be, we would need 4 index bits to be able to select which one if we're using multi-level page tables. And then our equation is just virtual bits minus the offset bits divided by the index bits. In this case, well, from the question, we have 12 virtual bits because that's how big our virtual memory is. Our offset is 4, and our index is also 4. So if we take that and take the ceiling of that, well, luckily it divides evenly. 12 minus 4 is 8. Divided by 4 is 2. So we need two levels of page tables for this. Yep, so it's a minimum number of levels to be able to map all the entire virtual address space because if we only had one level, we would only have one page table with 16 entries. So we could only address up to like 16 times 16 bytes, which would only be 256, which would be like 2 to the 8, right? So I can't actually address everything if I have just one small page table. All right. So any other questions with what we have here? That's good. We need two levels of page tables, and then we assume that for the rest of the questions. All right, so now we're going to translate the address 1, 2, 3, all in hex. And our highest level page table is currently at ppn2. And remember, it takes up an entire page. So if we go back to this virtual memory, we know that, well, ppn0 would extend from address 0 all the way to 10 here. So I'll just divide this virtual memory essentially into pages. So every page is 16 bytes. So we'll start with the first 16 bytes and draw a line for every page. Let's make it look nicer. So essentially, we'd have four pages, right? Four pages of 16 bytes. One would start with 0 all the way to 1, 0, then 1, 0 all the way to 2, 0, do, do, do. So any questions about just dividing that into pages? No? OK, good. So now it says, our highest level page table is currently at ppn2. So what's our highest level page table if we have two levels of page tables? Is it L3, L1, right? So if we have two levels of page tables, it's L1, and then L0 that just contains our actual mapping for this address. So it says, our highest level page table is currently at physical page number 2. And it's a page right. So this would correspond to all the addresses from 2, 0 all the way to 2f inclusive. Or if you want to do it exclusive, it would be 2, 0 all the way to 3, 0, not exclusive. So in this case, that would correspond to here. So this is our L1 page table, all of these entries. If our ppn is 2, 0 corresponds to this being our L1 page table. So any questions about that? So this is our L1 page table. Now you can tell I was also nice here because I didn't have you write it out in binary. Everything is just four bits. So for this number, the most significant hex corresponds to the L1 index. The next corresponds to the L2 index. And then this 3 is just the offset because it is the least significant. And they seem to all, in this case, they're all the same size. So any questions about that? OK, so what's the L1 index here? For virtual address, 1, 2, 3. Just 1, right? Just 1 in hex. So that is our index into our L1 page table. Which byte would that correspond to here? Yeah, 0x21. Because while our L1 page table starts at 2, 0, and then we need to go to the first index. So this one would be index 0. This one would be at index 1. So we're essentially using the byte right here. And because this is our page table entry in our L1 page table, well, it points to what to use for the L0 page table, right? So we can check the permission bits. So in here, f is just 1, 1, 1, 1. And then the ppn is the top number. So in this case, if the valid bit is 1, it means this entry is valid. And this should correspond to a physical page number of 1 for our L0 page table. So where would our L0 page table be then? Right above it. So because the ppn was 1, that means that, well, essentially I'm using page 1 for my L0 page table. So that means this thing highlighted in cyan, I guess that's the color. That is our L0 page table we have to use. So that's what our entry in L1 told us. The entry tells us what L0 page table we need to use. So what index do I use in the L0 page table for this virtual address? 0 or 1, 2, 3. 2. So where would that be here? What byte would that be? Yeah, so it's ff, so it should be 0, 1. And then if we have to go over into the entry at index 2, well, this is entry at index 0, 1, and 2. So this would be our entry in the L0 page table. So again, we would look at the permission bits. In this case, well, this f represents the permission bits. So they're all 1, 1, 1, so it's valid and we're all good. And the ppn is just f. Because this is our L0 page table, that contains our actual mapping. So we have found the physical page number to translate from the virtual page number. So what's the other question? So what is the value of the final pte? If it was valid, hopefully we got to that point. We were in this situation and the value was ff. So the last part is, what is the resulting physical address? So again, remember we started with the virtual address. Whoops, that was our virtual address. And we found what physical page number this should correspond to, so what is the actual physical address that we would resolve from 1, 2, 3? Yeah, 0xf3. Because remember, if we break up this address, well, let's just break up the hex part of it. This essentially was our virtual page number. And because we were using multi-level page tables, we broke that into two indexes. And here was our offset. And if we want the physical address, well, we keep the offset the same, so it's still 3. And we just substituted in the virtual page number for the physical page number. So our physical page number from the entry, because we got ff. And here, the top four bits were the physical page number. So we just substituted in, because we found it by following all the entries. So in this case, we would get f3, because that is the physical page number we found out. So if we write in hexes, just 0xf3. Any questions about that? I divided it into pages. Byte alignment, or page alignment? Yeah, you always assume page alignment for these. Yeah, so that was part of it when we went through virtual memory and talked about alignment. It's really important that all the pages are aligned. Otherwise, it makes this math become way worse, because we're essentially not doing any math because we don't have to translate the offset or anything, because it's just within a page, and the pages don't shift around any. If it started at just some random address that wasn't aligned, we would have to keep track of it all the time, and it would just be a pain in the butt to deal with. So this only works because everything's aligned. Yeah, sorry? Yeah, so for why this is to the power of 8, so it's essentially saying if we use a single level page table, we need an entry for every single virtual page number, right? So this is just essentially asking, well, how many virtual page numbers do we need if we have a page size of 16 bytes and we have a 12-bit virtual address? So it's basically saying, how many virtual pages do I have across all the memory? So in total, for virtual memory, I would have two of the 12 bytes. That's like my total accessible virtual memory, and then you just have to figure out how many pages are in that. So in this case, since my page size is two of the four, that's how many pages I have, and then this tells you how many virtual page numbers there are, right? And then to get the how many bytes you would need, you would also need to multiply it here by the page table entry size, because each of those virtual page numbers would need a page table entry if we just had one gigantic table. So in this case, PTE size was one, so we didn't really have to do anything. All right, any other questions? That was virtual memory. It's a good thing I brought this one, because cough, cough. It's similar. Yeah, this is the final from 353. Winter 353. I only did 353 once so far. Are there any more virtual memory questions? So I think locking, Santa Fores, threads, file systems, I think the other one was fairly lame. File systems, virtual machines, no. Not really, this is probably the hardest one there is. Where'd it go? Yeah, this one's probably the hardest instance of it. Yeah, no, we haven't talked about this recently. Use a page replacement, that's next. Not really. Yeah, you don't really need to know what WC is other than it's just a program that you can execute. You don't really care what it does. It's like LS. Yeah, it does some stuff, whatever. All right, yep, that was yours. The midterm from CS111, that was yours. The last, this one? So the two in this formula, it says, this formula says recall for the single level page table. So the two in this formula is because it's only a single level page table. It's the page table lookup and then the normal lookup. So specifically, I only just gave them, so this was also closed book. So I gave them this, so I said, here's the equation for a single level page table and then I said calculate it for multi level. So that's why it's two in this case because it was specifically only for a single level. All right, anything else? Any other fun things yet? For this one? Yeah. Yeah, for this? Yeah, I need 21 offset bits. No, this is in bytes and memories byte addressable. Yeah, very important to know that memory's byte addressable, so I'm not addressing individual bits, otherwise it would throw things off. No, so this is just like, so here I took liberties, this should just say page size. So page size is two megabytes. Yeah, that's why I went by it.  I tried to use little words, no work did it. Yeah, 2022, so the, wait, this one? Can you show me it quick? It's the same question as this one, the pre-use we gave you, so. Oh, okay. So, we can, so we want something that looks like main and i equals four. All right, this'll be fun without syntax highlighting. All right, so we essentially have this program and it says essentially what the hell does it do? Yeah, well, let's go through it. So we will have, you know, some original process, I usually like start them at 100 just to make life easier. So process 100, we'll start executing. Creates an int called i, it is equal to four. It will be on its stack and it will get a value of four. Going to the while loop right now, i does not equal zero. So it will fork and then create a copy of itself. So if it creates a copy of itself, we'll probably get process 101, right? So what are the difference between process 100 and 101? Yeah, yeah, they'll have different return values from fork and then they'll create PID and assign their different ones. So will process of 101 have a variable called i? Yes, what will its value be? Four because it's a copy of a parent. So then after, do we know what we'll execute next? No, so let's just assume they both just returned from fork just for fun. So PID in process 100, what would that be assigned? 101, 101, what would PID be assigned in process 101? Good old goose egg zero. Do we know which process is going to execute next? No, so i can see into the future. So if I see into the future, let's just say process 100 executes. So if process 100 executes, well, PID is not equal to zero. It would go into this else and then it would wait. Now it's waiting on process 101, which is its child. So we'll put the process tree up here. So what would this wait call do? Yeah, yeah, process 100 would get blocked, which means it cannot execute anymore until process 101 is terminated. It calls exit or, well, in this case, we assume it calls exit. Maybe someone kills stash nine's it, but that's kind of beyond the scope. So it's stuck here, it's blocked, it can't do anything. So now process 101, well, it would continue executing. In this case, it's PID is equal to zero. So it would go into this else and it would decrement I. So it would change I from three to, or four to what? Hopefully four to three, right? So it decrements its I. Is it going to affect process 100s Y or I? No, right? Because they are independent. They are different processes. They have their own virtual memory. So in this case, process 101 just decrements it. It would go for the while loop and then go fork again. In this case, process 101, okay, it forks. So it would probably create a process called 102. In process 102, will it have a variable called I? Yes, what will the value of I be? Three, because that's what it was at the time of the fork. Trick question, will it have a variable called PID? Yes, what will the value of PID be? Of what? Zero, right? So it is an exact copy at the time of the fork and now fork returns and then that's going to overwrite the PID in both the processes. So immediately, what is the PID going to be overwritten in process 102? What's it going to return from fork? 102, just zero. So it's just going to rewrite zero with zero, right? So all right, what about 101? What's going to happen in 101? Yeah, it's going to get the value 102 and then overwrite its value of PID. So now what's going to happen? Well, in this case, I know that process 101 because its value of PID is not equal to zero. It's going to go and hit this wait call. So let's say process 101 executes, it would eventually hit this wait PID. So it's going to wait on process 102. What does that mean? It's blocked. So process 101 is now blocked, waiting on process 102 to terminate. So process 101 and 101 are both blocked. And now process 102 can go ahead, decrement I from to do, decrement I from three to two, and then it would go back up for this while loop and then fork again. And then it's going to get kind of boring. So it would create process 103 and then essentially going to be the same thing. So it would overwrite fork or PID from fork, it would get 103, then we would have process 103 as I equal to two and PID equal to zero, assuming it just returns from fork. So then in this case, well, if process 102 executes, it would get crowded at that wait call. So now it's going to wait on process 103 to execute and it can't do anything at all. So after that, do we need to go through the excruciating detail or do we need, can we skip some steps? Let's skip some steps, okay. So 103 is going to create 104. So that creates 104 and process 104, I would be equal to two, PID would be equal to zero, process 103 is going to hit that wait, it's going to wait on process 104. And then in 104, well, we're going to decrement I all the way, whoops, we're going to decrement I to one. And then go through, in this case, I is still not equal to zero. So 104 is going to create 105. And then in 105, I would be equal to one, PID would be equal to zero, and this, well, would be go to this wait call. All right, so I think I've adequately skipped a number of steps. So let's just make sure we're on the same page. So at this point, I will have process 100, 101, 102, 103, 104, all at this wait PID call, waiting on its direct child. So any questions about that? Yep, sorry, in 103, yeah, whoops, I skipped a step. I went too fast. Sorry, you're saying it should be this, 105 shouldn't exist. That, okay, whoops, skipped too many steps. All right, so process 100, 101, 102, and 103 are all that wait call, and now I have this process 104, which is essentially right here at this point. All right, so any questions about that? We're all waiting on each other and process 105 doesn't exist. So now, at this point, what's the only process I can actually execute? Hopefully 104, right? Because all the rest of them are blocked on that wait PID call. So if 104 executes, well, it would hit here, it would check this while, in this case, I is equal to zero. So it would just hit here and hit return. What's returning from main the exact same as doing? Exiting, right? So exiting was zero. So now it's process 104 done so. Yeah, so 104 is done so. So that means this is dead. At this exact moment, what is the state of process 104? Is it a zombie? Is it an orphan, or is it just chilling? Technically a zombie, right? So we haven't completed the wait call yet. So trick question, that's why I said at this exact moment because it's quickly going to be cleaned up. It's not going to be a zombie for very long. So 104 is terminated, not cleaned up. So if we unblock process 103, then that means we completely clean up process 104. So 103 would wake up and then print. What would it print? One. So it would just print out one and that's the only thing that could have executed. There's no other order that could have happened because all the other processes were blocked, right? There's no way I could have printed four at this point. So now, well, this would print one and then immediately exit. So if 103 exits, it's now terminated. It is temporarily a zombie, but now that will unblock 102. And if 102 executes, well, it returns from its weight and what would it print? Two. And then it would go ahead and exit and then 102 would wake up or 102 finishes and then 101 can wake up. It's going to print in this case three and we have no other choice. Then 101 is going to exit and then if we unblock process 100, well, then we clean up process 101 and then process 100 will just print out four and then terminate and we're done. So we have to print in the order one, two, three, four. There's no other choice because of that weight call. So I could have executed the child programs first if I wanted to, but we made a difference. We got the same result anyways. So any questions about that? Nope. Okay, so something that I'm really bad about keeping secrets about exams if you ask me questions. So let's see how much I say. All right, so here's this question which is like technically valid. So this is processes and threads and it doesn't have anything to do with data races or anything. I, this would be valid to ask you. I also have a bad short term memory so that actually goes in my favor. So I did not ask you something this complicated. I asked you something about threads so I forget what it was. Definitely a short answer question. So unless my memory is really bad, I don't think it's that bad, but in this case we could actually answer this question. So this just has to do with forking and making new processes. So at the beginning of this, let's see if we can, let's see how good we are. So let's say process 101 starts executing main and calls fork immediately. So what's that going to do? Yeah, create process probably 101 and it's going to be exact clone and we're gonna have two processes here that want to start executing after the fork, right? So now two processes that are otherwise the same. The only difference is the value of PID. In 101 PID equals, or 100, PID equals 101 and 101 PID is equal to zero. So in this case we have no idea which one is going to execute first. Say 100 executes first. They're independent at this point. It creates two threads. So we have the main thread and then two other threads that want to execute this run, one with a value of one, one with a value of two. At this point, do I know which of these threads is going to execute first? No, no idea. I have no idea, well after I make it, I have no idea if the main thread is going to execute next or whatever, but the main thread would hit join. So it has to wait for thread one to actually finish before that join happens. But I don't know in what order anything is going to happen in. So what could happen is I would have thread one here, thread two, and these would be from process 100. So I'll just put 100 under them. And they would get their value from arg. So thread ID for thread one would be one, thread ID for thread two would be two. And then they fork. Anyone remember what happens if a thread calls fork? Yeah, yeah, I'll just create a new process. It's a clone of whatever the thread is that called fork. So in this case, this was in process 100. So this fork probably made process, here I'll draw the tree up here. So process 100 probably this thread would have made a process called 102 or something. That is a child of process 100. And that process 102 only has a single thread in it, which is a copy of, in this case, which thread did I say called that fork? Thread two? Yeah, sure, thread two. So thread two called that fork. So in process 102, well, it's only going to have a single thread and it's going to be a copy of thread two. So in process 102, I can just shorthand it cause now it only has a single thread in it. Well, it would have a thread ID equal to two because it's a clone of whoever called it. So it had thread ID equal to two. So in this case, I don't know which of these is going to execute. Let's say process 100 runs, let's say. So in that case, I would have a print that says thread two run in 100 something like that. That could happen. And then we would move this. It would check if PID is equal to greater than zero. In this case, thread two created that process 102. So it would have had a PID equal to 102. And here PID would have been equal to zero. So it would wait on process 102 to finish after it actually printed. So that would wait, it process 102 executed. Well, what would it print? So yeah, if 102 executed, it would print thread two running in process what? 102, right? How much time do we have? We don't have that much time. So we've processed thread two running in 102 and then it would eventually check its PID. It's equal to zero. So it would hit return null. So for a thread, what is returning from the thread function the same as? Not quite, yeah. Yeah, P thread exit. So it's a dual for thread. So if you return from main, that's the same as calling exit. If a thread returns from a thread function, that's the same as calling P thread exit. So in this case in process 102, well, because we forked it, there's only one thread in that process. So if it calls P thread exit, similar to your threading library, if it's the only thread that's in the process, it just ends the process because there's nothing left to execute. So in that case, process 102 would be terminated and then process thread two in process 100 could get unblocked at this point and then return, it would call return null and then that thread would exit, thread two would exit in process 100 and then in process 100, it could pass this join and go ahead and start waiting on what, it couldn't because, sorry, the first join is on thread one. So thread two is terminated, but this join is on thread one, so it wouldn't make any progress yet. So the main thread still blocked on thread one. So eventually, yeah. So any questions about this in last like two minutes because I don't think I have more time to go through it. Yeah, yeah, you have no idea. So eventually, in this case, thread one running, so that would also create a new process, so probably in 103, thread one run in 100, something like that, but in this case, there's no ordering on them. You have no idea which one's going to order because the wait happens after the print statement. So there's gonna be no ordering whatsoever. Yeah, so because I fork in main immediately, process one on one will do the exact same thing. So it will create two threads and then two of its threads will go ahead and create two new processes. So eventually, I mean, a solution should be on it. So this would be like my total process tree. So this would get created from thread one, thread two, thread one, thread two in their associated parent processes. And I would see essentially this. But this is just an ordering. So there's actually no ordering whatsoever. All right, we're good. All right, so also on Wednesday, during the practical hours, depending on whenever I get to Toronto, if there's a lot of people there in demand, I might show up there and answer any like super last minute questions. But with that, just remember pulling for you. We're on this together.


get and policy to support the work off and within the CPPs in terms of police. I think that this committee recognised already that agency partners need to be empowered to do this, so I think that this is going to be a key area where they will come in. Thank you for that. I think that we'd agree with you that it's just the scrutiny role of their role and that's important for their committee to consider as well. And just finally, I wanted to ask with regards to local governance review, could you say a bit more minister with regards to your plans for concluding the review by the end of this parliamentary term? Is it still expected to result in the local democracy bill being laid during this current session? So, as Tom Arthur said in the last session, we would expect to get the output from the local governance review by the beginning of next year or early next year, I think, is the language that he uses. He's leading on that. It's a really important piece of work on going in relation to that democracy matters conversation that's on going now. Equally, there is important work on going in terms of looking at single authority models, particularly around Orkney and Western Isles. I think that our Gail and Bute Council are looking at whether that works for them too. That's one of the things that I've been saying to local authorities when I've been going around. If there's something that you kind of think that maybe wasn't going to work two years ago, and clearly that's where our Gail and Bute were a few years ago, and you want to look at it again, then don't hesitate. So I think that our Gail and Bute are likely to come forward with a single authority model that they think might help them in terms of getting to that sustainability going forward, and these need to be worked through and in partnership, and then hopefully that will allow us to make those changes. Any of that, we wouldn't expect them to be carbon copies, so I think if there is, it does end up being three single authority models. I would expect them to be unique on each one, working for what is right for each of those areas, but I know other island authorities, particularly Shetland, are of the view that that's not a route they want to take, and they've talked about the partnerships and the way that they've developed partnerships under the current arrangements, and we'd hold those up as exemplars. So I think there's a lot of learning to be done. Any changes we make around this, I think other authorities will be looking to see how it all works, and even if we don't end up with a single authority, hopefully the work in looking at that will help us improve the sustainability of public services as a whole. Thank you, and in terms of that single authority, we had very constructive discussions when we were up on Orkney around their plans for that, but it wasn't quite clear where any future funding formula discussions, if that happens, and if councils do move towards that, would take place, especially with regards to health funding and council funding. Is there any work taken place around what that would look like? I think that there's work looking overall, but you're probably jumping three steps ahead in terms of getting there, but clearly that's part of the work that needs to take place, but equally in terms of high accountability for matters which are Scottish Government ministers' responsibility, how we resolve those things. We'll do that in the spirit of partnership that is enshrined in Verity House, and hopefully that will help us to take that forward in a way that works for everyone. Thank you. That concludes our questions. I think it's been a very useful session. It sounds like you're having a good, so far so good, constructive relationship. The trust is there, and that's tremendous, and we look forward to hearing updates on how things are going. So thanks so much for all of you coming in to give evidence today, and thanks actually to the Minister and Councillor Headall for giving a long session. We agreed at the start of the meeting to take the next items of the agenda in private, so as that was the last public item for today, I now close the public part of the meeting.


Russia, using drones to target civilians who remain in Avdivka. Residents of the besieged frontline Donbass town of Avdivka are being deliberately targeted in their own homes. Vitaly Barabash, head of the local military administration, told the Espresso TV channel. As temperatures drop, civilians are lighting stoves for warmth, drawing the attention of Russian drones circling overhead. The reconnaissance drones then target precision artillery strikes on the locations. The stoves have already been lit. Smoke is coming out of the chimneys, he said. The enemy uses its drones flying over the town to record these locations and then the guided aerial bombs and artillery strike there very precisely, targeting these locations. This indicates that civilians are being knocked out, the governor said. As of the morning of November 15th, 1,461 people had evacuated the town. On November 14th alone, 15 civilians left Avdivka. People are leaving. There are people registered for evacuation for today and tomorrow, and even for a couple of days ahead, people are really tired. Even those who had been waiting for the Russians to arrive, Barabash said. The Ukrainian armed forces said that the Russian military wants to surround Avdivka and is throwing a large amount of equipment and personnel into battle.


What's up, everybody? Welcome back to another torture if episode here for today We do have the 370 Z looking a little bit better than just silver But we are here today to do that chase challenge for the man himself Mad Mike Widdett at Cali Banks. So we're gonna try and use the 370 Z if we can But we may have to switch to a more powerful and faster car So it looks like we got to get forty two thousand fifty two and fifty seven fifty in the chase score against Mad Mike and it looks like We ran out of front grippy tires, but we're gonna run these next in Nefra AU7's on our 970 horsepower 370 Z. It is super charged now full bill breakdown on this car coming soon So the man himself Mad Mike Widdett Cali Banks Let's see What we can do And see if we can actually even keep up with him He is gone But we did get into the bank a little bit We are getting some chase points. I don't think we're gonna be close enough to get that 57,000 we may need a faster car Zeta, Miata is super quick and yep. No, we're gonna need a faster car Don't think our Little 370 is gonna make it we did get 30 on our first run. So that's not bad. So We're gonna have to go to Lobby get a faster car. Maybe our E46 But it is on the wrong tires We'll give it a shot with these tires. We may have to go buy some uh some grippy nexons But we're gonna give it a shot on our E46 Yep, because we have absolutely no grip in this car But we are able to gain some proximity on him on the bank But this car does not have the grip I needed to do so we got to go get some grippy tires Maybe we can throw some grippy tires on the 370 and give that a shot But we need some uh super grippy nexons to get some uh grip to the ground and get some speed So let's go to get some of those nexons And then we're just gonna insta by them I'm gonna probably buy three sets We go through three sets of tires then well We're gonna have a problem because three sets 30 some tires That would be definitely bad if we went through all those tires So man Mike with that chase challenge at Calibank definitely gonna be super excited if we can get this here for today Let's throw those throw those nexons on come on there. We go throw the nexons on on our E46 and give it another shot Maybe this will give us the grip we need on the launch On top of the e-brake there we go. That's the grip we needed now. We're a lot closer up on the wall Not what I wanted to do with that Now we're out of the chase circle And that Mike with that just throwing down here on the Calibank track The E46 is definitely fast enough So we just need to stay with them on the bank as close as we can. We may have to go pull out the the S14 but Trying to try and do this with one of the lower cars. We may have to pull out the S14 or Mad Mike's car itself Because we're just pretty much losing him in the bank because of the speed of that Miata So we're gonna cut the angle short a little bit try to gain proximity on his door That's what we wanted to do That looks a lot better of a chase Kind of stay in there with him right now. Oh mad Mike Not gonna be enough to get the full total but 47 so we're getting up there. I believe that's gonna give us at least here one 47 on Our E46 so now let's switch it up to the S14 and see how we do with the S14 We have a little bit more power in the S14. We're gonna have to get some groupie tires on this car because It would not handle too well on those import tires It's pretty pretty interesting chase challenge. So See what we can do with our S14. I feel like we were a lot closer With the E46 Apparently we were I don't think The S14 I think the E46 is gonna be our best chance to winning this chase challenge Because we were closer on the bank with our E46 so E46 is gonna probably come back out. We'll give the 370's that 370z another shot, but we're gonna put it on nexons and See maybe if we can get a little more speed out of this car On those nexon tires So it's really awesome to have these chase challenges and stuff like that in this game because it gives us a chance to You know chase down some real drivers and stuff but yet this 370 does not have the speed At all. I had to cut that real short to catch it. I think our E46 is gonna be our chase best chase opportunity To get this challenge completed 370z, ooh I would say 370z is good in the latter part of the track, but the beginning part just can't keep up on the bank So definitely just Got to get that line on that bank. That is probably the most crucial part of that track is to stay with Mad Mike on the bank and as close as you can to that wall because otherwise You know, you're definitely You're definitely losing a lot of points and leaving a lot of points on the table So we're gonna do this to try this again. We may have to switch to maybe Mad Mike's car itself For an FD car We're just inside the tandem circle Very low and out where I wanted to be because not getting those really crucial wall close call points, but Trying to suck it up in the latter part of the track Pretty sure if we stayed on him on the bank, we probably would have had a better chance Man, Mad Mike Definitely, uh, definitely a hard car to chase down Maybe try Mad Mike's car. Give Mad Mike Woodette's car a shot against his own car Mad Mike vs. Mad Mike, so I'm not sure what gear I'm gonna have to be in with this I'm gonna go in a fifth I feel like he was in six and I don't know how he was able to get so much grip But now we're able to suck up Right there with him because we're at the same speed That's his car and angle as his car is Little tap. We may have to start this in sixth gear and see if we can Keep up with him on that straight because he's just able to Grip and just accelerate hard. So I'm gonna get that another go Throw in the sixth gear, quick tap the e-brake and that was not how he was able to keep that but able to gain some really quick speed against him though Just a little door love with his own car. Oh Man, I think I think this might be it This might be the car to do it with doing it with his own car because We're able to get a lot of points in the ladder section. We just need to get this bank down Think we were closer when we started in the fifth So we'll give that another go But maybe a feathering of the gas would help but it did not So we're gonna initiate short Bring the car back up. There we go It's much better Lay right into his door Not enough but closer Ever so close. I believe that's a second. No, it's not a second tier We're getting closer, but we're not getting close enough on the bank and that's exactly where I'm losing all my points is on that bank run So it's the bank that's killing me and it's the lack of grip in the beginning But I'm unable to Catch up to the car in the beginning. So we're gonna tap the e-brake Kind of grip up the 46. There we go Kind of let it initiate in. Oh That would have been good Determined to get this before this end of this episode because I tend to not get it when I'm uh, you know Recording for you guys and then after the fact I end up getting it. That's a good start. So this is a good start It's a good uh It starts in this run Which we were a lot closer That's where I wanted to be the entire time But unfortunately I was not able to be there when we wouldn't tap the wall Whoo The struggle is real right now. So let me know how many times took you guys I know some of you guys are probably doing one. Let me know what cars you've used to actually get it done I'm determined to get this because We're gonna try starting a fifth. So fifth gear start kept us from spinning We're unable to get as close as we could On the initiations, so Filling this run is done Yeah, we're only at 15,000 off there. We need to be way higher if we need to get to 57 I mean that's better in the ladders. So fifth gear not a good gear to start on So we're gonna give it maybe one or two more shots with the C46 And then we will probably grab bad Mike's car again Maybe Raddan Supra Quick tap the ebrae to grip up still in the tandem zone On the wall getting those close calls and a nice close chase Quick change of angle. There we go Now is when we try and suck up on his door Through this ladder part of the track But I don't think we're close enough To get that crucial chase point and then he straightens out We may pull out Raddan Supra last car I think we should try before we head back to Mad Mike with that's Miata Let's try Raddans, maybe we can get some grip up and get some speed with With the Supra and we'll see maybe this is the key all the wheel spin Unfortunately not enough Not enough for us to catch up. So we can go back to Mad Mike's car and see if maybe We can get it Tough chase challenge torque drift bringing out these chase challenges to make them pretty hard to actually Complete them because if they were really easy to complete them then what would be the point? Too much angle thrown there. It was a perfect transition though, but nowhere near The points I need to be So we're just gonna restart that Man, this is rough. At least we're not burning through tires using a Mad Mike's car because We burnt we're burning through a lot of tires with the tire glitch going on right now So that's what we needed to be right there suck it up Our transitions almost mimicking his line Trying to stay there as close as we can Too hard in the paint there. Oh I don't know. This is a rough one. Not sure if Maybe using that E46 We were closer. I feel like we're closer with Mad Mike's car So make sure you guys follow me on Instagram and Twitter all of which are found in the description box below As always, I thank you guys for coming back and watching. I do appreciate all the support.  That is not what I wanted to do Somehow saved it, but we are way off the chase score and there is no way We'd be able to get it with this one. So we're gonna probably bring the E46 out for one or two more shots before we actually say no more and Unfortunately unable to do it. Maybe we should try The vet See if maybe we can get it with the drift vet. I think this is the closest we've been On initiation against him. Is this the key? His math field is vet the key I wasn't able to angle up there like I wanted to but We're able to suck back in on his door Is the vet the key? Did we just find the key to that bank run with math fields is that? All I want is 5750 Actually, all I really want is 52 All I want is 52. I just want to get the sponsor crates so we can open them up for the 370 I think this is the closest so we're gonna be on initiation so far. Oh I think we found it. I'm gonna give this one or two more goes We just need that 52 So the struggle is real with this chase challenge against the man mad like with debt We did not get a good start there so definitely Not a not a good start because we also glitched into the wall So let's try getting a good start So like I said, make sure you guys follow me on Instagram and Twitter all of your found in the description box below And I just I can't get that bank run and that's I feel exactly what's killing me in this chase challenge right now I know I'm shotgun in this chase run. So this is gonna be our final run here for today Don't think we're gonna be able to get it Initiated way back further than I needed to be definitely don't have the points and into the wall So unfortunately, I don't think we're gonna be able to get this today So it never ceases to fail me As soon as I stop the next run out, I bang that 52 to get my two sponsorship crates We did get the sponsor crates. So I'm gonna watch the re watch the replay for you guys But it never ceases to amaze me I stopped recording and I'm able to get the 52 goal that I wanted to get to With mad Mike's car against mad Mike right there nice on his door Almost mirroring his transitions a little hard there but able to almost mimic his line and Was able to get that 52 with his own car and right here was just trying to be as close as I can to his door Right on there. So we're going to Pick a look the actual chase run in full Jebedy for my 52 for this car It's a bit squirrely in the beginning and he used that short-lined game proximity up on him and Try and hold it out against his door up on that bank as long as possible quick transitioning with him trying to mirror his line and Little way over there, but I was able to pick it back up and then right here I was able to try and basically just stick it to his door and do as much chasing as possible to get this final So I got my sponsor crates So I'm super excited about it. So Like I said Let me know what you guys how many times it took you you get the full thing and as always I'll see you guys next time


Hey, this is Brett and this 2022 GMC Sierra 1500 Crew Cab Short Box Denali is stock number 22J18B. I am here at Summit Automotive in Fond du Lac, Wisconsin, you're new and used light duty truck headquarters. This 2022 GMC Sierra 1500 has the 6.2 liter V8 gas engine. This truck has been fully safety and inspected by our service shop for the state of Wisconsin inspection process, has a fresh oil and filter change, all the fluid tab and check dam topped off and this truck is 100% ready to go. We're going to go all the way around, inside, underneath, start it up and take a look under the hood in this video. Ebony Twilight Metallic is the color, I shoot all my videos in 4K so if you have HD capabilities on your computer, tablet, smartphone or television I highly recommend turning them on right now because it is your best way to check out the quality, condition options and cleanliness of the vehicle before seeing it in person. And if you like the video on how I do things here at Summit Automotive, consider clicking the subscribe button on my YouTube channel, the lower right hand part of the screen and then click the bell notifications and you'll get updates every time I do videos here at Summit Automotive. This one comes with the 22 inch chrome alloy rims, no scuffs or scrapes on this rim and it has bridge sewn tires on here. These are 275, 50R22s and they have probably I'd say just about all the tread left, only 3,000 miles on this truck. Front fender is in excellent shape, I didn't see any major dents or dings on there. It does come with the LED headlamps, LED running lights and LED fog lamps. Front bumper parking sensors, front bumper is in excellent shape, no dents or dings on there and it does have the chrome trim grill. Sorry about that. Good as a nice shape, didn't see any dents or dings on that. And the passenger side front fender is in fantastic condition as well. Passengers side front rim, no major scuffs or scrapes. And ebony twilight, it's got just a little bit of metal flake to it, it's really fine metal flake so unless you get a light up on it you really can't, doesn't really reflect that good, just looks black when you stand back but it does have just a little bit of metal flake. And as you go down this side of this 22 GMC Sierra 1500 Crew Cab Short Box Denali, take note of how clean that body is, how reflective and mirror like that paint is. I take these HD videos so if you are far away or even if you're close behind you just cannot make the trip down but you're so interested in purchasing the vehicle you can see the truck, hear the truck and have confidence in the vehicle that you're looking at before you even get here so when you do get here there's absolutely no surprises and you can make a smart and informed buying decision from wherever you're at. And if this video helps you make that buying decision, let your salesman know that you saw the video that was helpful and that Brett sent you. This back rim is in excellent shape, no scuffs or scrapes on that and the back tires are just as new as the front tires and as always if you like the video subscribe to the channel it's in the upper right hand part of the screen. It has the felt wheel well liners which keeps your frame and under body looking like new, which it does and it does have the power fold out running boards. You can see any dents or dings down this side looks really good. Coming around the back you'll notice you get the LED tail lamps, the chrome tipped dual rear exhaust full towing package which includes a receiver hitch four pin and seven pin wiring rear bumper parking sensors and rear bumper steps. You get the multi pro tailgate which goes down a couple different ways. First way the whole thing goes down and it's a shock assist so it's never going to slam on you. Just quickly note that the bed is in really nice shape and it does have a spraying bed liner. This is your handle for that step assist you get LED bed lights back here and you can put this piece down right here so that you can use it as a step like so. Then if you just put the top down when it's up here you can put this up and then it's like you have a stop which kind of makes your bed a little bit longer and you can put two by four pieces of plywood back here and kind of angle them up so that they're not going to fly out of the bed and get a little bit longer bed out of there as well. That works nicely the rear tailgate is in excellent shape and he's go down the driver's side just as clean as I pass on his side. No dents or dings on the box. It does have the capitalist fuel fill which is a nice feature never get gas on your hands again and for full disclosure this back room is in fantastic shape as well. Down the rest of the side of the truck the doors look pretty good. You do get blind spot monitoring, chrome trimmed backing. Inside the Denali package you can see those power running boards there.  You get the bucket seats in the front here. No rips or tears. This truck's never been smoked in, smells very clean inside. Both of these front seats are heated and cooled and power. Factory all-weather formats, auto headlamps, push-button four-wheel drive. That's for your cargo lamps as well as your bed lighting. Power windows, power locks, power mirrors. You get the nice real wood grain trim on the door there. Memory driver's seat, power fold-in mirrors. I was showing both sides so you know that both sides are working properly. It does have the Bose sound system. The back seats just as clean as the front seats, no rips or tears back here. It does have the latch child safety system for any child car seats you may have. Power sliding mirror window with the built-in mirror to frost. You do get little storage cubbies behind each back seat. These seats fold up like so. Storage under here, these floor mats actually do lock into place if you get them on there just right. Anyways, they go all the way across and you get a USB-C and a 12-volt power point back here as well. Seats go down like that. You get child safety locks on the back doors. Bottoms of the doors all look really good. We'll hop inside, check out the miles, the radio and everything that this truck has to offer on the interior. So we're going to have to start it up here. You can see that this one has 3,084 miles digital speedometer, digital instrument display. I don't think we can dim those down anyways. Very nice and clean. No check engine lights or anything like that. That comes with the heated leather wrap steering wheel, Bluetooth and information center controls on the right, cruise controls, forward collision warning controls, heated steering wheel controls on the left, audio controls on the back of the steering wheel. This one does have, I believe, the 10-speed automatic transmission. If you go into low, you can see how many gears it has. Yep, this has the 10-speed. It has the GMC infotainment system. You have AM, FM and Sirius XM radio capabilities on here. You can also connect it to Bluetooth, Amazon, Alexa, Spotify, all that good stuff. You have Apple CarPlay, Android Auto. This one does have the factory navigation system on it. And you don't get satellite signal inside the picture studio, so that's why it's not coming up with that. But you do have the camera right here and you can see that that works nicely and what they've done is they've kind of made these HD now on these GMs and that's a really nice feature and you can zoom in on the receiver hitch as well. So a lot of neat stuff you can do with that radio. Dual climate controls, heated and cooled seat buttons, lane departure warning, parking sensors. You can power drop down that tailgate, hazard stability control, that's for the plug-in that's in the bed. You have a downhill assist control and you can turn those step bars off or on. You have the factory brake controller, USB-C, USB 12-volt power point and then a 120-volt 150-watt plug-in. You also get the wireless cell phone charge pad, keyless entry with remote start and power drop down tailgate. Passenger side floor mat and seat are in excellent condition. Once again, smells very clean inside this truck. I don't think it's ever been smoked in and you do get the power sunroof. Map lights, home link buttons for your garage door security systems and lane systems, sunroof and power side mirror window controls and on-star and SOS buttons in the rear view mirror. We'll take a quick look under the hood. I would personally like to thank you for checking out the video today and hopefully from this HD video you have been able to verify the quality condition options and cleanliness of this truck all the way around inside and out. Under the hood we have the 6.2 liter V8 gas engine. Engine bay is very clean. Runs very smooth. Once again, this truck has been fully safe and inspected by our service shop. Has a fresh oil and filter change, all the fluids have been checked and topped off. And this truck is 100% ready to go. I would highly recommend it from a quality and condition standpoint. And to see more pictures of this 2021 GMC Sierra 1500 Crew Cab Short Box Denali or one of our other 450 new and used cars, trucks, SUVs, minivans, Wranglers, half-tons, three-quarter tons, one-tons, you name it. We got to go to that website right there, summitauto.com, full pictures and descriptions of every single vehicle from two locations all at summitauto.com. And if you'd like to check out more HD videos you can go to youtube.com. So I have summitauto. Remember to like, subscribe, and share on this video and all the videos that you see there. Click the bell notifications. You'll get updates on the videos I do each and every day here at Summit Automotive. In fact, in a second you'll see a link to subscribe to my YouTube channel on the upper left. The link to more GMC Sierra 1500 half-ton truck videos like this one on the upper right. Link to this vehicle on our website on the lower left. And a link to one of our latest YouTube videos on the lower right. Click those, check us out. And we're super excited to help you with this Ultra Clean 2022 GMC Sierra 1500 Crew Cab Short Box Denali in Ebony, Twilight, Metall. Thanks again for checking out the video. Remember to like, subscribe, and share on my YouTube channel. Really appreciate it.


Dyna ni'n mynd i gael i'r Microsoft. Ieithaf yw'r gwaith yn fawr o gwirionedd oedd o'r cyflwyno'r cyflwyn, ond mae'n ddefnyddio'r cyflwyn ar y ddechrau wahanol cyflwyno'i a'r ddweud i'r sefydlion i'r Llyfrgell Llyfrgell. Yr hwn ymchwil yn gwneud i'r gerirolong, boed y cwmhaen i'r cyflwyn o'r cyflwyno'r cyflwyn, mae'n fydd yn y cyflwyno, Felly, mae'n cael ei chyfnodol yn y dynol iawn. Mae'n meddwl yn yr UK i ddim yn eu gweithio gwahanol ar gyfer y gwaith yng Nghymru ac yn ei wneud bod yn gweithio ar y gwaith. Mae'n meddwl yn ei ddim yn ei ddim yn ei ddim yn mengylchedd i gwybod. Mae'n meddwl y gallu hwn yn y pethau. Yn ymchwil yma, mae'n angen i'n ddim yn gweithio arnynt gwybod ar gyfer Peter Strigt, ym ymgylchedd cteil ym Fedex, yn y cyd-degor. Mae'n gweithio ar gyfer Peter, Pwysiwn am fawr lei'r mewn cyd-weddysgwyr a wneud, gyda'r ffordd i'w colli, maen nhw'n ddim yn bwyllnod ac yn ystafell yw'r ffordd, a'i wneud o'n grwanhau. Felly dyna i ei fod yn ei ddiwedd i'w gweithio, yn y pryd diolch i'w beithio, ond nid i'w eu restaurantsi yn gwybod yn yw gwaz o'r ystyried. Aled o'r ystafell, yn leiwch'u gweithio, dw i ddim yn ymdredig, yn yr Andy yn ein wazion i'r bwysig, in Boston and is probably the global blogger on openness the use of open standards has a huge blog which I'm sure Andy will tell me afterwards or perhaps now it's just how many readers it has but I think it is probably the largest red blog in the whole area of openness so thank you for coming gentlemen um do you agree with Andrew Demeya? I don't quite understand where he goes with some of his logic because on the one hand he says quite accurately that governments are facing quite severe economic circumstances and almost implies that is why open everything is a bad idea and actually that's almost the inverse of where I come from because I actually think if you look at the current economic environment open everything seems a very powerful lever for governments to be pulling if you take a recent UK committee report it recommended that any company dealing with the public sector should have to open the published details of their commercial arrangement so that it could be open to public scrutiny which they saw as a key lever both of demonstrating integrity and hopefully building some trust that doesn't currently exist but also providing a competitive stimulus in the market so I'm not clear with some of the uh well I guess the lack of logic that Andrea Demeya seems to follow in his piece but do you you know again I'm going to keep pushing all three of you on some of these points because do you actually feel that there is ministerial support you know okay the UK is the example you just gave but is the ministerial support to drive it through and actually say this is a priority and it's going to make it happen because it's nice words and it looks good on the election thing but I suspect five years in maybe it's not top of their priority list I think it's still there and it's quite interesting watching different administrations come into power and the difference between any politicians in opposition and when they actually arrive and the reality of what they can implement there is always a divergence but if you look at the open data institute that's being set up in the UK with Nigel Shabolt and other people involved with that to commit to getting data over there's a commitment to actually begin to publish and in fact more data is already being published the target is to publish every single commitment over £25,000 that central government makes with the supplier so it is happening it's probably not as fast as a lot of us might wish okay well and let's just see what the other guys say first of all and then we'll come back to that I think please sir okay that will be an interesting discussion because I wholeheartedly agree with the cherry I think it's very strange in the text from Andrea that he says yeah government should be thinking about their budgets and lots of other stuff besides openness and openness is not on the top of the agenda and I can agree with that it's not on the top of the agenda it's sharing is on the top of the agenda one of the programs that our minister Henry Bogart launched was Optifit optimizing the federal government it's all about shared services about sharing data sharing infrastructure now how can you share if your environment is not open and so although openness is not at the number one priority list sharing and mutualize mutualization of infrastructure is and you can only do that if you have an open environment and so open for us it's not only about sharing it's about innovation feddict software development for the electronic identity card is open source from the beginning and so we had some very interesting side effects and benefits that we never at the front of the of this initiative thought that would be possible were realized and so collaboration with Portugal for example was one of them but we have a whole range of other benefits of being open again the interoperability effect is there driving costs down is there the exit costs are way lower so there's a lot of things that openness know it's not number one on the priority list but a lot of other things are but they all somehow built on this foundation of openness okay i'll let everybody just say a few things first of all and I'll try and challenge some of you Andy I think there's a few points that are worth making the first is is that openness can't be looked at just as an economic issue openness is a little bit like building maintenance you think you can let the roof go for a year or two and then catch up later but openness in government isn't really like a roof because things happen every day and it's a value of government that's been established through hundreds of years and if you're not true to your values it's easy to let the roof go and start to get some leaks so I think to only talk about the economics is to miss a very central point when we're talking about government the second thing is is that yes you can add open to anything but that doesn't make them all the same there's a separate business case and a separate set of rationales in each each case and you can't really conflate them all together and say that they're the same open source has to do with costs of provision services it has to do with competition in the marketplace on the other hand open government hasn't anything to do with it has to do with being true to the values that you put forth for the people open data is something else again it has an element of transparency it also has an element of opportunity for for commerce open standards can be a way to achieve government policy so all of these things have separate business cases and in each of them it's only partially an economic concern so I think that it misses the boat in in two senses it's it's unfair to the business case in each case and it leaves aside the special concerns of government it's compared to commerce when they speak of openness yet to be to to be fair to andrew de maire because we did invite him obviously to speak but he's actually in south africa this week so he couldn't make it which is why I wanted to make sure we gave him a you know we covered his points but he made a he's one of the points and quotes he put is that should governments not adopt openness without question unless they possess the culture to encourage the unselfish collaboration that is essential for success do we really think there is that culture in place in government and when I say government I don't necessarily mean national government it could be local government or or state government or whatever depending which country so is there that culture in existence pito you know I think again referring to to Andy's statement it has to do with what type of openness are you talking about are you talking about open source there you need a special culture of of openness a community building and so forth and I agree that that perhaps not everybody in government is up to using open source as a way to build communities but with open data and open standards it's a whole different business case and yes I I don't agree with Andrea that that government is in love to that I'm convinced that open standards and open data are the business case is there and it it's not particularly tied to the collaboration or the culture within government it is not okay Joey would you could you agree yes and I think if you take the the case of open data if you look typically most governments they've grown up in quite a siloed way even within a particular government department you might find different systems that contain the same information as systems sitting alongside them and then as you look across government it gets even worse and I think it's another angle that Andrea's overlooked is the value of open inside government as much as externally which is how do government departments if you think about providing better services to citizen businesses how do they get smarter about more efficient data and information management internally and a lot of that is about opening up these historic vertical silos that might be quite fit to one narrow specific policy purpose but actually don't meet the need for a much more efficient and effective way of delivering so 21st century digital services so I think there's a whole element missing from his blogs which is around the internal value of open Andy well I think what struck me when I read that article was that he was only talking about culturing government and whenever some new opportunity opens up that is is is rich in possibilities but also brand new you can't really anticipate the values that people are going to find in it and in the US there's rather a different attitude that the private sector is ready to pounce on data when it becomes available so I almost wondered whether the more important thing to talk about was the culture in the private sector not so much the government should make it easy for you to capitalize on this but you should be willing to invest in the private sector and accessing that data I think if you do expose the data obviously depends on the type of data but certainly many types of data there's great value there that innovation and the private sector can take advantage of if they're attuned to doing that but relatedly one last quick point the it's a one-time conversion cost and I think that this can be lost too that yes it's expensive in the moment but once it's enabled and once you make the investment in the open standards to be able to prepare the data and then present it in the future you have a long payback period without additional significant investment so just picking out that point about you know the government's role in encouraging innovation and the link because I think one of the lessons learned from Chesborough is the fact is about building a whole network and part of the thing is actually is government seeing that its role is to encourage the external network I think it's going to be interesting to hear what Neely Crow says this morning in her presentation because I suspect that what she is going to be talking is about the role of the commission and its use of its research funding to encourage that innovation so do we see that is happening you know you you're basically other side of the pond do you see that activity is happening in the States is that that engagement with with the industry to create the innovative effect of for example opening up government data well I think the the private sector has quite a long history as I say of the expectation of access to the results of tax funding so whether it be research or whether it be creation of data for example at the end of the Cold War tremendous amount of geophysical data was exposed everything from the entire mapping of the sea bottom weather data and there's very much a culture in society of being able to get that data in any form and then making the investment to make something out of it so as I say I think it's perhaps the cultural issue is more in the private sector the government you know on the US side we would say that's not really necessarily the role of the government that's the role of