Okay, let's get started. Okay, so my name is Gabriel and this talk is called a guardian angel of file systems, monitoring for file system errors in data centers. First of all, I apologize for you not being able to see me. There is a technical issue on my part, but still, since you cannot see me, let me show you a little bit about myself. This is me, at least how I look like when I was a bit younger. So my name is Gabriel. I'm a senior kernel engineer at Collabra, which is an open source software consultancy and one of the sponsors of this conference. In the past five years, I've been focused mostly on improving gaming and Linux. You might know me for some efforts around a few tax weight mood poll, which became few tax V development. It's a major feature for gaming and Linux on top of Steam, but I'm also a file system developer. I've been contributing back and forth with some features. For instance, I wrote the case incentive support on the X-T4, which is now used on Android phones and is also quite important for gaming and Linux. Finally, I'm also the maintainer of the Unicode subsystem in the kernel, which is used by file systems want to interoperate using UTF-8 for case folding and case insensitiveness in the kernel. I should also add that I'm a Brazilian. So if you want to make questions in Portuguese or if you want to make questions in Spanish, I can answer those questions directly. This talk is presented in English because I will also reuse this at a later date. I will also be presenting this topic on Open Source Summit Europe. So I've prepared the talk and the slides in English, but you are welcome to raise questions in any language as if that is allowed by the conference. In this talk in particular, I'm gonna change a little bit of gears from gaming on Linux or how you improve gaming on Linux to talk a little bit about a different work case, different use case, which is servers and data centers. So in order to get started, let's recap quickly what a file system mirror is and what are the problems that it might bring. So this kind of errors usually happen when you have some broken data or something that went wrong on your disk, on your volume or on your operating system. It happens sometimes when you have a faulty disk that has an unreadable block or something that's when it got written to the disk or once in the disk, it got a bit flip or something went wrong and you ended up with some corrupted data. It might happen because the file system tried to read the data and it couldn't read. So the block layer signals the file system that that is an unreadable block or maybe it actually read the block but what it found there doesn't make any sense. Maybe it tries to check some of the block and it sees that it's wrong, the check some is wrong or maybe it finds some data that simply doesn't make sense when it's looking at some metadata. Why a file system error might happen? Well, maybe the easiest, the simplest case is a faulty device, a disk that is not being able to read a specific block but there are some other issues, for instance, an error in transmission or even a file system bug and file system bugs are very common and unfortunately as much as we try and pass file systems, developers are not perfect, we introduce bugs and even though we try to minimize it, it's always important to be able to recover when these situations happen. So when you get your first file system error, that is usually a sign that you have bigger issues. For instance, a small issue on an iNode, if you copy that iNode around the issue might propagate, you might lose a sub three, a subset of directories of your file system or it might means that your disk is dying and dying slowly. So after a while, it will stop functioning completely or it might be something that is very limited to one single file and it won't actually become a problem in the future. It's just a specific set of data. But the important thing is, you need to be able to detect it quickly. Since administrator, a system administrator will usually start some recovery procedures and the most common of it is running FSCK which is a file system check and repair tool. It's decided to walk over the file system, correct errors, query the user, ask the user what they should do when they find some situations that cannot be decided, whether it should remove the file and link the file or whether it should try to recover or the administrator might just decide to recover from the backup. But doing that in a timely manner is essential because once your errors propagate into your backups, you lose that information. If your device is failing, now you might not have missed some important data, but in the future, if the device stopped working, you might not be able to access that. Of course, if you look to the image on the right, I would say that that is a disk that is a little bit beyond repair, but if we are still not there, we might be able at least to save some data. So that obviously raises the question, how do I know that my file system is failing? What can I do to figure out what is going on before it might be too late? The first sign that there is something wrong that we usually get as users of a system is when an application fails. It throws a mirror telling us there is something wrong. There is something that I cannot do. I cannot save this file or I cannot read this file. This is something that happens synchronously. So when you're trying to do an operation, your application gets a mirror code that is returned by a system call. Sometimes it's in involve, sometimes it's EIO, but that basically tells it's the operating system telling your application I cannot do, I cannot execute the system call. But that doesn't conceal much information of what went wrong, what is going on. And that depends on the application being able to do the right thing. So an application that receives this error might just decide to ignore it and pretend nothing happens and going through a different path. Or the application might trigger a message to the user or if something is designed in a way to be more error prone, it will maybe try to recreate the file. But still, it's very application dependent. Some applications might just ignore the error. So that doesn't give us a safe way to detect this kind of errors. Another solution is to check the mask, which is a tool that will print out the kernel log. And the kernel log will actually include some more information about the error, that is obviously a file system dependent. But this image is an example of what the EXT4 file system will print on some error. It will dump a message that will show where the error happened. As you can see here, it happened in EXT4 and the score remount at the line 6273. So this is a specific link to the source code. It shows you exactly where the error happened in the kernel code.  And then this is a single line that will get shown in your kernel log. This is good enough for a user who's familiar with this notation, who's able to detect it, but obviously this is not very machine readable friendly since it's plain text. But the bigger problem with the kernel log is that it's noisy. As you can see in this image here, this is a kernel log that I just dumped from my machine. I used to say that the kernel log is no man's land because any kernel code can write pretty much anything in there. So it's a limited size structure where every event in your system is sometimes captured in more or less lines, but still there is a lot of noise there. Just in this image, you can see that I'm intercalating some Bluetooth messages because I connected my headset. There is also information about my keyboard in there. When I plugged in the keyboard, there is also stuff on when I put my laptop to hibernate. So the kernel log is extremely noisy. And worse, the kernel log is basically just a ring buffer. So it has a limited size. Once you finish writing to your kernel log, it's always gonna start writing on the beginning, overwriting what was already there. That means that if you have an error coming from your file system, it might just disappear in all these noise. And since we're talking about plain text here, there are still some parsing challenges for a tool that would automatically look over this kernel log and try to interpret it looking for file system errors. Some messages might be wrapped or truncated. So some messages might collide with other messages when they are being written to the kernel log. And you might get the start of a message and then the next line is something else completely. And then you continue the previous message. There were some improvements done on the kernel to prevent that from happening, but still possible to happen. And as I said, the kernel log is just a ring buffer. Therefore, if you completely fill it, it's gonna overwrite stuff on the top. And this is particularly problematic for file systems because when a file system error happens, it usually propagates quickly and there are sometimes thousands of messages all around the place. A bunch of errors that get triggered in sequence because once you are unable to open, for instance, a file, maybe user space code will retry, maybe it will reach other errors in the kernel. And then it's very common for you to have a waterfall of errors that will just overwrite everything. And those errors are not really meaningful. What matters when we're talking about file system errors is usually the first error that got detected because that is where the real problem is. And this makes it very hard for any parser to walk over the kernel log and see what is going on. But there is an even bigger issue than that. We don't consider the kernel log as a stable EVI, which means that any message that gets written to the kernel log, as since they are written in plain text, they might, and they are not stable EVI, they might be modified. So if you write your parser, your graph to look for a specific pattern and then you upgrade your kernel, there is no guarantee that that pattern will stay the same. It might just get modified and you lost your data. So you need to be careful when you are monitoring the kernel log. It's quite a dangerous tool for a machine to monitor. There are other issues there. I find the kernel log extremely noisy as I already showed you on the previous slide. Just any USB device that is connected to my kernel will trigger a lot of messages, a lot of lines of logs in the kernel, and that is just too noisy. But it's not even just that. Any application with usually root privileges could just write common noise, any random noise, and write them into the kernel log. In fact, they could supposedly overwrite stuff in the kernel log if they want to write something by just routing to this file. System D is known for using the kernel log and writing stuff there, which means it increases the noise quite a lot. And as a final issue, it's a pull interface, which means that an application that is monitoring the kernel log needs to go constantly reading it and checking for new data. It's not ideal. It's not, we want something like a push notification where you tell the kernel, tell me when something happens. Wake me up when something happens that I really care about. Obviously you can pull on the kernel log using the pull system call, but there you're not able to feature. So any new line that gets written, any noise that gets written would wake up your file system monitoring demo. So it's definitely not the right interface for this kind of work. There are some mitigations for the kernel log. Of course, you can improve some of the issues that I mentioned above.  But it doesn't really prevent you from losing any messages. It just makes it makes it less likely. As I mentioned before, there are also some patch sets that attempted to eliminate or to reduce the possibility of rapid or truncated messages coming from the kernel side. So at least what you get in user space is correct. But the worst problem for me, which is the fact that it's an unstable ABI therefore you shouldn't be relying on it for any kind of parsing. It's not, it's simply not gonna change. The kernel log is not gonna be made stable. It's quite hard to control the entire community. And there is no one who is actually trying to monitor the print case that are put in the kernel to make sure that they don't change over time. So this is a big concern for anyone who's attempting to do any kind of monitoring. In fact, as a personal opinion, I completely believe that relying on kernel log parsing for any kind of automated monitoring is a terrible, terrible idea and you totally should not do it. But in fact, it's something that is extremely common. And a lot of people do it. From kernel CI to many others, a lot of people are monitoring the kernel log for errors. And the reason for that is that, well, sometimes it's the only way that you can get some information. For file systems, for instance, unless you run FSEK that is gonna crawl all over your disk to check for errors. And that's for very big disks might take a very long time. There's simply no better infrastructure for you to fetch errors. Sometimes there is, for some file systems, you can look into CSFS, but it's not the true for everyone. So we need to understand that the kernel log is just not the tool for this job. It's great for some other works. For instance, as a kernel developer, you're gonna be using the kernel log all the time.  And as a human, you're not subject to the same constraints of an automated parser. But still, the kernel log is not the right tool for monitoring. And of course, the situation gets worse once you add more and more servers.  But how do you monitor a hundred machines? How do you monitor an entire data center with maybe hundreds of disks of file systems? How do you monitor to look for failures in all of them? Scaling this kind of monitoring in a reliably consistent way is something that is extremely hard. In particular, because of the poll versus push aspect. Of course, you can pull on some on the XT4 CISFS to look for errors. Actually, I don't think you can, but the idea is that you still need to go to a kernel log and to the CISFS and read frequently a file looking for modifications. This is not particularly ideal. You want to be able to push notifications to be notified when something changes. And you want to do that from some kind of central entity, some tool that is gonna be watching all over your data center who is able to check hundreds of volumes, dozens of machines, hundreds of machines, and find something as soon as it happens. Which is why simply that was a no-go for us. When looking at data center, simply it doesn't scale. We're looking for a solution for this problem though. We found FA notified, which is an interface that was originally added to the kernel to monitor a specific kind of file events. So basically it's a tool to monitor reads and writes, remains creation and file deletion. And its original use case, as far as I understand, was for stuff like antivirus scanning or maybe file indexing. It allows you to put a watcher notification in the file system on the kernel side and ask it to let you know once some of these events happen. And the interesting thing about FA notified is that it has an excellent model for a model of objects for file system monitoring. It allows you to hook by specifically watcher into every kind of file system object, for instance a file, directory, or maybe the entire file system. It allows you to watch any entity that you want in a very cheap and inexpensive way. It has basically zero overhead when it's not enabled on a specific object, but it's still quite efficient when you have a lot of events happening. For instance, when you have a lot of errors, you could very quickly merge them into a single error and submit it to the demon who was watching. So when I was looking into how to implement this kind of file system error notification, I found that FA notify was a great fit for what we're doing. So I decided to extend it and I actually implemented a new event type for FA notify. So beyond reads, writes, and creations and deleting, now we have file system errors. It's basically an event that triggers on your object every time that a mirror is detected by the file system. So instead of just writing to the kernel log, now it triggered this kind of error, allowing a demon to just start a FA notify, connect to it, tell it which file systems it wants to watch, and it will be notified every time something happens. And the FS error type, it allows, it makes, it provides this protocol for the demon to receive information on what went wrong. So we decided to provide, we are providing here a more machine-friendly way of interpreting this data instead of relying on text parsing, like we would do on the kernel log. It provides, for instance, some identification on what error happened, what exactly went wrong. It also, it's also planned to be extended to provide some specific error types from the file system. So the file system not only tells you that an IO went wrong, it tells you exactly what is wrong with that device. And each file system should be able to send their specific type of error because an error that exists on Exafast, for instance, just doesn't make sense on EXE4 because EXE4 has a different file system layout. So we allow the file system to be specific on exactly what went wrong. It also allows you, it also allows the tool to provide exactly what object was affected. It tells you exactly what file is broken, what file is failing to be read, what block, which means that a recovery tool could be hooked to this monitoring demon and be told beforehand exactly what went wrong without it going looking and walking through an entire file system. And it also provides you some more statistics like how many errors happened since last time. And this is quite essential because once you have a file system error, as I already explained, it's very common for dozens of errors to propagate and occur in sequence. So we want to be able to know how many errors happened since we last observed to make sure that we didn't miss any. If we miss something that, for instance, got over flown because obviously this interface also have limitations on the size, we can at least know that we miss something, in which case we'll just start a verification on this. This is different from the kernel log when it gets overwritten. We don't know if something that was there before got lost, the thing that got lost was something that was related to file system. It can be anything because it's too noisy. Here we can know that if we lost something, it's a file system error. And the interesting thing about this is that it's a very extensible interface and backward compatible extensible, which means that in the future, if we want to provide more data to the user, we can do it without breaking the API. And this is quite essential for some future cases that I want to discuss. So as I said, this feature is file system specific. It lets the file system tell you when something broke. And this is cool because as I said, you can just get sufficient information, for instance, to tell FSCK, go fix this specific file or go fix this specific structure instead of just saying something is broken, I don't know what is. And then FSCK needs to over a multiple terabyte disk, which takes a long time just to find out what went wrong. So right now we have upstream support for this feature. It's already supported in EXT4 since 5.16. EXT4 was the target for me when I was developing this because we have applications that are using this interface already on the field. But the point is the plan is to send this and support these on more file systems in the near future. As I said, the implementation is very file system specific, but which errors you get actually is very file system specific. But in EXT4, it mirrors everything that gets sent to the kernel log. So if you are one of those people who are just monitoring a kernel log for file system errors, you should be able to upgrade to this tool and not lose any information. You only gain information by upgrading here. Here you can find an example of a tool that I wrote to demonstrate how it works. So this tool, FS monitor, it's available on the kernel source tree in the samples directory. And it does something very simple. It receives a mount point. So here you could be passing your slash mount. And you're asking the tool to monitor this specific file system. The file system that is accessible through that mount point. And when something wrong happens, it will just print this message in a more human friendly way. So it will parse the message that came from the kernel. And it's interesting because, well, since we are able to just tell the kernel to wake us up when there is an error, this basically has zero cost when nothing happens.  So in this case, I went into another shell and tried to list to a less, a file that I knew was broken in my file system. And this is what I got. Basically, FSID is an identification, is the unique identification of this file system. So if I do a start-up as I can match this to the exact file system that's failed. I also receive here a file handler with a file handle, which is an identification, a unique identification of this file in time, which means it carries the unknown number and the generation number. And then with this information, I can exactly identify what failed. The generic error record is a structure in my data that shows me which error failed. And this is file system specific. This tells me I can just query my file system and figure out what this means. And then the error count, which identifies as I explained how many errors happened since the last time I looked. This report is different for different kinds of errors. So for instance, this was a mirror in a file and file that has the unknown 13. If we look at the next slide, we have an error that happened on the super block. This one happened as a demonstration. I just abort to the file system during a remount. And here, as you can see on the decoded file handle, it doesn't show a file. It tells you, well, this was a file system wide error. This is a super block error. It also has the type of error there. So you were able to decode this and notify your tool. In the next slide, I'll show you some documentation for this tool. So you were able to build your own monitors, your own demons, or you were able to understand exactly what we are providing here. I, there, it's very well documented in the kernel, in the internal tree. You can find an explanation of what exactly is provided by the kernel. I also published the blog post on how it works and how can you benefit from it. There is the sample use space code that I shared in the previous slide. This is also part of the kernel tree. And finally, you can read your main pages and understand how to use this feature. So as future work of this feature, I think there is a lot of things that we could do here. There are so many directions that this could go and improve data centers. But when I think more about it, it's not just data centers. I mean, this is an excellent tool for you to run on your desktop. This could be integrated into your session manager, into your, into system D. So you would be able to get notifications if your laptop disk is failing and make sure that you have your backups in order, make sure that you go to Amazon and purchase a new disk or just run FSCK. So this is not just a data center tool. This is something that will benefit Linux on desktop as well. But anyway, for future work, one of the things that we really want to do there is I want to start from the middle here is expose the file system specific blog. So we understood that if we are able to send enough information to user space about what error is happening, and this obviously has to be file system specific. So we want EXT4, for instance, to tell which field of the IEO crashed. We can just deliver this information to a repair tool that would be able to perform maybe online repairs. Or EXFAS actually has quite an interesting tool for online repair that could benefit from it directly. So this is a use case that I think we should explore in the future. If we are able, we want to provide this as a blob that is understandable by a recovery tool and then we save a lot of effort. So we don't need to walk the entire disk trying to figure out more information about what went wrong. But there are a few other use cases. For instance, I know people who are doing statistics on file system errors. So they know which parts of the file system needs to be improved or which parts are more likely to fail so the structures can be replicated. So we want to provide you with the exact information of what address failed, what specific line of code failed as part of this notification in order for you to perform this statistics. I think this is also very helpful for when you get a bug report that has a file system error. Sometimes the file system messages are not unique so you don't know exactly what caused that error. We want to make sure that if we link it back to the source code, we'll know exactly what is going on. From just looking at the report, we know exactly the if condition that failed so we have a better chance of fixing user issues faster. And finally, we want to have this in more file systems. This feature was designed to be generic, file system agnostic except for the parts that for instance the file system specific blob but still it requires some file system support. So right now we support the X-T4. I also, I already have a target of adding it to ButterFast because I have a use case for that in mind but we're still not there.  The interface is fairly simple. You can just invoke FS notify SB error from a path, from a failed path in your kernel. And if anybody wants to tackle this issue, I left the X-T4 example implementation on this commit. If you take a look at it, it's basically a few lines patch where we are invoking FS notify on the specific error hooks of the X-T4. And this makes sure that all the notifications that we provided in the previous slides, they get sent to user space. There is one thing that bothers me on this work I have to admit is could we have done it more generic? I, when I look at the Kurdalog, I understand that a lot of people rely on it and parse it to get information, to get error information and system health information for many different file systems. So if you look at the kinds of notifications that get sent from the kernel to user space, I listed just a few here. Some subsystems use netlink to send error notifications. We are using FA notify. Another way to do it, several people, several subsystems do pull scissor fast. You also have notification systems that are not for errors like new events. Event FD, I notify the kernel log itself, that is what is read by DMS. And we have so many ways to do it. And I think this is not neat. We should have a mechanism to be able to send notifications from the kernel to user space. That is generic to every subsystem in the kernel. And I have to say that BSD actually got it quite right with the KQ, KEvent interface. So they have this, the system calls that allows you to register to receive several kinds of events. It's quite neat. It allows you to filter on the event and it's a single point of event notification. So you can write much more interesting demons and you don't have a mass of so many interfaces. Why don't we have that on Linux? Why do we have so many different interfaces? And obviously some of them have, they were all designed for specific use cases, but some of them could be made generic, right? And now I understand. I just explained how I wrote this on top of FA Notify. Why didn't we make that generic? I think the point here is we have a trade off of very specific features that we need to support a specific use case and the generic interface. And it's quite challenging to have such an API. For FA Notify, that as I explained, the FA Notify has such an interesting object model. It allows you to hook to the exact models of the file system. That is very hard not to use it. It's pretty much exactly what we needed, but it would have been much better if we were able to do this in a more generic way. So is there a generic way to do that in Linux? Yes, there are. There is. So there is this watch queue notification interface that was proposed by David Howells in 2020. And it's exactly that. It's a generic interface for events. It's not tied to any subsystem. I wanted to use it for file system notifications, but it's actually currently used for key ring management, but it's completely generic. And I find this interface very interesting. It allows you to filter the event per type so you don't get notified of things that you don't care about. It allows you to hook to all kinds of objects. The problem is, it's still in the early days, there are still some developments there, but it's a very promising interface which is why I wanted to mention it. I think this is something that is similar to the KQK event interface from BSD that is coming into the Linux core. So I just wanted to co-do this interface and express my interest in it. So what I presented here is a few issues on how you monitor events in Linux in general, the specific problems of file system monitoring and the solution for those problems based on FA notify that allows you to detect errors early in a more consistent way over a fleet of machines and how you can use that and tools to use that and an API that is upstream implemented by EXT-4. I also introduced some future work on what we want to do here, what were the next steps and presented a discussion on a few of the interfaces that we should be looking at on how there are better ways to solve this problem through a generic interface. After this, I wanted to thank you for listening. I'm open to questions. I just wanted to add a last note that we are hiring at Collabra, we are a software consultancy and open source focused software consultancy and we have several opportunities on kernel both in kernel core. So we have projects currently on several areas including file system and also on device drivers, codecs and also outside of the kernel we do a lot of multimedia we do a lot of graphics. You might see a few other presentations from my colleagues at the conference. So I'm open to questions. Thank you very much.


Now the Lagos state government has disclosed that it's bad on Okada is already yielding benefits, as Okada related accidents have reduced from 550 a month to less than 100, and also in security related incidents, including robberies and theft have also reduced tremendously in the state. This was disclosed by Governor Babati de São Paulo in an interview yesterday. The governor said the state is also working with the Lagos state government on security matters.


What's good Josh, but Ross back again with another video. So today is November the 8th, 2021. This is the day I'm filming this video and Roman Reigns has been the Universal Champion for 434 days. Now that number is synonymous with another wrestler who was the WWE Champion for 434 days.  I'm sure you guys have as well. Who was the better champion or who is the better champion? If we compare Sam Punk's legendary WWE title reign to Roman Reigns universal title reign, who is the better? Who has the better title reign? And this is something I've had to really think about. It's not something I can just instantly give an answer because both of them are, you know, I can't say, you know, seeing punk is not in WWE. But both of them are legendary, even though Roman Reigns obviously will break that record and will, I'm not sure how long he'll have it. But there's a good chance he will have it for quite some time since they're letting go of all their potential talent that could take the title from them. So I don't know who could take the title from them outside of Brockport. That's another conversation for another day. I will say this. It is one of those things where it's like, I think it depends on your preference. It depends on the situation. Once again, that was a different time period in wrestling. It may not seem so long ago, but it was. And I don't know. It's kind of tough for me. Both title Reigns definitely elevated the wrestlers character. We all know the infamous pipe bomb without that pipe bomb happening. I don't think CM Punk has this legendary title ring without him really feeling frustrated and Vince McMahon letting him just go off the cuff. I don't think we have this title ring. I don't think that it works nowadays. Vince McMahon is not going to let you go off the cuff as much, but it's just crazy to know that him wanting to leave got him that belt because he became the hottest thing in wrestling. CM Punk was the hottest thing in wrestling. That's a fact. Y'all know he is one of the reasons. He's actually the main reason why I even started watching wrestling again because at this point I stopped watching wrestling. So he brought me back with that pipe bomb. And I was instantly hooked on his character and what he was doing and what he was bringing to the show. He had some pretty good title defenses. I will say this. His title ring probably would be a little bit better for me if they hadn't had him drop it to Alberto Del Rio. Alberto Del Rio cashed in the money in the bank on him. And then I believe Kevin Nash got in the mix. It was it was unnecessary. I think they should have had him hold the belt for money in the bank until it was time to drop the belt when he won it at money in the bank from John Cena. That's when the title range should have began. He shouldn't have lost it to Alberto and then got it back again. That's my personal opinion. That's how I always felt. I think they dropped a ball on that. That's just my personal opinion on it. I think it would have been just better if it was just a complete title reign. But I'm not going to lie to you. It it was it was one of those title rangers. You definitely will remember for just the fact that people were watching people were interested. You know, at the first half he was a face and then the second half he became a heel and people were seeing if anyone could get the job done. I remember the little soggy he had with Ryback when they were pushing him to the moon like people were really watching to see will he finally lose. And it wasn't until he lost to the rock, which we kind of saw a mile away because they went and had a lot of the rock lose and then that's when they changed the belt from the spinner belt to the belt we have now. But poor variation of what we have now, but overall for me personally, I think it's it's definitely one of the most legendary title reigns in WWE history and that is without the fact and then you got Roman Reigns here. Roman Reigns. I think what works for his massive title reign is the simple fact that this is what the fans have been wanting Oh, so long. This is what we've wanted since he started giving us these cringe promos back in the day. This is what we wanted. We wanted a character change and he has been doing the best work in his career. I'm gonna be honest with you if it wasn't for the whole covid situation and him leaving because he he didn't want to, you know, you know, potentially get himself compromised, you know, with the covid going around him leaving was the best decision because he didn't come back the same guy. He came back different and it's crazy how certain decisions change the landscape of wrestling and what in WWE CM Punk's decisions of potentially leaving changed everything. Roman Reigns decision for leaving due to covid reasons didn't want to, you know, get his family. I believe he had a newborn child. He wanted, you know, put them at risk. He was thinking about himself more than WrestleMania him doing that coming back. Like, I forgot how many months later. Like, maybe three, four months, five months. I'm not sure it was it was a decent amount of time. He wasn't on television him coming back with a whole new character change and just his new attitude, new persona. Perfect. Just one decision can change a wrestler's career and it ultimately has. This has been some of the best work Roman Reigns has done inside the ring. Best work. He's done promo wise. Best work. He's done character wise. He is somebody that people care about, especially on SmackDown. He is revitalized SmackDown by himself and you cannot deny that most people only watch SmackDown to see what Roman is going to do. So if I had to choose and this is a really tough one for me, if I had to choose me personally, I feel like there's really no wrong answer here. Everyone's entitled to their opinion. So please don't come at me if I don't choose the person you think, oh man, if I had to choose the better title ring for me personally, I'm going to give the slightest edge, slightest edge to see on punk and the reason being is kind of where I said that earlier he was one of the main reasons I even got back into wrestling and to see this to see those epic promos to see how those pretty good matches not all the matches were good, but for the most part, he had some pretty good matches to see that happen and I'm watching every week. I have to give it. I have to give it to see him punk. Just a slight edge. Just a slight edge in Roman range is still the champ so Roman Reigns could, you know, potentially really ramp it up. You know what I'm saying and in these next few months depending on how they book him and stuff like that, but honestly right now, I'm going to give the edge just to see him punk only because he was the main reason I even got back into wrestling and I enjoyed his title ring. I even enjoyed his heel work.  It was great. I enjoyed it. I enjoyed it for what it was and I do think his was just slightly better. Just slightly better only because of what he was able to get away with like what he was able to say what he was able to do the people that he brought back dog, you know, like it just worked. It wasn't a situation of, oh, well, we were tired of seeing him punk and then he became over because of a character change. It's pretty much what happened with Roman. We were tired of what WWE was forcing down our throat with Roman. He got a character change and he became over and not to diminish his title reign. It's still fantastic, but I'm going to have to give the slight edge just a slight edge to see him punk. I enjoyed his title reign and it brought me back to wrestling. So comment down below. This is going to be a crazy one. I know it is. Comment down below. Who do y'all feel like has the better title ring? Is it Roman Reigns as the Universal Champion? Or is it CM Punk when he was the champion for 434 days? Who do y'all feel title reign was the is the was the better version? I know Romans is still going. So, you know, we still have time to see where his goals and where where they take his story. But as of just if it ended today, 434 days for Roman 434 days for CM Punk, who is the better title reign in your opinion. Nobody's answer is wrong. Please don't get toxic in the comment section. We're just all here to discuss what reasons we enjoy CM Punk's and Roman Reigns title reign better than the other. That's it. So comment down below. Let me know your thoughts on this. Appreciate all love sport road to 6k. Appreciate y'all kicking with me. See y'all in the next one. Peace.


What's up everyone? It's your girl, Kenzie here from Layton Sports Cards, and I am ripping last basketball of the date time We've got 22 23 Panini court Kings basketball I'll have the eight box half case break number 14 pick your team We've got Chris D bucks Christopher F sixers Chen Wei W with the Rockets and T-Wolves Daniel P Pelican Zekiel M calves nicks Jeffrey C. Mavs Jeff M With the Celtics Hornets pistons Lakers heat thunder magic suns raptors Nets bowls nuggets. Thanks again, Jeff John M. Kings Kailin E wizards Mark M Jazz Polaris C Spurs Robert P Blazers Tony Y warriors Somal C Hawks Vong M Clippers Ushuo L Pacers and Hold on name is in a different language again. What was it last time? One second. I want to make sure I Dandy L with the Grizzlies. All right, best of luck everyone Here we go. Again, y'all we got Ravens Broncos Ram Seahawks left in contenders up next Get those teams taken up Kauai we've got LeBron James Scotty Barnes Franz Wagner on the red foil magic to 149 watercolors Zion Williamson Works in progress Lake Wesley Rookie's level one Andrew Nambar Pacers and a level three rookie of Andrew Nambar Pacers So 99 up first fresh paint rookie Otto Jaden Hardy Mavs and for the bowls to 25 rookie expression of Dalen Terry nice three colored patch there Chicago Desmond Bain Chris Middleton Brandon Ingram Devon Bacelle blue foil for the spurs that is 25 a 25 book in Damian Lillard Blazers Works in progress rookie of Dalen Terry bowls jail and during level one rookie Detroit's and level three of a Bajie for the jazz 2199 Hawks fresh paint rookie Otto AJ Griffin And for the Knicks R. J. Barrett on the Art Nouveau One for tuning in to the stream. Hope everyone's having a great Thursday Almost to the weekend Davion Mitchell Zach Levine a Luca Donchich Palo Bancaro on the purple first steps 10 of 49 there magic Mastros Jimmy buckets watercolour Josh giddy for the Thunder and Level two Jalen Williams nice one there thunder the Art Nouveau KJ and we've got air apparent Ricky Otto Hawks AJ Griffin. That is 42 out of 99 and And bowls again Dalen Terry rookie expression patch Art Nouveau, I kind of like the rookie expression. I think it's cool. I think it's like graffiti graffiti look to it Got Steph Curry DeMar DeRozan Anthony Davis a red foil DeMar DeRozan bowls to 149 Mastros Jason Tatum watercolors Zach Levine Level one Keegan Murray Kings and a level three Keegan Murray for the Kings. There you go nice murders to 99 we've got jazz air parent rookie Otto of a Vaji Go Utah on the air parent And Brandon Ingram on the game used Art Nouveau patch Pelicans we go Jordan pool Jamal Murray Jalen Brown got red Mastros of Bradley Beal to 149 Wizards La Mello ball watercolors first Mello. We've seen that works in progress rookie tie-tie Washington, Jr Dalen Terry level one rookie bowls and level two for the Nuggets a Christian brawn No, they'll our court Kings. No, not court Kings crown Royale Is where the kabooms are in to 75 Pacers master strokes auto miles Turner Pacers and a Jabari Smith, Jr. Rookie impressions patch Six here got Ben Simmons Franz Wagner Desmond Bain Mastros of Anthony Edwards Got Anthony Edwards watercolors Level one rookie Jeremy Socha level two David Roddy Grizzlies are back there Kevin Porter, Jr. Red foil to 149 Rockets Rockets again Jabari Smith, Jr. On the Art Nouveau this time and man Rockets having a break Six of 35 blue for our sorry purple foil master strokes of Josh Christopher Otto Rockets eating up here Like seven we go Simon Anthony Edwards Andrew Wiggins Kawhi Leonard on the purple Mastros to 49 Watercolor Anthony Davis, we've got Peyton Watson works in progress rookie Patrick Baldwin, Jr. Rookie level one warriors and level two Christian brawn Nuggets The 75 for the Kings master strokes auto Davion Mitchell Second year Mitchell there And pistons Jaden Ivy rookie patch Art Nouveau Jaden Ivy all right last box here We'll get into some football. Let's see where we are Ravens Broncos Seahawks down to three There is the link for you three to go God did witty Kevin Durant Paul George works in progress blue foil of Malachi and Brandon for the spurs the 25 For 25 there works in progress Wendell Moore, Jr. Mastros Colin Sexton level one Wendell Moore, Jr. T wolves rookie and level three of David Roddy Grizzlies To 49 brushstrokes red Grant Williams Celtics and Last card of the break go into the spurs rookie Jersey Art Nouveau of Jeremy Sochin first Alrighty that will do it for basketball for the daytime y'all. Thanks so much for getting them filled up We got a football coming right up


And so how did that end up, you know, far as, are you still dealing with that now? Man, I'm pretty much done with it, but there's a new drill. Okay. How do you pronounce my name, Keith Trudel? Keith Trudel. Keith Trudel, for example. So I got my chemo put right here. Yeah, we on boss talk, one on one, one on one. Yeah, we gon' talk. Man, we come down here to celebrate E's birthday with him. It's your birthday.  My birthday. I do what I want. E's my birthday. I do what I want. E's my birthday. I do what I want. E's my birthday. I do what I want. E's my birthday. E's my birthday.  But I heard the music, man. You know what I'm saying? Well, you got new music even in a hospital, man. Yeah, I got a studio under my bed. Hey, man. Hey. Man, but on a real note, man, just want to show love to you. You know, me and you, we done did a few interviews now, man. You like my favorite interviewer, man. Like me and you, we just like hand and glove, man. We gon' make it work. You know what I'm saying? Keep each other right. You're my bro, bro. You're my bro, bro. Like I didn't hesitate the first time. Not at all. To make you a freestyle god, give us the, I want to hear the in-depth why. I mean, for example, South Side Steel Holder, that was no pen and pay. South Side Steel Holder. No pen and pay. I can do freestyle. See, I can freestyle verses. I can freestyle. Some of my songs are just straight freestyle. You know what I'm saying? I've been noticing a lot of other sometimes, they be like, you know what I'm saying? Like, who is this? What they got? Who is this?  It did or not. It was just that I had already seen you just putting in work. Yeah. You know what I'm saying? Yeah. And I know how it is with, especially with this grind, for example, I can go to a concert. I can, I can drop a mixtape. I can drop a song. I can go to and get a feature. Yeah. Yeah. You, on the other hand, you got to work triple what I got to do. Yeah. I have to work twice as hard. You know what I'm saying? To make sure other people want to be engaged with you and sponsorships and a lot of times people don't understand it. You know what I'm saying? No, they don't. They think the M.S.D. Card Sheet.  You used to always come down and play your hometown. Right. You would perform. So, but before that, it was in Jefferson. You were 12-town. I'm a wild way want to hear you. But I'm from Smithland, but I always would be there with Big Tony because that's, that's my boy. But Marshall right up the street. Yeah, that's what it is. But the thing is you always show man love to everybody in the South, man, like you do, man. So I always, I'm a true Southerner. So swinging and banging and all that stuff. I came up with that. So I just don't play about that.  And a lot of people don't do that. Cause we from the South, I got to make it known. We ain't playing no games about these down here. You know what I'm saying? I said, I said this on Instagram another day. It was the top team most influential albums out of here. Really? Once I seen number one and two, I just, I didn't want to see the rest of this. Exactly. Because I think it's going to be a little bias to, to, to, to age, to, to the culture, to, to people where they from. They had, they had face out and get a boy there. Then everything is a lot of little stuff. We just like some, you know, it took everything of me not to come in on it. I don't know why I feel like, I feel like I got a pink ring on. This is my, this is my oxygen monitor. It took everything on me. Like, you know what I'm saying? Sometimes I just got, you know, I got overlooked a lot of time, but that's what fueled me to go to a well known, you know what I'm saying?  Almost self destruction. That's right. You know what I'm saying? That's right.  Yeah, yeah, yeah, yeah, yeah. We do it on our own. So you got to be careful. So you got to be careful. So, but music wise, I hate to say this, man.  Yeah. And the reason he did it, I'm telling you, a journalist told me a couple of times, they say, as journalists, writers, we, we, we want to see you as the next representative of the South as the same way. PMC, the Rick Ross. Yeah, yeah. Because you never got your just.  So I got, you know, I'm going to tap in just a little bit.  Say, look out, man. Don't do that, man. Don't disrespect. I'm just ready to live that. I can't, it just for certain shows cause I cannot have, you know, I'm, I'm a real, I'm to last year when I had got a D.W.A. He didn't come up to me talking about what's up school. I said, say, they go to school. They go, ain't nothing old school about me, but some money. I'm talking about old school. They see great. I didn't hear everybody at school. I got a homeboy. They do me like that 24 years over here for the great. Yeah. But I would just do that for the youngsters who would do it on the same. Let me ask you this, man.  Right. And so how did that end up, you know, far as far as, oh, you still dealing with that now? Man, I'm, I'm pretty much dealing with it, but there's a, there's a, there's a new drug, right? Okay. How do you pronounce my name, Keith Trudeau? Keith Trudeau. Keith Trudeau. Keith Trudeau, for example. So I got my chemo put right here. Okay.  Okay.  And right before I was finished or chemo, my back kept hurting. You see, that's what drove me to the hospital. Yeah. I was like, man, my back kept hurting. And then all of a sudden, you know, I couldn't urinate. It was like, everything, like, yeah. When I visited my mama, I go to the hospital.  I say, man, they ain't got burns. I say, they ain't dead. Yes. So when I get back to Houston and come to find out, I had a little bit of small tumor locked in my bladder, in my bladder. So that's when they gave me the first med bags. And the Keith Trudeau, they say, I didn't need chemo. Yeah. They say I can take the Keith Trudeau and be seen, you know what I'm saying? And beat it that way, because it was so small. Yeah. So I started taking the treatments. You come for our, you know what I'm saying? Yeah. And they just, which stood IV. Yeah, IV in you. So after the second one, man, I peered like 30 times. Yeah, yeah, yeah, yeah. In one, like within an hour or two. Wow. You know what I'm saying? So the doctor was like, he was like, I got the doctor. Like something wrong. He was like, no, that's great. He said, I can't believe you're supposed to do that. He said, I mean, it's, it's shrinking out the way. Yeah. Man, so I had two treatments left. He said, after these two treatments, we should be fine. We should, you should be done. There's a company that's regulating insurance companies. Yeah. And what happened was the company, the company told my insurance company, we're going to no longer approve of the Keith Trudeau, because it's really made for loan counsel. Yeah. And it's not proven that it works for other counsel. Yeah. But all the doctors know it works for other counsel. Yeah. And it cost them down out of the shot. Oh, they're going to, they're going to, they're going to hit you. So, so, they ain't going to be, you know, getting it easy. Yeah. So they was tripping on that. And then the, so, you know, I don't have a man at first, you know what I'm saying? I used to be in pain, pain, pain. Man, once I came home, there was no pain. You know what I'm saying? They tried to give me, like, no cold. First they tried to give me morphine pill. Yeah. I didn't understand. I did not understand what the doctor told me. The doctor told me, he said, this is what it sounds like, he said, take one in the morning, afternoon, in the evening, any night, any whenever. Like, he wants you to constantly take them. That's what he told. That's what it sounded like he said. But what he really meant was, take one when you wake up. If you have any pain. Man, I took five of them. I'm in a truck like that. I don't know what the heck is going on. I sound like, that is what's wrong with you. I was like, man, man, take me to the hospital. Yeah. So, you know what I'm saying? So, no colds.  They sent me back to the hospital twice. So I just took straight Tylenol. They told me to take some CBD edibles, you know what I'm saying? Wow. You were cool with that. I was great with that. But you know what I'm saying?  Them boys got high. Yeah. I don't like edibles. No, no. How they do you? Yeah. That's a stomach hot, man. I don't like them edibles. That's it. So I just took straight Tylenol and prayed. Boom. That felt good. It felt wild. You know what I'm saying? One on one. One on one. Yeah, we gonna talk.


Hey everyone before we get into today's video I just want to let you know we are giving away a copy of Super Mario Odyssey There is a link in the description below and Yeah, go there enter and good luck now I Was looking for something to make a video about today and I just couldn't help but talk about the stock Situation that Nintendo seems to consistently have issues with when it comes to their systems and That's this kind of gets exasperated by Doug Bowser So business insider had a chance to ask Doug Bowser So he's the VP of sales and marketing at Nintendo of America So he obviously knows what he's talking about when it comes to the sales aspect and we're just gonna read verbatim What it says in this article it says we try to do the best we can with forecasting and anticipating the man and to put a plan in place said Bowser who was in New York for the 2017 Nintendo World Championships a fan event that pits players against each other in a Variety of companies games, but he added if you see a steep ramp up in demand It takes time to catch up and it's not something that can be solved quickly When you think about procurement of parts procurement of manufacturing facilities getting production ramped up it takes time to respond Supply issues have been a repeated and persistent problem for Nintendo in 2017 The $60 NES classic was nearly impossible to find before it was discontinued in April and Nintendo is actually bringing that console back next year A direct response to overwhelming demand Meanwhile the switch has been short on supply until recently It is still not as simple as walking in your local Best Buy and Picking one up for many people It is in my area Although Bowser said the situation should improve you'll see a lot stronger supply as we float through the remainder of our fiscal year Bowser had a similar hopeful message for fans trying to buy an SNES classic We're really focused on trying to get as much SNES to the market as possible You'll see a much stronger flow of product than you did with the NES Lesson learned from the past so he's really reiterating when it comes to the SNES That Nintendo did learn and he's kind of saying what Reggie has said all along There was gonna be more units available at launch than there was for NES classic That's already been proven true and that they're gonna have more stock of it available throughout this holiday Then they did of the NES classic again. That's a yet to be proven probably likely true But you know what we'll see Nintendo has sometimes said they promise to do something and then ends up not following through And they obviously are getting a lot better about catching up the switch demand It is not that difficult to buy a switch. It's been widely available on Amazon now for over a week So if you just want to buy it online, it's pretty easy to get one If you want to walk into your local store and pick one up most local stores probably have Switch in stock or will soon. I know all of my local game stops have had it in stock this week Still to this day and my local best buy Walmart doesn't necessarily have the base model always in stock They seem to always have at least one of the bundled versions the Splatoon 2 bundles specifically But yeah, it's it's not that Nintendo's gotten better with stock when it comes to switch and hopefully They'll get better when it comes to SNES classic But what's interesting and the thing I want to point out and it's something we've talked about before is that he talks about they try to do the best when they're forecasting and anticipating demand and Nintendo that seems to be I think their biggest downfall why they continually have problems with things like NES the SNES classic Why they had issues with the switch while they had issues with things like amiibo If you just think about that in the past if you think about how many breath of the wild amiibo have not been Restocked yet, and we're about to get more breath of the wild amiibo coming up I mean they had to do a special announcement that they were bringing back the 30th anniversary amiibo for Zelda when it's like That they should have never went away in the first place, right? So Nintendo has a big issue when it comes to forecasting and I think I don't know if this is blaming Nintendo of America Or if it's blaming Nintendo of Japan, or I think it's just actually a company-wide issue Nintendo While they try to do their best they really suck when it comes to forecasting and anticipating demand and sometimes that's Understandable I give them a pass with the Wii because there's no way they could have known the Wii was gonna blow up like it did Nintendo was not being very hyped about it the games media didn't seem that excited by the prospects of the Wii and No one really knew that that was gonna blow up same with the DS The games media was really down on the DS and to be fair Nintendo DS didn't necessarily come out of the gate Firing as a system that was gonna eventually move 150 million units It kind of slowly got up to that point and really by the holiday season and the following year It really it started really catching on as titles like Nintendo's and Brain Age and all that stuff started blowing up on the platform Just like Wii sports for the Wii so there are times that I give Nintendo an excuse I don't know that they have so much as one today Do you could argue they didn't know the switch was gonna blow up but Unlike the Wii and the DS like there was a lot of positive hype around switch a lot of positivity They saw the pre-order numbers right they knew what the pre-orders number numbers were now obviously just because you know what the Pre-order numbers are doesn't mean when you're trying to ramp up production You could suddenly get more units out there at launch, but you know We had a report recently where Nintendo is getting like two million units out now Per month in manufacturing and I understood it may have taken them a while to get up to that And that you're not obviously gonna make two million units per month before launch I mean you don't want to have 10 million units ready at launch After you just came off a platform that only sold 13 million you might never sell those 10 million units now on hindsight Feels like maybe they should have had 10 million ready But I don't expect that kind of forecasting But yeah, Nintendo just has a problem with forecasting anticipating demand and when it comes to ramping up production You know a lot of people think oh just make more and it's really easy It's not you know He mentioned issues that you have when you ramp up production You know you had the procurement of parts which again that deals with the fact that there's a shortage on certain parts So like you're when you're competing in the marketplace to get things like nan flash or LCD screens and all stuff And you're in this competition for these parts with other companies that are doing it It could take a while to procure enough of those parts to ramp production up to a significant mark a significant margin I guess to meet demand and then he says you know there's also an issuer you got the procurement of manufacturing facilities So sometimes just because they have people making it they might need more companies getting involved And we've heard now that more companies are contacting Nintendo wanting to put together switches for right now over 50% of the Nintendo Switches are made by Foxconn But it would be really nice if they could expand that and get more manufacturers involved and again that that takes time It takes money it takes Negotiations and contracts getting signed especially if they want to keep the price of the switch where it is And not necessarily have to change it based on who's making it And then obviously all that is how you get production ramped up and yeah You know if you miss fire on your forecasting you miss fire on your anticipation of the demand for a product It's going to take even longer to catch up because you weren't prepared to ramp up now You know Nintendo said they were prepared to ramp up production of switch if demand was high But I don't think they were prepared to ramp it up this high I think they were ready to make like a million units per month or something But they were not prepared for the high demand of switch and we've seen this issue was with NES classic You know maybe with the SNES classic at least at launch We've seen this issue in general. So it's it's definitely a concern But it's interesting to hear that Nintendo kind of admits that hey look You know we do our best with it, but we're obviously not that good I hope that Nintendo can get better forecasting in the future Because they have the money. This isn't a money issue. This isn't a oh, what was me? We're beholden to like we have to we can't afford to overproduce or we can't afford this kind of like none of that's an issue at Nintendo They just need to get people to do better market forecasting because so a lot of us it seems obvious, right? It seemed obvious to us what the high demand was for the NES classic and the SNES classic But maybe it's a Nintendo the the demand didn't seem that obvious So maybe they need to bring in some outside people, right? sometimes you get people that are so ingrained in their jobs and You know exploring the marketplace and working on PR I mean think about a Doug Bowser is is the senior VP of sales and marketing Marketing being a big part of that. So he's gonna be at an event like Like the Nintendo World Championships and when you start doing that kind of stuff It can kind of take you away from a job of examining the marketplace and doing sales projections So, yeah, I think that Nintendo might just need to bring in some outside help for that What maybe they need to bring in people even from the video game media that have covered this stuff for a while and Are more in tune with consumers and what consumers want Because I think you get enough business heads together and you sometimes lose traction with what the base consumers are actually thinking so if you can get someone who has a connection to those consumers like someone in the media and Get them involved in projecting that might help, you know, they could be like hey look I'm not a simple process, but you know for switch at launch the demand is pretty high You should probably have like five million units ready to go And if they did that they probably would have sold all five million during that first month Which would have been like the highest that would have been like a record-breaking month of sales for a system But yeah anyways, you guys let me know what you think about what Doug Bowser had to say in the comments below in the Whole situation with Nintendo stock You know, do you think like me that are just bad at forecasting and anticipating the man despite the fact that they try their best And do you understand that when they do miss on their forecast and their stuff that it does take a while to catch up It's not as simple as flipping a switch and suddenly it's available Let me know in the comments below enter that Super Mario Odyssey giveaway if you so feel like it otherwise folks I am Nathaniel Rufflejantz from Nintendo Prime if you like this video, you know what to do And if you disliked the video hit that dislike button Subscribe for more videos just like this one and I will see you guys in the next one


So here is my breakfast. This looks absolutely amazing. I did not have coffee or tea this morning. I've just been sipping on my water so I can make sure that I get my water. So I'm having a piece of my Mediterranean breakfast bake that I made in meal prep. If you have not seen Monday's meal prep, highly recommend everything that I made is under 5 points. Really, everything's 3 points or under. So definitely check that out, including this amazing breakfast bake. And then I have 110 grams or half of a cup of cottage cheese and 30 grams of fresh avocado. I've really been liking mixing avocado and cottage cheese together. I don't know why, but I've really been liking that combination. So this is my breakfast. I'll go ahead and put points and calories here on the screen. Good morning, guys.  By the way, my breakfast was delicious. It was so good, so filling. Definitely recommend that breakfast recipe. It is so, so, so good. So now I'm going to focus on my water. I have a little bit of work to do. I also need to wash and package up the grapes that I bought in my grocery haul last week on Saturday. I keep forgetting and I want to be able to put some grapes in Troy's lunch. So we're going to go ahead and wash up some grapes, but I wanted to welcome you to today's video. If you're excited, give it a thumbs up and subscribe. If you're not, I'd love to have you here. I do a what I eat in a day every single Wednesday. So ring your bell so you don't miss a single video. Check out that description box for nutrition coaching. I offer personalized to you macros and calories, as well as one-on-one coaching. If you would like to chat with me directly, links, discounts to my favorite things. And don't forget, come on over, join us on Facebook. We would love, love, love to have you there. So let's go ahead and wash some grapes and start our day. We have fresh grapes all washed and ready to go for the week. It's always good to prep your fruits and vegetables, because I find for us that we eat them if they're prepped and ready to go. So house update. This is my current living room situation. Yes, we have an office chair on a towel, not to scratch our floor. And we no longer have furniture in our living room. So Troy and I made the decision to get rid of our sectional couch that was in here. We had a leather sectional couch because he, because with his leg issues and his medical issues, he really needs to have a recliner so that he can elevate his legs while he's watching TV and relaxing. So we ended up buying new furniture last weekend. It will actually be delivered this weekend. So I'll show you guys in next Wednesday's what I eat in a day. But we ended up for this back wall right here. We got a leather couch and then where the chase lounge of the sectional was, we're going to put Troy's recliner. We also bought a new coffee table because we had an ottoman before with our leather couch and a new little end table. So I'm really excited for the new furniture. We went with a little bit lighter brown color. That's going to tie in really well with the curtains and kind of this lighter wood on our home decor. And the coffee table and end table match our TV stand pretty much perfectly. So I'm really excited for the new furniture. I'll share it with you guys in next Wednesday's what I eat in a day. But until then, we're actually kind of enjoying this open living room space. For a morning snack, I'm going to have one of my ratio yogurts. I share these in my favorites video. I've shared these in a few what I eat in a days. I love these yogurts. They have such great flavor and they have 25 grams of protein. That is crazy for yogurt and I honestly think the flavor is better than too good. Light and fit. It's creamy. It's sweet. It is so incredibly good. And this just really helps me reach my protein goal. It's actually something I have most days, whether it's a snack or a dessert.  Of course, I'll take you guys with me.  So morning snack is my ratio yogurt. Someone is all by themselves in mama's office. What you doing? Are you cozy? He's so cozy. His brother and sister are in bed, but he always makes his way in my office and loves to lay on his dog bed. I also feel like every what I eat in a day is the same situation with these dogs. But the other two have been in bed all day. So Diesel is fully sprawled out.  But I feel like this is the MO of the dogs in what I eat in a day videos. All right. I'm on my way to my home inspection. I'm going to flip you guys around and show you what I brought with me.  So I'm going to have that as a backup. And then I brought some water and I also brought the rest of a Gatorade with protein just so that I had lots of fluids, lots of beverages. It's pretty cold outside. So I'm pretty bundled up, but I want to give you guys a quick update. These are the clients in last week's what I eat in a day that I showed you the house that we looked at. We put an offer in at 285. We actually didn't get chosen the first time they chose a different offer. And then I guess those people changed their mind. So she called me and offered us the house. So obviously we jumped on it. My poor clients put in nine offers before they actually got this house. So they were so incredibly excited. And today is the inspection so we can get that piece of the puzzle done. And then we wait for the appraisal and we're hoping it comes back at value. And it's a smooth, easy transaction. So I'm headed there now. It's about 35 minutes one way from my house. So let me show you what I brought. So of course I have my cup of water. I have a partial Gatorade Zero with protein. I drank some of this last night, just couldn't finish it. So I brought the other half of the bottle. And then I brought one of my Fontina snacking cheeses. These are my very, very favorite. So I'll definitely eat this. So I'll put points here on the screen for you. And let's get on the road. All right. We are just about here. It is on this private little road, which is nice. But it is really, really, really close to the freeway. So we are about here. Here's the little area. It looks like my clients and the inspector here. So hopefully today goes really well. Home inspection is done. And at the point that I left, they weren't quite done, but we found nothing of any concern at all. There was a little bit of dirt that needs to be moved outside for the foundation. But overall the house is in great shape. So it's fantastic news. So I'm on my way home now, but really, really good news that everything went smoothly. Are you guys happy I'm home? It's time for treats for you. You sit. No. No, no, no. Good boy. Good job, everyone. So for lunch today, I'm going to use up some of our leftovers. A couple of nights ago, I made some mahi-mahi. And I've been eating it over the last couple of days for lunches and dinner. I have about half of a filet left. And this is a pretty good sized filet. It's nice and thick. So I am going to go ahead and finish that up. And then also for a side dish, the other night I made roasted butternut squash. And we've eaten most of it. It is so good. I put a little bit of non-stick cooking spray. And I use some of the Trader Joe's citrus garlic seasoning. I'll actually show that to you guys. This is the seasoning. It is so good on vegetables. So I did a little bit of that. Some salt and pepper. And so I'm going to go ahead and finish this up because it's been a few days since I made it. And I just don't want it to go bad. Today's lunch is literally finishing up all of the leftovers. So here is my lunch. This is a serving of the butternut squash. And for me, that is zero points. I didn't add anything to it that has points. And then I have half of a filet of fish, which I also believe is zero points. But of course I will put the points and calories here on the screen for you. I feel really good about this lunch. Lunch, lots of protein, some healthy carbohydrates. I did just season my fish with that same citrus garlic seasoning, some salt and pepper. I did cook my fish in a little bit of ghee. So I'll make sure that I include the points for that. But this is my healthy and delicious lunch. I thought I would sit down for a couple of minutes, have my afternoon snack in front of my empty living room, which is so crazy to me. I have to tell you something kind of funny, actually. So we sold our old couch when we purchased the new furniture, which again will be here on Saturday. The minute the furniture was out of the house, the dogs thought it was a free-for-all in the living room to just run around and play and act crazy. So they're really liking that big open space to run around and play, especially Palmer and Lola. Play with each other. Play fight with each other in the big open space. So it's going to be quite the shock when the new furniture arrives on Saturday, but because our tables are so delayed, they'll still have quite a big open space. So yeah, it's just really funny how they've taken full advantage of the empty living room. I haven't eaten anything since lunch, and I'm feeling a little bit hungry, and we still have about three hours or so before we're going to start dinner. So I'm going to have kind of a makeshift snack. And I wanted to talk to you guys a little bit about making up your snacks and even your meals throughout the day, and what's best for our body when it comes to pairing meals and snacks together. So whenever we eat a snack or a meal, we want to make sure that we're not only eating one macronutrient. So we don't just want to have carbohydrates. We don't just want to have fat, and we don't just want to have protein. Our body digests processes and metabolizes macronutrients the best when they're paired together. So instead of just choosing one of the macronutrients, try pairing them together. So have a snack that is carbs and protein, or healthy fats and carbs, or protein and fats. Make sure that when you're putting together your meals and your snacks, that you're pairing those macronutrients together. Again, that is just really how our body metabolizes and processes them best, and it will also help keep you fuller for longer. So a little bit of a pro tip. I talked about this a lot with my coaching clients. It's one of the main things we go over in the initial session is about pairing macronutrients together for a better balanced diet, and that also helps you reach your macronutrient goals, your protein goal, your carb goal, your fat goal. So there's a lot of benefits in really pairing those together. So when I thought about what I wanted for a snack today, the first thing I thought about was that I wanted to have the rest of my moon cheese. This is the Oh My Gouda, and I've had this for a while. There's about a half of a serving left. So this is a good source of protein. There's 11 grams of protein in one serving, so I'm going to have half of a serving, and there's 14 grams of fat. So I'll get seven grams of fat as well. So this is a good protein fat component of my snack. And then for an afternoon pick-me-up, I need a little verb energy bar. This is going to be a healthy carbohydrate. These have really good ingredients. They also contain 65 milligrams of caffeine, which is the same amount of caffeine that's in a shot of espresso. So I love these as an afternoon pick-me-up. I love these as a pre-workout, post-workout, because it's giving me the carbohydrates that my body needs in the afternoon. Pre-workout, post-workout, and I'm getting that little bit of caffeine. And it doesn't cause a crash, because it's naturally occurring from green tea. And it's only 65 milligrams. Again, what's in a shot of espresso? So by pairing a verb energy bar with good, healthy carbs, the Gouda snack bites with fats and protein, this is the perfect, perfect, perfect snack. This is 90 calories, and this is 85 calories for half of a snack, which puts me right about 200 calories, which is where you want to lean for snacks. 200 to 250 calories per snack.  So I will make sure that I link verb energy down below for you. These are 90 calories, three points. Again, nice clean ingredients. Right now they have the bag of 12 bars on sale for $10, which is incredible, incredible deal. So I'll link these down below for you. All you have to do is click the link and it will automatically give you the $10 price. And these I just picked up at my local grocery store. So that's going to be my snack. But before I eat, there is a product that I recently discovered that I've really, really been loving and has really been quite the game changer for me. And these are the Garden of Life Doctor Formulated Probiotics Fit Biotic. So what this is, this is just the coolest product. This is fiber and probiotics in powder form. And what's even better is they are individual little packets that you can add to anything. So what I've been doing with these every day is putting these either in a protein shake or a smoothie or I mix them into my yogurt. And it doesn't change the texture. It doesn't change the taste. But it's going to give you 50 billion probiotics with 14 different probiotic strains. And probiotics are so important for healthy gut health. So this has been great for that. It has four grams of prebiotic fiber. It's acacia fiber. So it isn't going to thicken things up or change the consistency. And again, there's zero flavor. It helps support weight management, healthy digestion, and just overall health. And what I like about this as well is not only am I getting in my probiotics but I'm also getting in four grams of really high quality fiber and you just mix it into the food or the drink. And I have really been loving this. I keep this out and I have one packet every single day. Now it's not super affordable. Unfortunately for me, I bought these at my local health food store and it was $41 for the box and there are 30 packets in the box. So basically a month's supply. However, after I left the health food store I went on to Amazon and I found this exact same product for about $30 a box plus they had a 15% off discount. So much, much more affordable on Amazon. So I'll link the Amazon ones down below. I ended up ordering two more boxes off of Amazon because it was basically a little more than one box at my local health food store. And these have just been big, big game changers. It's really important to have probiotics for gut health. It's really important to have at least 25 grams of fiber every day as a woman and as a man, 35 grams of fiber. And so these little packets just make it an easy way to get in probiotics and fiber. So I wanted to share those with you guys as well. And if you're interested again, I'll make sure that they're linked down below. For tonight's dinner, we're doing a one pot recipe. We are making our lives simple, but yet delicious.  I love a good pasta night. So let me show you what's in our recipe. First, you're going to need Parmesan cheese. I'm going to do beef broth and pre-made Alfredo sauce. I will link the original recipe where you actually make your own Alfredo sauce. This is just less calories and points by doing this little modification. Minced garlic, salt and pepper, chicken breast. You want about three boneless, skinless chicken breast, mozzarella cheese, basil and Italian seasoning. And for pasta, of course, I'm using my fiber gourmet pasta. This is the light linguine. I love this pasta. It's the staple in our house. It is half the calories and points of traditional pasta. So it is 100 calories per two ounce serving or three points versus 210 calories or six or seven points. So half the points, half the calories. It also contains 25 grams of fiber, 17 net carbs and seven grams of protein per serving. It literally tastes just like regular pasta. Honestly, I think the texture and the taste is even better. I buy mine off of the netrition website. They generally have all the different shapes. So they have linguine, elbows, penne and rotini. They're the cheapest and they have the biggest selection. So I'll link netrition down below for you so you can pick up fiber gourmet pasta. Total, total game changer.  I'm going ahead and sprayed my larger stock pot. This is about one and a half times the size of a regular saucepan. Again, this is a one pot recipe. So everything will be cooked in here. I am going to add my diced up chicken and we're going to season our chicken with some salt and pepper. We're going to cook our chicken for about three to five minutes. Now we're going to add in some minced garlic. Now our chicken is not cooked all the way through. That is just fine. It will continue to cook with our pasta here in the pan. I'm going to add in some basil and some Italian seasoning. One and a half cups of broth. You can use veggie, chicken, beef, whatever you have on hand. And then we're adding in our entire package of a fiber gourmet linguine. I know my pan looks really full, but as the noodles start to cook, they'll definitely decrease in size. So we're going to allow the noodles to cook all the way through. So I just pulled the pasta off of the stove. The liquid was enough to cook down our noodles. So now we're going to add in our jar of Alfredo sauce. Stir that up. Oh my gosh, this looks so good. Yum. This looks incredible. And then I'm adding in half of a cup of mozzarella cheese, half of a cup of Parmesan cheese, and stirring once again. Look at how amazing this looks. I mean, how creamy and delicious. Let me go ahead and plate this up. This is going to be our dinner for tonight and I'll be back to share points and calories. Here is my dinner for tonight.  This is like decadent Alfredo. Absolutely decadent. You never know that it would be WWE friendly, calorie friendly. I will go ahead and put here on the screen serving size, points and calories. I have some steamable broccoli in the microwave. We're just going to add some steamed broccoli. And this is tonight's dinner. So that's a wrap on today's What I Eat in a Day on WWE. Such great meals today. Everything was very filling, nutritious, full of protein. I met my protein goal, my fiber goal, my water goal, and I was right where I needed to be with carbs and fat. So today was a huge win. Don't forget to check out my recipe website for all of my meal prep recipes that I shared. As well as dinner. And don't forget to give this video a thumbs up. Subscribe if you're not because I would love to have you here. I do a What I Eat in a Day every single Wednesday. I share all my food, recipes, a little bit of day in the life. So make sure your bell notification is turned on so you never miss a single upload. Don't forget to check out the description box for nutrition coaching, links, discounts to my favorite things. And lastly, come on over, join us on Facebook. We would really love to have you join that community. Happy Wednesday, friends. And I'll see you all in my next video. Bye.