The Linux community has a big problem and that problem seems to be that there's a small portion of the community and I'm talking just a few people that seem to think that if you criticize Linux your anti Linux and They seem to have this idea that Linux is perfect and that there are no flaws And if you point out the flaws or if you say something that's against Linux in some way that you're just you're not Worthy of using Linux or something. I don't know.  They just think that Linux is this Fantastic operating system that never has anything wrong with it. And if you experience problems It's you that caused it not Linux itself And I will be the first to say that there are user-caused errors in Linux There's user-caused errors in every operating system. Everybody makes mistakes There's not a single perfect person out there And there's no one out there who can say that they've had a flawless computing experience their entire lives Everyone's had a problem no matter what operating system you're using because there's not a perfect operating system and Whether the errors that you experience are because of something that you did or because of something that came through because of an update or whatever Your operating system experience is at some point along the line going to experience a hiccup It's just going to happen. It's the nature of the universe shit happens The problem is is that there's a small number of people in the Linux community that don't think this way They think that if you point out something that is Flawed in Linux or that you think is flawed in Linux. That's your anti-linux. That's your Not someone who is interested in promoting Linux, but are only interested in tearing it down and I hate these people I don't like them at all. I think that they should be silent because they're dumb.  I mean first of all who cares right?  It's all right.  I don't I mean seriously I don't know what these I mean There's a stereotype of of the the standard Linux user being in his mother's basement Typing away in a terminal, you know, and and there's a reason why that stereotype exists And it's because of those people right now Let's just pause for a minute there like I'm a Linux fanboy Okay, I use Linux on every single computer I have that's mine In fact in my entire household There's only one that uses windows and that's just because that person won't switch to Linux I try every single time and I just want them to switch to Linux, but they won't do it. I I've tried Right, so I'm a big Linux fanboy.  It's there, right? but I'm also I feel That I'm the type of person that can be at least somewhat objective about Linux and I hope that I can spread that to some other people because Linux isn't perfect, right? I have so many problems with Linux Like it seems like a wig doesn't go by where something doesn't go wrong. Whether it's minor or big, you know Most of the time they're minor problems.  We know that I mean pulse audio sucks when it's bad, but when it's working, it works fine, you know And but the problem is it's not consistent all the time, right and pointing that out, you know I don't think it's a bad thing. I mean, we know that audio on Linux has its problems Especially for new users, if you don't know how to go in and set up the audio stuff on Linux You're gonna have a bad time, especially if you use hardware That is meant to be used with windows, you know, sometimes that hardware doesn't work well with Linux Sometimes it does. It's kind of inconsistent and that can lead to a poor experience But and pointing that out doesn't mean that I'm a windows fanboy It just means that I think that Linux has some flaws when it comes to audio Bluetooth audio also is horrible. Now, I will also admit that bluetooth is kind of horrible on windows too It has problems the standard itself has problems. That's not really a linux problem But it is something that you experience when you use a new operating system You know, it just some kind sometimes kind of sucks Yesterday I made a video about search I created a title and a thumbnail that was inflammatory To get views. It's a I don't know if you know this but that's something that happens on youtube The algorithm rewards that kind of behavior And I want people to watch my videos. So I create thumbnails and titles that Have the chance to piss people off and or inspire people to click on the video and I don't personally think that linux has a search problem I really don't but I phrased it in such a way that I kind of thought it did The the search thing It's fragmented if you want to find a file you can do it It's just you got to use a certain tool sometimes in order to do it And there are certain tools that I haven't tried like fd and fzf Those are tools that I haven't actually had a chance to look at yet and those apparently are way better but sometimes The topic of the video pisses people off and that's kind of what inspired this video is that When you criticize linux When you point out its flaws or flaws that you think or have at least experienced even if other people have an experience So you're going to have some people that come out of the woodwork and criticize you for having Experienced that flaw and this is what gives the linux community a bad name Because when new users come in and experience these things because there are they are going to experience flaws with linux it's a not a perfect operating system and They go to get help and they come across the person who says well, this isn't a flaw.  It's going to drive them back to windows And I'm not saying that the windows community if there can be said to be a windows community is any better I'm not saying that because it's obviously going to have its fanboys as well It's just the nature of a community if you have a community There's always going to be a portion of it that are assholes And I think that's the whole point of this video is to stop being an asshole okay if you're one of those people who Don't like that like it when linux is criticized first of all unsubscribe from this channel. Okay, just seriously I appreciate you petting the red button if you if you were here Uh for a while, but if you don't like it when people criticize linux Just go find someone else to subscribe to because i'm going to continue To criticize linux all the time and it's because I love linux. I love it so much I would marry it right that's and that's dumb, but I like I use linux all the time It's my number one daily driver. I don't have a single windows computer Around me except for the one that goes for that one person that wants which linux. That's literally it and I love window managers. I love working in the terminal You can't ever save head. I don't like linux and I think that that's the you can't love you Loving something and using it and have been proud of it and all this stuff Doesn't mean you shouldn't criticize it. In fact, you should probably criticize it more You should you should be able to point out its flaws because you want to help make it better Now i'm not a developer if I was a developer or a programmer on any of those things I could focus my effort in going into the code and fixing some of the flaws that I you know point out I don't have those kind of skills and while i'm trying to learn like some python and stuff like that I don't think that i'll ever Be confident enough to go into a get Get repository or and fix a flaw in a in an open source Project or something or or go into the linux kernel mailing list and and help out there I'm never going to be that kind of helper, but I enjoy Going through and working on documentation for certain projects. I like donating money to certain projects when I have the cash I've been learning bash and python so I can make scripts that make certain Processes better for me and hopefully for other people Those are the that's the way that I'm contributing And you wouldn't feel the need to contribute if you didn't think that there were things that could be improved And that's the whole thing like I want linux to get better, right? I think that we all want linux to get better and If you're one of those people who thinks that linux can't be criticized Do you not think linux could get better? I don't think that that's the truth. I think that even if you're one of those people who think that linux can't be criticized You've had linux problems. There are things in linux that you want to see improve get over it Get over yourself to the point get over your attitude That prevents you from allowing other people to criticize it just because you criticize something doesn't mean that you don't love it In fact, it probably means that you love and care about it more Because you means you want it to get better. You want it to improve and Keep approaching that perfection that some people in the linux community think that it already has Like I said, it was a ranty video and I just needed to get this off my chest Uh linux is awesome But it could be awesome or Not a word But it's not going to get that way if we can't point out the flaws So that is it for this video. If you have thoughts on my ranch, you can leave those in the comment section below Make sure you subscribe unless you're one of those people that are Anti linux criticism. I suppose then you shouldn't subscribe. You should go elsewhere Um, everybody else you should definitely subscribe because there's much more of this kind of ranty content on the channel every once in a while, I just have to get pissed off about something and Uh, youtube is my medium. It's my canvas where I can paint my utter rage So, uh, you can also follow me on twitter at the linux cast. You can support me on patreon at patreon.com slash linux cast You can subscribe to all of the other stuff that I do discord mastedon I'm sure there are other things in the video description that I've forgotten about that are I signed up for at some point And you should follow me there. Uh, all those links will be in the video description So before I go I'd like to take a moment to thank a few fine people Devon chris east coast web gen 2 is one two patrick all primus marcus maglan jackson and tool steve Sid a mitchell art center amityas merit camp josh li day dog the bsd is rock computer a Thanks all of you guys for your support. I truly appreciate it. I really do um I I have no words To say how thankful I am for everyone who has supported me on patreon and even those of you who haven't supported me on patreon I appreciate you as well even though I told some of you that unsubscribed. I appreciate you guys too just um Criticize one x. Okay. Anyways, I'll see you next time. Thanks for watching


Welcome, we resume our study of Cauchy problem for heat equation that we have started in lecture 7.1, we ended lecture 7.1 by defining what is known as heat kernel or the fundamental solution associated to heat equation. Using that we are going to express a solution of the Cauchy problem for both for homogeneous heat equation and for non-homogeneous heat equation. So outline of this lecture is as follows, we recall briefly recall the Cauchy problem for heat equation that we have discussed in the last lecture that is lecture 7.1 and then we solve the Cauchy problem for homogeneous heat equation and then go on to solve for the non-homogeneous heat equation. So Cauchy problem consists of solving the heat equation ut-uxx equal to f with the right hand side the non-homogeneous heat equation with the prescribed initial conditions u of x0 equal to phi of x. The functions f and phi are given and we have to find a function u which satisfies these two conditions. We have introduced this notation of c21 r cross 0 infinity c21 stands for two derivatives with respect to x and one derivative with respect to t and it consists of all the functions defined on the domain r cross 0 infinity such that u, ut, ux, u double x are all continuous on r cross 0 infinity. So solution to the Cauchy problem was defined as follows a function u which is c21 of r cross 0 infinity intersection continuous function on r cross closed 0 comma infinity is a solution to the Cauchy problem if it satisfies the heat equation with the right hand side f and ux0 equal to phi of x and the Cauchy problem for the non-homogeneous equation can be solved in two steps. First you solve the Cauchy problem for the homogeneous heat equation that is you set f equal to 0. So you solve ut-uxx equal to 0 ux0 equal to phi x. In second step we use Juhamel principle to get a solution to the non-homogeneous equation namely ut-uxx equal to f of xt with 0 Cauchy data that is u of x0 equal to 0 and superposition of the two solution that we obtain in step 1 and step 2 will give you a solution to the problem that we want to solve. So first we started looking at the homogeneous heat equation and the Cauchy problem for that. We observed that under this change of variables z equal to x tau equal to a square t the heat equation remains invariant and therefore we thought of this variable x by root t here. So we look for the solution u of xt as v of x by root t where v is a function of one variable. So when we substitute this ansatz into the heat equation we end up getting a second order ODE which can be totally solved and this is general solution of the ODE and therefore u of xt is expressed as this C1, C2 are constants. Then we thought we can get the solution to the Cauchy problem by specializing the C1, C2 we will get the solution but that was not to be the case and we have found out that u of x0 is given by minus C1 root pi plus C2 for x negative and C1 root pi plus C2 for x positive. So there is no way that we can solve the given Cauchy problem using this analysis that we have done so far and then we observed that this u has a jump assuming that C1 is nonzero if C1 is 0 then u is constant right u of x0 is C2 and u of xt is C2 so it is constant. So constant solutions are known to be solutions in any case they do not solve the Cauchy problem. So if C1 is nonzero there is a jump that we observed. The moment we observe a jump in the function the derivative will pick up a Dirac delta that observation was made. So in lecture 7.1 we observed that u of x, t would be useful to solve the Cauchy problem. What is ux of x, t? It is 1 by root 4 pi t exponential minus x square by 40 is what we have obtained. We briefly recall the reasons why ux of xt is expected to be useful in solving the Cauchy problem. So ux of xt has this expression where C1 is equal to 1 by root 4 pi which I have not written here. It is smooth function as for t positive but what happens to t goes to 0 that approximates Dirac delta function. The reasons were explained that the integral is 1 and as t goes to 0 we can observe that the graph of ux stippens and starts to concentrate at x equal to 0. Then we said that the concentration can be made to happen at any point y in R instead of 0 by a translation that is you look at ux of x minus y comma t instead of ux x comma t then ux of x minus y comma 0 is like delta y. So the collection ux of x minus y comma 0 indexed by y forms a basis in the sense of this equation. Therefore, we expected that the superposition of ux of x minus y comma t into phi y yields a solution to the Cauchy problem. This will be formulated as a theorem very shortly. So we define what is called heat kernel and the fundamental solution by this formula kxt equal to 1 by 2 root pi t exponential of minus x square by 40. This is in fact ux of x comma t that we have obtained. So LMA define the function k1 from r cross r cross 0 infinity to r by k1 of x by t equal to 1 by 2 root pi t exponential of minus mod x minus y square by 40. This is nothing but k of x minus y comma t. This is k of x minus y comma t. So then k1 has the following properties. What are they? k1 is a C infinity function in this domain very obvious because it is defined to exponential function and inside you have minus x minus y whole square by 40. So this is a polynomial divided polynomial and t is not 0 in the domain therefore, this is always a smooth function. So C infinity and it is positive function because it is defined through exponential. So this is always strictly greater than 0 and more importantly dou by dou t minus dou square by dou x square of k1 x y t is 0. Why is this true? What is k1 of xy comma t? It is k of x minus y comma t. Yes, but what is k of x minus y comma t? ux of x minus y comma t. What is u? u is solving heat equation that is how we have found u through v. So ux being a derivative of the solution it is still a solution that is why you get this one that dou by dou t minus dou 2 by dou x square k1 of x y t equals 0 and this is of course only a translation by y. So we are using here some of the exercises that we have stated in lecture 7.1. Whenever you use a solution u of x minus y comma t is a solution for every y whenever you use a solution ux of x comma t is also a solution. So these assertions follow from the formula k1. I have already explained you. Some more properties of k1. Integral of k1 is 1. For any delta positive limit t goes to 0 plus integral over mod y minus x strictly greater than delta of k1 x y td by is 0 uniformly for x in i. So proof of 4 in the lemma. So setting z equal to y minus x by 2 root t we have integral of k1 equal to this quantity and that is equal to 1 because this integral is a standard integral. This integral is actually root pi. So proof of 5 introducing a change of variable exactly as in the proof of 4 we get integral of k1 on this domain to be this integral. Now because this integral is root pi and that is its finite it is integrable as t goes to 0 this quantity is limit of this is 0. So this completes the proof of 5. So solution to Cauchy problem for homogeneous heat equation. This is the Cauchy problem for the homogeneous heat equation. It can be obtained using the fundamental solution or the heat kernel or the k1. k1 of x y t is nothing but k of x minus y comma t and that is the content of the following result. Theorem. Let phi be a continuous and bounded function. Define function u by this integral substituting the expression for k1 it is this. So u of x t is proposed to be this integral. Then u is a c infinity function and r cross 0 infinity, u is a solution to the heat equation ut minus u x x equal to 0. If we extend the function by setting u of x 0 equal to phi x then it is a continuous function on r cross closed 0 comma infinity. This says that the initial condition is realized by this function which is only defined by t positive. It can be extended continuously up to t equal to 0 that is why the closed 0 here and in a continuous manner that is why c here and it assumes its value phi x. So the integral in the definition of u which is here converges uniformly and absolutely indeed modulus of u of x t if you look modulus of this integral or modulus of this it is a positive function. So mod phi y and phi is bounded therefore that comes out as the supremum and what remains is 1 by root 4 pi t integral exponential of this quantity which is 1. So if phi is bounded that is why supremum is finite then u is also bounded. So checking that u is a solution to heat equation is easy once suitable differentiability properties for u are established that is assertion 1 is established. Of course, assertion 1 is c infinity what we need here is only that u is in c to 1.  So we will show that u x of x t exists at every point in r cross 0 infinity. So formally differentiating we get this if it is differentiable u of x t is differentiable with respect to x then u x of x t must be this that is the idea. So what we will now show is this integral converges absolutely and uniformly and hence differentiation on the integral sign is valid and then we have this expression that is idea. So note that this expression I am going to differentiate with respect to x and write down so is this. Now we do a change of variable x minus y by root t equal to p then this integral will turn out to be this integral. Now this is less than or equal to this phi comes out as its supremum rest stay as it is and you have a mod p instead of p and that this integral is finite. So therefore the integral in this converges uniformly and absolutely and this justifies the differentiation under integral sign. Thus u is differentiable with respect to x once using similar computations and ideas we can conclude that u is c infinity this completes the proof of 1. Now what remains is the proof of 3 that is the initial condition is achieved that is u of x comma 0 makes sense and that is phi of x. So this delta we will choose later in view of integral being 1 of k 1 we can write this uxt is the first term here integral k 1 phi by dy phi of xi xi is some point okay phi of xi into integral k 1 integral k 1 is 1 you multiply that with phi xi so this equal to this because of this. Now that is less than or equal to mod y minus x less than delta in fact this integral we write it on mod y minus x and delta and mod y minus x greater than delta and then use triangle inequality. So in this inequality there are 2 integrals on the RHS one is this one is this. So the first integral can be made small using continuity of phi at the point xi and the second integral goes to 0 as t goes to 0 by lemma. So we will choose delta so that mod phi m minus phi xi is less than epsilon by 2 whenever y minus xi is less than 2 delta this is precisely consequence of the continuity of the function phi at the point xi. Thus we have this integral less than or equal to this integral because this is a bigger this is contained in this mod y minus x less than delta is contained in mod y minus z less than 2 delta and now by continuity where this is valid this quantity is less than epsilon by 2 is valid therefore we get this and this integral on some set is always less than equal to integral and bigger set which we know to be 1. So this is actually equal to epsilon by 2 I have written less than it should be equal so what we have got is this less than epsilon by 2. Now by phi of the lemma there exists t naught so that for t less than t naught we have this quantity is less than epsilon by 2. Combining the two inequalities that we got one is here and one is on the last slide what we get is that whenever mod x minus z is less than delta and t is less than t naught modulus of u x t minus phi xi is less than equal to epsilon. So thus u is continuous at points of x axis and u x 0 equal to phi x for each x in r. What about uniqueness? Note that the theorem that we have stated is the existence theorem we are proposing a formula and then we are saying that formula gives rise to a solution. So essentially it is in existence by exhibition of the solution. So in general uniqueness is not expected for Cauchy problem posed in x in r. So taken off example illustrates non uniqueness of solutions. So what is taken off example it is concerning the Cauchy problem u t equal to u x x that is a homogeneous heat equation and 0 initial data u x 0 equal to 0. Of course u x t identically equal to 0 is obviously a solution to this but unfortunately there is one more solution. The following function which is given as a series is also solution. What is G? G is defined by this formula. Now the analysis to show that this solution is not easy but it can be understood. It is elementary but not easy. So details on taken off example may be found in this book by Fritz John on partial differential equations or Helwig partial differential equation and many more books which has this. Now we state a fact without proof. So Cauchy problem admits only one solution when we are looking for solutions belonging to special classes of function that is uniqueness can be regained but we need to put conditions on the kind of function that we are looking at or admitting as solutions. So like bounded solutions. So if you are looking only for bounded solutions then the solution is unique or solutions have a controlled growth of this type then also solution is unique. In our case we are considering the bounded Cauchy data and therefore the solution is bounded which we have constructed that solution is bounded. Therefore solution is unique. So solution is unique. Reference you can see this book Dependent RTO PDE or you can look at again Fritz John and Helwig or Evans. So in the case of taken off example bounded solution is a zero solution. So that is the only so bounded solution. The series solution is not bounded solution. So now let us discuss how to solve Cauchy problem for non-homogeneous CT equation using Juhamel principle. We have already seen Juhamel principle when we were discussing wave equation and how we obtain solution to the non-homogeneous wave equation and the corresponding initial value problem or initial boundary value problems. So it is a very general principle we will apply that and obtain a solution to the non-homogeneous CT equation and corresponding Cauchy problem. The Cauchy problem for the non-homogeneous CT equation is ut-uxx equal to f of xt and u of x0 equal to phi of x. We are going to apply Juhamel principle to obtain a solution to the Cauchy problem. Juhamel principle expresses the solution of the non-homogeneous equation in terms of solutions of the Cauchy problem for homogeneous heat equation and that passes through what is known as source operator. Source operator for heat equation let S phi of x, t denote the solution to the Cauchy problem for the homogeneous heat equation with initial data given as phi x. Now the question is it well defined? Answer is yes because given a function phi which is bounded and continuous there is exactly one bounded solution to this Cauchy problem. So S phi denotes that solution. So we expect the function defined by this where f tau of x is f of x, tau to solve the Cauchy problem for the non-homogeneous heat equation. A comment on the terms that we see on the RHS of this equation the proposed solution. The first term solves homogeneous heat equation by definition and at t equal to 0 it takes a value phi of x by the definition of the source operator. The second term solves the non-homogeneous heat equation with zero Cauchy data. So remark on the first term once again the first term on the RHS is by design or by the construction of the source operator is a solution to the homogeneous heat equation and satisfies the initial conditions ux0 equal to phi x for x in R. Remark on the second term on the RHS in this formula the integral term satisfies zero initial conditions t equal to 0 you get 0 very easy to check. The integral term satisfies the non-homogeneous heat equation and we proceed to check this. So we have to compute the derivatives of the integral term. So what is dou by dou t of that that is sft of x, 0 plus 0 to t derivative goes inside the integral sign. Sft of x, 0 is f t of x by definition of the source operator plus we have this. So we have f of xt plus this term. So we use Leibniz rule for differentiation of integrals which is a consequence of fundamental theorem calculus and chain rule. So this is what we proved on the last slide for the first derivative of the integral term. Now since s of tau of x, t minus tau is a solution to the homogeneous heat equation it is time derivative equals second derivative with respect to x variable. Therefore we have this equal to this dou by dou t is dou 2 by dou x square. So bring dou 2 by dou x square outside this integral that means we are assuming that the differentiation and integral commute with each other and we get this. So that means the integral term satisfies the non-homogeneous heat equation. Who guarantees that all the computations that we have done are valid? We need to assume that the functions f and v are good. So remark on the integrand in the particular solution this one 0 to t Sf tau xt minus tau. So define w of xt tau to be the integrand of this. Then w satisfies homogeneous heat equation in this domain x belongs to Rt bigger than tau and it satisfies the initial conditions w of x tau comma tau is f of x tau for x in R. Thus the integral term in the Duhamel formula has this expression 0 to t w. W are solutions to the homogeneous heat equation with this as the initial data. Initial data is coming from the source term that is a general idea in Duhamel principle. So the source operator is given by this because this is the expression for the solution of the homogeneous heat equation with Cauchy data phi. Therefore u of xt is now given by this which is a solution to the non-homogeneous heat equation. We state a theorem without proof. If f, f t, f x, f double x are all continuous unbounded in this domain R cross 0 to t for every t positive then and of course phi is bounded and continuous then u that we have obtained using the Duhamel principle is indeed a solution. Defends a classical solution C21 R cross 0 infinity and its continuous up to t equal to 0 and it realizes the initial condition that part we have already checked. So we do not discuss its proof. It involves justifying the formal computations we made earlier namely which involved interchanging the differentiation and the integration that justification using the hypothesis on f. Thank you.


This is stock number AT3A. We are here at Summit Automotive in Fond du Lac, Wisconsin, your new and used heavy duty Ram headquarters. We are checking out this extremely clean 2012 Ram 2500 crew cab short box. This truck has the 5.7 liter V8 Hemi motor. From this HD video you'll be able to tell that this truck is extremely clean all the way around as well as be able to tell just how cool this Sage Brush Pearl color is. Has the 18 inch, I'm sorry 17 inch polished aluminum ribs with the Firestone TransForce LT26570R17 tires on them and these tires look like they have about 60 to 75% of the tread left. Like I said, Sage Brush Pearl is the color. We shoot all of our videos in 1080p so if you have HD capabilities on your computer tablet or smartphone device, turn them on right now because it's like you're right here looking at the truck with me. You won't get a more realistic view of the vehicle unless you're standing right here looking at it with me. That tire and rim is an excellent condition as well as you go down this side of the truck you can see just how clean that body is, how mirror like and glass like that paint is, very nice down this side I didn't see any dents or dings. The paint is an excellent shape, has the bed rail covers, the cab is in nice condition as well. We take these HD videos so if you are far away or even if you're close behind you just can't make the trip down but you're still interested in purchasing the truck. You can still see the truck here, the truck and of confidence in the vehicle that you're looking at before you even get here. Back tires have about I'd say 50 to 60% of the tread left not quite as much as the front but still good amount of tread underneath, frame and underbody is an excellent condition all the lower rockers look really good and it has the factory chrome step bars that are in really nice shape as well. Like I said we want to make sure you get the most accurate representation so when you get here there's no surprises basically look at the truck and say that's it. Take it home. It's pretty easy. Has the locking tailgate can really see that metal flake in the paint right there. Really good looking color. This one comes with a Reese Pro Series 15,000 pound 5th wheel hitch. Has a spray in bed liner that's in really nice condition as well. Tailgate and rear bumper in nice condition too and as you go down this side of the truck just as clean as the passenger side. Just how reflective that paint is. Whoever had this truck kept it in really good condition. Back rim is in the same condition as the rest of them and that back tire is just as much as the other back tire. Inside the SLT package gives you the gray cloth interior. There's no rips or tears in the seats. This truck's never been smoked in factory or power driver seat. You've got factory all-weather floor mats throughout. Has the factory brake controller, auto headlamps, power windows, power locks, and power mirrors. Inside you can see that this truck has 24,358 miles, you also have a compass temperature mileage display, multifunction steering wheel, leather wrap steering wheel, cruise controls on that side. It has a CD player, serious satellite radio capabilities, turn dial, four wheel drive, tow-haul mode, stability control, you also have a 115 volt, 150 watt plug-in. Passenger seat is very clean as well, no rips or tears on that. Headliner is in excellent condition. Up here we have the power sliding rear window and the home link system which you can connect to your garage door or security systems or lighting systems. Take a quick look at the back seats and then we will check out under the hoodie you also have radio controls on the back of the steering wheel. The back seats are just as clean as the front seats, no rips, no tears, no stains back here. Has the latch child safety system for your car seats, power sliding rear window. You can see that the carpeting is in excellent shape. You do get two storage containers back here which are really cool. You can put ice and drinks and then these come out for easy cleaning. And underneath here we have a storage container as well. And that's on both sides of the vehicle. You can see just how nice the carpeting is. This truck was very, very well maintained. Has the heated tow, pulled out tow mirrors which are really nice for pulling a camper. And they also fold in as well. Take a quick look under the hood. 5.7 liter V8 Hemi motor. Engine bay is very clean, runs very smooth. This truck has been fully safe and inspected by our service shop. Has a fresh oil and filter change. All the fluids have been checked and topped off. And this truck is 100% ready to go. And to see more pictures of this one or one of our other 400 new and used cars, trucks, SUVs, minivans, Wranglers, heavy duty trucks, half ton trucks, you name it, we got it.  Videos of every single used vehicle that we have. All at SummitAuto.com. Thank you so much for checking out the video. If you like this one, want to make it yours, give us a call right now.<PHONE_NUMBER>. Ask for one of our sales associates to make this one yours today. Once again, that number is<PHONE_NUMBER>. Thanks again for checking out the video. If you like and want to check out more videos like this, go to www.youtube.com. Remember to like, subscribe, and share on all those videos. And this one, in fact, any second you see a link to subscribe to our YouTube channel on your left. A link to more heavy duty truck videos like this one on your right. And if you haven't been to our website on the bottom, a link to this truck on our website, click those, check us out. And we really look forward to helping you with the Super Clean 2012 Ram 2500 Crew Cab Short Box. Once again, that number to call is<PHONE_NUMBER>. Thanks again.


for Masim, who came over here to tell us about all the censoring that we see in some countries, not here maybe so much, but in other countries, the censoring of the Internet, and he's showing us even in a very practical manner, how you, even if you're not a technician, can bypass these censorings, so we will even have a live demo. Have fun with Masim. Thank you. Thank you. Hello, everyone. This is Asim, and probably if you live in this region, you wouldn't have experienced any kind of censorship, because I was trying to run an application to test if any of the websites are blocked or not, and I didn't find any. So I'll be showing the results towards the end of the presentation. The topic is censoring the Internet and how to bypass it. So a lot of you might think that it would be a very technical one, which is, which it is, but there are a lot of small, integrated things that you can, as a normal person who wants to bypass it, you can use it like if you have an Android device, I would have some settings that you can add to your device so as to get a totally censorship-free Internet or an Internet that's not being monitored by your ISP. So ISP stands for Internet Service Provider. So yeah, let's get started. Who am I? So, Masim, I also teach about cybersecurity on my YouTube channel called Hacking Simple Fight. Professionally, I work as a security engineer in a US-based startup called Rippling. I sometimes hack government websites and private organizations as well as part of their bug bounty programs. So you can scan this if you want the slides and read through it, but I think you can easily see it on the screen itself. Let's skip this. These are some lists. So yeah. So I'll start with the question as to what happens when you type a URL in your browser and you press the Enter button. What all goes in the back of it? So if you are a software developer, you might have experienced this question in your interviews because this is one of the very common questions that you get asked. In the later half, I'll talk about how the whole process, once you understand the whole process, you would get to know where are the places where you can be censored and where you can be monitored because once you understand something, only then it gets easy to bypass it or basically get over or get around it. So there are places where traffic can be censored. Those are usually two places. There's a DNS and then there's a STT by request. I'll be talking about both of these in detail. And after those are done, we'll talk about the bypassing of these. So how many of you know what happens when you type, let's say, mch2022.org in your browser? Just a show of hands. How many of you know what a DNS is? So how many of you use Cloudflare DNS? OK, that's quite a low number. OK, how many of you know what <IP_ADDRESS>.8 is? Cool. OK, fine. Sorry. Yeah, I have that. But part nine, I think less than number would know. But yeah. So yeah, let's see what happens. So this is an oversimplified version of it. So this is your browser. And let's say you go to my website, assumestray.in. So the very first thing that happens, because machines understand only numbers. They don't understand what assumestray.in is. So this assumestray.in website gets translated to a number. That number is the IP address. IP address is the internet protocol address. That number is basically the address where my website is hosted. And on the far right, if you see, that is the server, the web server where my website is hosted. So now the browser has got the IP address from the DNS server. It tries to send the request to that machine that, hey, please give me the website that's assumestray.in. The website complies and gives back the HTML web page. This is the HTTP flow. Let's say an oversimplified version of an HTTPS flow. The first part remains the same. In the second part, there's some mathematical calculation, which we call as encryption. And that basically what it does is, when the HTML web page comes to the browser, that is encrypted so that anyone who is in between the browser and the machine that where my website is hosted, no one can see that data. So suppose you are using a website that has payment data, or you are entering your, let's say, PayPal credential or your Stripe credential or your credit card number. So those are usually encrypted. And you see that HTTPS on the URL with a green padlock usually. So that's the HTTPS flow. Now let me show you the actual flow. So this is the actual flow. You don't directly talk to the DNS or you don't directly talk to the machine. There is usually an ISP here. Like if you check the ISP currently, if you are connected to MCH Wi-Fi, you would see Stitch, Internet Stitch something, the organization name is Stitch and something. So that is the one who is providing the whole internet infrastructure to this area. If I go to my country, India, there would be Airtel, GEO or any other mobile network providers. They are usually the internet service provider. So the traffic, if you can see this flow, the browser first requests the ISP. ISP does all that part on behalf of you. Now this is quite an app. Like this is the answer to the question, what happens when you enter the URL into the browser and press enter. This is a very detailed one. I won't be talking about it, but it's a very good one. Thanks to Vasim Chekham, I found it online. But go through it because you would have the slides. It's quite interesting to know what happens and how easy you feel that you just press and enter and it happens in the snap of a second.  Now you might ask, okay, so what? Like I got the flow. I got the STTPS flow. Now what more? So let's see which places traffic can be censored now. So now if you see the ISP's color has been changed to red. That signifies that there is a danger. So because the ISP is in control of the DNS request that is going and it's also in the control of which server the webpage from where the webpage is being fetched, what is being returned. All this is, you are on the mercy of the ISP. So basically everything is going through them. So that's where, like these are the two end points, the DNS thing and the STTPS request or STTPS request. These are the two places where the ISP can basically come into picture and try to modify or censor the data that you are getting. So DNS level, sending fake DNS responses and STTPS request is the host data and the STTPS intercepting. So I'll talk about both of these. So DNS level is when you are trying to get the IP address. So imagine a case where you are trying to let's say access a website that is supposedly that should be blocked or let's say there's a website of a terrorist organization that your country doesn't want you to see. So what they would try to do is they would try to send you a different IP address that doesn't belong to the terrorist organization's website. In the same case, when you have the STTPS request, so in that part, what happens is if it's an STTPS not, it's a non-encrypted traffic, they can directly modify their traffic and send you, let's say, a notice that this website is banned or something like that. I'll show you some examples later in the slides. So how HTML response is being modified. I also have a wire shot packet capture which basically shows the flow of the TCP as to how that data is being modified. Don't get overwhelmed about all these terms. It's very simple.  Okay, I'll let, yeah. I think, yeah. So on the DNS level censoring, there are two methods that are usually employed by these ISPs. The first one is they try to, once you get an internet connection from your local ISP or home server, you are basically giving the lease for your internet connection. Let's say you are in US and you get Comcast or let's say you are in India, you get ARTL, GEO and any other internet service provider. So they give you a router and you basically get the Wi-Fi connection using that. So this router has predefined DNS service IP embedded into that. And that's where I would come to the cloud fair DNS and <IP_ADDRESS>. So these ISPs, when they give you the router and the internet connection, they already have their own DNS server as the default server where your request would go. So if they have to do any kind of filtering, they would just send you an invalid response or a fake response or a different response instead of going through all the hassle of intercepting your traffic and doing all that. So that is the very basic that they do. They also do this because sometimes it's easier for them to cache it on the ISP level and basically you can get all the DNS responses on their own ISP. So the traffic, they don't have to forward the internet traffic from your device to a public DNS server. For example, let's say you get a connection from a local ISP and they are running their own DNS server. So you request for Google.com. So what happens is, where we saw the previous slide, so the Google.com request goes through the ISP. ISP has their own DNS server running. It returns the IP address of Google.com and then basically your machine makes a connection to that. So what happens, let's say you are trying to access this website which is banned, let's say a terrorist organization website or any kind of website that your country feels is not to be shown to their citizens. So what they would give a notice to the ISPs that when you get a request to this, change the IP address or return a non-valid IP address instead of giving a valid IP address response. So there are two ways they do it. Either they have, one is called the synchole. Synchole is basically they have their own machine which serves a government notice that this website is locked. So any request that goes through them, they return the IP address of that machine. So that is called the synchole. So all the requests go through that synchole. The other method is they return a NX domain response. So NX domain is no domains exist. So the browser feels that there's no domain as such. So to replicate this, you can just type random characters, let's say ABCDEFGH, whatever you want to type, and then .com. So the browser would show that NX domain, this domain does not exist. So that is what they do. The other thing that is quite like creepy, I would say, the transparent DNS proxying. What happens in that case, you, so that comes because the first case when you have the default DNS, you can change the default DNS to a DNS provider of your choosing. Let's say you choose Google's DNS provider or Cloudflare DNS provider. Because you know that those providers won't block, these are public DNS providers. So you enter their IP address as your DNS resolver. So let's say you add <IP_ADDRESS> as your DNS resolvers. So any website that your browser wants to fetch, they would fetch from Google's public DNS resolver, that is <IP_ADDRESS>, quadrate. What happens in this case, because now ISP is not control of your DNS traffic, so they can't censor that, they can't monitor that. So what they do is, here comes the technical part of it. So DNS works on port 53. Every machine has like 65,000 ports, and using these ports, your machine makes connection to the outer world. So DNS, our domain name system, that works on a particular port called port number 53. That's a port number. So what these ISP do, they monitor traffic on this port 53, and what they do is they route all the data, all the traffic that is going to port 53 to their own servers. So even if you set Google as your DNS server, the request doesn't go to Google, rather they go to the DNS providers. And because the whole internet traffic is going through them, so they can easily do it without like transparently do it, and you wouldn't know any better of it. The other thing that happens, and sometimes because people know that they are transparently proxying their DNS, what ISP do is, if it's a blocked website, they won't like proxied like in India recently, I think two years back, what happened was, some websites, those DNS was being provided by Cloudflare, whereas the other was being routed to the ISP. So they were transparently proxying those. I'll show you a diagram that would help you explain it. Yeah, so this is the first one, the fake DNS. So let's say even if you have a VPN tunnel connected to your infrastructure, the DNS or the port 53 request, because it's not going through the VPN by default. So that goes to the ISP and the ISP changes the response to that. So even if you, the major traffic, the STTP traffic or STTP traffic goes through VPN, it goes to the wrong IP address or it goes to the wrong server. So you would get a different response either way. It's also called a DNS leak because this helps the companies to know which websites we are using, even though you are using a VPN. So the whole purpose of VPN is to provide you anonymity and so that no one knows what you're actually viewing. But using this DNS leak, the ISPs know which particular website you are browsing, even though they don't know what you are browsing or what you are doing there, but they know, okay, a request is being made to so and so website. This is a transparent DNS proxy. So in this case, even if you have a public DNS set as your proxy, you would still, your request would still be routed to the ISP DNS and you would get a response from them. Yeah, so if you have a mobile phone right now, you can go to this website, dnsleaktest.com and you can see if your DNS requests are getting leaked to the ISP or is it going through CloudFare or whichever DNS you have chosen. I think I have it up here. So this is the website, that's how it looks. So there's a standard test and there's an extended test. So I hope it's visible, yeah. So in the standard test, they do one round of testing where they send requests to their own unique domains and try to find whether you are trying to access that, you're trying to access that domains or the ISPs trying to access that and give you the response. So let me just show you that. So you can see I have the ISP set as CloudFare. So you get a response as CloudFare, Amsterdam. If it was being blocked or if it was going through the ISP, you would see the ISP's name here. This is a good website. They have quite a detailed thing and how it is working and you can read about it. I have these in the, what do you say, in the references slide. If you want to know how it works and there's a way that you can, even if you're using CloudFare, you can still modify that and manipulate it to show that you're using Airtel DNS. It's, I mean, it's very easy to work if you want to talk to me about that later. We can see how that works. Now let's see how you can bypass these checks. So the very first thing is if you are in the first, if the ISP's in the first category, where they're just having the default DNS server, you can just choose any of these DNS's. Let's say CloudFare, OpenDNS or Coord9. So you can set it in your mobile setting or in your browser setting and the DNS request would go to them. It is for the first case when the ISP has set a default DNS server into your router. You can also clear your DNS case. So what DNS case does is, let's say you are going to google.com again and again. So your browser won't be sending a DNS request every time you go to Google, rather it would save the IP address of Google and it would just continue with that. But let's say your ISP has already poisoned that website and it's sending their IP address instead of actual Google website. So that would continue to show in your browser until and unless you clear that cache. It's called the cache. So that's why you need to clear the cache and there's a link how you can do that. I'll just quickly show where you can set these settings for different browsers. Okay, first let me talk about the second case. So that was the first case where you had the default DNS set by the ISP. The second case is where there is a transparent proxy.  So to bypass that, we have technical solutions like DNS over HTTPS and DNS over TLS. I am stressing more on DNS over HTTPS for a reason I'll just talk about it. Let's first talk about DNS over TLS. So TLS is basically what powers the HTTPS, the security layer of HTTPS. And that's how your whole network, whole data that's going through your website or the encrypted webpage that you get and the reason why no one is able to sniff your credit card details that is because of TLS. So TLS makes sure that your connection between your browser and the website that you're going, that's encrypted. And the same is happening on DNS now that you can basically encrypt that data and so that's why it's called DNS over TLS. The reason people don't prefer DNS over TLS is because it's limited to a port called port number 853. So again, what the ISPs can do is they can route the traffic to port 853 to their website, their DNS server and give you a fake response over that. So that's why DNS over HTTPS is preferred because in DNS over HTTPS, it's a normal HTTP connection or other HTTPS connection which is sent over port 443. So it's like a normal browser traffic. So it goes through the Cloudflare or whichever DNS over HTTPS server you have chosen and the whole DNS request or getting the IP address is sent as a HTTPS request. So to block that, they would have to route all the port 443 traffic that would be among us and I mean the volume itself won't be able to, like you won't be able to know which data is inside it because the whole of the DNS request is encrypted inside the HTTP packet. So that's the reason why DNS over HTTPS is preferred. Cloudflare has their domain cloudflareifendns.com slash the DNS query. So you might ask, I see in the previous cases we saw that DNS was 1.1.1 or it was an IP address but here you have the HTTPS. So it's because this whole fetching the DNS responses or fetching the IP address of the machine, it is in itself, what do you say? It is in itself an HTTP, the packet thing, the getting an HTML page kind of thing. You can also open DNS and coordinate on the same. On desktop Firefox, you can even have a DOH from the network setting itself. DOH is not enabled on Android till now. You can have DNS over TLS, I have it on my mobile phone. In some countries that's not preferred, like while I was coming from India, I had a layover in Abu Dhabi, so their private DNS or DNS over TLS was not working so I had to switch back to the normal DNS. But in other cases, the reason I told you, like DNS over TLS can be monitored and can be stopped but DNS over HTTPS can't be because it's the same as the HTTPS traffic. So for Android, I think they have started experimentally in Android 12, but it's not yet rolled out. Yeah, so this is the Firefox screen. Let me just quickly show you where you can do this. So here's the settings for this. You just search for DNS here. In the settings, you can see enable DNS over HTTPS, Cloudflare, Next DNS, and the custom. In the custom, you can add coordinate and other kinds of stuff. I have DNS over HTTPS in this. Then if you use Brave or Chrome, any of those, in the security settings, privacy and security, you have this use secure DNS and inside you can have Cloudflare 1.1.1 and other kinds of private DNS and things like that. For Android, this is the screen. In iPhone, I think it's the DNS over HTTPS is already there, I have not tested it but I think it's there. From Android 9 and above, you have this option in the Wi-Fi and network settings. So this is a screen, in my mobile phone, this is what the settings are. I have Cloudflare enabled onto that. TLS, you need to have <IP_ADDRESS>.1.1. Cloudflare-dns.com. Yeah, these are the instructions for it. You can also have <IP_ADDRESS>.1, in the alphanumeric way. You can go and set up DNS over TLS for this. Now, if you want to check your current DNS security you can just go to this website, let me show you here, I already have it up. So you can see it's checking and connectivity resolver. So yes, name Cloudflare. Is it connected to <IP_ADDRESS>? Yeah. And is it using DNS over HTTPS? Yes. Let me just disable this and see if that's actually working or not. Let's refresh this. So you can see DNS over HTTPS is no. Let me just re-enable this. OK, cool. Now let's come to the second part of it, which is the HTTP censoring. This has been seen in, like, I've been collecting network data in India through a lot of different ISPs. And I've seen it being done in one form or the other by almost all of these ISPs, because the government mandates that some websites need to be blocked. So in one way or the other, there is some kind of HTTP censoring. So if you see on the screen on the bottom side, this is cloudy.pk. It's a Pakistani website. I think it hosts free movie content and things like that. So if you see here, there is this message. This website has been blocked as per the order of Ministry of Electronics and Information Technology under IT Act 2000. And if you see here, there is a not secure sign. So it's an HTML website, and that's why they're able to modify the content of the website. Whereas if you go to the HTTPS version of it, you would straight away get a connection reset packet. I'll have a screenshot of that as well. So that's what I was talking about. We'll talk about how this is happening and how they're able to do it. So yeah. So how many of you have seen Viashak or know about Viashak? Cool. A lot of guys. OK. So Viashak is a tool that helps you capture your raw network packets. And you can basically, the thing that you see on your browser, it's the HTTP request. But before that, there are a lot of things that happen on the TCP IP stack and a lot of different kinds of what do you say? It's called packets that transmit data to make that thing happen. So this is a screenshot of it. I already have a, let me show you. I have a Viashak thing running. Yep. So let me just, cool. So yeah. OK. So if you see, these are raw packets. So from one, it's starting from here. And some requests are being captured because your machine, so it captures all the data that is getting, all the basic network requests that is being transmitted from a device to outside internet. So that's how you see a lot of these things there. In the green one, if you see, there's this get request. And let me just try to follow this. So this follow TCP stream, basically what it would do is it would just show you that particular stream or request and responses for that particular IP address and destination. So otherwise, you would have a lot of data from other places as well. So if you see in the top, there's this get request. And it's a HTTP 1.1. Host is cloudy.pk. And in the response, you see HTTP 1.1, 200 OK. 200 OK is the status code when you get a valid response from the server. So everything looks fine. Content length is 252. If you see the actual content, you can see there is that. Let me show you. There is this iframe, which is srcairtail.in slash dot. And then there's this 301 moved permanently title. And the document has moved. So it might get confusing that it also shows the document has moved to this HTTPS website. So let me just tell you what happened here. This bottom part is the actual thing that was being sent from the server. Because it was an HTTP website, so it was being redirected to its HTTPS version. And the way it was being done was by showing a small HTML web page where it was showing that this document has moved to this particular website, which was the HTTPS version of it. What the intent servers provided it was, it added on top of all that HTML content, yeah, it added its own meta tag. And then iframe, which shows this thing. Let me show you what's there on this. Hmm. I think let me just continue. So yeah, this is the thing that you're seeing. And that's why you see that message on the page when you go to cloudy.pk. So basically, in this case, what happened was the ISP, because it was an unencrypted traffic. So the ISP was able to determine that it's a blocked website. This is something that I have to censor. And once they figured out that, OK, this is something I have to censor, they added their own iframe and basically discarded all the HTML after that. So yeah. So you see that one of the very basic bypasses is to use the HTTPS version. Because these ISPs, they are usually very old technology. They don't always monitor. They don't block on all these phases. So I've seen in cases, in some cases, where if you go to the HTTPS version of the website directly, you sometimes get access for it. That's not a foolproof way. So I would talk about how we can do that. The other method to bypass is you can use a VPN, which is a very common way a lot of people would already know or have been using it. There are places and countries where you can't use VPN. And also, there are places where if you are using a VPN, you would have to tell the government to collect all the VPN logs. So any activity that you do would be basically monitored by the government. So there are ways around it, or other methods that you can use. I will talk about it later. So in the HTTPS connection, we saw initially that your traffic was encrypted.  How are they going to block the content that I'm seeing? So in this case, there's a host header that helps the web server determine that, OK, this is the particular website that the person is trying to access. And that is what the ISP also looks. So let me ask you a question. So you know what a web server is. You see that, OK, there are websites. Or you might have your own website or something like that. So you might have seen WordPress websites. Anyone who has not seen or who has seen a WordPress website just to show off hands. Cool. OK, so do you think that each of these websites are hosted on a different computer? Or a single computer, let's say two gigs of RAM and 25 GB of storage, would it be sufficient for hosting hundreds of websites? I mean, yep. So it's fairly common to assume that a single web server or a single IP address would be hosting multiple hundreds of websites if not, right? So how does the web server determine that, OK, you have given the IP address. You have given that, OK, I want a seamstress.in from this particular IP address. But how would that machine know which website to serve? Because let's say if it's an encrypted traffic between you and the machine, the machine should know how to encrypt that traffic. Because the machine is already hosting hundreds of websites. And each of these websites would have a unique way of encrypting that traffic. That is called the key of that particular website. So to do all this, the first request that you send from your machine to that particular server where you are getting the HTML page or web page from, you need to tell that machine without encrypting that, hey, I want a seamstress.in. And further connection would be between me and that particular hosted website. So that is where your ISP sniffs that and gets to know that, OK, this is which website this particular person is trying to do. And that is called server name indication. So it's extension of TLS. So TLS is the transport layer security which gives us the HTTPS privilege that we have right now. So the packet, I would show you the packet as well. In the packet, it's an unencrypted packet. So a lot of things that happen in the TLS, initially before starting the encrypted connection, that happens over clear text. Clear text meaning that happens over a nonencrypted channel. And that's where these ISPs come into picture and they try to sniff that and try to basically block your access there. This is the flow of it. So there's a SIN packet. You don't need to understand all that, but let me just take you to the important parts. Client is you. That's the server. So there's a SIN packet that's being sent. There's an acknowledgement that comes from the server. That's with a SIN app packet. This is an app packet here. Then this is the client hello. This is an important one because this has a lot of things. This also has the server name indication thing which mentions that, OK, this is the particular host or this is the particular website that I want from you. So it would send that packet. In response, the server would send a server hello certificate and server hello done. The certificate is the one that would help create the encrypted channel between your machine and the server. So this part is the unencrypted one and this is where your ISPs come into picture. Are you able to read this? I also have this. OK. Let me just pull that up. So this is the HTTPS version of cloudy.pk. When I try to access it in India, there is this, if you see here, there's this client hello packet and this is RST or the reset packet. So reset packet happens whenever the server wants to terminate the connection or whenever they want to close the connection. So, yep. But this is not, let me show you, rather I don't even need this one. So if you go and click on the client hello packet and if I show you the TLS part, so inside this. So you see a lot of extensions here. This one is a server name indication. And you can see the host name and there's this server name cloudy.pk. So this is an encrypted traffic that goes through your ISPs. So ISPs read this and once they read it and they found that it's in the blacklist, they block this traffic altogether. And the blocking happens by sending a reset packet because once the connection happens, they won't be able to filter and add their own, like this iframe that shows you a notice. So that's why they just stop the connection any further. And that's what it's here. Post this, if this goes through, the encryption happens. And further, they can't be able to decrypt or add their data into it. So they just reset the connection. Oh yeah, that's what's mentioned here. So now you would ask me, now how do I bypass this? So the very first thing is you can use a VPN. But let's say you are in a place where a VPN is banned. Or if using VPN is also a crime, there are places like that. I don't know if you had the privilege of going to those places. But there are places where VPN is banned. And even in India, recently it happened that if you have VPN and the companies who are operating VPN, they need to have VPN logs. So I remember ExpressVPN, they run on RAM in the RAM VPN. So they stopped operations in India. I think so. I'm not very sure. But something like that happened. So we are going to do a DIY. So we are going to make our own VPN. Even simpler, because it might be that VPN is a very complicated stuff for a lot of people. Although there are easier implementations, a one-click implementation for that. But SSH is something that everyone or every system has that. So I'll be showing you how I have been using it for some other purposes. But I found that they can also be used to bypass censorship. So there's this thing called SSHTenal. What happens is you have a VPS or a virtual private server machine in a country which is not censored. And you basically do an SSH connection. So you do an SSH connection to work on that machine or maybe get a remote access to that machine. For any reason, you do an SSH connection. So that same connection can be used to route all of your traffic from your machine through that country and outside the world. So basically your whole traffic is encrypted into the SSH connection. And you are basically able to get a censorship-free internet. Now, I don't need to say that the downside is how you would get a restricted bandwidth or a lower bandwidth. But still, I mean, for some use cases, it's good. And all you need is this SSHTenal command.  You just need to run this command. And it's all there. If you try it, it won't work because SSHTenal is an alias. So let me just show you how that works. So yeah. So are you able to read this? Let me... So SSHTenal is an alias for this. And let me show you what... So basically the command is SSH-n-d, port 8080181. You can use any port that you want. Don't use port 443, because then it would be tampering with your traffic. Iphone F, BBTY, I would tell you what BBTY is. You would have to use something different. The later half is just to print out the connection, whether it has been established or not. So let first show you what it is. It would be easier to understand. So yeah. This is the actual thing. Iphone F, after that, I have used BBTY. It's... I'll show you what that is. But instead, you have to use the username, add the rate, IP address, or the remote host. Let me just quickly show you. So this is my configuration file. So if you see, BBTY is a host that I have. It's a server that I have set up on Day-to-Day Lotion. So I use it for a lot of things, including my analytics on my website. So I use it for routing traffic. So let me just quickly show you this. So currently my IP address is Amsterdam 151217. Now let me enable this asset tunnel. So yeah, this is enabled. Port 8181. So 8181. I have this foxy proxy. I have this asset tunnel here. Let me refresh this. So you would see this Clifton NJUS. Now my traffic is being routed through a US server. And that's where my Day-to-Day Lotion server is. You might ask what foxy proxy is, and the thing, let me just show you quickly. It's basically, it creates a SOX5 proxy, IP address is 127001, port is 8181. You can do the same thing by going to settings and manually setting this up and all that. foxy proxy is an extension that helps me easily do that by just clicking on this and switching the proxy whichever I want. So that's why. Let's come back to this. And the VPS is cheap. You can get that for as low as $5 per month. You can use a VPN. That's also cheaper, whichever way you prefer. This is setting up your own DIY of your own VPN. It's a project by Google. It's Jigsaw. It's the project which makes these kinds of things where you have ways of open internet or freedom of speech thing. So they have this, what do you call it, outline. GetOutline is the website. I have the link here. You can just click download the software. You can add the credentials of your Day-to-Day Lotion VPS or your Google Cloud VPS or Amazon machine. It would set up the VPS onto that and give you an access. The good part is that you don't have to do SSH or anything. And they have mobile clients. They have Mac, Linux clients. So once you have the VPS set up on that, you can run it from any of your devices. You can access it from any of your devices. There's a tool that I was using to, it's a Golang, what do you say, Golang tool. I have been using it and for collecting data. It basically sends GetRequest to thousands of 1,500 of these websites. So I'm using Citizen Labs Testlist. So Citizen Lab is an organization that works for human rights and those kinds of things. So they have a Testlist and they have country-wise assorted lists where you can get the websites that are blocked. It's not very up-to-date, but you can still find quite websites, quite like 1,000 or 1,500 websites for each of these countries and all. So I mostly have used Global Website List. I'll show you in a minute how we can run this. These are the results for the camp. So these are things that it does. And if you see here in the bottom right, there's a good ISP tick. So if it's a good ISP, if it isn't blocking any of these, so it's a good ISP, it is being determined. You can check in the code. It is being determined on the basis of the DNS responses. So if the DNS response is one of the ISP's DNS, then it's basically filtering that. If in the response, instead of the actual website, you are getting a notice kind of thing, then it's a blocked, it's a censored website. If you are getting a connection reset, so then it's a censored, like it's a censored ISP. So all these things are being taken into account. Let me just show you a quick demo. So it's currently in the debug mode, so it's basically trying to go to hundreds of thousands of websites and trying to get the title of it and all those things, the status code, I know. So it's a bit modular, whereas you can write your own filters. There's a yaml file, filtering.yaml. You can, like, let's say you are working, because I don't know the different kind of notices being served in different countries. So you can add your own text string that you find that. Like in India, you see this website is blocked by the Department of Telecom. But in your country, it might be in a German language or it might be in a different language. So in that case, you can just add it into the yaml file and you don't have to touch the code here. I have, I think, made this repo public. There are a few issues that I'm working around, but yeah. Let's come back to this while it's closing up. So yeah, this is a summary of all these. There's a bypass about DNS script. I haven't mentioned about it because it might be a bit complicated and I wanted that something, a solution that everyone can use.  That's the end of it. There's a further reading. I have the links if you want to. There are resources. You'll see what happened with it. I found a connect with me further and I think that's almost on time if we have any questions. Thank you, Azim. So are there questions from the audience? Please, if you have a question, line up at the microphone. I think there were no questions from the internet. Yes, there were no questions from the internet. Maybe they were blocked, I don't know. So we have a question at the microphone. Yeah, thank you for your presentation. I was wondering, one of the reasons you said that, well, you made this presentation is because there are, well, I know American ISPs that monetize from your DNS traffic. And one of the suggestions you make is to either use Cloudflare or Google's DNS. Isn't there, well, part of the same problem there that they monetize on your DNS traffic as well? I mean, so the way these ISPs monetize DNS is that, let's say, if you have a domain name that's not being owned by anyone, so they would redact to an advertisement page kind of thing. But if you go on Cloudflare and Google's DNS, they just give you no domain response. They don't, like, they don't do that. So, I mean, that's right. I hope that answers. Well, if I can elaborate, I agree, but they do monetize on your traffic, building a profile around your, well, DNS. And therefore, I don't know, specialized advertisements, they serve you and stuff like that. So there's like a privacy issue there. I get it, I get it, what do you mean, say? It's a bit vague because the DNS traffic is a lot and in many cases, like, let's say, if you are going to Google a common news website that you go. So in many cases, that's already cached on the browser, so the request doesn't go again to Cloudflare or they don't go again to Google's DNS service. So that's why you can have it. I mean, that's why it's not part of it. Thank you. We have time for another quick question and answer. May I? Okay, thank you for your talk. A brief question. If I'm about to use DNS over HTTPS, and let's assume I used Cloudflare as the operator and as you've shown the DNS address is being put into the field of choosing DNS over HTTPS, which resolver is being used to resolve that address? I mean, you can use even the ISPs. I thought someone asked this question because, and so you can use the ISP DNS also because you are basically resolving a public domain like a Cloudflare DNS.com or Google.com, let's say, for example. So that's not blocked because blocking that is blocking a major part of the internet. So once that's resolved, then the request goes to that.  And if they'll fake the address of that DNS name and provide me with a valid social certificate, will that work? I mean, but how would you get the valid SSL certificate for the, let's say, Google.com's DNS over HTTPS? We are aware of malicious sites in which you can arrange a fake HTTPS certificate. I mean the fake CA certificate. Yeah. I mean, then that would be a bigger problem than just the DNS part. Of course, and the story was like that a couple of times already. So sorry, we are running out of time. Please do this discussion after the talk. No, we have no time for another question. Sorry. Thank you, Asim, for telling us how to bypass censorship. And if you have a question, please come to him and discuss it with him afterwards.


Hi everyone Joe for jazby's case of breaks calm with a box of 2021 rookies and stars football serial box break number 31 The last filler we got to do to unlock that prism at team all break Which is coming up in the next video after this, but first let's do the break big. Thanks to this group for making it happen appreciate it There are the teams right there. Let's roll it. Let randomize it two and a six eight times for names and teams different dice roll for the giveaway part one two three six seven Eight eighth the final time Could be some surprises in this rookies and stars box. We get a Nice rookie. All right, so here's the first half of the list right here And the second half the list right over there, and let's just print this out Let's get this break on Print out hot off the presses on a Wednesday hump day Wednesday before the Super Bowl got Devonta Smith the Trevor Lawrence. Oh another Devonta Smith right there Could have a monster game this weekend There's rookie rush Trevor Lawrence Devonta Smith goes to Nico and the Eagles Trevor Lawrence will go to Carlos and the Jaguars now let's flip back over here Let's gather everybody's names and let's see who's gonna win those team all spots. It'll be the top 10 after nine six and three nine times One two three Six and a three seven eight and nine Now from 11 on down Sorry, Joe sad times very close, but no cigar, but 11 through 32. Thanks for trying. Thanks for giving it a shot Top 10 though happy times because you're in the next break Nico. You're in Nico's happy again. There's Jeremy Joe You got in Nico Brian Jason Cameron and Nico and Joe again, so no nothing to worry about Joe. You got two of the 10 spots out of there Thanks for watching everybody. We'll see you in the next video for the break Jasper's case race.com


What is going on everybody? It's Stas here. Welcome back to another video. So in this video, we're going to be doing an overall market update looking at the Dow Jones, the S&P 500, and the NASDAQ. We're going to be taking a look at some large cap stocks to see what happened today, you know, in the overall stock market. And we're going to be talking about a trading update in terms of what I did with my trading today on the 7th of January in 2019. But before we do talk about that, for all you new viewers out there, my name is Stas, and I make videos dealing with swing trading, day trading, long-term investing, and my personal philosophies and strategies when it comes down to investing and trading in the stock market. So for those of you guys that want to learn more about that, feel free to drop a like, leave a comment, and subscribe. And follow me on Instagram, as well as on Twitter, and join our Discord group chat, as well as our Facebook group. All of those are linked down below in the description box. And let's get started with today's video. So today, guys, wasn't the most eventful day in the stock market, right? We started off pretty flat, then we started to climb up, you know, you know, heading into the middle of the day. And then we started to see a little sell-off. So we can see that here on the one day, one minute, you know, we started off flat, pretty much right at that resistance on the Dow Jones that we're going to talk about in a little bit. We started to climb up, and then we ended up selling off, heading into the close with the 180 and the 50 SMA simple moving averages acting as resistance points. So let's take a look a little bit deeper into what these charts are telling us. And we'll take a look into, you know, some longer-term timeframes to draw out some supports and resistances to help us understand where the market could be potentially headed over these next couple of weeks. And I think it's very important, guys, to do your research and do your charts and do your technical analysis every single day, especially on the major indices, to really just have an understanding on where the market is pushing so you can plan your trades accordingly, right? This is very, very important. And this is why I do it really at the beginning of every single, you know, market update, trading update that I upload during the week Monday to Friday. So if we're taking a look here, you know, based off of this longer-term chart on the Dow Jones, we can draw a very clear support here from where we sold off last year in the Dow Jones at about 27K all the way down to around 23,500. This correction occurred in March and February of 2018 where we lost a couple of percentage points on the Dow Jones. And this is what really solidified this new support level here. And what do we notice in terms of the chart now on the Dow Jones? Well, you know, we're right under that old support level, which is now a new resistance point, literally right under it at $23,500. And we've been seeing some strong resistance under this resistance point over the past couple of days heading into this morning, where we saw a lot of flatness in the market. And exactly to my point, right, we see over the past couple of days, you know, very strong resistance under that point, we can see a clear top off here, you know, roughly at around 23,400. I know it's not exactly 23,500, but it's in the general area, right, guys, when we're talking about supports and resistances on major indices like the Dow, you know, the S&P and the NASDAQ, you know, we kind of use a ballpark range, right? If it's 100 points off, like it is here in terms of that longer term of resistance, we still count it as that same, you know, area of resistance, right? So we saw the resistance here, we peaked up a little bit above this point. You know, here we got a little bit closer to that resistance at 23,500. We peaked above it, like I mentioned earlier in this video, we had a little run. And then once we started to sell off, you know, middle of the day, pretty much, you know, we got back under that resistance at around 23,500. And we're pretty much hovering right around it, you know, right now. So in terms of this longer term chart, guys, we do notice some positive reversal, reversal signs for the Dow Jones, especially since it's holding above this 180 day simple moving average, which has been a support in the past on this three year one week chart, we can see it here, guys, and we can see some green candlesticks right now starting to form on top of this 180 SMA. So if we're taking a look at some closer term charts here, we do notice we are at a resistance right now under the 50 SMA. And again, under that same resistance that we were talking about just now right at 23,500. So in my opinion, guys, you know, we're at a very interesting spot right now in the Dow Jones. And like I've been saying over these past couple of weeks, I think that there's more selling to come over these next couple of weeks. And like I said in yesterday's video, you know, the selling could occur this week, whether it was today, which it didn't happen, you know, tomorrow, Wednesday, maybe later on this week, you know, I think it's going to happen at some point, you know, maybe this week, you know, we might see a red day.  We've had a bunch of green days in a row, and judging off the trend, guys, over these past couple of weeks, you know, we've seen patterns like this form in terms of, you know, couple of days, a couple of green days in a row, followed by more selling, a couple of green days in a row, followed by even more selling. So I personally think, you know, right now, judging off this chart, that we're still, you know, obviously in a downtrend on a technical basis, and that we will see some selling coming because, you know, let's say we broke out of this resistance here and started to test this support, right, which is now a, obviously, a new resistance, that's going to be putting us even more overextended, right, overbought. And honestly, guys, there is potential if we have a couple more green days that we could get to this area, and I think we'll sell even harder if we do end up pushing up to here, because like I said, you know, the Dow will be overbought at that point. At that point, there'll be about 10, 14 green days in a row, well, maybe not 10, 14, about 7 to 10 green days in a row, if we get to this area. And, you know, it's inevitable in my opinion, especially with the state of the market right now, that we will experience a red day, you know, in this area of the Dow Jones. So keep an eye on this resistance here from that sell-off last year at 23,500, as well as this resistance under the 50 SMA on this 180-day four-hour chart. So let's take a look at the SMP, guys, very similar situation. We're right under the 50 SMA, we're starting to see a candlestick, a red candlestick form, you know, right around this 50 SMA. And, you know, we've been having trouble breaking above these longer-term resistances, you know, that were set from the correction in the SMP 500 last year. Same time period as the Dow Jones, guys, we saw a sizable correction from around 28, 2850-ish, all the way down to around 2600. And that's the next resistance, rather, right now that we see on the SMP 500. So keep an eye on this old support, which is now a new resistance, because right now this direction of the SMP is pointing that we are headed towards that particular, you know, resistance, although we are at a resistance right now on the 50 SMA. So remember, guys, if we break out of this, which we currently are slightly right, if we do successfully start to test around this 2600 level, you know, that's going to be putting us even closer to that resistance from a couple of, you know, months back in 2019. And just like the Dow Jones, we're holding above the 180 Simple Moving Average here on the three-year one-week chart, which is a pretty good sign, you know, for the SMP 500. But again, guys, with all the tensions right now, with the economy slowing down, the trade war, I do think there is more selling off to come, whether it's this week, next week, I think it's inevitable that we're going to be seeing a couple of red days coming in the very near future, you know, due to the massive, not really massive, but, you know, these couple of green days in a row that we've had that's really helped the major indexes recover, you know, in their values. So let's take a look at what's going on right now in the NASDAQ 100 here. We noticed that we're right under the 180 Simple Moving Average resistance right here. We successfully made another higher high in terms of this index. We bounced on the 50 SMA here on this nice pullback. We pushed up, made a higher high from the previous higher at around 6375. And again, like I just said, we're testing the resistance at around 6500 for the NASDAQ 100 right now, guys. And we're at a very critical point, because we're actually at previous support right now. We're at a previous support, which is obviously a new resistance, as well as we're under, you know, the 180 Simple Moving Average right here. So the NASDAQ's doing pretty well right now, because tech stocks, you know, have been doing pretty solid over this nice little pushback that we've had over these past seven days. And it actually had a very strong green day this past Friday. All the stocks, you know, a lot of the stocks did very well on Friday, this past Friday, you know, the NASDAQ was up about 4.5%, I believe, and the Dow was up around 3.5, and the S&P around 3.5 as well. So in terms of, you know, in terms of the three major indexes here, guys, the NASDAQ has been doing the best since this, you know, since these past couple of days of green that we've been seeing, you know, in the overall stock market. So just like in yesterday's, or rather, Friday's trading update video, we are at major resistances right now on all three major indices, guys. We're at the Simple Moving Average resistances on every single one of these. And it's very, very, you know, very important to keep an eye on these levels to see if we're going to reverse. Are we going to get rejected and see more red, which is what I think is going to happen in these next coming days, right? Or are we going to break out of these resistances and start to, you know, see more volume and more green overall in the stock market in these next couple of days, right? And of course, only time is going to tell. We have to continue to do our research daily, keep up with the news, right? Keep up with Trump, the trade war, the economy, everything, guys, because these all play a key role in what the stock market is going to be doing. So that is what I'm looking at in terms of these major, you know, indexes here. And let's take a look at what I traded today. And today was actually a red day for me. I took a loss early on in the day in DGAS. And from there, guys, I wanted to see a little bit more of market direction before making a trade. And we never really got a clear market direction today. So I actually ended up not really trading after I took my loss here on DGAS. I was more of a spectator of the markets today. And, you know, that's how it is sometimes, right? You're really not supposed to force trades when you don't see opportunities. I always talk about this on the channel, guys. Whenever you force a trade, that's really just gambling at that point, right?  You know, it's never a good decision to force a trade. It's always best to wait for the opportunity to come to you, right? And then take advantage of that opportunity, right? For me, you know, I was waiting for a market sell-off today. You know, that's the opportunity I was waiting for. We never got it, right? And that's why I pretty much didn't trade, you know, after I took my loss in DGAS. And very simple, guys, you know, I'm a very, very, you know, strong advocate of setting tight stop losses on these inverse ETFs that we trade all the time on this channel. So my, you know, my little, you know, mindset coming into this DGAS trade, right? You know, I'm going to explain that to you very quickly right now, where I took my loss, where I set my stop loss, and all that kind of stuff, right? So, you know, I always trade stocks and ETFs that gap up in pre-market hours, they start to sell off, opening that margin of profit. That is what I like to focus on most of the time, you know, early on in the day when I'm trading, right? Mostly I'm trading early on in the day. And sometimes I do trade during power hour, later on in the day, when I do see more, if I do see opportunities, right? And in this particular case, guys, we opened up the margin of profit, right? We ended up selling off, you know, heading into the market open. We opened up a decent margin of profit of around 3%. We started to push up here. And this is when I ended up taking my position because at this point, guys, my thought process was, okay, DGAS is slowly starting to fill that pre-market gap. So let's see if I can capitalize on this pre-market gap fill, right? I took my position here, obviously set a 1.5% stop loss on this position because with the ETFs, I set them a little bit tighter because they're really volatile. They can swing 10% in a day, literally down 10% in a day. And we could see that right here, guys, literally this past trading day, we saw a 10% swing down in DGAS from this point at around 10.30 a.m., all the way to about 2.30 p.m., right? So I didn't want to get caught in this type of situation. So I set that very tight stop loss, tight, tongue twister, guys, very tight stop loss at around 1.5%. Very, very simple, right, guys? So I got in at around 121, I believe 120. I think it was like 120.95 or something like that. And we could take a closer look at this, right? So I got in, you know, as we seem to have found a bottom here, which was also a pre-market support, right? Right around here at around 120. So I ended up getting in right around like 120, I think like 120.95 or something like that. We popped up here up to around 121.82. At that point, guys, I was up about like whatever, 0.2, 0.3%, nothing crazy at all. And then we started to see a strong resistance on DGAS at around 121 if we judge what happened up to around 10.10 a.m. Eastern Standard Time, right? And we pretty much triple-topped here, ended up selling off aggressively and my stop loss triggered at around 1.5% and I ended up taking that little loss. And whenever I take a loss, guys, my mentality is always to evaluate the trade, right? And not hop into another trade just because I took a loss. This is a very important beginner thing, guys. Beginner mistake. A lot of people do this is, like I mentioned a couple minutes ago, you take a loss and you try to force another trade, right? That is not the way to go, guys. You're supposed to take your loss, right? It happens. It's part of the game. Use it as a learning experience and don't pretty much use that as incentive to just hop into another trade blindly, right? Always wait for opportunities. 100% the most important thing in trading stocks. Well, maybe not the most important thing, but one of the most important things is to not force trades. Be patient. Wait for opportunities to open up to you. If you stick to these three pillars, guys, you'll be pretty, pretty solid at trading over time. This is not going to be an overnight thing. You've got to always practice every single day. Pretty much master your craft every day. Be patient. Wait for opportunities and you'll be pretty much well off in terms of trading if you do stick to your core rules and principles. That's pretty much it for what happened with my trading, right? The overall market update. Now, let's take a look at some large cap stocks that really do influence the entire market. I want to start off here with Apple, guys. Apple was very flat today, down 33 cents, down about 0.2%, not much movement at all, but I want to really talk about why Apple has such a big influence on the market and why I do think the market is going to continue to go down. This is one catalyst that I really think is going to drag the entire market down, guys, just to be completely honest with you guys. So, we saw Apple, right? They cut their revenue. Their sales in China is weak, which is expected because the Chinese economy right now, not doing too hot. If you guys don't know, most Chinese stocks are down literally 50%, 60%, 70% from where the market peaked a while back. The stock market in China is very bad. The economy is very bad. This is having effect on a lot of the US companies and the US market, including Apple. So, if we're looking at Apple right now on a technical basis, guys, we're finding resistance right here under this previous support at around 146, 147, and under the 50 simple moving average. So, with this bad news that we got and Apple reporting earnings soon, and they're probably going to drop after earnings, I think this is going to drag the entire market down because a lot of people out there, investors, traders, they keep an eye on Apple to see how everything is going on in the stock market, right? This is not the sole stock that we look at to judge the markets, but it's one of the main stocks that we take a look at to judge what's going on in the United States stock market in China. And like I've been saying, guys, China is having a huge effect on Apple, right? And that's going to drag the stock down, in my opinion, thus dragging down other large cap stocks, thus dragging down further all the indexes and everything that we talk about in terms of the major stocks on this channel, right? So, that is why I'm still bearish on the major stock markets, the major stocks right now, guys, because sales are weak, revenues are dropping in Apple, the trade war, the tariffs are affecting tons of companies, and numbers are dropping. So, I think we're going to be selling off, whether again, like I said earlier in this video, it's tomorrow, the next day, the next day, I think we're going to be seeing some red days coming very, very soon. So, that is what I'm looking at in terms of Apple. If we take a look at some other very massive companies like Facebook, you know, Facebook's at a resistance right now, you know, Amazon's probably at a resistance, it passed the resistance, but it's still in that lower high pattern of a downtrending pattern. You know, Netflix did very well today, actually, guys. This one's actually one of them that is out of its downwards trend, but technically still making lower highs if we're looking at the longer term chart here, right? So, we're seeing a lot of large cap stocks, the indices at resistance points. And like I've been saying, guys, I think there's going to be more selling. So, drop a comment. Let me know what you guys think. Is there going to be more selling to come? Are you expecting red days? Do you have put options over the next week, over the next two weeks, month? What do you guys have planned? I would love to love to know. Drop a comment down below. I'll catch you guys in the next video. Thanks for all the love again that I get on this channel from you guys. I really, really appreciate it. I'll see you guys later. Have a good one. Peace out.


Face-line Matthews. Razdekis. He is an impressive youngster, isn't he? Yes, Simpson, hesitation to the hole and squeezed it in. Over the outstretched arm of Gillespie, fifth-year senior, Simpson on the skip, man, it's good. Lost it, Simpson to the cut. Double clutch rejected by Booth. How about that? Great job using the floor. There's that little slip. Here's Eli Brooks, and he'll bury a jump shot from straight away. His first basket of the game. Livers rise and fire. Pure. They got a foul underneath, too. Staying here. Ball goes back to Michigan. One point, one points for the game. Matthews to the right. Jump shot, got it. Nice, I saw on the foul line. Seven to shoot. Simpson, double cross over to the hole. Up it is. How about that? That's it. Catholic into Jersey in the game. Oh, my goodness, Matthews. He's got some game. Oh, my goodness. Charlie Matthews with 10 points in the first half. Michigan dominating. Livers top of the key. Pure. How about this? Drives this time. Left hand flip. No. Fakis with the rebound. To the cut. And one. I think he's in the restraining area. Michigan on a 13-0 run. Active hands as well on defense. Slider. This kid can get to the rim. He gets that jump shot. Oh, he has some ticker, that kid. Ooh. Rejected out of bounds and saved. No, out of bounds. You know, back-to-back are difficult. Basket spinning. Nice help again. How about that? That was Matthews with the assist. Now Matthews, the kick. Simpson shows it five to shoot. Give a hole up and in. I don't know how you got that one to fall. I think it was blocked in almost. Pascal, now. Now Pascal. Oh! Well, that's part of their game. Fremont also on the floor. And unless he put it on the deck, tied up. Simpson just rips it out in a bow. Coming up. Easy, easy, easy. Come on. Well, there was bad blood. We showed you early in the game. A zombie line coming out. Well, these two guys have great respect for that. Razzdekis to the basket, this time, and in. Boy, he is really impressive on the drive. Pascal, two for 12. Who's the right? How about that? I don't even kiss. Razzdekis. Samuel's for three. And hits. Bay, and gets a roll. Big upside for this kid. Haven't seen much tonight. Nice job staying after it. And it pays off. Count defeats eighth ranked Villanova. Michigan, a wire to wire winner. Shooting 51% outscoring Villanova. 25 to one off turnovers. And 44 to 20 in the paint. John Beeline has to be happy. Last April, you lost to Villanova in the national championship game. This game doesn't mean as much, but how much were you circling this state? Honestly, I haven't watched that game since we lost. I mean, we saw bits and pieces of it in the film session, but I just look at every game as it's just another game. You know, they have a talented team, great group of guys, and my team was able to come out and win. Appreciate it. Thank you. Thank you, man.