Ever heard the Snickers tagline? You're not you when you're hungry? Believe it or not, this is completely true. Do you get cranky often, or snap and later regret it? Do you have an attitude until you eat? You might be suffering from hangry. You might be saying, hang what? That's not a real word, but it is! The 2017 Meram Webster Dictionary defines hangry as an adjective that describes being irritable due to hunger. In other words, you get irritated or angry when you're hungry. The carbohydrates, fats, and proteins in the food you eat convert into glucose, which is a type of sugar. These nutrients enter our bloodstream and are distributed to our brain and organs. As time passes, our glucose levels start to diminish. If these levels decrease too much, then our brain perceives this as life-threatening. Our brain uses glucose as fuel, even though it only accounts for 2% of our body's mass, it needs approximately 23% of our energy intake. If glucose levels are low, the brain will start getting grumpy. Additionally, our organs release stress hormones like cortisol when glucose levels are low. This alone changes our mood drastically. Genes also play a major role in hangry. Our genes release a chemical called neuropeptide and receptors like Y1. Both neuropeptide Y and Y1 regulate anger in the brain. An increased level of these in the brain contributes to sudden anger.  In the past, our ancestors couldn't just chill and wait for food to pass by then. They had to do something in order to not die from hunger. Fortunately for us, there are foods to snack on when hungry. Nuts, fruits, tuna and crackers, chips and guacamole, Greek yogurt with granola or fruit, hummus and veggies, avocados or even oatmeal can keep you calm until your next meal. The trick here is to eat foods that contain protein, fiber, and antioxidants. Protein is an organic compound that consists of long chains of amino acid. Protein helps maintain blood glucose levels and allows different brain regions to communicate effectively, which in turn improves your mood. Fiber is a plant-based nutrient that helps move food through the digestive tract. This is important because it allows our body to eliminate substances we don't need. Without enough fiber in our diet, we get clogged up, which affects our mood negatively. Antioxidants are compounds that delay cell damage, meaning they keep our body and mind healthy. It is important to avoid junk food because even though it calms your anger, it will generally produce an increase in blood glucose that will make you crash quickly. Eating when you're hungry isn't always possible due to our busy schedules, but you can try to keep healthy snacks near you to munch on. Remember, you're not you when you're hungry. When was the last time you were hungry?  Comment below and don't forget to subscribe for more delicious treats from Psych2Go!


Hi everyone, I am Anisha Narang and I work at Red Hat. I've been in a QE job role for almost five years now. I worked with a couple of test automation tools, like Selenium Python, what a cucumber, and off lately I started working with Protractor. And other than that, I like traveling and meeting new people. Was any of you here in the morning for my talk? Okay, all right. Thanks for coming again though. So before I get started, so this is mainly a discussion. Are there enough learning opportunities for a QE? I will quickly run through a few slides and then we will be open for discussion. So we often, as we are talking about and coming up with new and faster technologies each day, we often forget about important things like testing and people have different opinions and thoughts about it. So first I'm gonna quickly break a few myths about testing that we have and then go ahead and share some of the learning opportunities that we have. First, manual versus automation. So whenever you tell somebody that you're in a QE job role, the first question that comes to you is that, do you do manual testing or you do automation testing? This thought has created a divide between the QE community itself. Automated testing can accelerate the overall testing effort, but can not eliminate the need for manual testing. And efficient testing is achieved from both the combination of manual and automated testing. Quality is solely QE's responsibility. Whenever a defect is identified, a QE is surely to be blamed, but most of the times what happens is that often other phases like development take a lot of time and the QE's hardly get enough time to do enough testing just because we are running for the release. And quality is not solely the responsibility of a QE. It's everyone's responsibility on the team. Developers need to be accountable for the quality of the code that they write. And testing provides information about the quality. And testing cannot improve quality until and unless the bugs reported are fixed. Upman versus testing. A lot of people think that development is often a superior career option than testing. So even if you go to a college student and ask them what do they want to do in the future, all they come up with and say, they want to become a developer because they have an assumption in the mind that testing might be boring. So QE's are mostly undervalued and underestimated by people who do not understand what value they bring to a project. But QE's bring a bigger perspective to a project based on the deep understanding of both the development process and the business requirements. Test coverage and 100% automation. So whenever you talk about automation, the first thing that comes to you is what is the test coverage? How many tests are automated? Do we have 100% automation? Can we achieve that? But people often forget why automation exists. Automation is for critical test cases, faster feedback, and to reduce regression. It is acceptable to not involve QE's. Most of the times QE's are left out whenever we are debugging a critical issue, maybe planning a release, or discussing some code development issue. But QE's should be involved at every stage in the software development life cycle. QE's maybe at the planning stage, they can help you by telling you which are the scenarios that are testable or not, or maybe help you with coming up with some of the more scenarios to a particular application which you might miss. Okay. So the last is testing is easy and requires no logic. This is the most annoying one. So people think that testing is just about following a sheet of documents, writing a certain set of tests, and maybe just reporting bugs, but in reality it is actually much more than that. The QE actually needs to get into the shoes of the user to understand the application, and that user can be in any part of the world. So that's where the QE needs to use its analytical brain to come up with different testable scenarios for the application. And when it comes to automation, equivalent programming skills as that of a developer are required. Any disagreements in the room until now? Okay. So now we come down to Sherry. I'll share some of the learning opportunities that we have. We have a lot of learning opportunities. Test automation is the key to learning. So now you cannot expect a human to keep performing the same steps at the same speed and accuracy over and over again, and that's where automation comes into picture. To reduce the regression time, we need automation. There are plenty of open source test automation tools that one can choose to learn. One of the most widely used tools is Selenium. Selenium automates browsers. So whenever somebody is stepping into the world of web UI automation, the first tool that they might learn is Selenium. Initially, I started working with Selenium with Python and using the Selenium Python APIs, it allows you to use all the functionalities of the Selenium. Then it was water. Water is nothing but web application testing in Ruby. It is again an open source automation library built in Ruby. It's again powered by Selenium. And off lately, I started working with Protractor, which is an end-to-end test framework for Angular and AngularJS applications. So Protractor is again based on WebDriver.js. So it's all powered by Selenium. So one of the advantages that Selenium provides you with is that it allows you to choose the programming language of your choice. So initially, when I was working with Selenium Python, the application was based in Python. So I chose Selenium Python. And later, when the application that I was, the project that I was working with was in Waldron Ruby. So I moved to using water, where I got an exposure to use Ruby. So it's always better to choose the same programming language in which your application is, but you're free to choose any programming language to write your tests in. So the advantages that come with it when you're choosing the same language that the developers might take a little interest in the test that you're writing, and you might get some help around in building your test automation suit. And it can be integrated well with the application and other tests that already exist. Now, moving from Ruby and Python to JavaScript was another challenge because I was moving from a world of no brackets to a world of brackets. So when I wrote my first test, I took the entire day to figure out why is the test not running and how I figured, and at the end of the day, it was just a bracket that was missing. So it was kind of tricky, but I learned a lot on the way and it was also a couple of new concepts that came on while I was learning JavaScript and using Protractor for Angular application that I was testing. A few other things, behavior-driven testing. Behavior-driven testing allows you to write your tests in a human-readable language. So Cucumber is one of the most widely used tools for behavior-driven testing. You can use the Gherkin syntax of given, when, and then. It allows you to write your feature files and have the test in human-readable format. API testing. Next is API testing. API testing is very critical to automated testing because API is usually at the core of the application logic. So you can always use, you can always make calls to an API functions or the API endpoints and verify the JSON responses and the status code that you're getting. You can use any HTTP request modules to verify and this will again help you in getting more knowledge and understanding about your application in a better way. It will give you an exposure to understanding how the API of your application works. So it's a good area to explore and there are a couple of other tools that you can use to API testing. Next is continuous integration. It's another interesting area for you to have a look at and so Jenkins is the most widely used continuous integration tool. You can always integrate your test as a part of the CI so that's for everyone to have a look at the test reports. You can configure and send out build reports to the entire team so that everyone on the team knows which tests are running and what's the current state of the application. If you're more interested in going deeper and have a better learning curve, you can always go ahead and say that you wanna learn how to manage and set up the Jenkins instance. This will again give you a better exposure in knowing more about how the Jenkins jobs are configured and how you can set up and manage the entire instance. GitLab CI is another similar continuous integration tool that you can use. Setting up test environments. I'm sure this is one of the most interesting areas for everyone. So five years back when I started setting up test environments used to be like setting up a VM which either used to be a desktop machine or maybe we could set up VMs using virtual box, VM ware and use libraries like LibWord. After that I started using Rev which is Red Hat Enterprise Virtualization using the Rev API. I could allow my test to SSH into a particular machine into the VM, perform the test and just terminate the connection. And after that it was, but it was still blocking some resources in Rev. Now then after that I used OpenStack using the Nova Client API, I could just spend the VMs on the fly, perform tests and destroy the VMs. So what advantage did it come? It was saving a lot of time, not being a tedious task like using virtual box and VM ware to set up VMs which took a lot of time. And moreover it was not blocking any resources. I could just spend the VMs on the fly, perform the test and destroy them. Now Docker is something that you all might have heard and Docker allows you to have your local test instance in an isolated environment. So this is another interesting area that you can learn how I have used Docker is that we have Dockerized containers and we spin the local environment of the application that we want to test again against which saves us from any dependency on any of the DevOps teams where we are saying that the QA environment is not ready. So that's how we save time with that. Okay, how many of you have heard of Ansible? And how many of you have used Ansible? That's a good number. So we often talk about Ansible which is the most widely used tools for orchestration but we hardly talk about how Ansible can help us in improving test automation as a process or improving the test automation process. So like in the previous slide, we talked about how do we set up the test VMs. We can use Ansible, we can use Ansible Playbooks to spin up the VMs for us so that we again save on time on setting up the different configurations of the VMs that we want. If we have Ansible Playbooks set up, it's pretty easy for us to spin up the VM and have a particular test environment up and running with just the Ansible commands. It is one of the most popular open source tools used for orchestration and application deployment. The Jenkins Job Builder.  So this way you can again save time on Jenkins jobs management. Okay, so a couple of people also feel that if you are in a QE job role, you might not have enough opportunities to go to conferences or you might not have enough opportunities to get certifications. So there are a couple of conferences which are QE centric. So you can always go ahead and join Selenium Conv which is an annual conference based on Selenium. GTAC is Google Test Automation Conference which is conducted by Google annually. There are agile testing days, software testing conference and Vodka. Vodka is a conference that is run by ThoughtWorks. I've attended a couple of those back in Pune, India. And it is something similar to that Red Hat runs as QE camp which is an internal QE conference for us. Certification should get started with your career in being a quality engineer. You can always go ahead and take up ISTQB which is International Software Testing Qualification Board. After a few years of experience, you can go with an ISTQB advanced level. Next is RHCSA which is Red Hat Certified System Administrator. If you're more interested in having and knowing more about Linux and being able to set up your VMs in an efficient way, RHC is again a choice that you can make. That is Red Hat Certified Engineer. Demise your tests each day and keep learning. It's very important that you keep refactoring your tests each day so that and follow the best practices like keeping your code dry which is do not repeat yourself principle and using the page object pattern. If you were there in the talk that I delivered in the morning, I spoke about how to use page object pattern and how that helps. And you should always try to provide your tests as a service so that anyone on the team could run your tests as and when they want to. So yeah, thank you. And now we are open for a discussion if we have any points to discuss. I think we can have an open discussion on any topic that we might want to which relates to this. Thank you, yeah. From some of the information framework that we introduced, I guess you probably focused on like the web application testing. Can you introduce yourself a little bit and besides the web application, okay. Oh, sorry. So yeah, based on the recommendation like Selenium, Water, and... Protractor. Yeah, so they are mostly like a web application testing framework. So I guess you are expertise in this area. So can you first, can you introduce yourself a little bit and also can you recommend other framework in slightly different like level or areas? Thank you. Okay, thank you for the question. So I've been working mostly with web UI automation, but like I mentioned about the API testing, so there are a lot of other testing frameworks that you can use. So it depends on like if you're using, if you want to use Python, then maybe you can go ahead and use PyTest frameworks or Unitest. And if you're using JavaScript, then Frisbee is the one that you can use for API testing, Justman testing framework. And if you go ahead and move to the different types of testing, we can always use different tools for load testing. There's a tool called Jmeter that you can use. And you can use the same tool for performance testing as well. So there are a lot of tools that you can use. I hope that answers your question. Anybody in the room would like to add to the question, you're free to go ahead and answer. Do you want to add something? I think maybe you're asking about non-web related testing. Like maybe a desktop application. Is that right? So was your question more about a non-web related testing framework? Like let's say a desktop application for Windows or a shell automation for Linux or anything like that, right? Okay, we'll answer it, you know. No, I'm not aware of that. So I personally have used Test Partner, which was a Windows shell automation framework. So like any Windows or any EXE file which opens in Windows, like maybe made in Visual Basic or any other Delphi or the legacy programming languages. But after 2008 we, I think I personally have been working on the web only. And I think so is Anisha. What behavior-driven development called BTT and then we use robot framework and all those things for testing water I haven't used. So yes, so in addition to behavior-driven testing, Cucumber is one of the most widely used tools. Like I mentioned in one of the slides also when I was talking about BTT. And so is Robo Framework. And our spec if you've heard from, which is a Ruby framework that's again based on BTT. So there are a lot of testing frameworks that are based on BTT that allow you to write your tests in a human-readable format. Yeah, yeah, Cucumber is nice. Hello, have you heard of Avocado Testing Framework? That's a Python-based shell command-line framework. Yes. We use that extensively for virtualization testing because that's the only one where you can actually run systems on bare metal, which allows you to install a guest and which is primary for our use where because we are testing virtualization components, we need to make sure that we can install a guest, create a VM, add a disk, all of those things. And it's completely command-line based. There's no UI for that. And we use it extensively. They have developed a lot where there are plugins where if you don't want to run virtualization tests, it can be used as an external runner for tests that you might have written in Python and it can run those as well. Do you know any about any tests specific to React Framework, like you said Protractor, which you used for Angular? So can it be used for React or do you have any specific, like if you have any work done, any testing frameworks which can be used for React applications? I'm not sure about that, but Protractor should be usable for any React-based application as well. Thanks. But it's not really worked on any React chairs. Has anyone in the room worked on React or knows that? So we have an application in Inside Red Hat which is internal, which is made in React. So it was an Angular application, which was then rewritten in React. So like Angular, there is no specific end-to-end testing framework for React. So we simply use the Java with Selenium WebDriver to test React, but if you're not thinking about end-to-end, then you can probably use Jest and enzyme frameworks. Yeah, that's the same thing. Any more questions, any more topics to have a discussion on? All right, thank you so much. I hope you had a good time and that's my Twitter handle. If you might want to give any feedback. And yeah, thank you so much for participating. Thanks.


So I'm gonna show you my food in the next clip and then I'm gonna pack all of that up. My clothes, I have to pack up the dogs. It's like having children. And then we're gonna get the truck packed up, load our four wheeler and we will be on the road to head to Sandpoint, Idaho to our cabin. So I am packing up our food to go camping. I'm just gonna give you guys a quick run through of kind of what we're bringing and I'm gonna preface this with Friday is my splurge day so what we'll be having for dinner on Friday is not WW friendly. So the rest of the meals, I'm gonna make them WW friendly. So of course I am bringing some dog treats for Diesel and Lola. I decided to go ahead and bring some black break just so we have some fruit available. And then this is the coffee that I'm gonna bring. I have a regular coffee pot for camping. So this coffee from Walmart is really, really good. Yes, more. So I'm bringing one Hershey's bar to not overdo it. Eggs of course, because for breakfast, both days we're gonna make breakfast sandwiches. So I have these English muffins, Canadian bacon, cheese. So on Friday I'll use regular cheese and then I'm bringing some light cheese as well for Saturday. So we're gonna make essentially a breakfast sandwich and then we can have that with some fruit. For lunches, I'm bringing some rick crackers so that we can do crackers, meat and cheese. I have coarse graham crackers for s'mores. Friday night we're gonna make burgers. We're gonna do these Butcher Select Angus, these are delicious hamburgers. Not WW friendly, but they are so good. Of course I need hamburger buns for that, hot dog buns because we are gonna do hot dogs tonight, Thursday night for dinner. And I'll show you those, I'll be getting around to those. And then for the meat and cheese and crackers, I just bought this Old World Salami. These little rounds are just easy peasy for camping. So we'll have those for lunch on Friday with the rits. Of course I'm bringing some built bars. One of the new mango chocolate cream and then the caramel brownie built burner. This'll just hide me over, keep me on track for today and Saturday. Marshmallows of course for s'mores. I'm bringing some sweet treats for me for tonight and Saturday. These are the Choco Right Peanut Butter Cups. These are purchased off of the Protein Wise website. If you're interested, there is a link with a $10 off coupon for you down below. So I'm gonna bring those and then I'm gonna bring a Quest Bar too. Just as an extra added precaution in case I don't make it home for lunch tomorrow, this'll definitely tide me over. This is a slice of Valdita cheese. This is for me to put on my breakfast sandwich on Saturday when I'm on track. Cheese for meat, cheese and crackers. And then this cheese, they actually sent this to me since we don't have this in my area, it is amazing. I'm gonna use this on my cheese and crackers as well. And then this also will go on my breakfast sandwich. So that that way I'm not overdoing it on the heavy cheese. So I've got a Valdita slice and the 75% light cabbage. We will have bacon for breakfast on Friday morning. I'm bringing some cookies for camping, we need cookies. I'm also bringing some avocados in my avocado holder. So I can put this on breakfast sandwiches, burgers. It'll just give us that extra healthy fat. For Saturday morning when I am on track for breakfast, we'll have some turkey sausage links with our breakfast sandwiches, baked beans for Friday night. So dinner will be burgers and baked beans. I'm also bringing an Easy Mac and a rice and rice, a roni cup just to have, if we wanna have this as a side dish, maybe one night or a quick easy lunch or a snack. So I'm bringing those. My husband will probably eat those more than me. My hot dogs for tonight are these turkey ones. These are only three smart points apiece. And then I'm bringing these Angus beef for the hubby. Doritos, that will be for Friday. And then for tonight to stay on track, I've got my Trader Joe's baked cheese crunchies. So that's it for food. We're bringing lots of water, wine, beer, pop. So I'm gonna get packing my clothes and take you guys to the next step, which is loading up our truck. Are you guys excited to go camping? Are you? They cannot contain themselves. I don't know how they know, but they know. Right guys? They, we know mom, we know. So we're packing up to head out. And if you take note, this is not a full-size truck. So we reserved a full-size truck about a month ago from Thrifty. So if you have a Thrifty in your area, not recommended because we wanted to be able to bring our four-wheeler camping and it gives a little bit more room for diesel. So we got there today to pick up our truck and they said that they've already rented them all out and that they did not reserve one for us. So we have this little tiny Nissan, which means we can't bring our four-wheeler, which is a good thing because it's already loaded down with the little bit of stuff that we have added to the back of our four-wheeler, just our general camping things. All we have left to add is our bike and we've got the back seat fully covered, per the usual for diesel. So we cover every nook and cranny because of his shedding with sheets. So we're ready to go. Little disappointed that we have a small truck, but we're still ready to get on the road. Thrifty. Tell us about your thoughts on Thrifty car rental, honey. Not very simple. Hey guys, we are about to hit the road. We've got the AC cranked because it is 100 degrees outside. So I cannot wait to get to the lake or river or whatever it is that we're camping on so that we can go in the water and enjoy the cool water. So everyone's here except Troy. He is doing the last couple of minute things in the house. So, Luna's here. Hi babe, say hi. And then diesel gets the bath. Diesel, hey buddy. Hi handsome. So we're here. We're ready. We're about to hit the road. Are you our driver? Yeah, are you our driver? Okay. This guy back here is our lookout. Diesel, hey. Are you mommy's lookout? Yeah, we're ready. Everyone's ready. We're just waiting on dad. So we've started to settle into the cabin a little bit. So we've kind of got our stuff everywhere but I'll give you guys a quick tour. It is absolutely adorable in here. So first, best part is there is a full bathroom with a shower. So this is definitely somewhere that you could spend a large amount of time because you're able to have an in-unit bathroom and shower. There's a full kitchen area and they even have everything, all of your dishes, pots and pans, everything included. So we've just kind of set out our stuff. There's lots of cabinets, super cute and there's a refrigerator. So that's always nice. So we were actually able to put all of our food in here instead of having it strung out all over in coolers. And then of course there's another area here that has a microwave and a cabinets and extra storage. And then there is an eating area which is really nice as well. It's definitely like a little hotel room but you have that awesome cabin vibe to it as well. So there's a little table and then there is a double bed. So that's gonna be fun for Troy, myself and Lola. But it is so cute in here you guys. And then over here is a whole living room area. We've already kind of taken the couch apart. That's where I'm hoping Diesel will sleep. There's just cubbies with decorations. There's journals, guest books and this is the best part. Look at this. This is the window in the living room that was right out to the river. I'll take you guys out and show you the fire pit. It's awesome. There's even a little stove in here, TV and then we have stacked our stuff here. The cushions off the couch to keep them nice since that's where Diesel will sleep. And actually this right here is another door that leads to outside. So it is really cute in here. Hi. Super duper cute in here. Love it. Love, love. I think this is somewhere we could stay for quite a while. So let me take you outside. I'll show you the outside of the cabin. Here's the outside of the cabin. Cool. There's a tree growing right through the cabin and it's awesome. So we're parked over there as you can see. So this is the outside of the cabin. It's landscaped beautifully.  So that's awesome. You can sit there and look right out into the river. So pretty. These beautiful flowers and the river. So right down here, if you walk down, there's a little trail here. You guys can see it like right here. You walk down and you're right here on the shore of the river. So Diesel's already been down there once but we're gonna go back down and I'll show you guys him swimming but isn't this absolutely beautiful.  So here's a better little image of the tree growing out of the ground in the middle of the cabin. Super cool. And the name of the cabin is the last resort. So super cute. I didn't show you guys the porch. There's just a little bench. There's even a barbecue. And there's that door that I mentioned that we won't be using because of the bins. And then there's a cute little table and a couple of chairs that just look out here onto the river. Good boy, bud. Bring it back. Good job, buddy. Good job. I just took a dip in the river. It was so nice.  So here's our dinner for tonight.  They provided all the condiments, which is awesome.  And tonight we're gonna do some baked cheese crunchies. So that's gonna be our dinner. We may have some grapes and then a little bit later we'll make some marshmallows. So here is my dinner. So I have two of the turkey dogs. They are three smart points apiece, two buns for three smart points apiece. So that is 12. And then I have four smart points worth of the baked Cheetos. So that is 16 points. I had a lot of points left today. I haven't eaten much today. And then look it over here. I may be having a glass of wine as well. So that's all I'm gonna have tonight other than maybe roasting a marshmallow. It's about 8.15 and we're gonna start a fire. It is so pretty out. I can't wait for it to get dark. We're gonna start a fire and we're gonna relax for just a little bit. Fire by the river. Sun is setting. It's almost nine o'clock. So that was one was high. Oh, come on. Oh, there's one. Oh yeah. There's a lot of bats out here. Look at all of them flying around. Super cool. All right guys, we are in for the night. It's a little after nine. I think we're gonna play some cards. The dogs are exhausted. Yeah, they're exhausted. So we're just gonna be in for the night, get a good night's sleep, be up in the morning to have another super fun day. I think we're gonna plan on doing some swimming. I'll show you guys kind of what I eat tomorrow. I didn't have anything else after dinner. So that was all that I had besides water. So I'll show you guys what I'm eating tomorrow and I'll see you in the morning. Good morning guys. We are sitting out on the deck of the cabin. It's a little before seven. I just made myself a cup of coffee, of course. So we're just gonna sit out here, drink coffee, relax a little bit and kind of enjoy the beautiful morning. I'll go ahead and flip you guys around and show you what it looks like outside. It is a beautiful morning. So here you have it. This is literally the view off of the deck. Look at that. Here's the deck. Isn't that just absolutely gorgeous? And like I said, it's just a beautiful morning. There's fish jumping. Yeah, it's just, it's gorgeous. So we're just gonna have some coffee here out on the deck. The dogs are out here, Lola's out. And the soul is somewhere back here. Let's see, he's back there. There he is. Yep, so we're just gonna sit out here. Kind of enjoy the scenery. So here's my breakfast for Friday morning. So I'm working on my coffee. Has some of the sugar-free sweet cream, Italian sweet cream creamer. That's a mouthful. And I've got two slices of bacon and here I have a breakfast sandwich. So I have an egg, a slice of cheese, two slices of Canadian bacon and then we've got some black grapes. So this is what I'm having for breakfast on Friday. Just like at home. They're begging just like they do at home. Watching every move we make with the food. Watch, he moves the bacon, they move their heads. We came over to the Clark Fork Cabinet Gorge Hydro Electric Development Dam. It's supposed to be a 600 foot long, 200 foot high concrete arched dam. So we're gonna walk up, we brought the dogs. It's really pretty out here. And we're gonna hike up to the viewpoint up there and look over at the dam. So here's our viewpoint from the top. I'll take you guys over and show you the dam. But man, it is beautiful, even at the dam over here. So this way is the actual dam. And here's the Cabinet Gorge Dam. Really cool. So the dam's closed right now. We were wondering why the river was low at our cabin. So that's because the dam is closed. Isn't it just beautiful up here? We've made our way here to the Ross Creek Cedars. So this is very large, dense forest of cedar trees. And it has this rainforest kind of vibe to it. So we're gonna walk in just a little ways. Here's the trail. Here's the dogs. Hey guys, you guys excited? So we're just gonna walk in just a little ways and I'll get some video for you guys, but super cool. This is really cool. This is three huge cedar trees all grown together. So they all start at one base of a trunk. So cool. Dona, are you in the tree? Hey, look at mommy, baba. Look at these trees. And they have these little areas where the roots are. It's so cool. They're massive. This one is awesome. It's got a big stick jetting out in the middle of it and two grown together. So cool. So here's what we're gonna have for lunch today. I sliced up some cheese. We have some of those salamis, some Ritz crackers. I went ahead and made some guacamole out of my avocados and some grapes left over from breakfast. So this is what we are going to have for lunch. We did have some licorice while we were out and about. So everyone's here, ready for lunch. Yeah, yeah. You want your stick? No, drop it. Let's go, let's go. Good boy. Got into something. She's all swollen, her poor eye.  If you guys can see that, Troy drove into the town to find some Benadryl, we called the vet and we're just gonna give her some Benadryl and her poor little eye is so swollen in her face. My baby. So we're getting her some medicine. Hopefully that helps. Daddy got the baby girl some Benadryl. So her swelling's going down a little bit.  So here is my dinner for tonight. I am having a big juicy hamburger. I have the leftover guacamole from lunch and then cheese and one slice of bacon on my burger.  So this is gonna be dinner. If Lola is feeling better, we'll be roasting s'mores a little bit later. We'll just kind of have to see how she's feeling. So this is what I'm gonna be having for dinner. We're roasting some marshmallows and little Missy over here is looking a lot better.  But you're looking a lot better.  Oh, burn them. So my burnt marshmallows went back into the fire and I roasted some fresh ones for my s'mores. So this is definitely a must have when camping. Here's the sunset tonight. It is about 8.15 and the sky is pink with a pretty reflection in the lake. So this is our last night here and it's a good way to end it. Hey guys, so we're in for the night. Lola's doing much better. Most of her swelling is gone and there's still a little bit of swelling but most of it is gone. So we're just gonna hang out, relax a little bit, make sure she's okay. She took four 25 milligram Benadryls which is what the vet that we called recommended. So 99% of the swelling is gone. I don't know what she did. I don't know if something bit her, stung her. She got into something you never know when you're camping. So she's doing much better. So we're just gonna relax these. So I went swimming one last time and I'll see you guys in the morning. Good morning. Hi, baby, are you feeling better? She's all bundled up, dad, got her all bundled.  So we just gave her a couple more Benadryls and we're gonna have breakfast and pack up and head out. Diesel, Diesel, did you have fun? Did you have fun? Yeah, you got to swim so many times, buddy.  So we're about to head out. So the last glimpse of our view from our cabin, these two. Are you guys ready?  Yeah, let's go home. So say goodbye to the cabin till next time. All right guys, we are home. We had a little episode on the way home. Lola threw up twice on my lap on a towel in the car. So I think that maybe having the Benadryl this morning on an empty stomach because she hasn't eaten, made her throw up, but we're home. She seems to be much better. She's went outside. She's got her bone, but we had a really good time other than Lola having her allergy issues. We had a super fun time, but I need a shower. I need to get unpacked and start the rest of my weekend. So thank you for coming along with us on another camping vlog so you can see kind of what we eat. I didn't have anything after my breakfast besides a built bar. So we are good to go. Again, if you're new, make sure that you subscribe. Hit the little bell so you're notified whenever I upload a new video. Thumbs up this one for the camping vlog and I'll see you guys all in my next video. Bye.


I'm on my scooter on my little motorbike in Thailand guys in the midst of all this negativity between Israel and Palestine I want to share some positivity with you guys and what better way than sharing my Friday it's Friday I just visited the Islamic center of Bangkok I know this is not the most I'm always attending to every Friday however every now and then I like to visit this is the biggest mosque in Bangkok an absolutely breathtaking beautiful place they will be just a very short green video guys I'm going to be in the clips of the Islamic center in Bangkok and now with no further ado, let's have a look


Ssssss... that's drunk. 1995 saw the release of three different Mighty Morphin Power Rangers games for the Super Nintendo with a fourth title coming in 1996, each with varying degrees of success. There's the eponymously titled Beat Em Up, a second Beat Em Up based on Mighty Morphin Power Rangers the movie, Mighty Morphin Power Rangers Fighting Edition, a one-on-one fighting game, and Power Rangers Zeo Battle Racers, a Mode 7 racing game. Real quickly here on a personal note, I did not watch the show at all whatsoever as a kid, it just did not click with me whatsoever. so if you're wondering how well these games represent their source material, I am the wrong person to ask, because I don't know. Let's start with the regular old Mighty Morphin Power Rangers. This is a pure side-scrolling beat-em-up with no 3D plane. You can pick to play as any of the five Power Rangers at the beginning of each stage, and you run to the right and beat up bad guys, beat up some more enemies, and run to the right, and there's a boss, and yeah. This game isn't bad, it's just incredibly boring, and it's clearly made the cater to Power Rangers fans at the time, but even now, even the biggest Power Rangers fanboy isn't gonna get a whole lot of value out of this one. There's seven long stages complete with a password system. You start out each as a regular person before something triggers you to change into costume, and mysteriously put on 35 pounds of muscle. What is this, late 90s Major League Baseball? You get a screen-clear attack, which is useful, and helps mitigate the tedium, but if you die from the game, not from boredom, you start all the way back at the beginning. The game does have a nice payoff, at least. Once you complete the side-scrolling levels, the game transitions into a one-on-one fighting mode, and you get to fight as Alpha 5 the Mech Robot. That's pretty cool. The music in this game is also pretty good, but despite that, it's pretty obvious that this is a generic game thrown together to cash in on the Power Rangers popularity, and the most damning evidence of that isn't just the boring gameplay. It's the fact that they didn't even bother to change the women's Power Rangers sprite. It's the same as the men's, just as a different color, that's as lazy as it gets. So yeah, I'd avoid this one, you can do much better. Well, maybe only slightly better, because next we've got Mighty Morphin Power Rangers the Movie. Now, like I said earlier, I don't know much about Power Rangers, but I've read that this game doesn't even really have that much to do with the movie, if you care about that sort of thing. As it is, this is a perfectly okay beat-em-up, as opposed to a dreadfully boring one like the last game. Here you fight as one of six different characters to fight through seven levels. Again, you can choose a different character each stage, but this time, each level features two different planes to jump between, which is, uh, interesting, I guess. But why not just have it in an open 3D plane, like most other beat-em-ups? The main thing Power Rangers the Movie, the game, has going for it, is that it cuts a quick pace. You're always moving forward, enemies pop out from all sorts of different places, and there's a little bit of variety here with snowboarding and surfing levels. The locations are a bit more interesting as well. You fight on an aircraft carrier, a shopping mall, and a freight train. Again, you start out fighting as regular people, but enemies drop these lightning bolts that enable you to fill your power meter. At that point, you can morph into Ranger mode, complete with the fan service cutscene and everything. Power Rangers the Movie, the game, is decent enough. I mean, it's better in just about every way than the first game I went over, and it's a good enough beat-em-up with the second player. It's just not anything worth going out of your way to play or anything like that. Next, we have Mighty Morphin Power Rangers Fighting Edition. Now, this is more like it. This is a one-on-one fighting game where you fight as mechs and monsters, and no joke, this is one of the most fun and satisfying fighting games on the SNES. There's three modes here. The two-player versus mode, the trial mode, which is a single-player gauntlet, and single-player story mode, which unfortunately only gives you two characters to fight as. That's a bummer. But the graphics, sound, and presentation here are all top-notch. You really feel the weight of these monsters and mechs as they fight and do damage. The controls are pretty simple. There's eight total fighters with your typical Street Fighter II stuff, but once you get the timing down, you can pull off all kinds of crazy combos, which is always fun. There's a bar at the bottom that fills up as you fight. If you trigger it at the right time, you'll power up, and you can increase your power up to three times. One touch I like is that if both you and your opponent try and throw each other at the same time, it becomes a test of strength. So if you've triggered your power-ups appropriately, you should win every time. I just thought that was always kind of a nice touch. If this game looks familiar, it's because the developer, NatSume, later went on to use the same game engine for another licensed game, Gundam Wing Endless Dual. So if you like that game, you'll enjoy its predecessor as well.  It's that simple. Last, we have Power Rangers Zeo Battle Racing. Not to be confused with the Super Famicom game titled Battle Racers. This is different. This is a combat racing game where you choose between eight different characters that each have their own vehicle, ranging from the quicker motorcycles to the sturdier race cars to the damage-dealing fighter vehicles. There's a one-player circuit and two-player racing, as well as a battle mode, which is pretty good if you're looking for a cheaper alternative to stuff like Mario Kart and Street Racer. There's your typical ramps and speed boosts and a total of 16 tracks.  But there's really nothing else that's all that unique or interesting here. Plus, this is one of those games where, even in single-player mode, you're racing in split-screen with the rear view at the bottom, so that's a bummer.  Anyway, that's all for now. I want to thank you for watching, and I hope you have a great rest of your day.


This study found that presbyopic patients spend most of their time engaged in intermediate and near-vision tasks, with a significant amount of time also spent on activities under photopic and mesopic lighting conditions. Additionally, the amount of time spent on digital screens varied greatly between individuals. These findings suggest that presbyopic patients may benefit from customized optical solutions that provide them with better visual performance in these environments. This article was authored by Filomena Ribeo, Tiago B. Ferreira, Diana Silva, and others.


COVID-19 is one of the biggest crises of our time. It has impacted every single one of us, shaken our social systems, and disrupted every sector of our economies. The automation of work combined with the global recession led workers to lose their jobs at an accelerated pace compared to previous years. And this trend is expected to continue. The ongoing shift in the division of labor between humans, machines, and algorithms might displace 85 million jobs worldwide in the next five years. While 97 million new roles, ones that are more adapted to this new task distribution, may emerge. By 2025, companies expect to displace roughly 6% of their total workforce. One in two workers will need reskilling, and those remaining in their current roles will need to update 40% of their skillset to adapt to the changing labor market. There is a way to collectively benefit from these challenging times. Decades of research have shown that the most valuable asset of any economy or company is its human capital. Around the globe, companies are already experiencing a shortage in relevant skills for future roles and are investing in reskilling and upskilling their workforce. By 2025, organizations say they will train over 70% of their employees to ensure they can smoothly transition into the jobs of tomorrow. These include DevOps engineers, artificial intelligence specialists, digital marketing managers, talent acquisition specialists, and customer success specialists. It will take on average between two weeks and five months for workers to pick up new skills, allowing them to move into these new roles. But data shows they won't need to have the perfect skillset to start transitioning. While two thirds of employers expect to get a return on investment in employees reskilling programs within just one year, governments will also need to step in to update and fund education and training systems and to ensure displaced workers have adequate safety nets. With purposeful leadership and collaboration, we can turn this global crisis into a unique opportunity to transition into a future of jobs that is inclusive, fair, and sustainable.


In the African-American context, the largest kind of pseudo-Muslim movement was the nation of Islam. The members of the nation of Islam, they referred to the period of Elijah Muhammad until the leadership of the man, Wadah al-Din Muhammad, as the first resurrection, where what they were taught wasn't really Islam. There was a lot of psychological upliftment, identity, building a positive identity. And so this was the first resurrection. And the second resurrection, Imam Wadah al-Din Muhammad in a development that is tremendously understudied. There should be myriad PhDs on the work of Imam Wadah al-Din Muhammad, because if we can accept that what the nation of Islam was teaching was not Islam, that W. D. Farad or Fard Muhammad appeared as a law in Detroit, Michigan in 1930 to bring Islam to the black man in America, that doesn't sound like Islamic belief. Before that, and Elijah Muhammad was the messenger of a law to the black man in America after the Prophet Sallallahu alaihi wa sallam, it had its place.  I'm trying to make a point. And that point is, and you know, the white race was grafted on the island of Patmos in the Mediterranean Sea by a big head black doctor named Dr. Yaqub. So if you can accept that's not Islam, per se, then Imam Wadah al-Din Muhammad bring half a million people out of that movement into Islam. And the nation of Islam hour fast is December because the days are short and cool. So it's a baby fast for a baby nation. Imam Wadah al-Din Muhammad brought the members of that, many of them, half a million into fasting Ramadan, half a million into La ilaha illallah Muhammad Rasulallah, half a million from praying like, facing the east and praying like this to putting a head on the ground and making prostration to Allah five times a day, the Salat as we know it. Make a change in the pilgrimage from Chicago, Illinois to attend Savior's Day to Mecca. So Imam Wadah al-Din Muhammad in my estimation orchestrated the greatest single act of mass conversion in human history within a couple of years. That's part of our history and that's something we should we should study and try to understand how did he do that. We appreciate it.


Okay, this is Bluetooth smells like chicken and I am Dominic Spell That's me. I am affiliated with Imperial College London, although they do not know that I'm here and So that's the email address in case you want to email me and ask me questions later And you don't get chance at the end of the the talk That's what I mean born and she's tough. I haven't actually tested this yet. Yeah. Yeah, I'm Mark I'm currently unemployed, so No, no affiliation thankfully and I have just finished my masters in computer science and this That was on Bluetooth And that's how I met Dominic and the others And I'm Mike. I I do wireless communication security research for the United States Department of Commerce at the Boulder labs in Colorado and Whoo-hoo. Yeah People's Republic of Boulder Okay And I'm required to tell you that the United States government has no official position on any of this and in general What we're describing today is some stuff that has worked for us and is not necessarily the best solution for any particular problem But we think it's cool stuff and we hope you will too And I guess I'm gonna get up to do that. So sniffing Is that better so sniffing Bluetooth is hard and That's it's why it's an intriguing problem for us. It is something we're trying to make easier Bluetooth as you guys all know is a personal area networking Technology that operates in the 2.4 gigahertz band and it is a frequency hopping spread spectrum system And it is this frequency hopping that is the principal reason that sniffing is hard There are a lot of different spread spectrum techniques like 802.11 for example uses spread spectrum but The particular type that Bluetooth uses is frequency hopping where it just operates on one Relatively narrow band at a time and then jumps around all these different bands It jumps around through 79 channels. Each channel is one megahertz wide and For reference it so basically we have this 79 megahertz band that's carved up into one megahertz chunk and 802.11 B and G Operate in 20 megahertz bands So they sort of spread out their entire in a single packet spreads out across 20 megahertz and and Uses all of that at once But what Bluetooth does is it just uses one megahertz at once, but it jumps around across About four times as much bandwidth as 802.11 does so a radio that can receive 802.11 traffic Only has to be able to process and receive 20 megahertz of bandwidth a radio that that Receives Bluetooth has to either hop around or it has to receive all 79 channels Which is a lot of bandwidth and difficult to deal with The frequency hopping happens 1,600 times per second in most situations and basically Every 625 microseconds the a new packet slot occurs and that packet that entire packet Goes all on one packet. Sorry on one channel and then the next time there's a packet which maybe As soon as 625 microseconds later it selects a new channel Now there is a clock. That's just a free-running counter in every Bluetooth device it's just a counter that up that increments 3,200 times per second and The the hops happen on every other clock cycle The master device in a Bluetooth Pico net provides the clock for the entire Pico net So when you have say a Bluetooth headset connected to a Bluetooth cell phone generally the cell phone would be the master and the headset would be the slave and The once they've synchronized and they're connected into the RRP Kona And at that point they're both using the same hopping sequence because they're both synchronized to the master's clock They're also synchronized to the master's address. The BD 80 dr is Called is the Bluetooth device address and it's a Mac address Every Bluetooth device has one of these assigned and it's it's carved up into multiple sections the the NAP is Called the non-significant address part, which is a little weird because it's the most significant bits but But it's non-significant in other ways In fact, most of the work that we've been doing we've been kind of ignoring the NAP until very recently Because you can do pretty much all the stuff that we're doing Just with knowledge of the LAP and the UAP the hopping sequence is derived from the master's LAP and UAP But not the NAP so the NAP is non-significant for the purposes of a lot of stuff The UAP is the upper address part and the LAP is a lower address part. So the that's just the You know the different portions of the Mac address and the LAP is transmitted I don't need to go into this Yeah, you'll cover that All right, so you want to sniff Bluetooth traffic and with 802.11 You just throw your cards and whichever card you've got into monitor mode or promiscuous mode and Anything on that channel you grab but as Mike said You can't do that with Bluetooth because it's frequency hopping and you need to know which channel you need to be on So the options are hop around and somehow work out how you hop or Capture everything with really wide band hardware that's expensive We we pick the second option because expensive hardware is cool There are there are basically three three devices that you can use there's a protocol analyzer that's about ten thousand dollars It's made by a company who I won't mention right now But that is great for Debugging Bluetooth devices if you've got if you're building a Bluetooth device and it's not working as you think then their product is Fantastic for for what it does, but it's not going to sniff arbitrary traffic from anyone in the area or anything like that It's it's designed for a very specific set of conditions Then there's there's Bluetooth dongles like I mean I assume most people in this room have a Bluetooth device of some sort Otherwise, what the hell are you doing here? They're about ten dollars. You've all seen them. We've got a holo plugged in here. They're USB. They're that big they're all of place and It'll be really great to be able to use them, but they're designed to implement Bluetooth They're not designed to be really wide band They're designed to actually do this hopping that we're talking about So you have to get in them and do all this stuff which mark will talk about later And then there's the the usrp, which is this box at the front Just hold it up. I don't know if anyone's seen one before it's a software to find radio and it's about thousand bucks So you only use the protocol analyzer for sniffing traffic you can either buy it or you can steal it But neither of those are particularly great for for being legal or cheap Which is my preferred method I've already discussed what else it does The Bluetooth devices they're designed to go on one channel. They have this custom firmware. It's a custom CPU in there You really don't want to get into it You can vouch for that software radio Usrp gives us eight megahertz of bandwidth now That's obviously significantly less than the 80 but it's a start So we might got to do something with this and the usrp 2 which came out midway through this work Gives us significantly more and we've incorporated that into what we do But we have to do all our signal processing in software So we don't have a device that we can just tune to a channel and listen We have to do some some serious post-processing on that and that's where this project comes in So one of sniffer single channel. Let's see if we can get some data as devices hot past All right, this is a Bluetooth packet in an oscilloscope. It took me Months six months to find that I spent what I thought was about a month sniffing my own CPU clock, which was 2.4 gigahertz And just an example of how bad at signal processing. I really am I discovered that it wasn't my CPU clock Only what three hours ago and we discovered I was actually sniffing the internal clock of the device I was using to sniff Yeah, that is epic fail But we can get the packet and so then we we have to look at how the packets are formed and this is all given to us in The Bluetooth spec which you can go and download from the special interest group and it's divided into three parts There's an access code at the beginning which lets you Know it's kind of like the the packet header header It lets you know there's a packet coming and it tells you which channel it's on and Which device it's come from or going to then there's a header which contains all the standard stuff you'd expect in a packet header And then there's a payload which carries your data The access code is derived from a 6430 bch code from the LAP which basically means it's an error check on the LAP and Just for good measure. They stuff the LAP in there as well So you don't really have to perform the error check unless you are worried about noise So we can capture a single packet and grab the lower address part as you saw before. That's half your MAC address so Devices in non-scoverable mode don't respond to inquiries But all you need is this MAC address to to talk to them So we've got half of it with one single packet and As you can probably expect all your devices are transmitting stuff all the time They are not quite devices. They don't go to sleep properly So so the next thing we want let's keep working up the MAC address We have the UAP The UAP is a single byte. It's the third or fourth byte depending which direction you go It's not simple. It's not given to us in the packet We don't just we don't just read it out but it is used to initialize the check sums in the packet and There are two check sums in some packets and only one enough is but there's a checks on a header and there's a check on the payload and The UAP happens to be used to initialize both of these check sums So we might be able to do something to retrieve it from these check sums There's an added complication and this is that the Bluetooth packets are what they call whitened and this means that they're Exiled with a pseudo random stream of data to present prevent They said to prevent DC offset at the transmitter Which is not a term I strictly understand But it's something we've got to overcome so You don't have to understand it to break it So that's that's that's pseudo random sequence is ceded by the current clock value at time of transmitting the packet There has been an almost an epidemic outbreak of the stupid over the last 24 hours You you need to police yourselves You are not 13 anymore.  Sorry Whitening.  Okay, so we take the the six bits of the clock Or six of the bits of the clock there are it's a 27 bit clock loops every 24 hours So we take the lower six bits and we unmoisten now as you may expect We don't know the MAC address of advice. It's a fair chance. We don't know what its internal CPU clock value is so What we do is we just brute force it. It's only 64 combinations. It's going to be fairly straightforward and Then there's some forward error correction, but actually helps us eliminate the noise. So that's great for us So we do the whole thing in reverse. We take those 64 candle at clock values We Unwiten the packet and then we reverse the checksum process and we just run the algorithm in reverse and That gets us out 64 candidate UAPs and it turns out for some bizarre reason it gets us 16 16 candidate UAPs the same 16 candidate UAPs four times and for every packet with that UAP It will get us the same set of 16 candidate UAPs Which is slightly annoying? but not fatal so then we go on and we go through the payload and we reverse the payload checksum and The great thing about that is that it's actually a two-byte checksum So we have a byte of zero and a byte of the UAP so we can be fairly sure when that's unwitened and there's a one in a really big number chance that will get a collision and It's a one in a really big number chance, but it happens. I've seen it happen Hopefully it won't happen during the demo He says jinxing it So hopefully out of that we get a single UAP and I think we're going to give that a try So do you want to run the demo and I'll talk about it? Okay? I will just talk you through what Mike's doing. I Could see it okay So we're basically looking for the UAP by checking the CRC on both the header and the payload and we're doing it This is what happens when you try live demos Sorry Okay Okay, so yeah, that was actually the demo of the the next fantastic thing We're able to do but let's let's start off here if we scroll back up Do you want to just highlight it with the mouse where it found the okay, so just just like this so we went through six packets and Does that make it more readable for everybody? Okay, excellent. We went through six packets and on the first packet We managed to drop from 64 to 54 candidate UAPs and candidate clock values And then we kept reducing that for five more packets and at one point We got a CRC confirmation and so we found out that given that we already know the LAP of our mobile phone the UAP of mobile phone is zero X AF Own it at well and in this particular case We weren't lucky enough to get a packet that had a CRC a payload CRC Not all plac packets have them only certain packet types And so the method that he was talking about in the slide was saying well, you know, we try we try a value We try a clock value We try a UAP and we see if it works and we see if we get a CRC hit and if we do great now we have a pretty definitive answer But in this case, we never got a CRC We never got a payload that actually had a CRC and so we were still able to determine the the UAP not through CRC checks Which would have done it in one packet that has CRC in this case We did it with six packets that don't have CRCs But we were able to measure the relative timing between the packets and so we could narrow down the clock values Because you know if the clock value of one is such and such then x microseconds later The clock value is going to be such and such right so it gives us the ability to take multiple packets and run these checks And narrow it down within a handful of packets rather than just one that we if we were lucky enough to get a CRC right so the the correlation between a candidate UAP and the clock value for the whitening actually gives us the Extra information to be able to do that. So the whitening actually helps us to break it Which one's the Okay, so now we have an LAP and a UAP What can we do? Well, we can sniff packets That's all we need to Grab the packets Verify that the checksums are correct because we use them to find the UAP in the first place So we can use the UAP to find the checksums and we can get six bits of the clock Which is part of the way there, but there's still another 21 bits to go And that's quite a lot to brute force, but as you probably saw from the demo already We were able to get that So if we scroll down in this what you'll notice is that we were able to retrieve the clock value by doing exactly the same thing finding packets measuring the time gaps between them and just Finding a place that fits into the pseudo random helping sequence. Okay We're gonna trade up here and let Dominic see if he can have more success at the demos than I am Than I had we want to show you something that we just learned about the other day the One of the things you can do when you know a MAC address is actually connect to a device and do something like an L2 ping Which is what Dominic's about to do here. He's got a couple of different dongles plugged into Plugged into this laptop and he's using one of them to ping the other one. So he's doing an over-the-air L2 ping It's just a really easy Way to verify connectivity between the two Bluetooth devices and if you know the MAC address you can do this but Josh Wright noticed recently That That you can do this even if you have the wrong Nonsignificant address part check this out. Okay, so now we're pinging an incorrect MAC address You can put garbage in those first two octets of the MAC address there And it doesn't matter because at this layer at this part of the protocol the NAP is non-significant. It's completely ignored So this is kind of interesting because it means that all the work that we've done to figure out what the UAP is It kind of doesn't matter anymore because because you can just brute-force it There are only once you know the LAP there were only 256 UAPs that you have to try right because it doesn't matter what you type in as the NAP and This is the kind of stuff you can learn if you take Josh right out for sushi and But we still like our techniques because our techniques are our way to accomplish the same thing completely passively And relatively quickly like in a few packets that happen in say a few milliseconds Versus a brute force that At least using the command line tools a brute force that I'd ran took like 90 minutes It should be possible to speed that way up But it's it's slower and it's an active attack. And of course, it's nice sometimes to be able to do passive stuff okay, so We would like so far everything we've been showing you is Just using a single channel. We have the we have the usrp up here tuned to one particular channel of the 79 and That allows us to get some packets, which is great it gives us kind of a survey of the traffic that's in the area and That and that's very helpful. It lets us discover the LAP is there. It lets us discover the UAPs But it sure would be nice if we could actually get More traffic and preferably all the traffic that's out there on a particular picot net for example So the most straightforward way to do that to extend to several channels is just to run our Run our tool many times If we take the input from the usrp Dominic mentioned that it that we get eight megahertz of bandwidth we can take that same eight megahertz of input and demultiplex it by just running it through our code eight times with the different down conversion frequency and that allows us to in software tune to those eight different channels and we can run eight separate decode decoding threads playing in and Away we go That technique does work It lets us get eight channels at a time with the usrp. It also lets us get 25 channels at a time with the usrp Too, that's a pretty good chunk of channels Can we get all 79? Well, we could if you happen to have a pile of these things If you have four usrp twos or 10 usrp's you could theoretically do this but realize you're dealing with an incredible amount of Very high bit rate of Stuff data that's coming from the device the usrp or the usrp2 to your host computers And you are going to be you are going to need multiple hosts to be able to do this Roughly speaking we're we get a little better than this but roughly speaking we can decode one channel per CPU core Okay, so in this laptop here that has two CPU cores. I can do this and I can download I can Decode two channels in real time Simultaneously, but if I go more than two channels if I try to do eight for example I start not keeping up with the traffic and so I can't do it in real time. I can post process I can save the raw waveform to file and then slowly post process later and decode all eight channels But if you want to do it in real time You need to have you know in the neighborhood of 79 CPU cores and you need You need a lot of throughput for your your USB buses gigabit ethernet buses in the case of the usrp2 And so forth your favorite slide. Oh, I love this slide So we gave a presentation on this at schmooch on and a question at the end was hey, there's an FPGA on board Why don't you use the FPGA to demodulate the channels and I said that's a great idea. I'll do that Thank you Tony is clapping because he knows the progress of my work This slide is the entire progress of my work Eight yeah, there's a on the USB usrp2 There is a huge FPGA that there's loads of stuff that can be done and there's some guys on Thursday giving a Whole workshop on FPGA design and if they want to get their hands on the usrp2 and do it that would be fantastic But FPGA design is not something I appear to be good at In fact, I appear to be less than good at it and There's also debate as to whether we can before you demodulate you have to filter And there's some debate as to whether we can get the filtering and demodulation to all take place for all 79 channels in the single FPGA and and if we can't do that then It's sort of pointless to do it because we have some techniques that are slightly more intelligent now So it is something we thought about and we're working on please at the end Don't ask about FPGA demodulation because I'll just curl up into a ball and cry Okay, so earlier you may have seen that we I jumped ahead a little bit and I was talking about getting the clock The clock value is used as input to this frequency hopping. So as we hop frequency we We work out which channel we're going to use next by using the UAP Yeah, let's get one By using the UAP the LAP and the current clock value and It's not linear. It is all over the place there. There are some characteristics to it It windows and shifts the window jumps about inside as small band and then and then shifts that band But but in general it's we have the algorithm. So we thought what we do is Take the UAP and LAP that we know generate the entire clock hopping pattern, which is about 24 hours long and Then time the gaps between packets and Work out where in that hopping pattern we are and therefore which clock value we've got by the gaps between the packets and Back at the envelope calculation. I decided this would take five or six packets and in practice It takes a little bit more And in fact the entire discussion surrounding this is how I met Mike and how we got on to doing it Do we want to demo this or are we gonna? Okay, we'll demo it later So ignore that slide So we're gonna combine two demos in one here to save time and give mark a chance to talk the One of the things we'd really like to do is to be able to sniff all 79 channels at once and As we've shown you we have a hard time doing that But there's a trick that we use that allows us to do just that And and what we do is intentional aliasing So those of you who know something about signal processing Probably see this slide and say ah, that's how they do it And I've in the past sometimes explained in gory detail how this works, but I'm gonna skip straight to the The the function exactly the mechanics of what we do Instead of just boring you with all the theory What we do is we have an antenna in the upper Left-hand corner of this diagram. We have an antenna plugged into this daughter board in the usrp2 It's called the RFX 400 2400 and in that daughter board The the signal path goes through an ISM band pass filter This is just a band pass filter that's specially designed for the 24 2.4 gigahertz ISM band right and then it's down converted To baseband so a signal in the neighborhood of 2.4 gigahertz is now in the neighborhood of zero Hertz And then it's low-pass filtered which which is this triangle empty triangle. That's a anti aliasing filter that prevents Different frequencies from clobbering each other in the digital domain And so that happens right before the path goes to the ADC the analog to digital converter Which converts the analog signal into the digital signal and then passes digital signal to the FPGA now The FPGA has to actually down sample or decimate It has to throw out a lot of samples because there are too many to spit over the gigabit ethernet bus The ethernet is not fast enough So it has to throw out a lot of the samples at the ADC gives it and at that point it has the opportunity to introduce more aliases and generally speaking when you're when you're developing a Software radio sort of device You always have these anti aliasing filters here We have to one of them's in hardware on the the RFX 2400 daughter board the other one is actually on the FPGA So one of them's analog one of them's digital, but they're both doing anti aliasing filtering that prevents disparate Frequencies are sorry signals on disparate frequencies from ending up layered on top of each other in the digital domain and Usually you don't want that you don't want those aliases layered layered on top of each other because it creates more interference And when you're trying to decode stuff, but what we do is We remove we bypass the low-pass anti aliasing filter on the daughter board and We modify the FPGA so that it's not doing its anti aliasing filtering either We leave the ISM band filter intact on the daughter board because that gives us only the aliases that we want only the only the ones that are between 2.4 and 2.483 gigahertz and That encompasses quite nicely our 79 channels So we leave that intact so that we don't get aliases. We don't want but we do get aliases that we do want we get 25 megahertz of bandwidth Kind of we get 25 contiguous channels layered on top of the next 25 contiguous channels layered on top of the next 25 contiguous channels and it allows us to decode packets That that are on all these different channels now one of the things That the reason that people usually don't do intentional aliasing is because if you have two packets or two signals on two different channels that are aliases of each other and they happen at the same time Then they clobber each other and you don't and you lose the ability to decode it But we're lucky because in Bluetooth the target network is only transmitting one packet at a time right, so it's only you transmitting on one of those aliases and We don't end up with That that problem of aliases clobbering each other So as long as there isn't too much noise interference because this technique does Amplify the effects of noise interference as long as there isn't too much noise interference This allows us to sniff all the channels of a of a single picot net and If we use the techniques that we talked about to recover the clock and figure out which channel They're to expect a packet on at a particular time Then we only have to use the do the work in their CPU of decoding one channel at a time Even though we're getting 25 channels of bandwidth which is multiplied by the aliasing So really in start from our CPUs perspective world. We only have to decode one at a time and we Figure out but by aliasing Which channel we're gonna look at so let me give you a little demo I'm gonna kind of cheat on this one and do a Demo, this is actually a waveform instead of doing this live I'm gonna use a waveform that was captured So this is just the raw data that was coming from the US RP2 at tour camp actually one of our fellow campers had a we moat and so we were just sniffing the traffic that it was producing and So I'm gonna run this And you'll notice that it found the UAP really quickly because there was a CRC. Hey, that was good And now it's trying to figure out and it's going through all 25 Channels each of which is alias to three or four channels in real life And notice it keeps trying to calculate the hopping sequence and it keeps failing and Restarting and failing and restarting this happens sometimes for a variety of reasons some of which are my fault. I'm sure and the But sooner or later, it's going to acquire the clock and at that point It's going to stop being slow here It is it just got the clock and now it's spitting out packets and notice that it's it's telling you what the clock Value is and it's telling you what channel a Packet occurred on and it's spitting out packets at a pretty high rate actually the we moat in this particular example was Not working correctly. It was like they I don't know he was trying to get him connected to each other but he wasn't actually getting the accelerometer data streaming very rapidly so Overall we have kind of sparse packets But we're getting a lot of packets and they're on the channels we expect them and they're at the times We expect them and once we're to this phase where we're actually decoding stuff And that's the end of the sample when we're actually decoding stuff Like this we're only having to deal with one channel at a time And so it's fast and we can actually do this in real time We're not in real time during that initial period where we're discovering the UAP in the clock But once we have the UAP in the clock we can catch up and do the rest in real time right, so Yeah, as I said, I met Dominic As part of my master's project which was investigating whether there was another way of of doing this because as As I've mentioned, it's it's quite a lot of work to To sniff Bluetooth the There's the demodulation. There's the the aliasing. There's the the large amount of processing required and It seemed that the the thing you really want is a Bluetooth device because they they already have all the all the hardware there There are So we targeted a large manufacturer of Bluetooth devices This is the one who Also create the protocol analyzer that Dominic mentioned earlier and the Protocol analyzer was actually the one that Max Moser a couple of years ago Managed to get running on his own personal Bluetooth device Using a just using the firmware So Yeah, basically they it's CSR they've built a quite a A nice platform for Bluetooth they've it's a soft core For the for the hardware and then there's Firmware on top of that and then on top of that there is a VM So it's it's designed to be extensible at every level and so the The the Bluetooth sniffer protocol analyzer Just updates the firmware and can Can listen to anything that When you have the lap This is this is the con the The layers of Bluetooth. We're actually ideally we're looking for the radio layer, which is what Dominic's done But the the stuff on chip includes the Link manager layer, which is Excuse me Yeah, basically of the all the all the setting up of communications and links and so on is is done on chip And so there are different layers that it Built into the firmware So the the chip itself every Bluetooth chip has sort of the complexity of about two eight six and and it's got a this one in particular has a 16 megahertz processor as well The yeah, so the firmware firmware does the the the link layer and the Mac layer And everything else is done in hardware As mentioned Everybody finds Bluetooth hard, so there's a lot of testing built-in the Bluetooth Bluetooth they had to organize unplug fests for In order to get once they once they done released all the spec In order to get everything to work Because there are there are parts of spec that aren't really Very well-defined And so there it makes sense to put in a lot of places for testing however There there isn't a simple, you know, just read off the read off the air Test mode in any of in any of the test suites. This is probably on purpose because because of FCC certification and so on and and because Yeah, they don't they don't want people sniffing Bluetooth So the the Bluetooth device comes with Various internal tests as well which are not documented But looking at the the firmware you can work out what's going on The my Dominic and my supervisor had actually built a an assembler and disassembler So it was simply a matter of looking through finding the and and and you know finding the tests and working out what they do One of the tests which is particularly interesting is one that is basically just calls mem copy So you can You can get your own code to run on these little computers Just by just by of writing overwriting the return address on the stack and It turns out that there is also an area presumably for flashing of memory that Allow that allows you to run to put code in RAM and then execute from that so I think I can Do a little demo of that if Yeah, so basically you write the code you want into Into this area of memory overflow the stack and you can Say call malloc or something on the chip You can also have a poke around at the internal settings, so there's For instance, that is the page table of the device and Some of these some of these Pages are up for particular areas, so there's there's one that's specifically for Testing one specifically for sending information one for receiving There are various areas for Link management and so on and you can actually watch The information going through This is the This is I think this is Linux doing a Some kind of every now and then ping of some kind But Yeah, there's a there is also a lot of a lot of code in the firmware Which helps a lot with working out what's what's going on And these are all Used to implement the quite complex Bluetooth virtual computer But we don't actually want any of that all we want really is the is the baseband and the code and Looking at it there are there is some it's quite well quite well equipped. There's there's an ADC It's got a USB controller And it uses DMA to send information over the USB bus And then there's of course the the page table which deals with circular buffers So there's there's everything in there to write Without using libraries to to receive using the ADC the problem is the ADC doesn't actually Isn't very useful it only gives you one bit and it takes a microsecond to get that one bit and the symbol rate of Bluetooth is one symbol per microsecond so you You'd need 16 of these devices in order to to just get The normal sorry eight of these devices to get the normal bit rate However in a particular mode Um, sorry in a particular mode it it opens up a memory map register which Conveniently some for some reason there's it's never used, but there's A sample of the demodulated data and this is just Happily sitting there spewing it out at this particular address So what you have to do is read all that information into a buffer Send it back over USB And then when the ADC says that there isn't a signal just stop The original the original plan was to send back information continually, but That doesn't work because of the the DMA controller Completely ruins the timing Um Yeah, so um, I'm just gonna try As with all demos, it's worth noting. This is Defcon and therefore none of them work properly That's why we just ran our aliasing one from file because As we said with that one noise interferes and well you're in like one of the electronically noisiest places, so If we can't get this running straight off, we'll we'll try and keep trying in the breakout room Which I think is room 106 in a couple of minutes so what he's doing right now is generating some test traffic between a couple of Bluetooth devices and and then he's executing his code on the Bluetooth dongle and Retrieving that baseband demodulated data on a single channel and dumping it to a file as Dominic mentioned This device is not working at the moment Mm-hmm It may come up. It has a habit of waiting about 15 seconds, but Yeah, basically The the code that that's running on there at the moment sends it back directly over USB and it occasionally confuses Linux Oh, they're both working now. Let's just give that another go So this is the sync which is receiving everything over USB We'll make the other device send some information and This should now start sampling the data and this information this data can can plug Yeah, this this Sample stream can go straight into everything that Dominic and Mike have done Yeah, yeah, so we're actually able to use the GNU radio libraries to do clock recovery and Bits slicing and then just pass this in as if it came from the US RP So the software just doesn't well the idea is the software doesn't care what kind of device you sniff the traffic with Whether it's the $2,000 US RP to or just a Whole load of USB hubs and 79 different Bluetooth dongles And what's actually on screen now is the raw waveform that was collected from the from the dongle But it is demodulated. Yeah, that's right. It's demodulated. It's it's been run through the demodulator But it hasn't been run through the decoder yet. So It's it's something that we can take and plug into the software that Dominic and I have written and actually extract packets from so yeah, just just Just here is the beginning of the Bluetooth packet and then this all of the rest here if if you plug it in will will Will give a Bluetooth packet and the Right, so the significant advantage of this is that it only costs $2 instead of a thousand It doesn't have The advantage of the US RP of being able to sit sniff all 80 channels at a time but in order to do that all you really need is 79 dongles And a lot of USB hubs if you'd like to pass your dongles and USB hubs to the front Give it a try and then of course the fact that Bluetooth is only transmitting on one channel at a time helps Because again the the 80 Devices sending back information of USB wouldn't work But actually sniffing on one channel seems to work well enough The randomness means that it if you if you listen on one particular frequency you You get you get even proportion of packets Yeah Really really quickly because I've got about 30 seconds left the security implications are non-scover mode doesn't exist Did they're lying? feel free to argue with me on this one, but By all means if you've got your Bluetooth devices in non-scover mode just turn Bluetooth off. It's using on the battery anyway It's not worth it. It does open the door for active attacks, which we haven't done yet, but that's the plan at least at some point And we have made some interesting observations regarding encryption, which we will Have to detail next year at Defcon So we'll be in the breakout room 106. Yeah, we'll be in 106 Anyone wants to we'll try and get that demo working all those demos working properly and we'll take questions and answers in there But that's the address of the code if you want it


I'm a spark. You know what? Oh, I forgot he could do that. How's it going everybody? Dato do I hear back with some more dragon ball fighters ranked matches? And I think today is going to be the day hopefully anyway if you look at our BP We are well on our way to Ultra Instinct sign only a few more points to go and you're like well in your last video You were still a hundred thousand away. What happened five hours of me grinding happen. I Really hope I don't lose. I'm not joking. It's been five hours This is still real time by the way for me. It's been five hours and now I'm recording this video I got close enough. He's standing there All right, and also I've been rage-quin on at least three times during this five-hour session. So You know, I ain't been the best of the 2h. Hey, we're in there Broly with the big starter by the way This is the team we have been using for the full time. You could consider this my main team Broly is just that that cheap. This is the team I played at Evo for the most part except Krillin was Goku at the time But now that Krillin has been assist. He has made it back on the main team. I'm yeah, that's not gonna give me the knockdown though. I Can't believe all we eat the key blast Wow, we also got really lucky there with the hip box, but whatever and please let me get go on Yes, we are not close enough to the ground to meet You know, I had a little bit of armor there, too So I actually got the first kick free. That was the free trial edition. Don't kick me. Stop. What am I mashing for? I'm a spark. You know what? Oh I forgot he could do that. I forgot Super Dash in the air is not smart against Team Gohan meaning Please don't know DP. Can you kill here? Now he doesn't have a level one.  I the thing is I was cold-hearted during these During those trying five hours You best believe I was not talking. I didn't crack a smile. It was business Now I think it because I'm talking I'm human again. I'm scared. I Can't play scared though Krillin has to go in dude, I Don't even know how many games more it'll probably be at this level me I don't even think we're gonna game that much.   Please sit in that corner and please please don't DP. Thank you. All right, Broly combo It's time now the 2M version does do more damage, but this is online and I'm not trying to miss Even in the heat of battle. I'm trying not to miss. Okay. Hold on. Wait. Is this death? Yeah, that's death Wait, no, it's not it's not hold them down Krillin No, I that hasn't happened in the five hours. That was the first time that mistake has happened. It's unique Let's go Destroy through disc. Nice. Okay game one. Let's check the beat BP readings. How many more games are we looking at? It's gonna come out to a smooth 1000 not bad actually, but do we get a rematch? Nice. Oh, this is Super Saiyan blue actually never mind Super Saiyan Gods are yeah I get I still get match with Super Saiyan Gods So if you are a Super Saiyan God, don't worry and you get been getting match up with Pritu is it's uh It's happening to everybody dude.   He was flying there Early C assist help me. Oh, he actually punished my dragon rush and Get out of the skies To each oh that felt good My senses are enhanced by the five hours spent playing fighters No, my hands don't feel alright. Oh My god, this video has everything right I got a dude This is the most intense I've ever been and it doesn't even necessarily match the gameplay. Oh Man five I'm still not over the time dude. Come here. Oh That connected I love to see it. Maybe we get Krillin out here. Oh big mistake. I thought he was laying in the beam I'm just gonna mash I Thought he'd be No DP though. We do have three bars. So Yeah, I wouldn't kill me. Oh, that's a game. That's game Please hit.  Okay, that's two games in a row. Oh My goodness somebody by the way Somebody check my last video and then check how the match count like at the beginning of the game How many matches did I play off-screen because I didn't play in between that last video and not grinding So however many games there are that's how many I played today All right, barrier up. We're gonna set up the safe jump works out like a charm Gohan's gonna be put back in the blender except I missed except I missed I'm out of here, dude. I'm too afraid All right, now Gohan's gonna get put black in the blood Imagine going corner to corner and get and put back in the same situation Whole new world the same same day today wrap nice I don't even know what kind of trunks mix up that was But I've played against my fair fair share of trunks. So you're gonna have to bring something to the table Back in the blender, you know, let's go for the two inversion Well, that's I'm I did hit the 2m, but I back in the blender to inversion Nope see I suck at it.  We're just cruising. This is this is a the video the video portion of this video was all Be gone. He's down. He's definitely blocking hit him. Hit him really. Oh Oh, I didn't even see the green through the green. Let's go All right, and then we're gonna come crashing down a little bit of this Little bit of this Take it away Krillin do what you got to do buddy. We're going in don't rage quit now I'm on top of the work Yeah, yes He's coming He's coming Play my theme music It's over, dude. Well, let's talk about the journey That went really quickly in my head. That was like a 19 minute game All right, so ultra instinct sign. We finally hit it. Is this the cool? I don't think ultra instinct Goku did much of Mitch talking after his initial transformation, but man What a ride it's been Obviously this was spurred on by the race to get ultra instinct before ultra instinct came out kind of a little friendly cut That's who it shouldn't hit that was godlike And we both made it Ultra instinct Goku will be coming out soon Hopefully and I can't wait to play ranked games with them do a whole week of ranked with ultra instinct Goku As an ultra instinct sign. Hopefully we don't lose the rank But honestly, I guess that gives me time to talk about this with you guys At this point ranks and fighters don't mean much. We can always go check But we are running out of people to play with and ranking up At this stage is so hard. Like you could still do the grind method, I guess I guess theoretically I could go up maybe one or two more ranks if I just constantly grinded Uh, but I don't know. Let me know if you guys are still interested in and seeing that intentional grind But I think we might be looking at another Super Saiyan Rose period Where we just kind of take a break play some ranked games for the thrill of competing Uh and just take it slow And now that might just be me saying this because I'm so tired So maybe my maybe my urge to keep going will come back But who knows at this point. I'm pretty happy with where we are Uh And uh, I'll be honest. I as I'm talking about it more. I kind of want to get to god of destruction Which would be 400 more thousand points Oh my god I don't even know if that would be worth it But you can let me know that down below and by the way this commentary is still live I get a lot of comments about this, but yes, I am currently playing watch this reflect reflect reflect I said that before it happened, but Yeah, I get a lot of comments on this this kind of turn into a Q&A video, huh? Well, I'm just I'm just getting out of here By the way, shout out to this guy man. I I love when people State a plague so they can just like uh learn they don't they don't leave after their losses Granted that might be a little bit of the bias coming through because I was able to rank up leave this defense He could drag and rush me right now. I wouldn't even flinch. He could try. I mean, I'm just gonna stay in here and block all day So, I mean he could I I I try to talk myself up that whole time, but I did not expect him to do a medium into a drag rush Don't don't drag and rush me again.  No, I'm gonna drag Wait, am I gonna lose am I gonna lose was I taking this too comfortably big bang attack No, okay All right, well then I'm gonna be getting out of here. Let's go Nice, I think I want to do one more I wish there was a way I could get you to ask I wish I could answer questions because I feel like this would be the perfect time for like a Q&A or something One more time. I agree man. Let's make this the last one Let us part ways after this. Don't you He's gonna beat that living snot out of me, isn't it? He knows my patterns now No dps. Okay, never mind. We might be still we might be good. I can mix it up a little I think I'm gonna record another video after this just because I have too much energy in me too much fighters All right get down Give up corner go. Oh, no Why did I do that? Guard cancel guard canceling by the way has been so clutched today Such a good mechanic that uh, you know, it'll get you punished if you use it wrong But when people over commit guard cancel is a lifesaver, dude By the way, I've also been early sparking a lot. I guess I'll just talk about the stuff I'm doing that boom early spark just gets them just gets them off you right away Honestly, I think late spark is pretty bad. I think third character spark unless you're trunks or have a lot of health Um, I don't know. It's never been worth it to me Um Especially after season three middle spark is actually all right I've seen a lot of good middle spark usage Oh, nice. Hey, yo, this guy's this is what I talked about learning. Look at him. He might actually smoke me this round Uh, if he would have 2h me there, I would have given it all the way up that conversion that was sick. Okay, keep going Oh, yeah, just I'm just I'm just taking it one step at a time What's the mix overhead low overhead low 2h Oh Bring him down Broly. Oh, was that was that out of comp? No, I would have missed I cruel as out of company's trash, bro. I don't know anybody that uses that Oh Super dash yonk, just so good, dude Man, I'm so happy right now. I can't believe it's finally all over two piece. Oh, oh, yo. Oh, no, no That was sick Okay, come here I'm just gonna Oh, what are you doing?  Oh limit break. Don't That would have taken 80 percent. I think I that was what they used in the trailer for limit break They were like, yeah, if you land a raw level three Uh, just wipe your opponent off the face of the earth. Oh, that was sick All right. Well, that's a little late on the vanish, but it's still gave us gave it to us You're gonna waste all our bar for the final mix up here. Do we throw it? You know what? Let's finish it with an after image mix. Oh, I'm too far away to do that Tell me that wouldn't have been clean. Oh, I'm just spamming it now. I'm just I'm just uh, I'm looking like an idiot Boom solar flare And that's going to do it for the video getting to ultra instinct I can't thank you guys enough for sticking along along for the ride And I'm sorry if this video itself wasn't too exciting But it was such a huge milestone none the length one more time. Hey, you can't do that twice Uh, but yeah, I can't thank you guys enough for sticking with me, man It's been so much fun. We have hit ultra instinct I'm looking forward to doing more right matches and of course when ultra instinct goku comes out There will be tons of content on him here Uh, so make sure you're subscribed to stick around for that speaking of that Leave a like and subscribe to this channel down below if you do enjoy this video and the other videos And want to see more of them sometime soon. Other than that, you can check out some more videos on your screen right now And once again, thank you so much for watching this to the end I have been dots adoya and I will see you in the next one