All right, class size is dwindling. What is happening? Were people watching the Sabres last night? Is that what's happening? File systems are boring? Is that possible? Man, this is terrible. All right, well, it's nice intimate class today. So, and we're going to keep talking about file systems. Maybe if I continue to talk about file systems, then apparently the same dull and uninspired way that I've been talking about them so far, I can reduce the class size down to just like one or two and then we can just go out for coffee together and talk about operate systems in the future of computer science, et cetera, et cetera. So that'd be kind of fun. So, OK, so today we're going to talk about on disk data structures, sort of what happens at the actual block level, right? What happens on the disk? Where do things end up? We'll use some examples drawn from the EXT-4 file system showing you how you can use some simple tools to kind of poke around a little bit. And then toward the end we'll talk about the actual mechanics of resolving path names and finding data, right? So two things we really wanted to be able to do, right? One was translate a file name into the file contents and the other was modify the file or essentially translate the offset into a data block, right? So the two things that file systems are doing, translating file names to inodes, these index nodes that provide more information about where the rest of the file is. And then once we have the index node, translate in an offset to the actual data block, right? Where we will find the data that we are going to read, write or otherwise modify, okay? All right, so some of you guys have seen me over the past month, month and a half wearing a whole series of CS161 t-shirts, right? At Harvard every year this course was offered, there was a competition to design a class t-shirt and the t-shirts that you guys have seen me wearing have been the output of that, right? So I would like to do something similar for this class, right? And I don't know exactly how this is going to work. I don't know exactly how we're gonna pay for it but we'll figure that out. The shirts will either be free or they will be heavily subsidized by me and or the UBCSE department, right? Depending on who I can trick and to pay for it, including myself and or my wife. So we'll talk about that, but I think the, other than my poor spelling of competition, I think that the forum is a great place to do this. So I'm aware that there is this CSC421 MEMS thread that has been started.  I mean really the only rules are that it has to be clean and you know, that's it, right? So you know, come up with a design that kind of is commemorative of what you think your experience has been. Well maybe we'll start, you should start that process now before the t-shirts get really dark and angry as they might over the next month as you guys transition from assignment two to assignment three. But yeah, so let's get going on that. And then just a final reminder, assignment two is due Monday, right? And I think that apparently people are aware of this fact and are making a strategic decision not to come to class, right?  Clearly the videos are online, but you know, I have assignment two deadline that's coming up, crank away guys, you know? I've, people have been coming to talk to me, they've had great questions, so I know that people are making progress. I'm really excited to see what you guys can accomplish for this assignment, all right? Any questions about sort of course logistics? Stuff. Ju, ju, ju, ju, ju, I've got a small and subdued group this morning, so this is good. All right. So let's go back to Monday. Monday, Monday, so far away. I know that there's like probably thousands of lines of code that have emerged from your fingers between you and Monday. But let's talk about file system. So on Monday, we talked, what did we talk about on Monday? On Monday we finished talking about kind of where different file semantics come from. And we talked about Unix semantics, we talked about hierarchical naming, we read a nice poem by Christina Shuddleworth. You know, so any questions about the material that we saw on Monday? Sort of Unix file semantics, hierarchical naming, hierarchical directories, questions about this. We also introduced some file system design principles, which we probably didn't linger on long enough, which is why it's good that we're about to review them. But any questions about Monday's material? It is Wednesday, right? It is Wednesday. Okay, so Monday was fine. All right, so who remembers some of the design goals? So we talked about the fact that all the file systems that we're gonna look at support some of these standard features, right? They all support the idea of hierarchical directories and hierarchical file names, right? They clearly allow you to locate files and retrieve their contents. That's pretty basic stuff, right? So underneath the covers, however, there are a lot of differences, and those differences are driven in many ways by the design goals of file systems. So what are file systems trying to do at high level? Do you guys remember what some of the design goals of a file system are? What would you like your file system to be able to do? And how would you like it to be able to do that? I'm just gonna start picking on people. Right, right, so exactly. So just so these complex, ugly devices, and we wanna provide that file interface, right? Now all the file systems are gonna do that, right? So that's certainly one design goal, right? But what about that file interface?  What would I, how would I like it to be able to see? Alex? Survive failures. Survive failures, okay, so that's a great one.  I wish I could put them up in the order that people suggested me, because that's an awesome one, right? So, but of course first, what do I need to do? I actually need to be able to translate the name of a file into the contents, right? And I wanna be able to do that efficiently. So when somebody asks me, can you get foo, path to foo bar? I need to be able to figure out, here's the data that's associated with that, right? So efficiently doing that, doing that quickly, okay? I need to support the file interface, right? So I need to allow files to move, to grow, to shrink, to change. This is all pretty basic stuff, right? I probably want to try and improve access to single files. And we'll talk a little bit about that today, actually, because some of the file systems and some of the new file system techniques actually do this, right? And there's a trick to optimizing access to single files, right? And then another thing that I might want to do is optimize access to multiple files, right? So files that are related in some way, files that are frequently accessed together, I can use my knowledge of the dysgeometry in certain cases to do a better job of this, right? So that's something. And then, as Alex pointed out, surviving failures, right? And this is actually an area that's received a lot of attention and a lot of design and we'll talk about it, not today, but probably Friday and maybe next Monday, right? So some of the standard techniques and some new techniques that have been developed to help file system survive failures, right? And the reason for this is that file, you know, disks are these slow devices and crashes do happen in file systems. They're essentially these big complex data structures, right? So when things get inconsistent, it's possible that a crash at some point can cause the file system to be in an inconsistent state. And at worst, that could corrupt the entire file system and essentially make it impossible to find any of my files, which would make me sad, at least. It wouldn't make me that sad, actually. I have a lot of backups, right? So it maybe would make you guys sad. How many people in here keep really good, sort of consistent religious backups? Sad, yeah. So the rest of you, let me just make a prediction.  Just, you know, so you're welcome to wait along for it and let it sort of provide its lesson the hard way, right? You can also find a way to do backups and maybe provide that for them, all right? Questions about file system design goals? Are you stretching or? No, no. Okay, great. Oh, yeah, yeah, yeah. So actually, that's great. That's not on here, but that's a great design goal. So there are file systems, not some of the ones that you guys are used to, but there are file systems that do versioning, right? And they do automatic backups, right? So a lot of network file systems, how many people have ever used an NFS file system that has a snapshot folder? So a lot of NFS file systems would be configured to regularly record the contents of directories and save that on another part of the storage device so that when you accidentally, you know, fat finger your RM-RF command, you can get in there and recover some of the things that you accidentally blew away, right? Yeah. How is that different from surviving failures? So there's two kinds of failures, right? There are failures caused by acts of God, the power went out, my tripped over the power cord, I dropped the machine on the floor, right? Then there are failures that are caused by users just making mistakes, right? So at time A, you said, you know, I will come up with an example that's like, I am so through with that guy, he's not my friend anymore, I'm deleting all of his email, right? And then you go out for coffee with him and you know, you have this great heart to heart and then you come back to your computer and you're like, I wish I had all that email from that nice friend of mine, right? So that's not really a failure, right? Because the file system did what you wanted it to do in the first place, which was that it deleted all those files. But there are versioning file systems that are built with this ingrown assumption which is that users make mistakes, right? And so it's possible that what you told the file system to do at time T, you might wish that you hadn't, right? And also part of this is driven by the fact that a lot of network file systems have gobs of storage, right? And to the degree that you have gobs of storage, why not use the stuff that's not being in use to store files that are visible to store older versions of things just in case stuff like this happens, right? So a lot of network file systems are administered by people who have this sort of view of the world that essentially allows them to think about users as idiots, right? And you know, it's like, and rather than pulling out the tape back up every time or rather than telling the user, I'm sorry, we have to completely reinstall your system. They're like, oh, just go look in the snapshot folder and you're fine to file, right? So to some degree, these are good features. I wish I had remembered that, that should be up here. Yeah, yeah, you made that point. That was a great point. So providing versioning in some form of in sort of, built-in backup, that's what I'm trying to say, okay. All right, so now, you know, given that we have this set of design goals and the backup and versioning should be on there, potentially, what makes file systems different, right? So we talked about, you know, they all have these goals, they all use a lot of the same data structures, but what makes them different, right? What do they do differently? Anybody remember? Agree. Yeah, like where do they put things on disk? Like where are the actual data structures? Hi. You're having a good day, aren't you? Where are the actual data structures, right? And what are the data structures that file systems use, right? We'll talk today, we'll start to introduce you to some different design options for certain parts of the file system, right? So that's one thing. And then another thing is, so, you know, the honest layout, the data structures, and then finally, crash recovery is one area where there's less of a standard, right? There's less of a standard interface. A lot of this goes into just implementing that standard file interface, and so a lot of it ends up looking very similar, but crash recovery is the case where file systems are given free reign to do things a little bit differently, right? So some file systems, when you crash, you have to run some program that very, very slowly tries to rebuild the file system. Other ones come up immediately and just say, hey, here's how things work, great. But there's some design decisions there, okay? All right, so let's talk about why this is hard, right? Remember, we talked about the fact that one of the reasons it makes this hard is that I had this big complex data structure, it's got lots of moving pieces, and typical file system operations require modifying lots of different things, right? And making those modifications in a consistent way. So let's walk through our example. So let's say I want to write data to a file, okay? I've got a file, and let's say I want to append some data to the end of it, right? So what are the things that have to be done here, right? In really any order, right? Some of these are ordered, some of them are slightly unordered, right? But what's one thing that I have to do? I have new data I want to write to a file. So I need to find a file, right? I also need to find space, right? So I'm only pointing this out. I need disk blocks to put that data into, okay? So I've got to locate some disk blocks. That's one of my tasks. What else? Determine, oh, right, right, right. So the disk blocks, I have to find empty disk blocks. I have to find free disk blocks, disk blocks that aren't, yeah, that aren't associated with any other file. If I found disk blocks that were in use by some other file, that would eventually make somebody sad, right? Because their MP3 would have this little in the middle of it that was like my text data, right? And that would be not good, okay? So now, the next thing I need to do is I need to actually attach those blocks to that file so that when I find the file later, I find the new blocks that I'm about to write to, okay? What's the third thing that I need to do, right? I mean, I need to update the file size, right? And that might be stored in some other place that might be cached in the file I note itself, right? Give me an idea of how many blocks are in the file so they can quickly return answers to things like LS. What else? Carl.  Yeah, I might have to mark some of the un-disk data structures in a certain way if I'm doing versioning, sure. And then actually copying the data out, right? So actually writing the data to the file blocks, right? And again, I mean, one of the things we talked about is this is potentially modifying a set of disk blocks. This is modifying a different set of disk blocks. This is modifying maybe a different set of disk blocks, although it might be the same one as number two. And this is modifying a different set of disk blocks, okay? All of these operations are slow and all of them kind of have to happen before the data is actually in the file and everything is consistent on disk, right? And depending on where a failure happens here, I could be left in a variety of bad places, right? So for example, let's say, let's just, let's just play a little game here. So let's say that right here between one and two is when ChuChu runs into the side of the computer and knocks it over and it shuts down, okay? So I boot up again. Now what's wrong with the file system potentially? Right, so I've got disk blocks that are marked as in use but they're not associated with any file, okay? And why is this bad? It's a waste of space, but why is it a waste of space? What will never happen to those disk blocks, right? They'll never be reclaimed because when I delete a file, I'm assuming I'm gonna figure out what blocks are in the file and mark those blocks as free but these blocks aren't associated with any file. So they're just kind of sitting there, right? They're marked as allocated but depending on how I do free, they may never be free. Now what could I do to discover those disk blocks? What could I do to see if I could find any disk blocks that aren't associated with the file, yeah? So that's interesting, right? The problem is that some files, you know. No, no, no, okay, so you're getting closer. Let's say I boot up again, right? And I'm trying to find these files that aren't associated with any file. What could I do to the file system to try to locate these blocks? Right, so essentially I could walk through the entire file system and I could keep, you know, I could do this in memory and I could have a data structure and I could mark. Every time I open a file I could figure out what blocks are in the file and I could mark those and then when I was done I could compare my dirty list with the dirty list that the file system has. And that should allow me to see this because what I'll see is that, hey, you know, these blocks are marked as allocated but they're actually not part of any file, right? And those blocks are ones that I can probably just fix by marking as unallocated, okay?  Which isn't gonna make people that happy, right? So again, we'll talk later about some better ways to do this, right? Allow me to recover faster. All right, and again, from the perspective of our process, all this stuff needs to happen synchronously despite the fact that we're actually touching a lot of different disciplines. Okay, any other questions about Monday's material? File systems, yeah. Different. Yeah. Okay. Okay. So I don't know enough about this specific library to answer that question, right? So what you're saying is that I can put files into a folder without moving them on disk? Yeah. Yeah, so one, yeah, we actually, I don't have that in today's slides, but a lot of file systems for a long time have supported the idea of what's called a soft link, right? And a soft link, have you guys ever created a symbolic link? I mean, yeah, people are kind of familiar with these on Unix, right? What a symbolic link literally is, is it's a special file that contains the path to some other file, right? And the way that your system dereferences it is that when it opens that, it reads the special file contents and it just tries to resolve that new path, right? And so what that means is that that symbolic link file is really just holding this file name, right? And the file name can be anywhere else on disk, right? There's also a concept in Unix of a hard link which I might, I didn't slip into today's slides, but I can probably talk about. So why don't, can you pause that question and we'll come back to it maybe in like a lecture or two? Because I think it'll make more sense when we talk about symbolic links. Okay, sorry, any other questions on file systems? That was a good question. It's a little bit ahead of me. Yeah, yeah, yeah, okay, so this is, we'll get to this a little bit today. So maybe you guys have seen, so I mean, you guys have, if you've implemented open and close, right? You've used the OS 161 virtual file system, right? This is VFS open VFS close, right? Vop or evop right, right? What this is, is an implementation of a standard way to support multiple file systems, right? So normally, and this gets, this gets gross. If you guys have looked into this, you probably have discovered that it's kind of gross, mainly because C doesn't support nice inheritance and objects and nice sort of interface definitions, right? So the way that you can hack this together and see is by using function pointers, right? And function pointers are their whole, you know, like function pointers are pretty gross, right? But the idea is that you create a standard file system interface, okay? And then in order to write a new file system, you have to implement that interface yourself, right? And what, if you look, the VFS layer defines an interface and client file systems in order to be supported have to implement those calls, right? And what actually happens is when you guys make those calls to VFS open and VFS close and then the evop read and evop write calls, those are actually being mapped onto the MUFS layer, right, which you can find it's buried in the architecture dependent part. But this, so this is kind of the standard way, right? The operating system defines an interface and the file system is required to support all those calls. Now those calls don't have to do anything, right? Like for example, MUFS has some parts of the interface that they just return unimplemented because they haven't done it, right? But you have to at least allow those calls to be made, right? So yeah, that's a great question. So this is, you know, this is a case where it's kind of interesting, right? We talked with scheduling about the fact that the operating system doesn't provide a standard scheduling interface that would allow me to easily implement multiple schedulers with file systems it does, right? So it provides a standard interface and then if you wanna write a Linux file system, you can go and there's probably documentation about exactly how to do it. It says here are the functions you have to write, right?  You're gonna get past a path and ask to translate it to data, right? And so those are the kind of things that you would have to implement, right? But yeah, certainly on one system you can have multiple file systems. You know, as long as they're using distinct blocks on disks, right? This comes back to partitioning which we talked about before. I can break up all the blocks on disks into multiple groups and then I can put a different file system on each one, right? Yeah? So it's more complicated than that, right? I mean, that kind of atomicity would allow me to prove atomicity between multiple threads but normally with file systems what we're really more concerned about is a more transactional definition of atomicity, right? Where the disk itself. So remember, atomic operations are supposed to essentially be indivisible, right? That's this idea of atomicity. So if the machine fails halfway through it either should happen or not happen, right? And what happens with file system consistency is if you break that guarantee you can leave things in this weird state, right? Like we just talked about that can mean either you have to do this expensive process of repair or you have to like give up and the file system might be corrupted forever, right? So in general, that atomicity is a little bit stronger. We'll talk about this when we get to failure, all right? Okay, so let's look at what actually happens on disk, right? So today we're gonna talk about how do we translate paths to index nodes or inodes, right? How does this actually happen, right? I give you a path, the file system wants to find is the inode, because the inode contains all of the other information about the file, the attributes, pointers to the data blocks. That's really it, right? That's what we care about, right? So again, now that we have the inode how do we find the data box? So what data structure is in the inode allowing me to locate the data blocks that are associated with the file? And this is a little bit of a challenge, right? Because a lot of files are really small, right? I might have a file that's like 4K and then I can have files that are gigabytes, right? You know, like your entire HD quality rip of some movie, right, might be like three gigs or something. So how do I have a data structure that allows files to get really, really huge, but also respect the fact that most files are not huge, most files are small, okay? And then, you know, how do I allocate and free these inodes and data blocks on disk, right? Okay, and I'm trying to keep this at sort of a high level because what I want to do next when we start talking about FFS and the log-structured file system is talk about different design decisions that those file systems made, but in order to make things concrete, I'm gonna use some examples that are from an EXT4 file system, right? EXT4 is kind of like a classic file system design, right? It's not like super fancy, it's not doing anything really, really crazy, right? It's kind of, it's relatively simple and straightforward and popular, I mean, it's kind of the standard Linux file system today, okay? All right, so let's just pause and get some, before I confuse you guys a little bit and get something straight here, right? So remember we talked about disk sectors, okay? The sector is the smallest unit on the disk that I can actually read or write, right? And normally sectors, when we talk about a sector in this context, we refer to a small unit of disk data, like 256 bytes, right? Discs think in terms of sectors, all right? The problem is that file systems think in terms of blocks, right? And file system blocks are usually bigger than sectors, they're usually like 4K, all right? Why would I want file system blocks to be 4K, right? I mean, there's two questions in there, one is why would I want them to be bigger than sectors? And the second question is why 4K, all right? So first question, bigger than sectors, why would I want a file system block to potentially always be eight sectors? This is close, right? But it's not about trapping into the kernel, right? I do probably want to write things in bigger chunks, but if I create a block on disk of what is it gonna be? 16 sectors, where are those sectors going to be, right? They're gonna, I'm gonna group them together, they're all gonna be right next to each other, right? On disk, and so writing that block is going to be a very, very efficient operation, right? Because I'm gonna seek once and I'm gonna, you know, let the sector rotate under the head and go, boop, boop, boop, boop, boop, and I'm gonna write out 16 sectors all at once, right? Where's Chuchu? Uh-oh, may have escaped. Chuchu? All right, let's pause for a minute. All right, disaster reverted. Okay, so, okay, so I wanna write, you know, large number of sectors because I can stream them out to disk very efficiently, right? What about 4K? Where do you think 4K comes from? Same size as a page, why? What am I gonna, what am I gonna do to improve performance? I'm gonna cache things in memory, right? My memory page size is 4K, and so I'm gonna disk block size at the same size as kind of convenient because it means that disk block sits in one page of memory, right? So to allocate a spot for a disk block in my file system cache, I'm allocating one page, 4K, and operating systems are good at allocating pages, right? As you guys will find out in assignment three when you write the page allocator, right? Okay. So finally, some newer file systems even use a larger chunk, right? So, and this is called an extend. An extend doesn't have a fixed size. An extend is just a series of contiguous blocks on disk, okay? And why would file systems wanna write even bigger chunks of data into contiguous blocks on disk? The answer is up on the slide. So if it's gonna hold, if it's gonna hold a big chunk of the same file, but what does this improve? Right, it improves performance, right? Cause again, I seek once, and depending on the size of the extent, all of my blocks might be on one track, or if they span multiple tracks, the seeks are still small, right? So if I can create, like, if I can get a huge chunk of file data into a huge chunk of contiguous data blocks on disk, I'm doing great, right? My life is good. And new file systems, as Isaac pointed out in one of the last class, do a lot, try to play games in order to delay writes to allow me to write as large chunks as possible, right? EXD4 actually does this as well, it turns out. So file systems will try to figure out, so when you start writing to a file, right? Let's say a process starts writing to a file and it writes like one 4K block, another 4K block, another 4K block, another 4K block. If I find all of those blocks one by one, they could be all over the disk. If I wait and I find one 16K extent, then all those blocks will be right together, right? So to some degree, this is another case where procrastination, right? Not looking for disk blocks right away allows me to do things more efficiently. Carl, you had a question or at least a proto question. Yeah, yeah, yeah. Yeah, so we're still in spinning disk world. Yeah, right, right, right. So some of this, you're right. So some of this is definitely still spinning disk world, right? The interest in large, now you're right. Now I haven't thought about this, but for Flash, I think that you're also correct in that Flash also, to some degree, benefits from large writes, right? Because Flash has to erase large sectors before it can write them. So if I do four writes, that might mean four erases followed by rewrites, whereas if I do one big write, it's one erase followed by a rewrite, right? We'll talk a little bit more about what makes Flash file systems different once I've finished introducing you to state-of-the-art 1970s technologies, right? All right, so let's talk about inodes, okay? So these are EXT4 inodes, right? One inode per file, right? Remember, the index node stores the attributes of the file and allows me to find the data blocks, okay? Those are pretty important things and I have one inode per file, okay? Inodes in EXT4 are 256 bytes, okay? And what happens is that means that there are 16 of them that are packed into one disk block, right? Disk blocks 4K, 256 bytes per inode, so that's 16 per disk block, okay? The inode contains the location at the file data blocks. That's kind of the whole point. This is the index node, right? The index of the file. It includes permission information and a bunch of timestamps, right? I'm gonna show you this information for a specific inode in just a second, okay? Inodes are named and located by number, right? You know, we've been talking about these nice human readable names. I mean, to some degree, they're nice, okay? But file systems and computers, they don't do names, right? They do numbers, right? They're good with numbers, bad with names, okay? And so inodes are all numbered on your file system and the number is how the file system locates them, right? And we'll come back to how that works in a second, okay? So here, so there's this great tool called DebugFS, which I encourage you guys to play around with. DebugFS actually allows you to do all sorts of fun things to your file system.  You can allocate blocks, you can change pointers, it's kind of fun. It's like, here, please mess up your file system, right? So don't do this out of file system you care about. This was all run in read-only mode, right? Because otherwise I would've probably done something dumb. Okay, so what is this doing, right? So this is, I ran a stack command and again, file systems understand numbers, right? So this is for inode two, right? Inode number two. It turns out that inode number two is a special inode and we will talk about why it's special in the second, right? But this is the information, the interpreted information that is stored in that inode structure, right? DebugFS has read that binary data and printed it off in a nice way, okay? And what does it tell me? So it tells me what type of file it is, right? This is a directory. It gives me some information about the permissions of the file, including the read-write permissions and then also the user and group, right? User is zero, group zero, any guesses who that is? Root. The size of the file, so here's a good question. You guys have done LS on your system and normally prints the size of files, right? For directories, it almost, it usually prints 4K, why? Because that's a block size, right? Remember, a directory is just a normal file, right? And a directory, until it contains too many entries, is 4K, right? Because that's the smallest block size. So that's the fewest number of blocks I can associate with the directory, right? If you put a directory on your system and you create like 10,000 different names in it, you will see the directory size start to grow because as you add names to the directory, the file system runs out of space in that 4K area for the names and it starts allocating more space, right? But initially, directories are allocated to be 4K, okay? I've got a bunch of, so I think that this number here, the link count is a count of the references to this I-node in other places on the disk, although I'm not sure. Let's see here. We've got a whole bunch of timestamps, right? I'm gonna get these wrong. This is the creation time, right? So you can see this is actually on the CSE 421 web server, so you can see the date that I set it up. This is the, oh man, I should have, did I write this down? I did, ha, good, okay. The creation time, the attribute modification time, which is in order to confuse people called C time, the delete time, which isn't defined for this because it's still there, and the access time, right? So the access time is here. I don't know what M time is, is M time even on here? Yeah, the content modification time, right? So content and attributes, right? So the last time I added or removed something from this directory was February 29th, and that's weird because I don't know what I would have added or removed, but oh, you know what I probably did? I probably updated the kernel, right, which is stored in this directory, all right? Okay, so you might be wondering, right? I mean, we talked about names, and one of the things the file system has to do is translate names, and now I've introduced this idea of I know numbers. How do I translate an I know number, right? On some level, I've got to start somewhere, right? Like, there has to be something that the file system knows how to find, right? Like, at this point, the file system doesn't know how to find anything, right? Finding names requires finding I knows, and finding I knows requires what, right? How do I find an I know? What do you think? What's that? There's a table, right? And when is that table created? What's that? So when I create, exactly. So when I create the file system, I create a single table or set of tables that stores the I-notes, and those tables are stored at a well-known location, right? Or the location of that table is stored in the superblock or somewhere where the file system knows how to find, right? So the point is that, you know, I take my entire disk, and when I create the file system, maybe when I format the file system, I create all the I-notes that I'm ever going to have on the file system, okay? And, you know, on some file systems, they're all packed towards the beginning of the disk. What's the problem with this, right? What if I put all of my I-notes right here? Like, this is a very small disk, it only has seven I-notes. Right, so if these are all my data blocks, if I'm accessing a file that has data blocks way over here, I'm constantly jumping back and forth between the I-notes table and the data blocks, right? So what EXT4 does to mitigate this is it puts I-notes tables at multiple locations throughout the disk, right?  Pretty obvious. So, but what are the other consequences of this? So I'm creating all my I-notes at format time. So what does that mean? What's one limitation of the EXT4 file system? Remember, I said one I-note per file. What's that? Yeah, so now I've got a limit on the number of files that I can ever have on the system, right? And, you know, when I was poking around looking at the material for this, I found some people online that were complaining that their file system, they couldn't create new files on their file system, despite the fact that they had empty space because they had run out of I-notes, right? So if you have a lot of very, very small files on your system, EXT4 may run out of I-notes, right? What EXT4 does is, okay, so I know it's made out, we already got to that. So we can run out of I-notes before we run out of data blocks. And EXT4 approximates the relationship between I-notes and data blocks by essentially allocating one I-note per 16K of data blocks, right? So what does that mean about EXT4's guess about the average file size on your system? That's 16K, right? I mean, the idea is that I'm allocating I-notes based on some assumption about the average file size. And I'm assuming the average file size is about 16K, okay? Is that true? I don't know, it probably is, actually. You probably are surprised because a lot of the files that you work with are big, right? That'd be threes, you know, movies that you downloaded from completely legitimate websites, things like that, right? Whereas, what you don't see is that there's an enormous number of files on your system, literally many configuration files that are small and are under 4K, right? Sometimes you guys don't notice those files. There's also files on your system that come and go very, very quickly that are also very small, right? Lock files and other things, right? So 16K is a terrible assumption, but if you want to, you can set up, when you format the disk, you can actually tell EXT4 to create more I-notes, right? So you can tell EXT4, use eight kilobytes per I-note rather than 16, right? If you have a file system where you think you're gonna have a lot of small files, all right? So we've talked about how directories are really just special files, right? Directories are special files that simply create, contain a series of I-no number and path pairs, okay? And the pairs, the paths are relative paths, not absolute paths, right? Why wouldn't I, so here's a, well, there's probably multiple reasons for this, I won't even ask the question, right? Because there's, I would never store absolute pile of path names in a directory, that would get gross, okay? So for example, here is, how many people have ever used LS to list I-no numbers? I don't know why, I don't know why it has this feature other than it's cool, but so you can actually use the standard LS command on Linux or Unix to show you the I-no numbers in any given directory. So for example, here what I've done is I've listed the I-no number for the root directory, right? And remember, we said this root directory had a special I-no number and I-no number is two, right? So I think this is up on a slide in a minute or two, but why does the root directory have a special I-no number? Why would I wanna have a fixed I-no number for the root directory that the file system always uses? Right, so whenever I resolve a path, an absolute path, I have to start somewhere and the way I bootstrap myself is I bootstrap myself by loading I-no two, right? So the way I always start resolving paths is I start with I-no two. After that, I use the information inside the directory to figure out what the next part of the path component, what I-no that translates to. But I have to bootstrap somewhere, right? I have a, you know, I need to start somewhere and the way I know where to start is I just choose two or an older file system, I think it was like one or zero as the starting point for all my absolute path resolution. Right, we'll talk about this in a second, right? So what I've done here is I've showed you, now here what I'm showing you is the contents of the root directory, right?  But everything in it just has an I-no number, right? Relative path component, I-no number, right? And so if I wanted to continue doing this, let's say I was translating home, you know, and then I can list the home directory, the home directory has two other path name, I-no number. This is how path name resolution is done. And I don't know why I don't have that example in here, but, yeah, yeah, yeah. Where? Ah, ah, ah, okay. Yeah. Ah, man, you guys are very, very perceptive. So Proc, I know for sure, right, is not an actual file system, right? It's, so, and I think we talked about this like way, way a long time ago, right? But there are things on the system that are actually not file systems, they're file system-like objects, right? And Proc is not an actual file system, Proc is a pseudo file system that is implemented on the fly by the kernel. So when you do an LS in the Proc file system, there's no actual real file system on disk anywhere. What the kernel does is it makes it look like a file system by returning things that look like file objects that contain information about the running processes on the system, right? Sys, I don't know, right? I can look it up and get back to you, but I think this is what is going on. Dev also over here is something else that is not a real file. It's filled in dynamically about devices by the kernel. So, I should look into this. Lost and Found too, I think is also something that is not quite a real file. Yeah, but, right, right, right, okay, yeah, of course. Yeah, so these are pseudo file systems. They're not real file systems. And what I mean by that is they support the file system interface, but there's no data blocks anywhere on disk that are holding those contents. So when you do reads and writes for them, the kernel isn't reading from a device. It's just giving you data, right? So you say, show me a list of all the processes on the system, and the kernel gives you back what look like file contents, but actually generated by reading its own data structures. So this is clever, right? And we talked about this a couple months ago, and we talked about the fact that it's clever, right? Because it reuses the file interface as a way of exporting data, right? All right, so just in case I didn't convince you before, file system names are I know numbers and directories are files, right? So let's go back to this. This was our stat up from before. This is I know number two. I know number two is an I note. It's a directory, right? It's got one block attached to it, right? The block with number 8737. And when we did LS and we looked at the output from directory two, or directory with I know number two, that was what we read from, right? I tried just printing off the block itself, but it's like, it's machine, it's machine readable. It's not human readable, right? It's not that pretty thing that LS is actually interpreting the data structure for you, right? Okay, so before we finish today, I think we're almost out of time. So let me talk a little bit about the super block, right? So the file system's super block has all sorts of, it's almost like the I note for the file system itself. It's got all sorts of important and useful data about the whole file system, right? So the kind of file system it is, different features that the file system supports, the type of file system structures that are in use. The location of the I know tables, right? Remember that we need, when we're translating an I node, we need to find the I know tables, those arrays that store the I know contents. The super block knows where the I know tables are. The super block has information about when the file system was created, the state that it's in, et cetera. So what happens if my super block gets corrupted? I'm toast, the file system is a goodbye file system, right? So right, so if I was mean, if you played this game with me, you said you can change one bit of my disk anywhere you want to, right? You can flip one bit and I was mean, I would flip a bit in the super block because the likelihood of that breaking something is really, really high, right? If I flip a bit in a data file somewhere, you'll probably never notice. MP3 will sound a little bit different. The movie will have a little wrong colored pixel in it or something, right? But if I flip a bit in the super block, I actually might be able to just totally blow up your file system, right? So what do I do about this? This is super important data. How do I make sure that mean me can't flip a bit and totally ruin your day? What's that? I've got backups, right? So if this data is in trouble, I'm in trouble and what I do is I keep multiple copies, right? So it's a very, very simple technique. File systems store multiple copies of the super block at known locations throughout the disk and that way if a sector goes bad or if your mean professor flips a bit in your file system, you have another couple super blocks that you can look at and say, okay, this is right, this one is broken, yeah, I'm awake. Okay, fine, two bits, right? Four bits, give me enough bits to overcome your ECC, you're right. But the point is that this stuff is really, really important and the file system here is very fragile and very dependent on that super block. So let's just go over this and then I'll let you guys go, right? So I printed off some information about the super block for the file system that's mounted on the 421 web server and there's a lot of cool information in here, right? So this is a file system magic number. I'm assuming that this identifies it as an EXD4 file system of some type, right? So when the file system is mounted, the kernel kind of needs to know what kind of file system is this because it needs to figure out what file system implementation to use to read and write to it, right? It shows me what it was last mounted on. This is mounted at root, that's where it's used. It gives me a count of the number of inodes and blocks on the file system. It gives me a count of the number of free inodes and free blocks, right? The block size is 4K as we talked about. There are 32K blocks per group. Remember where I said that EXD4 distributes the inodes across the disk? Each one of those is called a group.  And then this repeats, okay? And then it gives you some information about when the file system was created. Again, pretty close to when I created, when I mounted or created root, right? And it gives me an idea of how many times it's been mounted, et cetera, et cetera, right? And here's some more information printed by the same tool. I would encourage you guys, you could use this on your, in your virtual machine, right? It's kind of fun to look through this and look at what's going on here, right? So this I thought was kind of cool. This gives me an idea of the lifetime rights to this file system. Why might I care about this? Yeah, yeah. So I might just want to know like, how old is the file system? How many rights have I pushed through it onto a particular disk, right? That might be useful information. Give me some idea when the disk is about to wear out, okay? I note size, 256 bytes as we talked about. The number of directories on the system is also listed. And then here now we have information about those groups that I told you about, right? So group zero, the first group. Here's where the free block bitmap is. This is how I allocate blocks of the group. Here knows where the inode bitmap is. This is how I allocate inodes. This is where the inode table starts. And then here's information about, number of free blocks. So this group as you see is full, right? It's the inode table's full, right? There's zero free inodes, okay? And then this information goes on and on. So I don't know. There were like 64 groups on this file system or something, right? And clearly not all of them are full, all right? Questions about this, right? Superblock. So next time we will get to how we do, you know, actually doing an example path name translation. But any questions about superblock contents, inode sizes, any of this stuff, all right? All right, so next time we'll go through an example of open and show you exactly, you know, you probably can guess how we do this by now. And then we'll talk about some options for how to store data blocks in the inode itself. All right, now we'll see you on Friday.


How to lay out a course? As a teacher you have a lot of control over how your course appears to your students. For example, if your organisation allows, you can change the full name of the course, which is in large here, and the short name of the course, which appears in the navigation bar. You can also change the format, how your resources and activities are displayed. This course is in numbered topics for instance, which can be renamed as we'll see later. Many of the changes you can make can be done by going to the gear menu top right and by clicking edit settings. This takes you to the setup screen of your course, where you can change if you need to, its full name and its short name, and again only if allowed by your organisation the category in which it appears. You can hide it until you're ready, and set course dates, although note that the end date will not prevent students from accessing the course. You can also add a description of your course for students who aren't yet enrolled, and if you wish, you can upload a file for instance an image or some information about your course. If we click course format, this is where we can choose how we'd like the resources to be displayed. Topics gives us numbered topic sections. Here we can also select to have weekly format, where the sections are named as weeks. Social format, which is basically one big message board for discussions, or single activity format, which would allow you to add just one particular item, such as a scorn package or a quiz. If we choose topics or weekly format, we can then decide whether we want to show all the sections on one page, which is what we will do, which is the norm, but if you think you're going to have lots of sections and that would cause some scrolling, then you can choose to show only one section per page. This has an effect on how your students view your course, as we can see here in this course on a different Moodle site. Types of sport. The first time you access it, you can see each of the sections and then grade out on the right the activities which are in these sections. If you then click the link on the section, for example the second section, tennis, the student will only see the activities in that particular section and they'll navigate to the other sections by clicking the name in the section on the right there, or on the left, or by going to the jump to menu and selecting from that. This is an individual setting and it might be useful if you think your course will have a lot of sections. Appearance will allow you to decide how many news items you want to show in the announcements forum. If you set it to zero, you can then delete the announcements forum if you don't think it will be useful to you. Options can be explored by clicking on them and expanding them. For instance, if we click and expand role renaming, if you don't want to call your students students but you want a different name, learners for instance, then you can change the name here and that will appear just in your course. You can also tag your course to help new students search for it. If we now click to save, then in the next video we will turn on the editing and look at the changes we can make to a course, such as how to rename those sections.


you might be wondering, what do you have to know when it comes to special needs and communities? So we are currently in week nine of the VIP Board Exam Prep Academy. It is a learn at your pace full course where you learn what you have to know for the board exam. So you don't have to join at any certain time, you can join anytime and it's per week. So every module you learn at your own pace week one, two, three, four, etc. Well week eight when you get to that point is community and mock exam practice, sorry, community and special needs. We have a lecture class but then also mock exam classes as well. So I'm going to give you guys a quick sneak peek inside the PowerPoints that I taught just this morning inside the course because for community and special needs you do have to study for them of course but I don't want you to study 12 hours of community, 12 hours of special needs because you don't actually have to know that much for the board exam believe it or not. If you go and try to study from your textbook it's going to be hundreds and hundreds of pages and do not do that because that will be a waste of your time. So what I've done is I've taken the textbooks three or four different ones and I've compiled them and explained things all into one PowerPoint. So it's so much easier to study. So let me just show you guys first the community PowerPoint that I do have. So make sure to know the indices that is very important. I gave you guys kind of a quick rundown on those but then we also talk about the different theories and we talked about what it means to be a community healthcare professional because it's not just about working in a dental office it's going out in the community and teaching them about different theories and kind of keeping in mind in your head. Well if this community has a hard time getting food or getting water or getting toothbrushes I need to focus on that first because they're not going to care if I give them an electric toothbrush. You know they have never had one so we kind of have to go through all of that too. So I do explain that for you inside the course as well but look at the different models. So you need to look at the health belief model. There's different models so remember when a client is trying to quit smoking you need to put them into different stages. Where are they and they're quitting smoking? Do they not want to quit at all? Have they tried to quit seven times or have they quit for a couple months? So these are the different stages and steps that you have to know for the board exam. We go through again different theories. We talk about open-ended questions versus closed-ended questions. The more you ask them the more they don't just have to say yes or no. You'll get more information out of them so that's extremely important. And then what it means to work with children versus working with an adult. What they might understand, what they might not. But then the super non-fun parts is now talking about the learning ladders, the scientific methods. So you have to know all of that for the board exam. You have to know the different types. You have to know the different type of research and what's happening and the different studies and the different trials because these are the types of case studies questions that they're going to ask you. And don't worry when it comes to case studies questions we go through that in our next class. So every week's class we have we have a lecture class where I teach you the topic and then a full hour of mock exams and case studies. So we go through the types of questions that you might have on the board exam. So going through the slides again just kind of skipping through you guys. We talk about all of this inside the course of the VIP Board Exam Prep Academy. You get the full access to the course for the entire year and all new PowerPoints, new updates. Oh, my apologies. I just noticed a spelling mistake here. This is a new PowerPoint. So I should have looked at it before I came on YouTube here but these are all from the textbook.  Go through the PowerPoints and I teach you what you have to know. So you don't have to think, okay, do I go through the textbook for community? Do I go through the notes with dental help tutoring? Do I listen to Andrea's teachings, the modules? What do I do? So per week I tell you what to do. I give you teaching videos on the topic but then also mock exam practice in our teaching video but then also quizzes. So you're constantly learning and we have a members only Facebook group as well to ask questions to attend any classes that we do have to go through mock exams, case studies, and questions. So even if you happen to be studying week two, module two and another student is studying week eight, that student might have a question on community but you might have a question on oral pathology. You can ask me anytime in the Facebook group and I'm going to answer you and other members might see your question too and they'll be able to answer you too. So you're constantly learning, you're constantly studying and I am here to help you which is the main thing, right? So let me just give you guys a quick overview because we were also going over special needs this week. So just quickly what you have to know for that. So let me just move this, sorry guys, let's just move this over. So who are patients with special needs? They are seniors, those with mental illness, those who are in a hospital for six months because they've just they've just had a heart attack or or something equally serious. They're with patients who have dentures but don't take them out at night. Those patients who have a disability but you need to know different categories for different things. So this is talking about dentures more specifically. So make sure to know the different categories for the board exam because they're going to ask you on the board exam. They love to ask about seniors and dentures. Let me tell you. So make sure to study that but don't forget the other things too. So I'm going to go through this again for you. How are you going to treat seniors versus an adult who is in a wheelchair but can't speak? You know, like you're going to need to know all of those different things. Of course, there's going to be different theories and different perspectives on aging. So keep that in mind. This is of course, if somebody's dealing with a heart attack, what about high blood pressure? So we go through these things as well when we're talking about medical and medical emergencies. We have a full module on medical emergencies but we also go through it again when we're talking about special needs. So you're constantly kind of going back with what you learned before. So you're not just learning something once and then I never teach it to you again. It's constantly reviewing. So you don't have to think, oh geez, do I have to go back to module one to learn that because I forget it. It's been three months because you do have full access to the VIP package for one full year. So you don't have to sign up like two weeks before you take the exam. You can take your time to go through the modules. It's really, really nice and it's learn at your own pace. So what I was getting at is you're constantly learning and I'm reteaching you things so you can't forget anything. These are power points too that I've taken from different textbooks. So you don't have to go through the textbooks again. This is a big one on the board exam. Make sure to know cataracts and glaucoma. They ask that quite often and I don't want you guys to forget it. This is all inside the PowerPoint. So you know when you're looking through these power points you are learning what you have to know for the board exam. Nothing more and nothing less. I've made it very, very easy for you and I am always here to help which is the main thing. So I hope that helped you guys to give you guys a little sneak peek. We are currently in week eight but you can sign up today and start with week one or follow along with week eight. It's totally up to you. You can even start week two or week 11. You can kind of do whatever you want. It's all learn at your own pace per module. So I make studying very easy for you. If you need anything or have questions you guys, let me know. There is now a chat feature on the website at www.dentalel.com. If you haven't yet, please click like. That does help me and my channel and make sure to subscribe because there's new videos every Mondays and Thursdays. Thank you guys for watching as always and I'll talk to you guys very soon.


Hello and welcome to the International Daily Roundup by People's Dispatch where we bring you some of the major news developments from across the world. COVID-19 cases crossed 3 million mark, Wuhan releases its last patient, WHO warns against immunity passports says that there is no evidence of immunity among recovered patients. Mexico deports thousands of migrants over pandemics care, separatists in southern Yemen declare self-rule and Israeli military attack on Syria kills three civilians in Damascus. We begin with our daily COVID-19 update. As of today afternoon, the total number of reported infections has crossed 3 million with the number of deaths over 207,000. Despite the numbers, it is not an entirely grim picture as 883,000 of the infected patients are recovered, putting the number of active cases at 1.9 million. Meanwhile, the World Health Organization sent out a warning yesterday, advising against proposals of immunity passports. The proposed passport is supposed to be a mechanism to allow for international travel to resume by issuing passport clearances to those who have recovered from a COVID-19 infection. The proposal was made due to widespread speculation that once infected, patients develop an immunity to the disease. The WHO insisted that there is no evidence of immunity being developed among recovered patients. The warning was made over a tweet by the organization's official handle. It stated that while reports of those who recovered show that most of them have antibodies to the virus in their blood, there is no causal relationship established so far between the infection and the presence of these antibodies. On the other hand, the WHO said, many recovered patients have also shown a decrease in the antibody count. The UN agency has been investigating the effects of the virus on recovered patients and also studying reports of recurrence of the infection in East Asia. In our infocus section, we talk to newsflakes Prabhupur Kaisa on the spread of the disease so far. The number of cases is soon likely to touch around 3 million and we recently crossed the 200,000 deaths landmark also, so to speak. So what exactly is happening with the global spread of the disease? It's been almost three months now. Many of the countries in Europe and to some extent some states in the US are thinking about withdrawing lockdowns. In India, we've had some of these discussions. So have we reached a time where we can start looking at a very phased or gradual withdrawal of some of the severe restrictions? Well, one thing is, of course, we know much more about the pandemic today, about COVID-19, its progression than we did earlier. But the figures, and this is only about the ones who have found who have been infected, that feeds a number of people who have not tested, who are asymptomatic and could still have been infected. We don't know those numbers. Rough estimates are probably about, we are catching about maybe anything between 25 to 40% of the people. And large numbers are still not being detected, particularly in countries like the United States, where one in five cases when you test are found to be infected, which would seem to show that there are much larger numbers for asymptomatic and the population. As you said, it's 3 million figure, roughly that we are already in at. And if you take the number of infected cases, they're less than 2 million. So a number of these cases have also recovered. The really worrying part, and that's always been the COVID-19 issue, that we have very different death rates, depending on where the hospital system has been able to cope with it and where it has not.  The death rates in Italy, Spain, United States has been relatively much higher. So the issue really is, can the health system actually handle the overload that you're going to get? And it seems that unless you're prepared, unless you're willing to take measures, which are what's called mitigation. Quarantine, of course, is a strict measure. But mitigation also means that you look at who are the people infected, separating them and so on. And separate the infected, those who are in contact with the infected from the general population, then you will have a better handle. If we look at, for instance, infected charts, you will see that countries, and there are about five of them who are pretty high in terms of numbers. That's Italy, which in this particular case, led the pack, so to say. Spain, France, Germany, United Kingdom have almost all flattered their numbers. United Kingdom, not so much. The numbers are still rising in terms of deaths. They seem to have a much higher death rate than all the others, even though Germany has been, as I said, much lower than all the other countries. But UK death rate seems to stand out. Then you have Iran, which has also flattened its curves. All these countries have flattened their curves to have large numbers of infected. But they still do not look like they are going to go up much further. We see a doubling rate of maybe something like 15 to 20 days right now. And as the time progresses, I think this is going to even out, that the numbers are going to start coming down. The United States is still rising. That means, yes, there is some flattening of the curve from the initial phase, but you can see a much sharper rise. But if you look at what's happening now, it's not that it is as flat a curve as we will see in the other four or five countries I talked about. Iran is also a country which has done reasonably well. It's been able to control the numbers, the rise of numbers. It started almost at the same time as Italy did. And it seems to have almost controlled its epidemic. And the numbers are lower than what you were seeing in the Western European countries. So this brings me to the next point that, you know, if you look at, for instance, what Forbes chart had said somewhere near in February, that the best prepared countries, and they have a list of this best prepared countries, is US, UK, Netherlands. Now, also, you have been hit and hit pretty hard. And the hospital system in New York, particularly, has been hit really hard as has been United Kingdoms. Also, what's interesting in all this Western European countries, that there are a lot of deaths in what is called the care home, where the old people are, where they're together. And if an infection takes place, it's an immune compromised set of people because they're simply old. They have other diseases as well. And it seems to spread very fast there and leads to very high deaths. In fact, the figures that we are seeing now seem to indicate that 50% of the figure of people who are dead could be, at least Western Europe and the United States, could be from the care homes. Now, what is the reason for these kind of figures? And there are two explanations, both of which you can decide which to take and which not to take. One is, of course, what is called the climatic issue. That means humidity and heat has a strong correlation in the cold, dry country infection seems to spread faster. What is called the effective reproduction rate of the disease is around three. If it comes to countries which are relatively more humid and have a higher temperature, you will see that the number of countries affected are relatively much less. This is one explanation. And that would, of course, map quite closely with the temperate climates being the one which are more prone to the disease as of now. But there is also a separate explanation which comes from looking at how the disease really spreads and not looking at these kind of broad figures but looking at other ones. I'm not going to say that the agro, the climatic issues are not related. That means, yes, humidity and sunlight do have a role, but looking at what's happening in India, and we'll come to that just a little later, it doesn't seem to indicate that it has such a strong role as it's made out to be. I think what you need to look at when the epidemic spreads is spread to human beings. So what is the connectedness of the people in terms of people-to-people contacts, transport, air, travel, bus, car, train, all of this physical connectivity. How closely do people live to each other? Urban areas, how closely packed are they? These also would indicate how the epidemic would spread. And I think the fact that Western Europe went up first as well as the United States would seem to also show how connectedness plays an important role in the epidemic. And all the models that we have been talking about, most of them don't take this into account and therefore they're not catching the important element which is really people spread, it's a disease spreads to people because we are the ones who really reproduce a disease. In the meanwhile, in the US, which remains the epicenter of the pandemic, five more state governments are set to ease restrictions on businesses and public activities. This is despite warnings from public health experts. Colorado, Mississippi, Montana, Minnesota, and Tennessee will allow several businesses to reopen today. Colorado, Montana, and Tennessee will allow smaller businesses to reopen provided they put physical distancing measures in place while Mississippi and Minnesota are completely lifting lockdown measures and sending hundreds of thousands of workers back to their workplaces. Many in the US have raised concerns about the push to ease lockdowns and restrictions. In fact, opinion polls have shown that a vast majority of US citizens are concerned about lifting the lockdowns too early. All the states that have lifted the lockdown measures so far are led by governors of Donald Trump's Republican Party. The right wing and the conservatives in the US have called for a rollback of the restrictions. They've also organized massive protests to oppose such measures, arguing that it hurts businesses. Last week, after President Donald Trump outlined a plan calling for the reopening of businesses by the end of April, four states led by Republican governors have already done so. The US is currently facing an unprecedented rise in unemployment after 26 million workers reported loss of jobs during the lockdown, bringing the rate of unemployment to over 16%. On a more positive note, the last COVID-19 patient was released from Wuhan's hospital on Sunday. Wuhan, which reported the first case of the pandemic, has for the first time reported a total of zero active cases. According to the Wuhan Municipal Health Commission, the patient, a 77-year-old man, tested negative in two successive cases and had no clinical symptoms. Despite having witnessed the first major outbreak of the pandemic, China has successfully contained it within its borders. In our next story, Mexico's National Migration Institute, or the INM, announced that it will practically emptied all of its migrant centers and shelters across the country in a bid to contain the spread of the pandemic. In a statement, the INM said that in order to comply with health and safety regulations, it has been sending Central American migrants back to their countries since March 21st. Over the past five weeks, nearly 3,653 migrants were returned by road to Guatemala and by air to El Salvador and Honduras. The INM also specified that 65 migrant centers, which housed 3,759 migrants in March, currently house only 106 people. The measure was carried out following recommendations of the UN, Amnesty International and the National Human Rights Commission on the Protection of Migrants and Asylum Seekers in the face of the health emergency. Our next story from Yemen, the Separatist Southern Transitional Council has declared self-rule along with the state of emergency in parts of the region currently under its control. This includes the strategically important port city of Aden. In a statement, the STC announced that the state of emergency came into effect from midnight on Saturday. The STC was aligned with the Abdurah Bansur Hadi government's forces in fighting the Ansar Allah or the Houthis. But tensions last year saw a breakdown in ties resulting in the STC seizing control of Aden. A recent power-sharing peace agreement brokered by Saudi Arabia was seen as an attempt, as seen as an attempt at reconciliation. The deal signed in November 2019 made way for a national coalition government headed by Hadi with equal representation from the STC. It also provided for the reorganization and assimilation of STC fighters into the government arms forces. On Sunday, however, the STC accused the Hadi government of conspiring against the Southern cause and neglecting the region. This was in response to massive protests in Aden on Friday and Saturday over acute food shortages and complete breakdown in public services. Protesters also tried to set fire to several government buildings. The STC as an organization seeks to bring back a sovereign Southern Yemen, which roughly corresponds to the territories of the erstwhile socialist state of the Democratic People's Republic of Yemen. And finally, three civilians were killed and three others injured in an Israeli missile attack near Syria's capital Damascus early today morning. The missiles were fired by Israeli air force across the Southern Lebanon Territory reported Sana, the news agency. Among the injured is one child. The attack caused considerable damage to civilian houses in the towns of Al-Hujairah and Adillah. According to Sana, the Syrian air defense intercepted and destroyed a large number of missiles. This was the third such attack in the past 10 days. While Israel did not directly claim responsibility, its defense minister Naftali Bennett had claimed in the radio broadcast yesterday that Israel has to quote, gone from the policy of blocking Iran to pushing it out of Syria. Israel claims that Iranian forces are using Syrian territory to attack Israel. Syria and Iran have denied these allegations and instead claimed that Israel uses these attacks to provide cover for anti-Syrian forces which are prolonging the war in the country. Israeli officials have claimed in the past that they have carried out hundreds of thousands of such missile attacks in Syria since 2011. That's all we have in this episode of the International Daily Roundup. To know more about these stories, visit our website peoplesdispatch.org and follow us on Facebook, Twitter and Instagram. Thanks for watching.


Everybody for us here up in six box and I'll be mixer 2022 finest and pristine hobby number three random team style Let me show the results real quickly here. So again, it is for finest and two pristine Let's do it. Let's start with pristine. No, my favorite rivalry is New England versus everybody That's not that rivalry Brad Donnie's making you watch golf right now. I don't know on a Monday evening Donnie, I'm gonna keep complaining about it. Just because it's something to do I'm not gonna change it. All right, I'm just gonna complain about it. So make it seem like it's a bigger deal than it is Don't you know how the how breakers do things around here? Yeah, young Sheldon is on right now Please don't put on My god, I'd rather have no TV than young Sheldon Get out of here That's Sean I think Sean hack Shane's account even though Sean wouldn't say golf is trash Sean loves golf One second chef I'll get you a schedule link, but that'll be There's a schedule link on the site She prefers watching left turns for three Yeah, we're talking about NASCAR and golf the real uh, right real best sports, huh the most popular ones Let's see three box NBA Looks 845 Eastern got a break schedule on the site always no Yeah, shady. That's how that's how us breakers get that like grip strength. Gotta get that claw It's stuck together too. So we'll start with our base bags here pristine borders Mariana Rivera Yeah, sir, that's what I was saying earlier max it is for sure. It's for sure better pure power Peter Lonzo The only issue with that one is this worldwide so the times are all over the place Pure power Hank Aaron Yeah, you find it somewhere ESPN has that has a deal with them now So you find out like ESPN ABC a lot on the weekends Season starts. I think it's kind of parallel. I think NASCAR season like it's like more of a summertime sport, obviously for actors It's a purple Jared Walsh for the Angels 55 of 99 Jersey Otto Paul DeYong Cardinals slice of a star Jersey Otto. It's the base Jersey Otto there Shawna Whitaker Oh, that's a red We got some red and it's Colton Welker Rockies rookie five of five red refractor. We go nice card There's the Walsh again encased. We have a blue Mike trout angels 45 is 75 a gold read Detmer's rookie angels 48 of 50 Red Sox rookie Otto Jaren Durand a base rookie Otto there Jackson co-art in the case refractor Kiroloff as well and Rookie Otto White Sox Jake Berger 27 99 on the refractor Otto All right, one more pristine. How you doing where Mars? Don you gonna get Hogwarts legacy? I just want her I have to watch all the Harry Potter films and figure out I mean It seems like it could be a game where like it's not required obviously it's gonna help It's gonna and be that much more cool. Like, you know how it is a Star Wars. Yeah exactly like I'm not a huge I like Harry Potter like I'm fine with it My wife likes it a lot. So I'll see the movies every now and then home anyway They're good. I heard the like generally they're they're really good movies Two is like the worst three's I I think they're all pretty good after that. I Don't I don't know though. I I don't know which ones which and what happens in what movie I just know I haven't actually sat down and watch let Donnie break Star Wars. We need a judge's pronunciation If I was ripping stars, I would say the bad bad like a mega every single time I might have to now Looks like a one-on-one and I can't but then afterward I just Or my guy here we go. Here we go. Here we go Juan Soto pristine boarders pure power Frank's honest in the evening. It's gonna be Sam pristine boarders Acunia Here's the drip link for everybody. Go check it out of there. Can see ripping personals tonight Pure power hobby or Bayez for the Cubs Boba shits fresh faces insert You guys remember only personals on drip tonight. No personals over here tonight. Well, I see those refractors now see some gold Goldberry Larkin Reds 20 of 50 Sunships They're really loud. They used to be really loud bat relic auto twins Max Kepler slice of a star Don't want Renato purple rookie Jackson. Call our number 13 of 99 for the Royals Okay, then you got the backs. Okay, then you got the backs in case cards You got refractor red Sox Nathan of Aldi Ron Santo Cubs blue color match Cubs furgy Jenkins refractor eight of 75 Gold refractor Justin Verlander Astros one of 50 The Dylan Carlson base auto Cardinals It's like Dylan Lulu. It's like Luca Donchich auto right here and then a Jarenda ran Orange fresh faces rookie auto 2225 red Sox like all the sunships French onions good the salsa ones good Chatters good. Oh, the original can kick rocks original can get out of here.  Well, those are good I guess Kenzie has no cure right now for personals. You wanted to get something rip The drip is super easy to navigate like super super easy to navigate Got a sky blue rookie CJ Abrams 111 of 300 Padres. Let's start with the Padres Try the black beans. No, I have not orange auto reds Jesse Winker 21 of 25 No big D backs yet rookie refractor Jeremy Pena Astros Sunships are one of those one of our one of those chips are either whole bag when you get them Our of axlons Brandon Marsh rookie angels on the insert a rose gold mini diamond Dodgers Clayton Kershaw 42 of 50 At her spawn to work thing It's I cut your shrimps key red Sox rookie refractor MJ Melendez Royals. Oh They're black bean chips sounds pretty good. So one thing that I really want to try is Got rookie Aqua Roanzee contraris for the pirates 50 of 199 It's called mushroom jerky Well, if you don't like mushrooms, you won't like it Apparently it's pretty fire Got a rookie refractor auto Matt Veerling for the Phillies. Is it bomb Carl? Oh my god I'm getting all hyped up about it now. Who would have thought who would have thought me? I Used to hate mushrooms We're getting high They're just good if you if you haven't go ahead Raphael Devers Aqua blue once we're gonna have 250 for the Red Sox nice devours Dude mushroom it I Used to work at a really nice restaurant that at lunchtime today like Portobello burger. Oh my God, I don't know what they did to that thing, but it was like legit It was as good as as good as the burgers on the menu was wild What is up with like mushrooms tastes and just delicious? When you like marinated right or cook them right? I don't know that I don't know that was a thing You have to figure it out on your own Donnie or just or just not Pickled quail eggs is the weird thing that you eat now chris Hey, it's probably only weird To us right someone somewhere. It doesn't think it's that weird purple crisp Bryant Rockies color match 199 of 250 Yeah, that is Donnie Pigley Sure is blue refractor auto mark molder a seven or 87 of 150. Yeah here Mark molder a's Bohorovat traded to the islanders Vivon Rodriguez rookie sky blue on the old cruise pirates Number 217 of 300 That's fair shady Normal is normal is is is the thing you don't want to be One day screen refractor rookie red socks jaren duran Number three of 99 With base rookie refractor auto aleja Lopez reds Mullins refractor RF excellent jaren duran red socks insert an aqua christian yellowish Rubbers 117 of 199. Yeah, that's true shady. That is true Probably be a fan Talking about Donnie or the fan There's a fan on I don't know. What are the background noises there be that's what I figure out Thoughts on the sharks. They're not good this year at all I don't dislike the team the franchise at all. I just they're just they're just not they're just objectively not good a sky blue trade turner for the Dodgers number 281 to 300 and they might be like that for a while because They kind of went for a few few years and didn't end up with anything green refractor auto white socks eloy hymen s 26 of 99 White socks on the eloy surprise they didn't use a team like the uh, like the predators rookie refractor seth beer diamondbacks predators or hurricanes if you're in georgia Canes are looking great this year. They just smoked the Bruins last night Rose gold rookie shane boz tampa bay seven of 75 Bruins lost three straight What the what's our nation they better figure it out rookie refractor brinella cruz marlins Yeah, you could have hopped on the canes bandwagon for sure Most are fans of bandwagon fans You can read a report aqua shimmer blue jay's george springer numbered 132 of 175 So they had bad officiating with the let the final the final Penalty they call was that was a correct call to be fair rookie refractor auto redetmer's angels It was I think it was everything before that that everyone's mad about obvious Two things buckler would have ate it the flag made it go rookie purple hunter green reds 201 of 250 That's the NFL strip riders though. That's what they do penia base That's what they do wit rookie refractor jake burger white socks Yes, I don't even know any of the penalties that were called honestly except that last one. I took a nap I could I couldn't watch I was breaking purple christian yellowge brewers Number 16 of 250 I took a nap at halftime well chopped with 30 seconds left to see what's tied 2020 Oh, rookie refractor auto Yankees louis heel. Is it they're calling bad calls or they weren't calling The obvious fault. It's like both I think That's a double they were calling penalties against the Bengals. I think people were saying they weren't they weren't calling it chiefs essentially green mini diamond Dodgers freddy freeman numbered 106 of 125 The Bengals are the new are the new saints now after that pass interference call Jackie Robinson on the Dodgers die cut refractor. Jose Ramirez I beg to differ you can for sure win an nfl game for quarterback can't throw more than five yards Look at the patriots in buffalo last season and the regular season They threw three passes completed one for nine yards And won the game finest rookies Gavin sheets 5099 white socks on the insert So once every once every like 30 years you can do it Blue refractor rookie auto fillies again another matt veerling 29 of 150 Yeah, tim tebow's nfl existence too Except for a few for like a few passes. I don't know man Steelers just let de mary de mary's times go wide open air and judge you got aqua clayton kerr shot Dodgers Numbered 161 of 199. I don't ever talk about tuck rule. Y'all can talk about that I talk about 30 year old things 20 year old things Everyone get mad at the rule. Yeah, the rule was bad They changed it If that wasn't tom raider, then no one ever talked about that game ever again It's a hundred percent true All right, we had a red refractor to five colton welker for the Rockies Autos now we had louise heal yankees read de mary's for the Angels green illa hymn as white socks aleja lopez reds matt veerling fillies orange jesse winker reds to 25 Blue to 150 matt veerling fillies blue to 150 mark molder a's Jersey autos paul the young cardinals and or bat bat relic auto here max coupler twins Encased autos from pristine. We had a jaren de rand orange fresh faces out of the 25 Got dylan carlson cardinals jake burger white socks auto to 99 And jaren de rand rookie red socks and that's gonna do it. Thanks again everybody more baseball coming up next


Hey everyone, I think my lens is blurry, maybe? We're at Blue Bottle. We're gonna go work out. I'm waiting for them to gas like me and tell me they've never had breakfast sandwiches. They have, if you wish. What do you think that is? I don't know. I was asking you guys, it's like an ace in the bag here, okay? Guys, if you ever kind of Blue Bottle, just ask them through where their breakfast sandwich went, and wait for them to gas like you and tell you they never had one, because they did. And I used to get it all the time, it's my own vlogs. Perfect. Thank you. We'll see you in a client. Guys, we're in here, crazy sorry.  Yes. She would sit here every single morning, and she was like so nice, and she always smiled at me, but I felt like she, I don't know if she liked her, but I was like, she smiled at me, and I felt like we had this alliance, because we sat next to each other every single morning. We're sitting in June. These are things I normally don't share on the internet, but I'm just gonna move guys. I'm waiting for my little water. Oh, but I decided I'm using my influence for good, so I need swarms of people going to Blue Bottle and asking where their breakfast sandwich was, from 2019. I can just keep asking for it, and maybe we'll bring it back. I'm really trying to use my influence for good, and this is what I'm choosing.  You feel literally like they're just brought out of Blue Bottle. Okay, so this, guys, this song is one of Val's friend's songs, and it's on Barack Obama's, like summer playlist, so I was like imagine being in the car with Barack Obama, and this is what he's gonna do. No, this is incredible. Dominique, this is your dance. When things get hard in Pilates, this is all I'm gonna do. It's just, it's like this. Hi guys, um, little takeover on Kenzie, you know, this is Dom's channel now. I just wanna let you guys know that when today's workout gets hard, I'm going straight into child's books. Tell them about your routine.  Changing was enough for me. Before 11 a.m., too. Before 11 a.m., I woke up at eight. We really are so opposite. It's actually crazy. It's very disturbing. I don't feel like we're looking at each other to think for that different, but we really are so different. In every single way. Yeah. It's just for today. Today is all about clouds. Today is all about clouds. We made it. Guys, just said goodbye to Maddie. That was so good. That was just such a good class. All right, I'm back. I changed. I've been working. This is not what I'm wearing. I just threw this hoodie on because I'm cold. My car's almost here. I'm heading to the studio. I'm tired. I need some coffee. I'm recording with Scout and Maddie, which is very exciting. They have a podcast called Okay, Sis. If you like my podcast, you would love theirs. Putting in my AirPods for my drive to the studio, which really sets the tone. And they're bringing me matcha because I just love them. I have this. I have this cute tank top on though, underneath and these heels. And then I'm getting drinks and periods after. So look, ignore it. This outfit. No, not for that. Sorry, I need a photo. No, I need a photo. Would you try it? This is actually my favorite matcha. What? Look who I'm with. What? Scout brings out. No, it's not for me. It's not for me. It's for a feature thing that they want me to do. I actually, you know what, Maddie? I bring a disposable. And you would know this if you use it. You need a film camera, you need a disposable. We're back in LA. Look at where we are. And look who we're back with. I got it guys. This is the second time today. I thought I hit record and I didn't on my vlog camera. Oh. I've been doing this since I was 16. Yeah. How do you guys feel like the episode one? I thought it was great. I thought it was amazing. It was so good. Like we had a lot to say. That was such a typical Okay, Sis episode. Yeah, we started really, we started really like silly and then we get like really serious. I think I want to shower is what I need to do. I think you just need some deodorant. No, I need deodorant. It's because I just showered tonight. No.  It's not like shower. I love sisterhood. I love having you on the way. Okay. How much better is this one than the one I have? Look at it and see. The angle is a lot better. Honestly, I miss it when you have, but the wide angle. It's the wide angle. Yeah, you get so much more. I kind of, oh, it's recording. Guys, subscribe to Mads World, my favorite vlogger. Oh my God.  I don't, this is indecent for Kensi Elizabeth. It was so good. We said we should make vagina sweat merch. I know. You honestly should.  Oh my God. Anyways, subscribe to Mads World. I'm looking at the viewfinder because I'm I'm looking at the viewfinder arrogant. Isn't it amazing how comfortable Mads is on the video? On the Mads World? I just choked up because I'm on the video. I know. Literally, everyone's like, oh my God, what do I say? They have no idea what it is like. Well, I'm not good on video. No, you just gotta like, just pretend it's not there. I like don't know life without being on video. That's what I was thinking about the whole fact. I think I'm like, I wouldn't even think that deeply about it because I'm just. You would just do it. To just make second nature to me. And I think, I think the reason I do it so well with Camber is because of okay, sis. I don't think I would have been able to just jump and be like, hey guys. No one's here. Oh, fun. Okay. Oh my God. Thank you so much. All right, I'll see you tomorrow. We're about to record us. So exciting. It's Wendy. I just left Maddie's. We recorded for okay, sis. Now I'm at the one hotel. I'm going to Harriet's, which is like the rooftop. It's really cute. I've actually never been. I've just seen photos. And I'm getting drinks what they let. I'm always with her. I actually see her probably more than anyone here. And then Eleanor, who's actually the founder of the year of ours, which I'm like always wearing year of ours. So I'm excited for that. I'm really hungry, honestly. And I'm really tired. I'm getting like a caffeine headache. And that was the least, I mean, it was only two shows. So that's, I'm, you know, last week when I was here and I was doing so much this week's definitely more chill because I'm here for my friends doing like a book launch tomorrow and then for a wedding. I just fit in a little bit of work, but I'm tired. Everyone, good morning. I hope everyone's having a fantastic day. I never say fantastic. I don't know. One of my, there's a sunshine over here. We're going to John & Venny's for breakfast. So that's probably why I'm wearing set active because I'm recording with the set active team today. It's actually my second episode with Lindsay. So check it out. First off, when you get breakfast at John & Venny's it's the quickest thing ever, 30 minutes. I finally tried the breakfast pizza and it was really good. It was awesome. But I accidentally caught in the restaurant and that's like obviously so taboo these days. And it was the most embarrassing humiliating moment of my life. Someone stared at me and glared at me. So I had to get up and leave as soon as I possibly could because it was so embarrassing. Anyways, stay in the line. The night girl with the latte machine has been fixed. So we are finally reunited after, how long has it been since February 2020? I don't know. I mean, it's just beautiful. Heading off to the studio. I have on, I have on a set active set that Val is letting me wear. According with the set active team, my car's almost here. We're up. Okay. Back to the studio we go. This is what I'm listening to. Yep. Wow, look, oh my gosh. Oh, is it graduation? Or what is that? All right guys, I just finished recording with Lindsey and guys it has gotten various, don't mind me. Oh my gosh, another person's coming. I forgot to vlog but I recorded with Lindsey. Okay, I recorded with Lindsey. I recorded with Lindsey, Nikki and Nicholas from set active. It was so fun. Episode two. Whoa, whoa, whoa. I may don't pick me up guys. Oh, look who it is. You know, for someone who's had a pretty light, relatively light workload today, I do not want to work. Oh, I mean, who are we talking to? I like rewrote one thing and I was like, oh, that's it today. Oh, I'm about enough, I'm about enough. We're going to go hang out with the baby. Oh my gosh, I'm so excited. I want a baby but I don't want to date. So like, I don't know how that's gonna work, you know? We're doing our shang, talk about to our friend's house. With a baby. It's gonna be me and Noah against the world. You're not helping me with what you need. I know, I'm sorry, I was trying to think. Okay, they have like a power burrito, I think it's called. They never did. Whoa, this is bottom, no, I'm just kidding, whoa. All right, everyone, it is now 7 p.m. We had a great time with our friends and baby. Did you see how great I was with the baby, by the way? Yeah, you were, honestly, like. She didn't say anything until now, but I was just like making sure. No, I was like, oh. Really, were you? Yeah, I'm just like. Like before I pointed it out. Yeah, I'm just like not ready. Like did you see, I like barely hold the baby? Yeah, like Dom doesn't like touch the baby. Like I was like, oh. Unless it's like, she has to. Yeah, like she handed me the baby and I was like. And like I'll hold the baby the whole time. Like she handed me the baby and I was like, oh my God. What do I do, what do I do, what do I do? Yeah, I was on call. Like Kenzie had like a ball haul blast in her hand and that's why I had to hold the baby and I was just like kind of uncomfortable for me. Yeah, well, anyways. We're on our way to our friend Jess's book launch dinner, which is exciting. I read Magnolia Parks, the book. I'll have a link below, order it. It's really good. I'm not just saying that because it's like one of my like really good friends. I actually love the book and she's an amazing person.  Yes. Like that's for sure like. She's also a great Instagram follower, even if you don't read the book. But one of my favorite books that I've read this year. One of my favorite books that I've read this year, I really cannot recommend it enough. So I will have it linked below. You guys should go buy it. It's very friendly, sorry. Yeah, why were you thinking of me when you bought it? I need to buy a tripod stand. I've already thought about this. Car things, you know? Oh, pretty. Are you guys vloggers, comment below. I really should have gotten ready for tonight, but I'm just so talker. Hi, you look so good.  Do you think I don't know that song? Like, Dawn literally treats me as if I'm like a seven-year-old and I don't know anything. She's a five-star stand. Oh, it was your face. Guys, I'm home. I'm back from dinner. Go order Magnolia Parks. It's seriously so good. It was really fun. I'm heading home in the morning. I'm really excited to be home, but I had a really good night. So I hope you guys enjoyed today's vlog and I'll see you guys in Texas. Bye. Okay, goodbye. How do you feel having like another job title added?  I was very, very excited to put Kofi on there. Yes. A parallel apparel. We were like, do we change it at the same time? In my Instagram bio, but I also will say this is so not just a fun. Oh my gosh, I'm the CEO of this. I'm the Kofi. Like, there's so much work that goes into it so it definitely feels so well-deserved.


We have developed several novel photonic materials and devices for our chip mid-IR sensing applications. These include pedestal waveguides, directional couplers, photonic crystal cavities, and micro-disk resonators all fabricated on silicon. Additionally, we have developed polymer-based functionalization layers to enhance the sensitivity and selectivity of these sensors. Furthermore, we have successfully integrated these components into a single monolithic silicon platform, enabling efficient evanescent coupling between the waveguides and the detectors. This article was authored by Vivexing and Etol.