All right, please find your seat. Let's get started. So last lecture, we started our journey about virtual memory, and we left off with doing a page table, which was basically a giant lookup table, right? We decided not to individually translate individual addresses, because that would be insane. So we decided to have a big block of memory and translate something called pages, which are typically 4,096 bytes, and that's where we left off. So any questions about where we left off yesterday? Pretty clear, hopefully. No major questions? So the big problem we were left off with last time is, well, if we have a giant page table, and we only have one page table, so again, each process would need its own page table, because each process has access to its own virtual memory. So if we have just one giant page table that supports up to a 39-bit virtual address, well, our page table would need two of the 26 entries again, one for each, and then each of our entries would essentially need to store at least a physical page number. So that's one of the things that would need to be stored in the PTE. Does anyone remember what other things we need to store in a page table entry? So one of the things for sure we need to store is the physical page number, so we're to actually find this page in physical memory, and what are some other things we need to store as part of the page table entry? Yeah, at least a valid bit, maybe some other flags if I can read or write to it, maybe if I can execute it. So we'd have a physical page number, some flags, which would definitely include something like a valid bit. So this doesn't really work, because, well, if we multiply those two numbers together to get the size of our page table, well, that means the size of our page table is 2 to the 30, so 2 to the 26 times 2 to the 3, which is what 8 is, again, generally it's better to keep everything in powers of 2, because then using exponent law you can just add them together. So 27 plus 3 is 30, so the size of this page table is 2 to the 30, which again is 1 gigabyte. So you might notice I write something weird. I write like a lowercase i after the gigabyte instead of just gb, and that's because gigabyte means something different depending on who you're talking to, and gib means definitely base powers of 2. So in that 2 to the 10 is 1 kilibytes, 2 to the 12 is 1 megibytes, 2 to the 30 is 1 gigabyte. And then depending on who you're talking to, well, a kilabyte might mean the same thing, or maybe not. Maybe it means base 10 because we're humans, maybe it's 10 to the 3, and a megabyte is 10 to the 6, then a gigabyte is 10 to the 9, and then let's do a terabyte for fun. So a terabyte in base 2 units is 2 to the 40. In base 10 it would be 10 to the 12 terabytes. And these numbers are that much different if you do at kilobytes because it's 1,024 versus 1,000, basically the same thing. But if you go all the way to a terabyte and you actually get the difference between these two numbers, it becomes somewhat significant. So this is probably the base two things we care about and make sense to us. And this is what hard drive manufacturers will sell you. So has anyone ever had a disk and then formatted it, and it's way smaller than it should be? Well, if you read the fine print, it's because their definition of a terabyte is probably different than your definition of a terabyte. And since it's actually kind of ambiguous, they choose the smaller one because it's cheaper. So that's just a fun aside thing. So I'll always write the lowercase i there, which means it's a base 2. So that's a fun fact for the day. So that's way too big. One gigabyte per process is not going to work. So this is like the shock of the lecture. So this is what we're going to do. So we are going to divide up that huge, huge, huge page table into a sequence of smaller page tables. And the idea is, well, if I only need to translate a few pages, well then, I don't have to store one giant one gigabyte table. I could actually just store something like, in this example, at minimum three tables. So each of these tables are significantly smaller. So you'll see they only have 512 entries, so 0 to 511. And they just contain a normal page table entry. But instead of doing a direct lookup, they just point to the table below it. So instead of our one big page table, we would start at L2. And that's where our first page table would be. We get an index into there, which is significantly smaller. And that points to another page table. Then we do the same thing. Point to another page table until eventually we get down to the bottom here at our lowest page table. And then that just behaves as normal. That has a direct lookup we have. So at the end of the lecture, we're going to explain this. It's OK if this doesn't really make that much sense right now. But after we're done, we'll come back and see if we understand it. So first, we'll dispel one kind of myth about what we're talking about. So all this page table stuff, all of the management is done by the kernel. And it directly accesses physical memory because it's the kernel. It needs to make virtual memory for your processes. So it doesn't exist before the kernel has anything to do with it. So when you boot up your computer, your kernel will be able to figure out how much physical memory is in your machine. And what it is going to do is divide all that physical memory up into pages and essentially maintain a giant link list of all those pages. So it'll have a link list of all the pages for efficiency. It would just store a pointer on a page because all that memory is not used yet. But it's basically just a giant link list. And then all they do is point to the next free one. And initially, when you boot up your computer, the kernel will just create a link to the next one, to the next one, because nothing's using memory yet. So this would be the initialization at boot. It just creates a bunch of pointers between all the actual physical memory blocks. And then in the kernel, memory allocation becomes dead simple because everything is the same fixed size block. We're dealing with pages. So if you request a block and the kernel has to allocate it for you, it just removes it from the free list, whatever it's pointing to. And then you just use that block of memory and it's allocated for you. And then when you're done with that page, it would just add it back to the free list. And that's it. So your data structures add stuff to a list, remove stuff from a list. If in this type of memory allocation, that's all you need to do to implement memory allocation. You just request a physical page. You get it. When you're done with it, you give it back. So any questions about that? Yep. Yeah, this would just be a list of pages that we haven't used yet at all. OK, so our major insight for this is since we're dealing with pages and we don't want, and it's really easy to allocate pages, then I don't want to do any special cases for a giant page table or a really smaller page table or variable sizes. So the insight for the designers of all this virtual memory systems were to just use a page for each of the smaller page tables. So instead of one giant page table, I'm going to create a page table that fits exactly on a page, which in this case, and for most of our examples, it will be that magical 4,096 bytes. So we can work backwards from this. If we know that's our size of our total page table, which would be 2 to the 12, again, remember, we got to get really used to base two units to make our lives easier. Well, if each page table entry is the eight bytes we were discussing before, well, then it's just a simple question of how many eight byte things can we fit on 4,096 byte page? And if you just divide, you get 512. So I could fit 512 entries, page table entries, on a single page. So that's what we do. And each of these levels of page tables just point to a level below it. So in that case, before, we had three levels of page tables. And of course, we did index zero because we like computers. So you start with L2, L2 points to L1, L1 points to L0. And then we treat L0 as our normal big page table that just has our direct look up in it. So these smaller page tables, just to get used to them, they're just like arrays. So if I write it out as a table and have two columns of index and that page table entry, well, if we want to be super efficient and store it on our computer, well, we just store it as an array and you wouldn't have to keep track of the index. You wouldn't store the index. It would just be everything is nice and sequential and contiguous. So just to review to make sure we are OK, if I had something like this in C, so I have an array of ints and I have 512 of them, what's the size of this? How big is that array? And what is the size of int? Four bytes. Yeah, so if I want to figure out how big this array is in bytes, and remember, we do everything in bytes because memory is byte addressable, so that's the lowest atomic unit we have. Well, there's 512 ints, so the size of this is 512 times whatever the size of an int is and an int just happens to be four bytes. So this would be like 2048 bytes big. So any questions about that? Hopefully that's kind of review. OK, so now if we have a very int x and we do something like this, we do page table two. Well, we brought up that word offset before, so let's review and make sure we understand it. So what would be the offset of index two, knowing that integers are four bytes? Yeah. Yeah, so the answer was the offset of that is eight bytes. So does anyone have any questions about how I got that? Because this array, it will be stored at some address somewhere in memory. Generally, you don't care about where the base pointer is, like where the array starts. And if you want to be consistent nomenclature, it's kind of how many bytes from the beginning of that is something. So in this case, well, everything's index zero, so your first element of your array is going to be at byte zero, which is an offset of zero. So that just means it starts at the beginning. And because all of our integers are four bytes, well, index one would start four bytes later, so it would be at index four. And index two would be four bytes after that, so it would start at offset eight. And the offset is basically just how many bytes away from the start is something. So in this case, page table index two would be an offset of eight bytes away. So doing this whole page table thing is the same thing. We just have to substitute an int for a page table entry. So now all I did is change int to page table entry. So now if I have 512 page table entries, everything is still the same. So if I do the size of the page table, well, that's the same as the array. So it's the number of entries times the size of whatever the thing is I'm storing. In this case, an int is four bytes. My page table entry in this scenario is eight bytes, so it would be eight times 512, which happens to be that we can double check the size of our page. So two to the nine times two to the three, that's two to the 12, which is the exact same size as our page table entry. So any questions about this? So that our smaller page table, because we want to fit it exactly on a page, it would have 512 entries, which would be like index zero to 511. So any questions about that before we move on? Yep, so the question is, is there a standard page table entry size? And the answer to that is it depends on your CPU. On once, like per on your CPU, there's a standard, but when you jump between CPUs, it may or may not change. Yep, but for any questions, you'd be given the page table entry size or maybe like have to explain some trade-offs because if I made it smaller, well I could probably support less physical memory, but I could fit way more entries on a single page table if it was like half the size or something like that. Okay, so let's consider just one additional level. So before we had a 39-bit address, well now we'll just have a 30-bit virtual address. So if our 30-bit virtual address is something like this, three F, F, F, F, F, and then zero, zero, eight, well we're gonna have the exact same page size we had before of that magical 4096. So if we divide up this address into offsets and indexes, well we know that since our page table size is that two to the 12, that we don't have to translate the last three hex digits because they're essentially the offset into the page and that doesn't change, we don't need to translate that part because that part stays the same, no matter what page we get, doesn't matter. And then the rest of the bits values up here is just all ones. So if we divide that or if we write that in binary, we would get something like this where every just hex digit goes to binary, four binary digits, or if we want to break it up into different categories, it would be like this. So this is 12 bits, that's our offset that we don't have to translate, and then we group them into groups of nine that are to index these smaller page tables. So if we start backwards, the L zero group index, which would be nine bits here are all ones, and then we then just go to the next group of nine bits. So the next group of nine bits is also all ones. So if we go back and we divide up our address, we get something that looks a bit like, so we get something that looks a bit like this where our L one index is nine bits or L zero index is also nine bits, and then at the bottom, what I don't have to translate is the offset, which is 12 bits, and I'll just keep it in hex and then write it in red. So I don't have to translate these at all. So I just grouped up my numbers, started at the back, I chopped off the offset bits that I don't have to translate, and then essentially I went in groups of nine to figure out the indexes. And as a Sandy check, this is a 30-bit virtual address. So if I add all my bits nine plus nine plus 12, that's 30, so that's a good Sandy check to make. So any questions about breaking that number up into our indexes? Okay, so now is where it gets tricky and we try and follow things. So instead of each processing, each process having its own giant page table, it would have its own root page table, which would be the highest level one, which would be L one. So it would start with its own L one page table, which has those 512 entries, and that's its page table, and that's where it starts translating this address. So somewhere your kernel would allocate a page for it, it would get a physical page number back and it's free to do, it's free to add entries to that page. So for instance, in this case, if your kernel just gets physical page seven, well, now it's going to use physical page seven to do as the L one page table. So because the kernel gave you back a page, well, going back to this, well, we essentially have this, we essentially have 512 page table entries we could make on that page. So somewhere in there, so somewhere on there we would get a page back and this would be our L one page and it would start at physical page seven, it says, but this page is going to be, since it's a page, whoops. So since this is a page, the page we get back is at 4,096 bytes. So how many page table entries can I fit on this thing? Yep. Yeah, 512 that we just saw right there. So I can fit 512 of these because my page table entry size again is eight bytes and my total page size is 4,096. So to visualize it, instead of writing out an array, we could do it in the form of a table where it would have entries all the way from index zero, one, two, dot, dot, dot to 511. And then what you would do is to translate this address, well, let's also put another column here to say if it's valid. Well, to translate this address, if I look at it, my L one index I would use to translate this address as all ones, which would be 511. So if I try and translate this address, what I would do is use my L one index, then I would know from the kernel that this process is L one table is located at page six or page seven or something like that. And then I would look into it and then actually look at that entry, which would be 511. And all I need is the valid bit to be on and I can use it. And in its physical page number, it would have to point to an L zero table to use to continue the translation. So in this case, it might have something like a value of eight. So if I want to continue translating this address, it means that the next table I should look at starts on page eight and I should consider that as an L zero page table. So any questions about that? Or maybe hold off and we'll see what it looks like at the end. Yep, yep, yep. So this is in heck. Yeah, so the offsets in hex here because I don't need to translate it, so I don't really care. So I can just keep it the same. Also, I ran out of room on the page to write 12 or to write a bunch of zeros. Okay, so to continue translating this address, well, I would have to look at my L one page table. It would have an entry for that index. So the L one index again is this one, which is 511. So in order to successfully translate this address to something, it would need to be valid and point to another page. So it would point to another page and let's draw what that would look like. So it would be another page that would start, in this case, at physical page eight. Again, the size of this would be the same size as a page and it would look pretty much the same. It would have its own indices, zero, one, two, all the way to 511 and it would have a valid bit and also the physical page number of the translation. So if I wanted to continue translating this address, well, this says I should go, this is my L zero page table. So I should look at my L zero index here and it's the same one, it's 511. So I would go ahead and look at the entry at index 511. In this case, it would actually contain our translation. So let's just make up a value. So say it C-A-F-E, just make it more fun and it would have to be valid. So if we follow this, well, now we can actually just do the same thing we did yesterday and translate the address. So what would my final address be if I have virtual, my virtual address was 3-F-F-0-8 So now following this, what would my physical address be? So when we had a big page table, what did we do to get the final address? We just kept the offset the same and then replace the whole virtual page number with the physical page number, right? So we do the same thing, this L zero table, we treat it just like our big table, it stores the final translation. So to get our physical address, well, our offset doesn't change. It's still that zero, zero, eight and we just replace the virtual part of the address with the physical part. So the physical part, excuse my writing, is this, maybe that's why you couldn't see it. So you just replace it. So our physical address would be C-A-F-E, zero, zero, eight. So any questions about how we got that? Yep. Yeah, so the question is how are the two tables connected? So each process would have its own L one page table that stores, you know, the top level, that's, yeah, that just stores page table entries to a bunch of L zero tables. So you would be given something like this that it would start at physical page seven and this would be your L one table. And as part of decoding the address, the hardware on the CPU that we'll go over next lecture will be like, okay, well, I know I need to translate two levels of page tables. So this is my L one, whatever value I find here, that points me to my L zero and it just knows them and that's how they're connected. So because this is an L zero, because we have two levels of page tables, well, we know we're pointing at the highest level. So this is like an L zero or an L one table. And then these entries all point to L zero page tables. And we just know that just by knowing how many levels of page tables we have. Yeah, so the question is, is L zero shared between all the processes? So what we'll get into later of little tricks you can do is you could share them if you want to share memory. So if two different processes have the same L zero entry, well, then all those addresses are gonna translate to the same physical addresses. And that way both processes are gonna actually get the same memory and actually start sharing memory. So we'll see when we do translations whether what we can do with that because we could have processes share memory if we want. If we don't want them to share memory, we just make sure all the L one or L zero tables are all independent. Yep. So these are all still on physical memory, right? So this is what the kernel is maintaining and it has to use physical memory. So all the page tables and stuff it use, or yeah, all the storage of the page tables are done in physical memory and they're all pages. So that's why we use, you know, why this physical page number, we just use it to say where that page is in memory. And we just use that because everything fits on a page. Yeah, so page, okay, so remember physical page number, like in this case, physical page number in seven, it doesn't start at address seven because it would start at address like seven, zero, zero, zero, right, and go all the way to address seven, F, F, F. So that's where it would be actually stored in physical memory. So if it says physical page seven, it means that all these addresses are on that same page, which to Sandy check again, well, zero, zero, zero to F, F, F, like the difference between them is the same 4096 bytes. So everything kind of jives. Yep, so how big the physical page number is depends on whatever we wanna support. So in this case, if our page table entry size is like eight bytes, well, at least what the designers of risk chose is to only use 44 of those bytes for the physical page number, so it can support up to two to the 56, like a 56 byte physical address. So yeah, so the size of the page table entry determines like the size of physical memory you can support. While the size of the virtual is just how much each process could actually address. Yep, yeah, so there'd be two page tables here. So the first L one page table would live on page seven here. So L one lives on this page, which if you translate it to physical addresses, like straight up physical addresses that we don't care about where the page is, it would be 7,000 to seven FFF. And then this table over here, because it starts at physical page eight, well the addresses that represent this page are 800 to 8 FFF. Yep, sorry. So yeah, so what you store, you don't store the address, you just store the physical page number. Cause yeah, so if my physical page number is 08, well it means I can access all those addresses are on that same page. So the way to think about it too is from our, what we've been doing to translate it is you don't, all the offset bits are for you to use for your own purposes. That's where you are within a page. So all those can be whatever you want. And the other, the upper part of the address would be the physical page number. Yeah, yeah, so if we go back to this, this entry here, like 511, that would be at a particular offset in the page, the same way that an integer's at a particular offset in memory. So in this case, this would always start at like, oh God, math. 4,096. Yeah, so if all of our entries are eight bytes and our page is 4,096, that means entry 512 would start at byte 4,086. And that offset is the same no matter what page we're on. So if this page table happened to be, happened to be stored at page nine, that offset does not change. But if I were to access that entry, well, you know, it would be at address 9FF8 or something like that. Because FF8 would be the offset, so that is 4,096 and that's our physical page number. Or is that too quick binary? That might have been too quick binary. Okay, so we have, yep, sorry. Yeah, yeah, yeah, yeah. So the question is, well, in this case, my physical page table on the left is only one digit and the other one is four hex digits. And that doesn't have any specific meaning. My page table or my PPN would be a certain size for both of them. In the case that we're following the risk five one, they're all 44 bits and I just didn't write any leading zeros. So, yep. Yeah, so these index bits as part of the virtual address don't correspond to what page you actually use to do the translation. So that's a separate thing that gets stored. So what would be stored here as part of the operating system is this part that would say that the L1 table starts on page seven. So that would be stored separately. So then you combine these two things. So as part of the virtual addresses, the virtual address tells you where to index in these page tables. Yep, so this would be within L1, where do I index? And that would be 511. And then this would mean within L0, where do I index? And then the other pieces of the puzzle to actually translate the addresses, I need to know what where L1 is. So you'd be given, in this case to translate the address, I would have to tell you where L1 is. So in this case I said L1 starts at seven. So then you'd use that index. So if I changed, yeah. So then I use L1 index, I know to go to 511 to find what I'm looking for. That tells me the next piece of the puzzle, that tells me where, what L0 table to use. And then I go back up to my virtual address and that answers the question, what entry in that table do I need to look at? And then once I have that, that's L0. You just do the same translation as we did with our big page table and that gives you the address. That makes sense, hopefully. Yep, yep, yep. So now we know when we create a process, if each process has its own root page table, well as part of creating a process or a new process when you fork, that's independent. The offering system's gonna have to ask for another page and then it gets another page and would say I will use this page table for this process and then it can monkey with the entries, just if you wanna share memory or if you want to make memory independent or not. But all the page tables do is help you translate virtual addresses to physical addresses. Right, good, yep, yep. So let's go back to our first slide of the evening. So now we can kind of understand this a little bit better, hopefully. So for this slide, we go, we look up a virtual address and we slice it, in this case, all of my page tables are of support 512 entries. So I start dividing it up after the offset in the groups of nine bits to the power of nine is 512. So the example we just saw was starting at L1 and going that way, but now if we were to add another level of page table, it's just the same thing but we just do it again. So as part of our address, we would have three levels of page tables. So an L2, an L1 and an L0 and then this SATP, that's essentially the root page table that you would use for this process. So in this case, this points to an L2 page table and then that's part of the information we'd be given and then we can figure out the address. So we would use this L2 page table, get the index from this part of the virtual address and then that physical page number is going to point us to an L1 page table. So it would point us here. Now we are using this as our L1 page table and then we get the index from the virtual address again, then find out what entry it is, it would have a physical page number, then it would point to an L0 page table and then this is our lowest level page table so it's like the big table again. So we would just take the physical page number and then that's our physical address and we don't touch the offset. So if we change the offset to whatever, we wouldn't change it, yep. Yeah, so that's a good question. So what about if I'm having so much fun with all these page tables, I want to do it again. So I want to do four levels now. So you can do four levels. So let's see. So with three levels, well our address looks like this and we'd always use nine index bits. So for a, right now it looks like we have 12 bits offset. Then we had nine bits for L0, nine bits for L1, nine bits for L2. So if you wanted to add another level because everyone's having fun, right? You just add another nine bits here. Now how big of a virtual address can we support if we add all those bits together? Sorry? 48, so if we had so much fun that we want another level of page table, well if we add another level, essentially we can have a 48-bit virtual address now. That additional level lets us translate more addresses. So now we can support a 48-bit virtual address which is massive, right? Because a 39-bit virtual address, well it means I can address two to the 39 bytes which is 512 gigabytes. What about for 48 bits? How much virtual address, or how, what's the size of my virtual address space? Anyone, quick powers of two? So 48-bit is to the power 48. Do we remember what's like the biggest unit that I could chop off some stuff? Yep. Yeah, so terabytes. So if I rewrote that, a terabyte is to the 40. So I would have two to the eight terabytes or to the eight. You should know what to the eight is. So that's 256. So if I added another level of page tables, suddenly every process can address up to 256 terabytes of virtual memory, which seems pretty good. It's a bigger number than 39. Why might we not want to do this? Yeah, so the answer is that my addresses take up a lot more space. So we do need another level to translate an address and it would take up a bit more space, but take up one additional page, which isn't too bad. Oh, yep. Why would it be slower? Yeah, so if we know that all our processes use virtual memory. So as part of using virtual memory, your computer needs to do the translation. So each translation step takes time. So if I have three levels of page tables, well, I have to do three steps, which if everything scales linearly, if I add another level and now I do it four, well, I slowed it down by like 25%. And we have some ways to go around that, but basically no one has above 512 gigabytes of memory anyways. So why would you pay for something you're not gonna use? Yep. Oh, yeah, so the question is why is the offset 12 bits and is it always 12 bits? So the offset is always corresponds to how big of a page we have. So in this case, we have 4,096 byte pages, which is to the 12, so we need 12 bits to address every single byte within a page. And we call that the offset because it's, it would stay the same no matter what page we're on. And this would be given to you. This is the usual size on any hardware that I know of today, but you know, fun questions. You could just dream up of us. I could just change the page size and tell you, oh yeah, well what happens now? And yep, yeah, so the question is why do we have nine for the different levels? And the answer to that is because of our nice insight, if our memory allocator just cares in pages and we can make it really, really easy, our insight is always to use exactly a page for our smaller level page table. So it's 512 only in this case because we know our page size and we know how big our page table entry is. So essentially we have this equation and you have one unknown, so you can always figure it out. So on any type of question or any design problem, you have this equation and you'd always have one unknown. So I could give you the size of a page, which would be the size of our page table and I could tell you the size of the page table entry. Then you can figure out how many entries you can fit in a page and then the number of bits you need for the index bits comes directly from that because you have to be able to index each one of those. So in this case, my size of the page table is to the 12. The size of the page table entry is two to the three or eight bytes and that means the number of entries has to be to the nine. So I need at least nine bits to index every entry within that page. So the number of index bits you need is gonna change depending on this. So if I suddenly say, hey, let's rewind to like 20 years ago when we had 32-bit machines, well, when you had 32-bit machines, the page table entries were four bytes instead of eight bytes. So if they're four bytes instead of eight bytes and we still have the same page table size, well, how many entries can we store then if our page table size is four bytes now? So we had two to the nine before when they were eight bytes. How many when they're four? Yeah. Yeah, two to the 10. So back in the day, well, we could fit more entries on a single page and lo and behold, if we actually go back to it and we have a 32-bit machine that has a 32-bit virtual address and we have the same page size, well, our offset is going to be 12 bits. That's going to be our offset. And then since we can fit more entries on a page table we can fit to the 10. So each of our index bits needs to be 10. So this would be like our L zero index. And if we were just to work backwards, well, that's 10 plus 12, so that's 22 bits. So I have enough room for another level. L one index. And it would also be 10 bits. And lo and behold, on a 32-bit machine, well, 10 plus 10 plus 12, that's 32 bits. So I can translate any 32-bit address if my page table entry size is smaller by just having two levels of page tables. So this is like the state of the union before 64-bit machines came into the picture. This was all fine, but obviously has some limitations but this is what it was like before. So any questions quickly on that before we wrap up and we'll do more practice and everything tomorrow? Yep, quick. Yeah. Oh yeah, so the quick question before we leave is there is the SATP here and that's basically a pointer to the highest level page table. So that's just a pointer to the L two page table. What L two page table do I need to get started in this translation? All right. Well, just remember, pulling for you. We're on this.


Drone footage showed thousands of people marching on the highway to Jerusalem on November 18, calling on the Israeli government to do more to secure the release of around 240 people held hostage by Hamas militants since the attack on Israeli on October 7. Relatives and supporters of the hostages have been marching from Tel Aviv to Jerusalem and camp just outside Jerusalem overnight before the 5th. And final day of their walk towards Israeli Prime Minister Benjamin Netanyahu's office on. Saturday, holding pictures of the hostages and missing relatives the demonstrators waved Israeli flags, enchanted, we won't give up. We demand the hostages release. We don't have time, we don't have one hour more, we don't know if she is alive," said Adriana Adri talking about her elderly mother-in-law who was taken with Adri's 63-year-old husband. The captives ranging from babies to grandparents are believed to be held in by Hamas militants in tunnels deep under the Gaza Strip which the Israeli army has been pounding daily since October 7. We are marching today, it's the 5th day, the last day of this march. We will enter today to Jerusalem, all the way to the Prime Minister's office. And we are here, thousands of people, of course the family of the hostages and with us thousands of thousands of Israelis came to support us all the way to achieve our demand, to show our demand to the government, to the cabinet members, to do everything they can to bring the hostages back. We are expecting from them to meet with us, we are expecting from them to tell us how they are going to do it and we cannot wait any longer. So we are demanding from them to do that now, to pay any price to bring the hostages back. In Bar, my partner, my girlfriend, she is really an amazing girl, funny, clever, sensitive, talented, she is an artist, she is a graphic design student, she is brilliant, she is full of love and care. She went to the music festival as a caregiver, as a volunteer to help others and she was kidnapped in October 7 from the music festival. Today is my husband's birthday, he is 63 and his mother, Yaffa Adar, is kidnapped. She is 85 years old and we are not with her and we are marching, we are marching to Jerusalem to bring her back, to shout and to say that she must be here back with all the equipment. We don't have time, we don't have one hour more, we don't know if she is alive.


Live from Las Vegas, it's theCUBE, covering Dell Technologies World 2018. Brought to you by Dell EMC and its ecosystem partners. Welcome back to theCUBE's coverage of day one of Dell Technologies World. I'm Lisa Martin with Dave Vellante and about 14,000 other people that are here live in Las Vegas. We're joined by a couple of folks from Dell EMC. We've got CUBE alumni, Beth Phelan, president of Data Protection Division and Sherrod Rustogi, senior vice president of product for data protection. Great to have you guys on the program. Thank you. Good to be here. So day one, very high energy keynote talking about four ways in which companies that are going to be successful can transform. Security, workforce, digital, IT. Beth, what are some of the trends in IT that you're seeing now in relation to data protection? Yeah, data protection is transforming in the same way that the rest of the IT environment is. The move towards simplicity, automation, converged infrastructures, hyper-converged infrastructures are all playing out in data protection. And it's a really hot and dynamic market right now. So there's a ton of interesting things going on. And of course, we like the rest of IT is looking at how to help our customers best take advantage of the cloud. Well, speaking of cloud, how has cloud affected your business generally and specifically how are you responding? I mean, I think cloud is going to be a massive trend as we've already seen that, right? And I think there are really two dimensions of how the change is happening. And one I think is just the workloads are migrating from on-prem to cloud. And we are really helping our customers save and store more data in the cloud and do better disaster recovery from the cloud. At the same time, people are thinking about lifting and shifting their existing workloads to the cloud and also having more cloud-native applications. How do you sort of protect that, right? So we're doing a lot of work in terms of how those trends happen and how we help them. At the same time, with the cloud, data protection itself is evolving, right? It's no longer just about protecting the data, but it's also about compliance and visibility. It's about governance of the data. It's really about management, making it available. So those are trends in which I think this industry is going to basically evolve over time. I mean, one of the challenges with data protection and generally backup specifically, it's always been an afterthought. Oh, we have a bolt on. I got one size fits all. The industry obviously has been very much aware of that and working hard to address that. Is it a, what's the fix? Is it software? Is it hardware? Is it mindset process? What if you could address that, Beth? What are customers doing to make data protection more resilient? I think making sure the data protection is tightly integrated with their applications. So whether you're the VM admin or the database admin, you don't want to have to have some other interface to go to, it just has to be a natural extension of what your day-to-day job is. So as we work to make our products very well integrated with the end applications and at the same time give that overall visibility and governance, we can meet both needs. And so automation is part of that, obviously. Unlike my iPhone where the backup never works, I have to go manually initiate it, even though it's supposed to work that way. But where does automation fit? So we really want to automate and simplify the workflows for data protection, right? Make it very easy for our new users, like the VM admins, the database admins, the cloud admins, how do you make it easy for them to protect the data? How do you sort of create role-based access for them? So we're really simplifying and amplifying that as we go forward. So I want to touch, Beth, for you on security transformation. As I was mentioning earlier, Michael Dell talked about those four transformative elements that businesses need to undertake to be successful. And security transformation is one of that. But what does security transformation actually mean? If we look at, and one of the things Michael Dell also said in the keynote is, you know, obviously proliferation of data keeps growing and growing and growing as do attack surfaces. So how does a company leverage data protection, not as an afterthought like you were saying or both on as it was before, but as part of a strategy to actually transform from a security perspective? I mean, data protection can make sure that, excuse me, data protection helps ensure that they can get to their data after something happens. So you can protect all that you want. There's still no 100% guarantee that you're going to be able to keep the malware out. So with things like cyber recovery, we're able to give customers the confidence that they're going to have a good copy of their data independent of what happens to them. So it's really the flip side of the coin of security. You have to provide security. You also have to provide confidence that you're going to be able to recover if you are attacked. So ransomware has obviously been a big topic in the news last couple of years.  I get through that, no problem. So what are your customers doing? Obviously it's a big concern of a lot of executives. It comes up in the boardroom. What do you guys recommend? I think this is actually, you're absolutely correct, right? It's a big board level conversation today about how do you protect your most mission critical, most valuable data? And yes, there are attacks. Yes, there are threats, but really it's about how do you recover back to a stable, steady state? And you know, air gaps are valuable. I mean, they do prevent you from external threats. And with our cyber recovery solution, you know, we're actually helping our customers think about first about what is your most mission critical data and then how do you sort of protect it and how do you make it available? You know, if and when that disaster does strike you and make it easy for you to recover back to your steady state. And I would think part of that is your response mechanism and the process by which you respond, quickly you can respond. Does Dell EMC play a role in that process part of it and what role do you play? Yeah, I mean, absolutely. So, you know, the, what's most important in our cyber recovery is actually you get back to a safe state, right? It's a little bit different than a classic disaster recovery, you know, where you have weather or some other event which is striking that, right? So, what's different on cyber recovery versus classic DR is that you actually have a little bit more time, but you don't want to get back to the right steady safe state. So, you also do a lot of checking of the data, your sandbox data, you make sure it's actually all safe. There's no external malware in there, you protect it and then you make it available and you recover it when you do need to. So, it's a little bit different than a classic disaster recovery. Right. So, I was looking on the Dell EMC website the other day and saw a couple of stats that I'd like to get some insight on from a real world customer perspective. And I read that Dell EMC protects 150 petabytes of data in the cloud and two X more data in the cloud is managed by Dell EMC technology than the closest competitor. Give us an example, Beth, of a customer that you've really helped to facilitate resiliency, really this theme of business resilience. So, absolutely, and especially working with Virtustream, customers are able to seamlessly extend their data domain storage capacity into a cloud. And so, by setting up their cloud tier, data domain will automatically, based on a time policy, move backups into that cloud, into the cloud configuration. One customer that comes to examples in the medical field and you can imagine both the importance of privacy and the importance of retention of records in the medical field. And so, they come to mind that somebody has really taken advantage of being able to do cloud tiering to keep their TCO down, but at the same time meet the requirements around record retention. All right, so takeaways from Dell Technologies World. What should we know? What do you want your customers to take away from this event? I think, number one, I'd say, for data protection, there's a huge value in terms of low cost, high performance, those are key requirements to remain. Simplicity, flexibility are also very important in their coming, and then finally I would say that, think about cloud workloads and how to use a cloud to better protect your data. Okay, and then Beth, I wonder if we could ask you, what should we be watching over the next, near term, mid term, even long term, if you want to throw that in there from Dell EMC? One, you're going to see us bringing even more products to the market that are easy to deploy, easy to configure, easy to use, in all kinds of new and exciting creative ways. And two, as people's data sources become more and more disparate and they're moving to SaaS and using a cloud-native environment, we will continue to be working with our customers to make sure they can still protect their data. So we're going with our customers on that cloud journey. Well, thank you guys so much for stopping by and sharing with us some of the trends in IT where data protection's concerned, the innovation that Dell EMC is doing and how you're helping customers to really embark on a successful security transformation. Yeah, thanks Lisa. Great, thank you so much. Thank you. We want to thank you for watching theCUBE. I'm Lisa Martin with Dave Vellante. We're live in Las Vegas. Day one of Dell Technologies World Stick Around. We'll be right back after a short break.


Introducing, Cosmos. That's right. Cosmos. And if you think that name is bad, Soul Eve was originally going to call him Daryl. Cosmos is the improvement.  Cosmos' first ability is Summon Meteor, which, surprise, surprise, summons a freaking meteor to drop down on your enemy.  His second ability is Open Subspace.  So, you go through the trouble of waiting patiently for him to use his combo, then leap from the shadows with a well-timed ambush, only to watch him immediately slip away like a dollar on a string. And if that wasn't bad enough, his team could take the portal too. He has team utility with all this other stuff. Distortion puts a suction cup on the ground that pulls people into the center, which solves the age-old problem of Gideons not hitting rocks.  This counts as a displacement, so it full-on interrupts people. That's right, a high-damage AoE artillery mobility mage also has a micro-stun that displaces.  Cosmos' ultimate ability is Devour. Channel a massive AoE that punishes players who have an adjusted screen shake by making them vomit on their keyboards. It doesn't do a whole hell of a lot of damage, but who cares? The industrial strength, light and magic is disorienting enough that the enemy team will kill each other. Be sure to portal as high as possible with this so that melee heroes can just look up helplessly as your ADC blasts them in the face.  There's a reason this thing looks like a toilet flushing in the sky, that's because it shits on everyone. Now, I really liked Gideon's kit in Over Prime. It was fun as all hell to use, but it was more fit for some kind of single-player game. Solemn needs to realize that only 2 out of 10 people can pick him, which means 8 players are going to have a rough time. While Gideon, or Cosmos, or whatever you want to call him, is incredibly strong, there's a solid counter if you can withstand the early game onslaught. Just wait for him to use mana for one ability, then cap him in the face with Bellica.   Right-click and cue your way to victory on Cosmos today. Be the poster boy for poor balancing in Over Prime today. Know exactly where your mouse needs to be to pick him first in Over Prime today. Mangoo! Special shout-out to Channel members, I, Blood Hunter, Jelly Knees, Meowmix from Insta, Raven, and Blastoise King.


Hello everyone and welcome back to another video looking at Power BI. So in today's video we're going to look at how we can connect to and get data from a web page. So for us I've got a simple example here what I'm going to now bring on the screen and you can see it's just a population table what's available through Wikipedia so you could use this same URL yourself so that you can try at home to make sure you're comfortable how it's working but obviously alternatively any other website you want to use then you can obviously utilize this same method as well. One thing just to make clear is in this example we're going to be connecting to an HTML table what's obviously available on this web page you can see here so obviously depending on what data you're trying to pull in you might it might be more complex or the same as what we're looking at today so that's just one thing to bear in mind as well. So all we need to do is just copy this URL path so I'm going to do control a and copy that move that to the side and then I'm simply going to go into get data and go into web so you can see I've already clicked it already but if I hover over web we can see the option is to import data from a web page so if we click that then we'll get an option what pops up here so simply all this is asking us for is our URL path I'm going to enter there though you do have advanced options available to you but we're going to keep this very basic and just stick with all the basic options for the purpose of this video by clicking okay what Power BI is going to do is it's obviously going to look at that connection and try and obviously and establish a connection to make sure it's obviously all working and then this navigator once it's loaded will display to us all of the available data sources that it has found on that web page so primarily it's going to be focusing at looking at tables so HTML tables available to us if we want to navigate through and just see what we're looking at we can obviously select one of these tables identify if it's the information that we need and obviously if not we can then move on to the more tables but I know for however that we want to go look at HTML tables and we can see the first one it's clearly defined as a HTML table is this desired table we have here so we can see we've got our rank country population which does match entirely with what we had here in our browser so we can move that to so once again and all I'm going to do now is simply click on load and what that will do is Power BI will now import that data into our dashboard the benefit of obviously connecting to the data in this manner is if that was a table that's going to get updated regularly maybe it's daily weekly or whatever it is it always ensures that once that table is updated and we refresh our data the new data is going to be populated into our dashboard so it just saves us that has to obviously saving something to excel connect into that excel which is obviously only going to be updated once we ourselves go to update that data so to put that in short our data is now lively connect or has a live connection with its source and we can now just play around this as we desire so if you wanted to create or recreate that basic table we can simply put a table into our display and we can then bring all that fields in so go rank country population and you'll see that they've been populated in here for us as well so if we just make that bigger and for some reason rank although it is if we not put it into rank order so if we go into rank like so also got the highest the lowest all right so our data needs a bit of playing around with but we can see what we have available to us and obviously using population here we can then go through and identify the population for each country and alternatively what we could do here as well let's say we wanted to move that to the side over here and let's just bring a visual and our visual a slicer so maybe we want to put country into our slicer field over here and let's say again we've got only a few areas of interest maybe we only want to look at let's go into the United States maybe the United it's enable so what we need to do here I want to select multiple countries well let's step back a minute we can see by selecting the United Kingdom we've now got the United Kingdom what its rank is and what the total population is for the United Kingdom as well or if I go to United States we can get that as well because I want to get about select multiple values if we didn't know this already all we need to simply do with our slicer once selected is go down into selection controls we're using the paint roller icon here and we can do multiple select is on and let's go let's turn that off so we should now have to do multiple selection yet we have indeed so let's go back down to where was it let's go United Kingdom United States and what's the other randomly selected options we can do let's go for I can't even think when wine's gone blank now let's say we're going to go for India Indonesia Hong Kong and maybe Greece just to click the first few that I saw and we can now bring into this a graph so let's go for a simple bar chart just click in and it's obviously disappeared somewhere let's try that again yep there it is the bar chart and now we can bring country into our axis population into our values and we've now simply created a nice well not maybe a nice we might again want to do a bit more work to it but we've created a simple chart from that data on the web so point being we've connected to data on the web and we're now able to build a dashboard or combine that data with other information and detail we have within our dashboard so if you found the video useful please don't forget to give the video a like it not only shows me more content that you'd be interested in seeing but also does help that all important YouTube algorithm to ensure more people searching for such questions like this are able to find this video and if it's the first time you've come across the channel or you've watched our videos in the past please do ensure that you are subscribed to the channel and make sure you hit that bell notification button that way you'll be notified of all of our future videos as and when they come out so thank you very much for watching and we'll see you in the next video


The team, Mattie, did a good job of giving me kind of about 80 throws a day on a target, which honestly, with the duration of practice, it's really hard to even get to that point of 80 competitive throws. But Maureen felt good early in camp, as you saw, dropping some dimes and some socket signs and some of the long distance net throws that I was hitting throughout camp. But it's been a good camp for us. I like where we're at offensively. The defense is coming along, too. They're running a new scheme with Joe Berry in charge. He's done a nice job basing him and most of the staff that was retained, if not all the staff. Most of the staff, I guess, were retained offensively. Not a lot of changes. Definitely not staff-wise. Personnel-wise, very similar. Obviously, we've lost Corey Linsley, AJ's Ohio State buddy. Got a new one, though. Got another Ohio State buddy there. Yeah, we were placed to point to another Ohio State guy.


Everybody forced here up being 22 23 upper deck series one hockey hobby six box number one random teams I made the font bigger. So this will show I think 30 teams. I'll scroll down in the second here to show the other two Good luck. You can find the results anytime late sports cards that come Yeah, there goes to Steven G stars and Alexandria Islanders really nothing not showing up here. So Yo, let's get started everybody. Yeah, links in chat. You can always find the results late sports cars comms Well, it's pull some nice young guns for some French variations for some acetate Let me get up a checklist. I like to know the odds even though Han Solo said never told me odds, but I'm no Han Solo more Brigito Just get shot. Not like these are not these are not very upper deck pack like Candace Troy Terry ducks. I was oh, this is We have 40 fingers. Okay. We have 40 minutes on this. I'm gonna be moving That is a defense mechanism slavin or slavin for the Keynes, I think it's slavin pretty much. Yeah, I was funny As a great boy a French young guns Checklists here is Matt Boldy and Marco Rossi a French one. I've never seen a French one of the checklist card Good stuff for the wilds. That's the same rarity as any of the Of these right, let me see if there's parallel One one twenty packs for a French young gun So I guess this counts as that very nice card for the wild there boldo a boldy and Rossi Young guns jack-of-a-fontaine for the Keynes Jack-of-slaven Canvas still injure you go jackets. I'm gonna protect start making packs like this There's a porches of kucharov Young guns Marco Rossi man wild doing very well There's a Robertson and she's sturkin. I'll roll a die for this one one two three left four five six right It's gonna go three left side stars Let's see See how common that's gonna be Superstar Panarin Red man Yeah, rookie retrospective call field for the Habs Canvas Matt Dushane Nashville mustard cats Young guns Alex Vlasic or Vlasic for the Blackhawks With the pickle. Yeah, I wouldn't say great It's upset now debut dates Matt McTavish for the Ducks. That's a little better. I like to chill deal. I can't find them everywhere Based on Sarasota, I think Portrait over here. Yeah, I need to go to that Pickles pickles a deli or whatever Interesting They'll stall young guns ducks Lucas Lucas. They'll stall. Is it a good deli? Should have gone over there when we had that shop over there, but yeah, hey Robert Thomas. I'm a roll honorable. What's up? Every single day a Center of attention JT Miller Canucks. Those are cool. It's like Captain America shield if you get like a like the blue jacket or something as yeah Canvas you follow for the Kings. So it's everybody quiet chat so far young guns leaves a brisisi Leafs Nicholas a brisisi. It might be exactly what it is. Yeah, it might be Hey, look at that a young guns gold for him 10 for the Kings Hi gloss Samuel Fajamo. Holy cow It's a great box to 10 Ryan P with the Kings That you want to talk about a tough pull you want to talk about a tough pull that right there To I've never pulled one of those before in my life on any any release of Upper deck. Yeah, that's gonna go in a mag. What the heck I was not expecting that. It's a great box, too Defense mechanism Morgan Riley Dazzlers the Beneshad Rangers See one of the scorers yesterday Figured is the second of six a so guard young gun senators canvas Dylan Cousins debut eight cylinder Jackets a lot of base hurt my hand to cut me very good box there That's how I was gonna say that's the song is gonna say Travis. That's I mean either Also doesn't matter which one you pull us. That's that's that's a nice pull defense mechanism Adam Fox Portrait Matt Bouldie rookie portrait very good young guns Lucas Reich over the Black Oaks Hawks Superstar Colgren For the Leafs Was that debut day it's more insider for the for the wings Everything's got that guy I feel like Young guns culture car or ketchup car for the Canes nice card part of the top goalie in this set. Oh Yeah, for sure Travis. That'd be a monster Young guns acetate now is a Jake Christensen for the jackets. We are killing it y'all There you go jackets acetate young guns How are the acetate again doesn't even say oh clear cut essentially one and two eighty eight once a Very rare as well Center retention Austin Matthews for the Leafs. What should be Matthew? What did I miss? young guns Adam Roscoe for the sharks. Oh we were talking about the Making a new account to watch Amanda. I got you. Let's give them those secrets canvas Jordan Kairu We're right under Disney's nose. I'll never expect last one went stars. We'll go. We'll go rangers in this one Let's make it fair That's gonna be only one of those then because I'll just flip-flop every time I guess canvas Troy Terry debut eights new hook You go abs Portrait sauce and Matthews the French Bordelot young guns sharks Superstar Kyle Connor Jets Superstar honor roll Ryan O'Reilly center of attention for the Blues Captain America shield parallel a French variation at Dante Fabro for the show for the Preds canvas Evan Bouchard Oilers canvas Tom Wilson caps Young guns blue jackets Nick Nick Blankenberg Dazzlers pink Yegora Sharon Govitch For the devil's how what's the rarity on the the Dazzlers as far as like color? Dazzlers Let's see pink is every one in 144 hobby nice. It's a rare one then there you go devils Korean most common now green is Blaster exclusive so blue blue is Okay, yeah, oh it does say Dazzlers blue interesting rookie retrospective I've had Melka for the Yachts, I would say run away with this one looks like maybe not quite. Oh, oh, she said that blue Dazzler taged Thompson savers She's I said that four-point swing I mean, I did that a lot young guns Braden Pashaal nights Pocall, I don't know I don't know Tajé. Hey Heather. How's it going? It's a freestyle stage Thompson. These are cool a little shorter prints it on these Nice free styles if it wouldn't call it common defense mechanism Raspers-Staline for the savers What's that fresh Prince of Buffalo a French variation Nico Dawes devils Tajé, that's what we're calling him now young guns is a Kovacavitch, I believe for the for the Jets couldn't make everybody mad calling him Tajé Canvass young guns Bortalo sharks a big breakout for him Hey, there's no one power young guns nice card savers. There we go. I know he's not gonna win the What's a dang trophy called but over baneers, but he is maybe having a better season Superstar to bring it on a roll Hawks Caller that's what it is center of attention to hurdle sharks canvas McKinnon abs Young guns chase Pearson red wings Another one of these I guess we'll go this one the stars See how many we have Center of attention Jack Hughes devils, so you've had one per box on those so maybe we'll have one for both or three for both So on those Robertson and Shisterkin cards guys are just gonna alternate. Oh Roll a new die for this one One two three left for Barkov four five six right for point Going five right Braden point here lighting portraits Patrick Kane Patrick's came Patrick's young guns Lena Sandin for the Flyers Superstar on Roll Tage Thompson or as some call him Tajé Defense mechanism Patrangelo Knights pie at Shrangelo a Bunting canvas for the Leafs Portraits Shisterkin Rangers St. Patrick's came Colgren young guns Leafs Let me check on Spots here three to go on Bowman draft 12 12 10 Three to go on draft everybody Center of attention Barkov Panthers debut eights Mayo Dazzlers blue Brock Nelson Islanders Young guns Yacob Galvis for the Black Hawks Ricky retrospective more its cider wings and Canvas Josh Bailey. All right. That was that was a quiet box right there first two are really good Gotta get back to it portraits Kalmokar Young guns Mick Loughlin with the Bruins Superstar on a roll Ovi defense mechanism Duckie Hamilton for the Devils canvas Quinn Hughes Canucks bold boldie and Rossi Young guns checklist for the wild there of course Canvas young guns is a Galvis Yeah, so it's a black and white it doesn't have odds on the black and white No Travis. This is the first few boxes. I've opened this year Actually, wait, I'll be one for myself didn't see any it seemed pretty tough hits debut date a long quest Yeah, I see is unannounced parallel to that's what I was looking for was like odds on that Interesting They didn't say it French variation to bring it for the Hawks Young guns came Corsac for the Knights canvas Krebs savers MTV Krebs defense mechanism Bouchard portraits Kyle Connor jets Brayden Schneider young guns Rangers Kay Mackinson Superstar on a roll Ricky retrospective is a put zolkin or put put Colson closing Canucks canvas Josh Norris Senators Jeff mallet young guns jets Malot, maybe defense mechanism Cam Fowler ducks Ever made answers a lot nicer this year debut dates Peronovich Dazzlers blue Brady Kitchuck Senators Young guns Jordan spends Kings canvas Freddie Anderson Keynes center of attention Erickson for the wild Erickson act sorry Joe Erickson act two more here fantastic first box Gotta get back to that Ricky retrospective of new hook for the abs Canvas young guns Owen power nice one savers.  We wanted to see we got it so It's a thousand copies in right since it says a thousand on it. Is that how it works? Literally, it's like the literally population count of it. I believe that's what they're going for plays like reading terminology with versions limited to 1,000 copies less. Okay. Yeah, you go Hellebuck number do a thousand doesn't have an actual hard numbering But there are a thousand of these nice Any young guns Jack Quinn in the same pack. Wow Sabres got a power and a Quinn so far One of each we really we really did Travis. Thank you for bringing it up Tough polls in this six boxer clear-cut Andreas Johnson Devils you beat the odds in many ways here defense mechanism Shabbat for the Sins a Jack Quinn French young guns. Wow Sabres Holy cow dude Sabres crushing it now We're gonna make this one for you Sabres That's Emily. Wow a wee walk canvas Grandlands for Nashville There's two left on the draft jumbo case everybody debut dates Jonathan Dahlin Sharks Portraits McDavid nice McDavid portraits Young guns are pushed in in for the penguins Superstar Caprice off on the honor roll Center of attention because that's off Young guns Maddie Baneers. What a heck of a box. Good Lord Unbelievable that's just that's that is uh, that is something else right there measure that as a personal Yeah, you'd be having a pretty good time canvas that Jarvis Yeah, I cause one want to say that one young guns Carlstrom for the stars the pack one Yeah, it has been a tough week Ricky retrospective is Dawson Mercer for the devils I need I needed a day off the ball bad Just about Carl all right thunders what's going on debut dates Dawson Mercer Another one of these I believe this one goes to the ranger I think we have four of those now that specific card So I think both stars in the range is both good to get to Dazzlers blue Robert Thomas young guns, uh, cool. I always had to help us a lot is love Colia Chinook Colia Chonok Colia Chinook For the yachts Colia Chonok or Colia Chinook Brandon sod Not Brandon happy center of attention taves Portraits dry sidle my Sally young guns for the coyotes good box for them as well This box has just been crazy. I feel like it would have been more young guns as well Normal superstar honor old York strand Or the jackets Colia Chonok All right, here you go Jeremiah here. Go Jeremiah one Colia Chonok or two Colia Chinook Chelly, okay Jeremiah if there's something so someone say something about the the yachts Jeremiah knows So how Italian his last name is Or how they pronounce it Fajimo young guns Kings You got the base to go along with your high gloss a dry sidle freestyles. There you go Oilers. I like those freestyles Coca-Cola freestyle machine Warren ski defense mechanism jackets a chuck sound Darnell nurse French variation Oilers I guess you the card again a second Young guns rifle Hawks second rifle for you Maybe it's right shell There's an okay. I don't know man Colia Chuck he just gets the end canvas Nathan McKinnon, so co-colia Chinook Or Colia Chuck he just gives the end. It's just a whole consonant. We're skipping Turn out a whole constant a whole syllable The view dates Lucas Raymond. Oh boy The porches brain point We're getting it's getting worse. We're getting we're getting worse Nathan Smith coyotes young guns. I think that's how you say that name Superstar honorable Brock Nelson We have to watch the whole draft. Oh Jeremiah sent me a voice message on Instagram. They're go We had two of these so someone's there's a team for each now rookie retrospective dersey Thanks, Jeremiah. Jeremiah the goat Canvas Tom Wilson, that's a tough one not gonna lie Castellic on Senators or Castellic young gun Senators debut dates Alexi Protoss with the caps retrospective Swamin ruins Who up it's Swamin same is awesome, dude. He'll either give up a bunch of soft goals or pitch a shutout There's no in between with him Dazzlers blue March or so so guard Senators young guns again, so Austin's a team of Senators, right? Not terrible canvas Josh Bailey. What a young talent. They're gonna be a really good one of these years Fence mechanism Tori Krug Ricky Portrait Braden Schneider For the Rangers Blankenberg young guns jackets Superstar Sebastian on a roll. He's pretty good Carl Especially for having you know the best defense in the league in front of him Center of attention Pierre-Luc Dubois I'm only hard on swimming because I wanted to be the best And a canvas young guns for Gimo King All right, not gonna do a full recap guys. Those are all those doles are split even right? But we did have a high gloss young guns for Gimo Kings the 10 4 of 10 That's awesome. First one of those I've ever pulled and a French variation of Jack Quinn on the young guns Great pulls there. Congrats to those teams. Thanks again, everybody moving on to baseball


My paper is on the comparative analysis of the trade-off between the dimensions of poverty, the case of seven Western African countries. This is a working paper. Usually we have authors that use a unidimensional poverty indices, but with time many authors have found that poverty is multidimensional, so you better use multidimensional indices. But those who have been using multidimensional indices, they have not allowed for trade-off between deprived and non-deprived attributes of poverty. So this is the contribution of this paper where we are allowing for a trade-off between deprived and non-deprived attributes of poverty. So if we look at the poverty profile of the seven African countries which are on the study here, so we have the seven African countries, they don't appear because of, I think, the problem with the, maybe, formal spacing. So we have seven countries, the seven countries are Côte d'Ivoire, Ghana, Liberia, Mali, Nigeria, Senegal and Sierra Leone. So these are the seven countries that should have appeared here. So if we look, you can have a copy of the paper which is uploaded on the UN, UYDES website. So if you look at the indices, at the HDI indices for the countries, you will see that the worst-off, which is not appearing here, but the worst-off country is Mali and the best is Ghana in terms of all indices if you can have a look. So this is what is being published and if we look at the multidimensional poverty indices which are provided by OFRI, so these, again, Ghana is better off compared to the six other countries that we have in the data set. Now usually we have different approaches to measuring poverty. You have the monetary, social exclusion or the rest which are mentioned here, but one of them is the actionmatic approach to poverty which was proposed by SEN. That is, poverty measures should not be ad hoc. They should be based on certain action. So there are certain actions that need to be satisfied. If you look at the common poverty indices that we have, which is the Headcount Index or the Poverty Gap Index, they do satisfy the focus action but not the other action that we have. And the focus action says that if the attribute of the non-poor is increasing, it should not affect the poverty at any moment and at the same time, if your non-deprived attribute is increasing as a poor, it will not affect you. That is, poverty should not respond to any change in non-deprived attributes. So it does not allow for trade-off between deprived and non-deprived attributes of poverty. So the methodology that has been used in this paper is we have followed the work by Permanent in which he did in 2010 where he has allowed for the trade-off between deprived and non-deprived attributes of poverty. And if we use, there are different dimensions of poverty, but if we look at the main dimensions as given by these authors, so Education, Health and Standard of Living. But given this is a working paper, I have just looked at health for the time being. So the dimensions that we were comparing is that if there is inadequate height for age and there is inadequate weight for height, if these two can compensate for the other. And the other one that we have also included is the level of hemoglobin concentration. So all these information are available from demographic and health surveys. So when we see the results that we have here, without any trade-off, if we don't allow for trade-off among these dimensions of poverty, you will see that Ghana is ranked first, second is Kodivo and you have the ranking here. If we allow for trade-off between the first two that is stunting and wasting, then you will see that Ghana is still first, but then there is a change in ranking of the other countries. And if we allow further ranking among the three that is stunting, wasting and level of hemoglobin, then you will see again the ranking changes except for Ghana. What this shows to you is that Ghana is an outlier. So it does not matter whether you are allowing for trade-off, yes or not, because it is an outlier in that group. But if you are looking at other countries which are more or less similar, then the ranking changes based on whether you allow for trade-off between deprived and non-deprived attributes of poverty. We are saying that if you have a very high level of attainment in non-deprived attributes, it means that you are out of poverty. No, we are not saying that. But at least to some extent it compensates for those attributes where you are deprived. So this is the result that we have got here. So your suggestion, question, feedback is most welcome to further improve this as this is a working paper. Thank you very much.


Russia sent new Su-35S fighters to Ukraine, air battles will become more intense. The Gagarin aviation plant in Komsomolsk, on Amur in the Russian Far East, has delivered a new batch of advanced Su-35S fighter jets. To Russia's Aerospace Forces, the Rostek Press Office reported, Our aircraft manufacturers have reached a good pace of rolling out combat aircraft and timely deliver them to the Russian Aerospace Forces. This is not the last delivery of aircraft this year. The Su-35S is one of the basic fighters in service with the Russian Army and enjoys merited success. The super-maneuverable aircraft can accomplish a broad range of objectives and employ an entire spectrum of existing and future aircraft armaments. The Press Office quoted Rostek First Deputy CEO Vladimir Artyakov as saying, United Aircraft Corporation Head Yuri Slyosa stressed that the corporation kept delivering aircraft to the Russian Aerospace Forces on schedule. The Su-35 is a Russian generation 4++ multirole super-maneuverable fighter with a thrust vectoring system codenamed the Su-35S in Russia's Aerospace Forces. The fighter is designed to gain air superiority by destroying manned and unmanned aerial vehicles with missiles at long, medium and short distances in long and short range. Naval air battles in autonomous operations and as part of an air task force engage naval and ground targets by all types of armaments in any weather conditions and also ground infrastructure sites shielded by air defenses and located at considerable distances from the aircraft's airfield. The fighter has a maximum takeoff weight of 34.5 metric tons and can accelerate to 2,500 kilometers an hour. The Su-35 has an operational range of 1,500 to 4,500 kilometers and a service ceiling of 20,000 meters. The Su-35 is capable of employing an entire range of existing and future air launched air-to-air and air-to-surface missiles, including precision weapons. The new Su-35S fighters are also intended to be used in the war in Ukraine.