Hello everybody and welcome to another hobby cheating video and today we're gonna talk about creating and painting lightning. This is a weird one but it's fun. This is a quick little tip. I'm starting with a very small gauge paper clip. I just bend it out into you know something more roughly straight so I get a little piece and we're gonna grab ourselves a pair of pliers and we're just gonna start creating interesting bends and notice that I rotate it in multiple directions so you get something that's not just it doesn't it shouldn't be bent along one axis like I'm flipping it around 90 degrees turning it so I get something that's really crooked and bent in a lot of interesting different shapes right switching directions falling back stuff like that you can cut a lot of different little pieces and cut different size pieces you don't need to really plan it out just grab yourself some little pliers and start putting some bends in some paper clips it's real easy and fast right and once you've got a good supply of these built up you just kind of keep them it could be a little lightning thing this is great for an effect jumping off of power swords or coming out of casters spellcasters hands or whatever now what I'll usually do is connect it between the weapon and something else but here I'm gonna show you how I just put it on a base to make some little lightning striking so I start by getting some gel glue and we're gonna touch that into the glue and then put on a little accelerant so it stays in one place now I'm gonna screw this up right away because I let it fall the first time I did that was and that was me not being patient you know be patient so I put on some new glue and then to da now we got a little bolt so generally the other end of that would be at a weapon or something and you'll see how I actually do it in just a moment and they take another piece and then the key is you want to try to line it up with the other piece there in some way so you put the two pieces together so that they're touching as I did right there and now you've got a little split bolt and so the key is you just make different sizes like those two were roughly the same size but if I was gonna do a whole thing I would cut another little piece maybe a tiny one attach it down at the bottom right whatever and now they're nice and strong you can pick those up you can see here this is a big model full of lightning some of that's already modeled on but I added extra bolts to him this is the big sitan guy he comes with lightning but he didn't have enough lightning for me I wanted more connections to the actual ground so I made I saw you can see where I maybe you can see I don't know but I added extra bolts to it so now we're just gonna paint it I'm gonna make this pink lightning because I'm a crazy person like that I think pink lightning looks cool like volcanic lightning volcanic ash lightning is pink so I actually start with some contrast magos or vulpus sorry vulpus pink and what I'm doing is just I'm gonna base coat that entire all the bolt with it if you're gonna do blue lightning just pick a nice blue color like a contrast paint something is real liquidy real inky something that flows really well because painting these fully round three-dimensional surfaces are really annoying because you will miss spots left and right so get a big brush get a bunch of paint on your brush something like a contrast or an ink is the perfect place to start you in blue start with a deeper blue if you're doing purple lightning start with a deep purple if you're doing pink lightning start with a nice deep pink like this okay but that's the point you just base coat the whole thing just get all the lightning that color easy peasy so then once I have all that lightning that color the key is we now need to make it actually look like lightning and to do that we're just gonna do some traditional layering and we're gonna focus those highlights in on the areas where the bolts come together or change direction or you know sort of have a or end so in other words you just need to pick areas to create contrast to go from light to dark so I'm just slowly integrating some pastel violet into my pink color my magenta that I'm using here and I'm just adding it adding it adding it adding it slowly layering up and building it brighter and brighter and brighter and once I get you know so we get those really really bright hot points that look near white where either there's multiple bolts touching or where the lightning ends or where there's a big sudden direction change in a break and that'll create this nice contrasting variance between super light and super dark once you've done a bunch that you just take a little bit of a magenta you work it down to a glaze or whatever your mate your original color was and you smooth out those blends that's really all there is to it lightning is super simple it's it's fun to paint and it creates a lot of instant contrast all over your model so it's it's really a great time that's it this is a real short one so I hope you enjoyed this if you did give it a like subscribe for additional hobby cheating in the future don't forget to hit that bell if you want notifications if you've got questions drop those down below but as always thank you for watching we'll see you next time


So, I decided to do a little bit of a round of round of round, but I did a little bit of a round of round, so that was huge. It was a great find, I think, for the lunch, and how well I enjoyed the kids. So, round of round, 100 people, some of my family, found me in 2005, and it's our 13th lucky year. So, that's great. Now, for the activity, it's my birthday, I guess, so we're all fine, we're all proud, and just have a wonderful team there with 20 people, and this is our 50th year. So, why are we here? Now, we want to make a free software block, that's our mission. We're here to do open source stuff, and to, if we're doing that, we're open. So, when you invest all your money, you can do just straight back into the new office, and open source software, by hiring developers, building a partner's business, and marketing, telling people about it, and more. And so, we'll line up, hire us, parents come in, and it does cost a lot. So, we push open source everywhere we go. So, when we're getting nervous, come out and do everything, devices everywhere, from mobile phones, to cars, to artificial intelligence, to augmented reality devices, all sorts of medical, imaging, modeling yourself, from Chromebooks, to images, crazy goggles, everywhere we're driving, and free software, pushing it out the stack, showing which. So, you work with all sorts of people, but productivity is perhaps more interesting. And, we do, just, I can give you some examples of some of my best ones. So, you work with AD, Fuson, of course, collaboration with Intel, and most of them are, but anything you do, because they have chips, have all these lovely threads, they're doing down the price of that thread just amazing. I won't talk about it in a minute. And, we work with them with the previous hardware that they have to make sure that your office runs excessively well and quiet. We also support products. So, we're using our MPP's new office on PCs, and they use a supported version of our office. And so, we're at the top of the Italian bank, so we have 20,000 seats in the bank. This is why we have a lot of time, so I think that you might buy something from me if you're in the bank. We also have a partner with a lot of people, about 100,000 partners also, and for any other, this is just an example, maybe it doesn't look like you're doing classification, but there's lots of people who have previous needs, the most secret. And that's, of course, increasingly popular in the whole world. So, you're going to have a partner with OEMs, like Adele, and take our software and re-bund it into their products and shipping. So, cool stuff. And we'll have to do that with partners. So, you plan on creating a palm-driven company. We prefer to help you succeed in your market, and to stand up for you, so you are credible. Even if you're an Indian and one person, you can stand up and have a way to collaborate with them. And that helps the sport. So, one of the problems I see about that is that you end up in this blame-gain situation. Whose fault is it? I give it back, and the clever man at the bank has got sourced all the people in his team to someone else. So, the system in the deep hardware went to HCL, and the guy there actually does the training, or he went to Accenture, and someone else went to a particular ground room, and everybody is pointing at each other and trying to kill each other, just sitting in the room. That's amazing, because I've experienced that a while ago, and this is actually how it really is. It's a problem with another software, you know? We will fix it for you. It's pretty easy to do that. And you go, what? That's my help, that's a special question. And they start arguing, no, no, no, no, it's pretty good software, you know? It's just amazing to see that blame-gain, worse than it could be. It could be us. So, yeah, anyway. So, it's exactly not like this. We sell it for our partners. So, it's possible you can buy it from a partner, and you have a single support channel, you buy from that partner, you have one set of proof, people work together in the end, and there's a single point of responsibility there. And it's not your problem. If you do all the progress, you have someone who will support you, and it's all their fault, and they will come and make it our fault, when it's served, when it's necessary. And of course, they see your main relationship of 55 countries, served by the other half of those partners, and they think it was just cool stuff. So, it was fun and exciting. So, I think the other thing is that we encourage people, as we get out there and say, it's part of us. We can help you do this well. We can support you.  We encourage people to invest in big office, and getting that out into the world, alongside this. So, it's sort of a multiplying, multiplying factor. And we most of all do that over those community members, who actually really know what they're doing, with the contributing project. So, we have all the partners, we do the students, of course, yeah, they're online on that, at least half of us on that. Are they going to support us as well? I think this one, in particular, by sort of highlighting that support thing, here's the team leading support partners, and he says, I mean, there are many things that sit down between what they say and what they say, and I forget to write them down. But in this year's vote, they always say, just because we're perfect in the vision, we can't ask people to say the same stuff. It just comes out that we need to have comparative support. So, that's kind of cool. Easy to deploy, which won't matter, you know, standing, standing among you. And, of course, other partners invest on time. So, we're thrilled to have Arara, Philly here, you know, let's say, doing cool stuff, just driving, you know, how to do our first day, and that share point by the business. And we see lots of people who have different, like, things down there. They don't want to, they should be like share point, you know. And so, we can do that, with Arara and Philly, making this, again, on the front of the center, some work there, to get this in there, into our first day. And we'll do that. So, we do several things. Sub-products, we also do consulting, and I'll just give you a few examples. That is e-parts, you know what I'm saying. Castle would know a lot of people who don't need it. They wanted e-parts supported. And they eager to get it done, and they wanted it to be treated, built, used to be, or delivered, sort of the new P.E.F. of the world, supposedly. And so, they got me a lot of issues, either as a way of doing this. I mentioned it, even before, they had a lot of loads of products. Great, powerful, wonderful bits of hardware. It's been great to actually use that on their account, since they're sitting there for a minute. You sit there for a minute, and they're like, well, yeah, perhaps it has to be fancy, right? So, it's like a new, new platform. This is not necessarily it. But it's probably, I think, even here, it's just getting affordable, affordable threads, that's not what we had until today's world. And it has to renew your build system. You know what I'm saying? It's going to build incredibly well. And so, if you get one, and you're not sure what that's all about, you can really come up with our calculation. We've done a huge amount of work to to not so much create traffic and new routes that make it really good to run on road bikes and improve the implementation of all of them. So, another thing, for example, for example, it's finally getting this nice, easy way to issue a job. So, we have another model, so customers don't like that, to tell you they're not going to buy this, but they love it. And this has, you can report this, it's going to be an external moment. And it's going to give us actually built-in work, even on a vehicle with a priority of 1 million to use on one race. And above that, it has to be something like that, return off as a six-sever, on gritty as per our office. You wait for the next C-4, on to confusion, and leave off the C. So, this is sort of the percentage of this, and it's about clients. So, people think that they ought to use to be promised a free, guaranteed people office. So, the problem is, frankly, there's not a new feature, there's not a new fix, and then you have something that isn't going to be new for office. It's something that is custom, and so on. And we can provide that for you, but when we grant it, and they still grant it, we give you all the fixes that everybody else offers, so you can have a nice roll-up button. And then you can post it, like, straight. And of course, you can talk to yourself, I'm a team of people, product features, I'm here, it's been a few thousand years in a way, I'm really good at it, so you can have your approach and you can plan for a four-month solid charge. If you really want your work fixed, really now, really now, you've got to give it a time. Then you can buy an SLA, but it won't be long, it's a few days. Of course, the promise you can fix in 10 minutes. Sometimes folks, they make sure on average, we need you to fix, but yeah, we will fix it for you fast. You can get an ETA built, and you can do it, and make sure it looks nice for you. And so we then provide fixed prices for that, so you can be comfortable and budget against that. You can estimate how much you have, and we'll fix anything, but for any root calls, but for flat costs. So I can file a stream first, and see if it was easy, and here's someone fixed it for you, and then I'll ask someone else, and then you can list the last ones. So I mentioned some of these people I think for when we moved on from there, about the most terrible result. You can't write good texts. We didn't want to fix lots of people around the scene and come back again. That's a bad customer experience if I pay for a work fixed. It comes back again in the next week. So we're going to talk about what the ETA has to do with what's called ETA to try and make this really better. Another thing that we see in migration is that people often have a powerful macro driven thing, so it's a parking ticket system in a local government. And it's been really visual based with some horrible Microsoft Office integration about that. And anyone that says that they wouldn't have written it, as a VBA macro, or external V6 program which can hire most people is beautiful. So a sense of what people don't do that. A sense of what people also do that can hire another external consultant to do that 20 years ago. We didn't have a binary, no source to have it. So we can have a lot of things problems, so we can actually migrate this. So it's pretty simple to have a real automation tool and talk as a tool to think about all the glory details that someone may just say, but it's actually redirects those things to the people of us. So you can run one logic on it in VB6 application and for the API we support which is quite a good set, but it doesn't work. And if it doesn't, we can fix it. So, always a tool to get the app around PCs, more more PCs to hire for me. I want to see something that you have online that's related to the sphere of what we do. So, this is how it works. So people say, oh, is it my new product? Of course it's not, it's better. It looks pretty, it's always a presence indication that it's getting selections in person. Can I have what's in the game? And yeah, that's the top view of it. It brings people of us into the browser and it's a good thing it's going around. All of the top quality of the view of it is cool. It also has filters and bottom-of-the-properies with the on-premises system that we get as a product. The best here is that our CPU and threading gets faster. Threads get faster, and you can do great job with that. The networking gets cheaper, and 7G is just junked on. So, it seems reasonable, reasonable, but why won't it? Well, it's all in this case. The trouble with this, if you're using the hard drive, if you've been reaching the news recently, you'll discover all these hard services even if they're listed in our way, which is a good thing for compliance. Someone from some bad tax country, I don't know which country is supposed to be bad today, let's say it's America. They can look into your machine, and in any consumerist state, quite as good as you may be, from an isolation perspective, they can even stop reading your data from afar. So, it's all in the hard drive. How can you account in a community? Can actually get serious about that. Other things that are nice to do is that the idea is that it's really important for everybody to go through the formats, and it'd be nice to provide everybody with a premium score, new office, growth, product, everywhere, but it would be nice to be to a certain level instead. So, being able to do that through the browser, with zero touch of advice, significantly reduces the impact of the formats. So, you can send them to everybody and everyone can read it. So, we're investing pretty heavily here. I think last year, we were about half a million euros down on investment. I think now we're only 400,000 euros down. We invested a whole lot more than last year. So, that's good. So, it's clearly getting up there. It's only about 9.7 minutes in 2000. And of course, there's a lot of competition, which is, I guess, worse, office online. It's a whole lot of things you can do with proper music videos, and you can follow this. You can change track again. I think it's just a bit of a quiz about change track. But, it turns out that words are like, how do you change track? We can. So, there are areas you can win again, which is just a little courage to do that. So, we can also use a chance to do our word documents, which can be part of the word, the word online, which is an important thing to know. And, it's down to this hand, which is a good proof. This way, we can get out of here, which clearly is somewhat through your account, which is a bit of a global tradition. It could be sensible, but it could be a docker-rich global standard. It's nice to see people actually out there using that. And we can't tell our main customers how much you use this, which is docker-rich global standard. But, by itself, it's very useful. If you're going to do a docker-rich world right, there's nothing. Because you need inspiration from something else, like, next-door ideas, you buy them, you prepare them, you just want to change them. Just to let you know, which is a bit of background work, which is, this is a 40,000-seat cloud, did one have 40,000, and you can see the sort of daily works, some of the daily, some of the free work, there's a lot more to each. And, yeah, some round problems, which is very different. But it's nice to see people pretty much every day have 40,000 some days out of the hour. If we're going to kiss at the other time, it's going to be hard. So what are we doing? Well, we're going to do some quick pictures of things we've been doing. So this is a sort of place where customers are half-feedback, so data validation and data filtering are really important. The last thing we're going to do is we're going to check boxes there.  So we're going to move into that. We probably need to be much richer so that we could use the dialogues from the ground up. So if we're going to use this in new brothels, we're going to browse through the channels of the keys, the cab, the charting, lots of places, our patient friends and the employees and more for various complex languages and so forth. I think this is the best for our fingers. One of the simplest things is how much we're going to use this crystal for the half-risk integration to be more secure. Anyway, new things coming in 6.2 so improved latency. We've been working very hard to make it less immoral and less tight. So we're moving the cursor and then sharing the updated text to be able to understand what's going on and twice as fast what helps. So it's a good thing we're working on. So there's the various ways that we're going to use that. And some pretty good features. Much improved mobile or mobile stuff. A slight more bit to go on. So starting to tunnel 5,000, we're going to go across the mobile version. So you can add punch lines into the rest. I just wanted to talk a bit about branding. So I think it's a brand of business for a V-Professor to collaborate for two years before starting. V-Professor branding is not currently well-known on day one of the project. But after a while it became clear there's this gap of confusion between V-Professor and V-Professor to grab another thing. And V-Brand is an asset as well. I'm often told, occasionally told, that in a TVF, one of the TVFs is going to use V-Brand for tens of millions of years with the good world as a project of the brand. So it's probably some strength in that but it's clear that V-Brand also has a very few assets. We're only a couple of years from now. And so it seems sensible to build V-Brand as well. So actually I'll put it out to the branch and public it, you can talk about and see the image and load it yourself easily. But we want to use V-Brand to frame something different from what we brought as means. You know, it's an enterprise product but it's sported, it has lots of sport but it isn't a free download at the time. There's a scarcity there. And if you like what we do if you think that V-Brand is cool or sporting, please help us tell people about V-Brand at these t-shirts in the package.  So we're one making money, we're a real asset for the company. It's really important if you contribute to our ecosystem to get an engine and credit and we support this people and we talk about that brand and keep parts of power as long as it's available. And I've got a lot more to say on this topic than I can say now but I'll talk about how to use V-Brand for those years to see how it works. As you can see on V-Brand this is the beach I have called the beach and we can have a regular day which we can't see so we return to the area to see what the problem is. So being a partner is cool you can get access to the orange areas you can get access to carbon water it looks pretty you can get access to all of our wineries you can punch through the scarcity that's quite a bit I guess I was 30,000 users and we invested a bit more in the potential of our city than I have and to deploy that online there's no problems it's a product manager that's expressing to me not to hear about problems so I'll fix it. We got a piece of provided which just works again there's a lot more doing our responsiveness and a huge maker who is here as company and deal with who gives you a very good response and enjoys what we're going to have a reasonably sized company who cares about our business So we're sponsoring the meal I think it's something new to me on top of that so we've got a lot of fighters that celebrate, but it looks like we're going to buy some boxes I think it's the box here so every year as a business I think for this to continue to improve diversity I think we're going to get involved and we'll do more I guess more proportion I was not very successful in my consideration this year but it is gratifying to be able to contribute a lot some support points out where TTF has a small chunk here that's going to be more sort of really easy to work and some proportion of our heads for example we're funding by TTF from our partners so that was about 7% already this year so it's maybe 3.5-4% of our audience perhaps to give their strategies to the TTF business and so we have 19 members and also a couple interns and currently we have a team and it's a wonderful team and it's just an amazing group that you try to support so yes we've got something about nearly 30,000 members 34% of all of our TTF partners this is not a perfect measure to measure contribution it's at least a measure of something like 16 in a day 7 days a week 4-5 years sustained insert, displays actually you know so contribution this is because if you can see the numbers at the bottom yeah so I'm just going to make it a little strong in this context maybe we'll succeed to make it ever better and to grow the community and to grow the product and we don't have a matter of any tree unfortunately except everything we do is bought by so once again we're thrilled to do that that was all there for so thank you to all those people who have done this thank you for being a part of us particularly those who have put on my sign much extra appreciated and if you're one of those people you're changing the world for better we're cool so thank you again just the amazing contribution for so many ways not just tree numbers cancellating a couple of this the US design the discipline tell people what we're doing what we're marketing and encouraging what we're doing our brand is not already set and particularly people who talk about online it's really a pleasure to be here to sponsor the energy community I've been I'm working on that so if you want to join your team get involved in this marketing maybe do development if you're a journalist do you see me after the title thank you very much


At the last presidential press conference, President Biden was having a great time explaining how much he admired how spectacularly they used to arrange the deck chairs on the Titanic. You guys should have seen it. President Biden telling a nice story about how neatly and efficiently they used to arrange those chairs, explaining how it takes great leadership to keep those chairs in order, even under extreme circumstances. Thanks to my leadership skills, cowering, running, and pulling a skedaddle, we are safe from our enemies. He went on to compare how the beautiful order of the deck chairs on the Titanic mirrored the beautiful orderly way he has checked off every physical and emotional categorical box in all of America's hiring practices. I can't take any more of these boxes inside box. Whatever is in that, better be worth it. All the boxes except, perhaps, competence. Hello, I'm Dr. Gupta. Yes, I'm a woman. I suppose you have a problem with that. That top-down orderliness being the key to success in a democratic republic? Uh, no. Is my wife gonna be okay? Are you questioning my competence? Given his brilliance, President Biden honestly can't see how inflation continues to increase and his approval ratings continue to decrease. I'm afraid it doesn't look good. What do you mean? Take a look for yourself. I can't see him. Use your open eye, Frank. Oh, yeah. I can see it now.


الحمد لله what a blessing time that we reach the middle of Shaaban and what a special night رسول الله صلى الله عليه وسلم told us and asked Allah سبحانه وتعالى الله و بارك لنا في رجب و شعب بارك لنا في شعبان و بالدغنة رمضان رسول الله صلى الله عليه وسلم asked for Baraka in Rajab and Allah answered him in that month of Rajab and he brought him to meet him to be together in a place nobody can be there except Allah سبحانه وتعالى and his حبيب if we reflect on this we understand that this deen is based on the love on the hub and can you imagine when Allah سبحانه وتعالى and when the beloved one the beloved they are together Allah gave him that in Rajab and he said give a Baraka in Shaaban and what did he get in Shaaban because Rasool الله صلى الله عليه وسلم said رجب شهر الله رجب is the month of Allah and Shaaban is my month special for me and he said Shaaban is a month between two important months is Rajab رجب شهر محرم و رمضان is another one a lot of people they don't you know aware of Shaaban is very important he said Shaaban is my month and Ramadan for my Ummah so what did he get he get a very special status and position where the verse came in the night of the middle of Shaaban this night tonight when Allah سبحانه وتعالى said إن الله أكتو يصلونا على النبي this is the night where Rasool الله صلى الله عليه وسلم pointed to the moon and it's flat this is the night where or the day of the middle of Shaaban where Rasool الله صلى الله عليه وسلم was looking around he went different Qibla the Qibla was toward the the Quds Jerusalem and Allah told him قد نرى تخلب وجكة في السماء we see that you are looking around for different direction we will get you a Qibla you and your Ummah that you are pleased رضا Allah want him to be pleased he told him you will be pleased I'll give until you say I'm satisfied so he gave him this changing of Qibla in the middle of Shaaban they say the first of Siam the first of Zikr it happened in the middle of Shaaban now the Sahabah of Allah on them they were the people who gave us the benefit for us the thing that it's not for them we will really miss Allah he said that I heard Rasool الله صلى الله عليه وسلم saying if it is the middle he said if it is that night then spend the night قيام worship Allah and then we fast the day وصمونا هارها وصمونا هارها فإن الله ينزلو فيها لغروب الشمسي لسماع الدنيا then Allah will descend to the first Siam the first Samaa from Maghreb ينزل سماع الدنيا at the Maghreb time what did Allah say? now when he said Allah descend for us that means his Rahma comes to us his Baraka his Madad everything that the Anwar Allah make it available for all of us but why? because of Rasool الله صلى الله عليه وسلم and he will say ألا من مستغفر لي فأغفر له anybody really want something from me anybody want something from me want Maqfira you regret your sin you want Maqfira this is the time I'm gonna erase it all for you ألا من مسترزخ فأرزقة then anybody need sustenance I'll provide for him ألا من مبتلا فأعافي anybody have a hardship I'll take it away from him whether it's hardship in his health or spiritual health being or his family or his war whatever it is رسول الله صلى الله عليه وسلم kept telling صحابة ألا كذا ألا كذا حتى يطلع الفجر until done until what until done صلى الله عليه وسلم wanted us to really be aware that Allah loves us because he loves this حبيب صلى الله عليه وسلم and رسول الله صلى الله عليه وسلم told us أحبوني لحب الله لي love me because Allah loves me that's enough reason didn't say love me because I'm his prophet or I'm the best worshipper or or or no he said love me because Allah loves me love me because Allah loves me what's an amazing relationship this Dean is based on love on hope in the Quran the verse where it said that the meaning of it that if you don't follow this way that I gave you I will get rid of you I bring people what's their description he didn't say they fast or they pray they said يوحبوهم و يوحبونا they love Allah and Allah loves them Allah loves them and they love Allah Allah will bring people that Allah loves so this is based on love so he said because of this hadith for us now we knew that the value of this night and another person of the Sahaba very close to رسول الله عليه وسلم his beloved wife say the Haish now you have to imagine say the Haish have been raised by the best two people at that time the best ever سيدنا محمد صلى الله عليه وسلم say no bug she was raised by them but Allah SWT put on her غيرا jealous that jealous is very beneficial for us because that night say the Muhammad it was the third say the Haish that رسول الله عليه وسلم is staying at her house and she like almost asleep but she was asleep and she she said I felt that رسول الله عليه وسلم is moving and he's like putting his stuff and going away and I felt you know the غيرا the jealous came he said oh he's going to my my you know to his wife to other wives no no this is my turn I'm not allowed that but so she followed him from distance and she was surprised to see that he's going where to the بقية the graveyard in مدينة and she went there and she listened to some of his Dua and she said سبحان الله I'm going for dunya he's going for the Akhira he's going for Allah so she felt he's coming back she rushed in رسول الله عليه وسلم they describe him that he goes fast when he walked he goes fast like he's going out of the downhill you know it's like going fast so she started running and she went to the bed and you know like active she's sleeping رسول الله عليه وسلم came and he said he saw the breathing because he was running what's this يا عايشة she said رسول الله she can ask she will say truth differently all the Sahaba they knew if whatever they say Allah will tell رسول الله عليه وسلم so there is nothing can be hidden and she was this by the صديق she is a friend so she said يا رسول الله I thought when you left me that you are going to you know one of your wives he said يا عايشة do you think that Allah and his messenger يا حيفو بكي that mean will be and just to you there is no way I'm the messenger of Allah there is no way he said جبري came to me he said رسول الله عليه وسلم and told him يا رسول الله this is the night of the middle of نصف شعبان that dua Allah made it that the dua is accepted in it and Allah wants you to make dua for the people who are in the بقية the shuhada and the people who pass the believer in the بقية Allah wanted you to make دعا for them that's why I left you I went to make dua and she because of her والله because of her jealous we are benefitting we get this information otherwise how would we know and then he said يا عايشة would you give me permission to worship Allah this night I want to just be with Allah I said yeah definitely say the Qali Umar he recited the verse of the Quran سوت الدخان which is at the beginning saying بسم الله الرحمن الرحيم حاميم والكتاب المبين إِنَّا أَذَنَّا وَفِي لَيْلَةِ مُبَارَكَا إِنَّا كِنَّا مُدُرِيمَ فيها يفرقوا كل أمر حكيم we brought the Quran in the night that's a مبارك night and in this night all the issues for the next year will be revealed كل أمر حكيم a lot of scholars they say it's not enough but I've said نعكر ما and the Sahaba who have the knowledge of the Quran and other Sahaba I know it's a lot of نصف in the Sahaba there is two way of revealed the Quran was أمو الكتاب أو لوح المحفوظ Allah brought it down to the from the tablet of the protected tablet to the tablet of محول إثبات where Allah will erase things and write things can be changed and he said that first descended of the Quran some scholars they say the first descendant of the Quran is from لوح المحفوظ to the world sky to the first sky and then it was through the 23 years or during the so he here in this he said this night is a night of مبارك فيها يفرخ كل أمر الحكيم isn't it all the important things will be decided they say your risk will be decided your health will be decided you're somebody gonna die decided this day so all the angels they are very busy that night just taking responsibility for everything it's a very important night for all the angels all the it should be important for us also it should be important we should really have a يعني the عارفين and the Awliya it's very important for them it's the same way it should be for us it should be for us we should really take a good care of this night they say رسول الله صلى الله عليه وسلم said in another hadith he told Saydah Aisha or a Sahaba he said in this night الله will forgive people at the count at the number of the hair of all the sheeps and and candles of all the tribe بني كلم that tribe it's known that every one of them they don't love land they don't love money they love have goats and sheeps and so on everyone will have like a thousand or hundred and so on and imagine everyone how many hairs there is Allah will forgive people they will be forgiven they will have براع they will be free from their fire by the count of that hair of all the sheeps in this village just to let the Sahaba understand the importance of this now this night try to do extra عبادة رسول صلى الله عليه وسلم said do a qiyam lay and do also fasting tomorrow so Monday good too fast and tonight is ask Allah whatever you want whatever you want ask Allah whatever you like and in other hadith صلى الله عليه وسلم said Allah will look at this night all his believers and he will forgive everybody except somebody you have his شحناء in his heart his heart is a heart heart he cannot forgive anybody he won't forgive from Allah he doesn't forgive anybody no no no why that should be there's a lot of hadith if when I mentioned there's a lot of time it will take a lot of time to do that but ask Allah for mercy for yourself and for the ummah because the صلى الله عليه وسلم he cares about the ummah and there's one hadith I read the other day that if you ask forgiveness it's a reward for every mu'min on earth because you ask for forgiveness for him so give Allah first start with forgiving everybody say Allah I forgive everybody for the sake of your love and the love of your حبيب صلى الله عليه وسلم and then there is the صالحين the awliya they say there are several dua and several things that happen but today we're going to do one thing that people used to do is we read three yasin and every yasin everyone will have a special niyah the first one I'll tell you each niyah or how it is the first one is the niyah of long life Insha'Allah with خير because خيركم منطال عمر وحسن الله عليه وسلم the best amongst you is that we'll have a long life with a good deed the second one intention with take away the بلاد دفع البلاد that mean take away all the hardship on us on the ummah and the third one that الاستغناء عن الناس that we don't need people Insha'Allah and then I'll make dua between me and سيد قارع عمر and we'll make the dua Insha'Allah and we'll read it all together Insha'Allah so I'll start with the first niyah so all of us Insha'Allah we'll make a niyah now all of you read yasin with سيد قارع عمر and سيد قارع طيب okay our niyah is for long life and with خير بسم الله


Hello, this unit looks at the main aspects of sentence internal semantics. It introduces a logical meta language which defines the meaning of a sentence in terms of predicates, arguments and quantifiers and it provides many examples that illustrate the construction of predicate logic formulae. Use the material and practice as much as possible. In the virtual session which contains two central e-lectures, we will look at the machinery of predicate logic, we will define predicates and their arguments and the role of quantification. Furthermore, we will examine the notion of thematic roles which offer a way to portray the specific roles played by the entities involved in sentences. Note that in the question sheet you find the respective hyperlinks and video links for guidance. The mastery worksheet is a dynamic multiple choice task about predicates. Before doing it, it is necessary to have worked through the virtual session. Well and the practical provides you with a large amount of data again ready for analysis. It also exhibits a video that explains how sentence meaning can be analysed formally. Surely a wealth of material, so please make use of it all.


What I would like to do now is go over saw horse projections and specifically saw horse projections of ethyne. So what I have on the board, what I have written on the board here is the molecule ethyne and the way the structural representation, the way that you're used to seeing it at this point in time, right? So here in my hand, I have a ball and stick model of ethyne.  And remember we talked about how you can freely rotate around sigma balls. So do you see me doing that? Any questions about that? For your rotation? So you can see that happen. If I were to take this model here, and remember this doesn't show any directionality to it, where the 109.5 degree angles are concerned. Right? If we wanted to do that, we would draw it. And then hopefully we can see that representation like that with the 109 degree bond angles. But what we really want to do is show these saw horse projections. So the saw horse projection is very similar to this. It's just rotated from this projection to a projection like this. Okay? So hopefully you all can see that, right, that the saw horse projection shows this carbon in front being this carbon in front with this hydrogen being here and this hydrogen being here. This hydrogen being down there. And then hydrogen 1, hydrogen 2, hydrogen 3. And then remember what we said. We can rotate around sigma balls. So we're going to rotate like that. And we're going to show it again like that. So hopefully you guys can do that same procedure that we did over there and identify which carbons and which hydrogens we're looking at. And last thing I want to show you is that when the hydrogens are in front of each other, when we're looking at the model set of the ethane molecule, right, when the hydrogens are directly in front of each other, we call that eclipse. So with the saw horse projection looking at it like that, that's an eclipse saw horse projection. And the opposite of eclipse, right, it looks like that, is called a staggered projection. Okay? Or a staggered one. So this is a staggered and eclipsed saw horse projections. So if we look at that, that's it. Questions?


If you need Madden's 21 Coins for anything, make sure to go to buymockcoins.com. It's cheap and reliable and my code MMG is 20% off. Yes, I still have the top Brady Jersey on. It's December, I'm wearing the Christmas robe. Yeah, I know, I'm kind of cheating. Like I already wore it for a wheel of mud in a big packing place, so just get over it. So they dropped some of the best cards in the game in the span of like 12 hours. Tyree Kill, insane. I'm sure you guys already saw the video on that.  Just kidding, I love you, but it's fire. As promised, I'm getting you Kyler Murray gameplay. Kyler Murray also just an absolute unit. The only thing that's bad about this card, this card's insane. But let's just do attributes first. 93 speed, 93 throw power. Short accuracy, medium accuracy, deep but all really solid. 92 throw on the run. 93 change of direction, I love that. 89 juke, 83 spin. The only unfortunate thing about this card, for him to get that, he needs to be a 98 overall and 95 throw on it. Which is lame, that's because he's a scrambler, so it was easy for us to get a skate bar to sign him, but passes are gonna be tough. I are just not as easy as like the Lamar Jackson. Either way, he's so much faster and so much shittier. We're gonna be running a lot of read option and I'm trying to get in the open field with Murray as much as I can. Let's go do it. I'm hopping right into this house rules. Let's have some fun. Ooh, Chase Claypool Lamar Jackson, versus Tyree Garadotta Kyler Murray. I like our odds here. Ooh, is he gonna make a mistake here? I think he might. Let's see what he does here. Oh, he knew. He knew I was going to that Tyreek, but I think it should be fine. He's got, oh shoot. I just did the Madden 20 thing. Oh, I did the Madden 20 thing where you can like make juke-poosh or the past. All right, I'm gonna go with the read option. Kyler Murray is fast as hell. Bite, bite, bite, yes sir. So much room, so much room, so much room. He backed. What are you doing? He's doing the thing with this game mode. He wanted to let me get that touchdown because I would get less optimal points. Kind of smart, actually. I thought I was a god for a second that I realized what he was doing. All right, exact same thing. Are you kidding me? I would like to get a touchdown here. Damn, got close. I'll take my six points, but that's too bad. A touchdown there would have been nice. Kyler's just tired. He just ran about 70 yards in the span of four seconds. They just keep biting, man. That's their fault. All right, we're going down and cook on this Texas here and we're just gonna take off. Oh man, he's frozen. He's so tired. That 100% is supposed to be a touchdown. Second and goal. One more read option for the touchdown, I believe. Oh my god. That's disgusting. For our two point, I'll just see if I can roll out to the right. Oh, he's back. He's playing again this time. Oh, I can throw that. He just threw a bullet under pressure without dashing down. Look at this. Beauty. First in 10, what's he gonna go with here?  We're sending a heater. It's heater season, baby. Oh, good. Good time. Let's go. Can I just flatten him with? Who is that? Who is that? Johnson? Who is Johnson? Is that Jalen Johnson? And who actually is that? It's Jalen Johnson just absolutely flattened him. Oh, are we gonna do it again? Ooh, lots of slants. I'm gonna take these ones over here. Second in 10, my man has chased Clayton. So he's like, he's just flattening. Oh, easy. Easy. Damn. Holy ball, Lamar Jackson. Whoa, he got him kind of fast. Whoa, how did I do that? All right, well, we haven't really thrown with Kyler Murray, although he almost has treasure activated. We're like, we're halfway there. See if we can go deep on once. Ah, we don't need to. Why go deep when we can just do this? Oh, I tried to do, it didn't work. It did not work. Second in five, I'm gonna hand off Dalvin Cook here. Pretty much put this game out of reach. Oh yeah. Oh yeah. Damn, I juked the wrong way. I did not put the game out of reach. He's definitely gonna QB spy me every play. Do you think Tyree can just take his man here? Let's give it a shot.   Let's go. Are you shitting me? That was disgusting. 26 to three. I'm gonna go QB draw here.  So I don't know how much I believe in this, but.  You're actually a freak, bro. Oh, please tell me that's play action because I just blitzed the whole team. Oh, I used that too. Go ahead and shovel, man. You're down by a billion. Let's see what he goes with here.  Dating down was in his hitting brick walls right now. Dude, try the Tyree cheese one more time.  It really was. So I haven't, yeah, you know, I could have thrown that. I really could have. I'll just throw a drag the Tyree for 30 yards then. What did I say? What did I say I was gonna do? First in 10, Tyree did dust this man.  Calvin Cook in a juke. Damn it.  I always juke twice for some reason. All right, we'll get one read option in before this game closes. Kyler has an insane stat line right now. Only obviously in the fourth quarter. We're gonna take this one to the edge. We're gonna get inside this very easily. Oh, I didn't. I'm a bum. That's like swerve season. How did I not get that? Wow, Kyler's first game. Sheesh. Kyler Murray, six attempts to 93 yards rushing and a touchdown. Damn. Hey, this is top three second game. Kyler, let's go 2-0, baby. 96 sandmills. Andre Johnson, Lamar Jackson. Okay. Yeah, that's not open. I'm so surprised I got there. Second and one. I see the dig and wow. Wow. Cannot have made that easier, man. It's the Giants jerseys. All right, first and 10. I'm gonna look for Mr. Tyreekill because he is fast. Oh my God. He just eliminated that scene. That was disgusting. Also, did you see that catch? Did he cut that down here? I've never seen them catch it like that. I wanna see that highlights. Hopefully this guy doesn't rage quick because I wanna see that at the end of the game. That was so weird. All right, we're gonna go QB draw again. Kyler Murray is fast. Dude, he keeps getting, oh, I didn't get that. Damn. Primetime's lit up. I think that's universal coverage, right? You're gonna go with the slant, man.  This is a tough game for our friend. Third and 10, one more stop, baby. One more stop. Oh, I got it, I got it. Dude. What? Oh my God, I got another pick of Primetime. Didn't get it, but I get the ball back anyway, so it doesn't matter. This should destroy the seam again, presumably. No, it's just man. Ah! Fast, Kyler is fast, Kyler is fast. I'm clicking a button. I'm clicking a button. Get there! No! No, you did not. All right, it was my fault, it was too fast.  Oh, my ball. Yes, sir. Jamal Adams got it. Let's run the classic again, baby. Read option Kyler Murray. Quick draw, escape artist. Good. Did not bite, but am I fast enough to get around him?  I'm gonna get, tell me how I just got positive yards out of that. That's disgusting. All right, we kind of need the man to bite. He didn't even think about thinking about biting there. Yeah, same thing.  Yes, sir, you bit. Get inside. Get outside?   I'm gonna go with the screen pass because he's a D-line user here.   I have to. Third and 10. Come on, Kyler. Let's go, Kyler. Let's go, Kyler. I just gotta get inside the right clover.  It didn't matter though, I got out of bounds. Beauty. I'm literally just gonna throw this Tiger Kill in the back of the end zone. I deserve that. I deserve that. First and 10, I'm gonna pick this off.  Oh, something different. Taylor Mace will get one. Corners in this game all have the catching and jumping capabilities of prime Randy Moss. It doesn't make any sense to me. My opponent is experiencing network issues. There's seven seconds left in the game.  He calls a timeout.  Oh, yeah, Tiger. Go, baby! Go, baby! How'd he caught that? Clean W, baby. Clean W. All right, this might be the final one. Let's see what he's got. Alan Robinson, Alvin Kamara, they're, ooh, yeah. We could have a real good one here. Play, oh, slip screen, slip screen, slip screen. I'm all over it. Second and 14, same. Oh, no, not the same thing. Oh! Javon, Kurt. Dude, this Javon Kurtz is so good. He's so fast. And instant rage quit. Wow. I did not see his top three. I was watching Gruntzone. Shit. Look at his three letter abbreviation. You know, this doesn't happen very often. I rarely get matched up with someone who's got that. I mean, maybe he's a big fan of like Rick Ross, little Wayne, Money May Bag Group, but I doubt it.  Damn it. Oh, wait. You ever seen someone do that before on read option? Cause I haven't. Let's see if he bites this time. He does not bite again, but Dalvin's going to get a first. I'm staying in read option until he bites. Come on, bite. Yeah. Oh, he bit. No, wait, did he? I don't, I don't know if I made the, I think I, I think I messed up. Bite, please. Please bite. Yes. Yes. Oh my God. Kyler has so much, this is a touchdown. This is a touchdown. Oh. First in 10, read option. Unstoppable baby. Oh, okay. Oh, I'm just going to look for Tyreek right out the cage. Oh, no. Metcalfe makes more sense there. That should be a touchdown too. Let's go. I was going to say Tyreek, but I think he knew I wanted to do that. All right, 18 to zero. I'm going to give this to Dalvin Cook. I'm just going to let him read havoc. Oh, get inside of that. Oh, weird. Weird animation. Not going to get it. I am blitzing everyone, other than like a couple up here. Oh, it worked.  Why did he do that? And they, they freeze up. And this is fourth down. That's it. That's my ball. Dude, this, the end, I will say, is really sitting on Kyler Murray here. Oh, good. He finally bit again. Wait. Yup. I'm so bad. I'm so bad at the changing direction this year. I'm going to see if I can just straight up scramble. Yeah. There's no QB spy here. I got a scape artist. Oh, roll for it. Did I get that? I don't think I did. I don't think I did. Let's see if he QB spies me this time. He does not QB spy me here. We're just going to throw Dalvin Cook in the middle. Excellent throw. Pretty much going to ice this game. I want Kyler to get this touchdown. Come on. No QB spy. Oh, big blitz though. Go. Go Kyler, go. Oh, damn. Did he will not fumble? He absolutely refuses to sell and fumble. I love that. Probably a blitz again. Step up, step up, step up. Julio, no. Ah. That was supposed to be a throw to Julio. I didn't get it off.  It is a bold move, Cotton. I will say that much. See what he goes with here. Third and goal. Semi-delayed blitz. We've got a decent amount of time. I'm just going to throw it. Oh. We went straight up undefeated with Kyler Murray. And none of them were close. It wasn't like these were nail biters or something. We were dominating.  Oh, Patricia, get that. You're not even the head coach of the Lions anymore. Why do I have you in? God awful. All right, boys. Hey, I love you. Thanks for watching, guys. I got you a megachron. I got you back to play. I got you a wheel mop. Lots of mangers coming. I'll see you in the next video. Peace.


Let's say you've been working on your API and found out that you want to protect some of your endpoints from unwanted requests. In this video, I'm going to walk you through all of the steps that you need to protect your fast API endpoints using R0. Protecting your endpoints will guarantee that only parties with a valid access token can access those endpoints. In this case, an access token will be provided by R0. To use R0 to protect your endpoints, you need to first create an API in the R0 dashboard. And second, update your code to validate the JOT access token you will get from R0. Let's see how that works in practice. To get started, you need to grab our fast API sample from GitHub. Or you can use an API that you built within points that you want to protect to follow along with the steps that I'm going to show you on this video. If you want, you can skip ahead to the time codes outlining in the video description below. Let's clone the project. And the link for it is in the description below as well. After you clone it, open that up on your favorite IDE. Now, I already have that cloned here. And I'm going to be used VS Code. So that's what I have open here. Let's create a Python environment and install all the dependencies listed in the requirements.txt file. And notice I'm using Python 3 here. Now let's activate this environment. And I have a shortcut here that I can use. And it is activated. Now let's install the dependencies with pip. And first, I'm going to update pip. And after that's done, I'm going to install everything from the requirements.txt file. And in this file, we will include all the versions for FastAPI, UVCore, and the asynchronous web server, and PyTWT. These are all the packages we are going to need to actually run this simple API and validating the Jot access token we're going to get from Auth0. Now that that is done, let's run the API and check out what is going on. So to run this, I'm going to use UVCore, application.main. That's why my routes are implemented and going on over to the app. Now that that is done, let's run the API and check out what is going on. And the comment for that, let me clean up my terminal and run it. And once this is started up my server, I can check out the documentation for this API. Because I'm using FastAPI, I can access the slash dots endpoints and can see the documentation for my API. So if you go into your favorite browser and type localhost, port in the docs endpoint, this will load my documentation. And this API only has two endpoints, a public endpoint and a private endpoint. And before we look at the code for each of them, let's make a request for each of them. So let's start with the public one. And I can see here the documentation for the public endpoint that comes from the doc strings from the endpoint definition. And if I click try it out and execute, you can see that I made the request. I get request to this endpoint. And I can see the response. And it was a successful request. Now, if I do the same thing for the private endpoint, you can see also here the documentation for it. And if you scroll down, you can see a little bit of the responses you might get. So let's try this one out. So click try it out again and then execute. And this also made a good request for the private endpoint. And you can see here that I actually get a success for this request, the same as I did for the public endpoint. And that's because even though this is a private endpoint, it is not protected yet. And that's actually the one endpoint we are going to update today. Now we need to configure your API on the R0 dashboard. Let's do that. And I already logged into my R0 account here. So let's create this API. And the way to do that, you navigate through this application option on my left-hand menu. And then you click on APIs and there you can see a list of your available APIs. Everybody will have the R0 management API. For example, and any other API you might have configured already. But if that, that's okay. Let's create the API we're going to use for this example. And you can click on create API on this button right here.  Now you can see here that I have a few names that I tried in the past. Those are all examples that I was working on, especially one for this same video. So let's use the name that I already have here. And you can change the name later if you want to. But one good tip is always have a very meaningful name so you know which API you have. Because once you have more APIs under your dashboard it might be hard to find the one that you want. Another thing that we're going to do is set up our identifier. And this field cannot be modified later. So choose carefully. And same thing, I'm going to use a very meaningful one called FastAPIoutZeroExample.com. And I'm going to leave the sign algorithm as the RS256 that is the standard and is a very safe algorithm. We're going to want that. So let's create our API. And once you click create, after downloads you'll be taken to your API page. And now we have our API is configured. You don't need to do anything else on the OutZero dashboard. And now that we have this set up, it's time for updating our code. And the first thing we are going to do is actually create a config file. And this file will hold all the API information that we just created. In this simple project, there is an example config file that you can use. So let's copy that and paste it. And let's update first the name. Let's rename it. Let's leave it only.config. And update the contents of the file itself. Let's update the values for our information. And my domain is actually my tenant domain. So if you don't know what your tenant is or you forgot, you can just go back into your dashboard and you can look here. Once you click on your name or your tenant name, actually, you can see that my tenant is actually Justin Peral, which is my name because I'm not very creative about that. And it is located in the United States. So that's our part of our domain. So let's go back and update this by doing JustinPeral.us.out0.com. And the API audience is actually the API identifier. If you don't remember the identifier that you chose, go back into your Out0 dashboard and you can find the identifier right below the name of your API on your API page. And just copy that and place it on your audience. And your issuer will be similar to your domain, just prepare the HTTPS part. So let's copy this part and update here. And now we got everything that we need from our API configuration. Let's save this and close this file because we don't need that anymore. And this information will be used later in the process for verifying the access token. Now, before we move on, I like to point out that this code is ready for using either a config file or environment variables. So you can check out how to use that, either one or the other, on the rhythm of the project. With that said, let's update the endpoint code. And to do that, you need to open up the main.pli file. One thing that you might not know is that FastAPI has a dependency injection system that we can use to implement all the security flows in our applications. And this dependency injection system as FastAPI documentation states actually is designed to be very simple to use and to make it very easy for any developer to integrate with all the components with FastAPI. And that's exactly what we are doing here. We are integrating our zero with our API. Among other things, the dependency injection can be really useful for minimizing code repetition and enforcing security, authentication, and role requirements, for example. Now, let's see how we can do that with code. So here I have my best code, as you know. And we can see here, both of my endpoints definition, right? We have a public one. And we have our private one. But let's import all the dependencies we're going to need to actually protect our private endpoint. And let's start with our depends class. That's going to be responsible for the dependency injection part. We also need the response. And that's capital R and the status in case we need to update the status of our response if something goes wrong, right? We are also going to need to import from the security module from FastAPI. And we are also going to need the HTTP barrier from the FastAPI security module. And now that we have everything, the first thing we are going to need is actually to define the instance of the HTTP barrier class. And that will be our security scheme, the one that we are going to use. And that's because we're going to use that scheme to make sure that we have a better header on the request. Now let's create that instance.  And that will be HTTP barrier. And it is an instance. Cool. The way we are going to do this is by adding a new parameter to our endpoint function called token. So let's scroll down. I'm going to hide this code for a moment and add a token here. And this token parameter will be very special because we are going to use the depends class right here by passing our scheme to the depends as the value of our token. So let's update that depends and add the token of scheme. And let's save it. Oh, it's missing a type. And let's leave it as string and that's the depends value. Now, before we see how this change affects our endpoint in the documentation, for example, is important to understand what is going on here. So this is how the dependency injection system in FastAPI works. You are going to pass either a function, a class or instance to the depends class. In this case, we are using the HTTP barrier instance. And then every time this endpoint receives a request, FastAPI will evaluate the dependency clause and run the function or class against the request. And finally, we return the results of that operation to the parameter. Now, let's take a closer look at the documentation now. First, I need to stop my server and we run that. And once that is done, I can go back to my documentation and refresh it. Now that I have a refresh documentation, you can see that something changed here. The first thing is that we got this authorized button right here. And that's because this means we have an authorization process that you have to do to access some of our endpoints. With the same button happens to be showing on the private endpoint now. And that's because this is the endpoint that has security measures. Actually, a few security measures. So if I click either one of these buttons, I'm going to click this lock it here. You can see this form comes up. And this is telling us that we need to provide an authorization access token to actually do a request. Now, keep in mind that this alteration that we just did doesn't validate the access token. It only checks whether or not there was a value provided in the better header of the request. So first thing, before I change anything, let's close this and let's try to do requests without providing any value to that authorization form. So if I execute, you see that now we got a forbidden here because of course we didn't provide an authorization access token. Now let's try to do something different. Instead of not providing anything, let's try to provide something weird, some random string. For example, FastAPI is awesome. If you watch my previous videos on JWT, you probably know this is not a JWT. And if you know how to do it, you also know that this doesn't look at all as one of our access tokens. So if I try to use this and authorize and close, you see that I provided the FastAPI is awesome as a better token in my authorization header. And I got a success. And that's because, well, like I said before, we are not validating our access token, but there is a way that we can do that. Let's see how to do that. Let's go back to our code and actually add a step that validates our job access token. And here's a little tip. There is a number of ways that you can actually validate an access token, especially in Python, that is a number of options in libraries out there. And if you need to understand a little bit more about JWTs in general, I have two linked videos right here that can be useful. But to make your life easier in this project, that is a file called utus.py. And in this file, we actually have a verified token class that you can use to verify your tokens. And feel free to copy that and use it on your projects. Now, I'm not going to explain in detail what the verified token class does, but in general lines, it deployments all the steps necessary for verify a JSON web token provided by Auth0. And if you want to understand in more detail what are the steps and what you need to do to verify a JSON web token, I recommend you read the Auth0 documentation on it that is linked in the description below. Now, let's import the verifying token class into our main.py file and actually verify the token from the request. So the way to do that would be like this. First, I'm going to import my verified token class. And I'm going to do from utus import verify token. Thanks VS Code for auto completing everything. And the way the verified token class works is like this. You're gonna pass the token from the request to the verified token class by calling the token.credentials. And you need to call the doverify method from the same class. And if the verification process is successful, you're going to get the payload from your token. If not, you're going to get a dictionary that we have the details of the error and I started saying that something went wrong. So let's do a step for grabbing the token credentials and saving the result of the verification process inside of a variable. And I'm going to call the variable result as well. I'm going to comment this result out because I don't need it anymore. And result is going to be, well, the result of the verification process that validates my access token. And I'm going to do token.credentials and call the verify method. And now this will be the result. Another thing that I want to do is actually add a step and give a detailed response in case something goes wrong. There is a number of ways where you can do that. I prefer to do get from the result and I need to get the status key value. And if the status key exists on my dictionary, it means something went wrong. After that, I'm going to return the result with the error message result. But I also want to do one thing. I want to update my response to actually display a status code that corresponds to an error. And to do that, I need to actually have a response in the signature of my function. And that's where the response that we imported earlier on comes in. And comma, and now everything is done. And I can use the response now inside my verification step. And to update the status code, I just call response.status code. And then I can use that status. And status actually has all the status codes that you could use, the most common ones. And let's just give a bad request as an error for the time that we will suffice. And now our code is actually done. Awesome. Let's save this. And finally, let's rerun our server and make a few requests because, well, I want to see this thing work. Let's go back to our documentation. And I'm going to refresh this page. You can see the authorized locket is open. Which means I don't have an authorization value for my authorization form. First, let's see if the public endpoint is still works just in case. Let's try it out and execute. And everything works awesome. We got the success response. Awesome. Now let's go to the private endpoint. And let's try to do a request without providing a value for the authorization. And if we execute, we still get the forbidden error, the four three, awesome. And let's provide some random value again. Fast API is awesome. And if I click authorize, I can close this form now. And if I execute, our request got updated. I have my authorization barrier here. And now we get a bad request. Not enough segments. That's because that fake JWT that we use actually doesn't have enough segments for to be considered a valid JWT, which makes sense. Now, we can do another task, which would be grabbing a random JWT from our friendly JWT.io. And that JWT actually is the wrong type of signing algorithm from the one that we expect from the Auth0 API. Now, if I click on the locket once more, I can log out and add this new JWT value and authorize, close it. And if I execute, it is loading. Okay. And now you can see here that I have the JWT token I copied from JWT.io. And you can see also that we have a bad request because it couldn't find a signing key that matches none. Of course, HS256 doesn't use signing keys, it uses secrets. So there is no signing keys there to match. So let's do an actual request, that one that is going to be successful. There is a number of ways we can do that. You could go back into your API page on the Auth0 dashboard. And after that, access the test tab. That's where you can grab either the request you need to do to have an access token or the actual access token for your application. Now if I scroll down a little bit here, you see I have an access token here and I have this amazing copy token button here. And if I copy this, I'll have a new token that I can use in my documentation. Now let's authorize the new token by logging out from the old one. That's the incorrect one and paste the correct one and do an authorization. And close and execute once more. Now this new token is a longer one you can see here and our response body is successful. Yay, you can see here my tenant name and you can see also my audience and everything works. Voila. You just performed a successful request to a private endpoint. Congratulations. If you watch it until here, you'll now know how to protect your endpoints. And if you have any questions and want to see more videos like this here in the channel, leave a comment down below. Also, remember to subscribe to the channel and check out the link section in the description of this video. There you'll find a link for the sample I used and the blog post on the same topic written by our guest author Mark Hoping and the documentation for the steps you validate JWTs. Thanks for watching and I'll see you soon. Bye.